@font-face{font-family:DepartureMono;src:url('../assets/DepartureMono-1.500.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--ink:#d8edcf;--muted:#9aac96;--green:#c5ff81;--line:#364832;--bg:#060a07;font-family:DepartureMono,Consolas,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;color:var(--ink);font-size:14px;line-height:1.9;background-image:linear-gradient(#9ac87807 1px,transparent 1px),linear-gradient(90deg,#9ac87807 1px,transparent 1px);background-size:48px 48px}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--green)}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}:focus-visible{outline:2px solid var(--green);outline-offset:5px}::selection{background:var(--green);color:var(--bg)}img{max-width:100%;height:auto;display:block}button,.button{cursor:pointer;border:1px solid var(--line);background:#10190f;color:var(--green);padding:11px 16px;min-height:44px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:13px;line-height:1.5}.button.primary,button[type=submit]{background:var(--green);color:#0c1507;border-color:var(--green)}button:disabled{opacity:.5;cursor:wait}.skip-link{position:fixed;top:10px;left:10px;z-index:10;transform:translateY(-160%);background:var(--green);color:#081105;padding:10px}.skip-link:focus{transform:none}
.page-header,.page-footer,main{width:min(1160px,calc(100% - 64px));margin:auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;border-bottom:1px solid var(--line)}.brand{text-decoration:none;letter-spacing:.08em;color:var(--green);white-space:nowrap}.page-header nav,.page-footer nav,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.page-header nav{font-size:12px;gap:24px}.page-header a[aria-current=page]{color:var(--green);text-decoration:underline}.page-footer{margin-top:80px;padding:24px 0 36px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.page-footer p{margin:0}.eyebrow,.breadcrumb{font-size:12px;letter-spacing:.06em;color:var(--muted)}.breadcrumb{margin-top:28px}.eyebrow{color:var(--green);margin:0 0 18px;text-transform:uppercase}h1,h2,h3{font-weight:400;line-height:1.35;color:var(--green)}h1{font-size:clamp(28px,4.3vw,48px);margin:0 0 20px;letter-spacing:-.055em;max-width:950px}h2{font-size:22px;margin:0 0 18px}h3{font-size:15px;margin:0 0 14px}.lede{font-size:16px;color:#d5e9c9;max-width:790px;margin:0 0 28px}.page-intro{padding:52px 0 38px}.page-intro .actions{margin-top:26px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}.tags span{font-size:12px;padding:3px 8px;border:1px solid var(--line);color:var(--muted)}.case-meta{display:grid;grid-template-columns:2fr 1fr;gap:24px;margin:30px 0 0;padding-top:22px;border-top:1px solid var(--line)}dt{font-size:12px;color:var(--muted)}dd{margin:4px 0 0;font-size:13px}.case-meta div{min-width:0}
.cover{margin:0;border:1px solid var(--line);background:#10170f;overflow:hidden}.cover>img{width:100%;aspect-ratio:1200/750;object-fit:cover;object-position:top}.cover.design-cover>img{aspect-ratio:1707/735;object-fit:contain}.cover figcaption{border-top:1px solid var(--line);padding:10px 16px;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted)}.story{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:44px 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.story section{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#060a07e6}.story p{margin:0;max-width:62ch}.story .number{display:block;color:var(--muted);font-size:12px;margin-bottom:18px}.project-capture{margin:36px 0;border:1px solid var(--line)}.project-capture summary{padding:16px;cursor:pointer;color:var(--green)}.project-capture img{margin:auto}.case-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:28px}.case-nav a{max-width:48%;font-size:13px}.case-nav a:last-child{text-align:right}.contact-strip{border:1px solid var(--line);padding:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#0d160a}.contact-strip p{margin:0}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.card{border:1px solid var(--line);background:#080d08;text-decoration:none;overflow:hidden}.card img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;transition:filter .2s;filter:saturate(.85)}.card:hover img{filter:saturate(1)}.card-copy{padding:20px}.card h2{font-size:19px;margin:8px 0}.card p{font-size:13px;color:var(--muted);margin:0}.card .eyebrow{font-size:11px}.design-description{max-width:760px;margin:36px 0}.prototype{margin:30px 0}.prototype iframe{width:100%;height:min(80vh,900px);border:1px solid var(--line);background:#111}.prototype-status{color:var(--muted);font-size:12px}.prose{max-width:790px;padding:44px 0}.prose section{margin:36px 0}.prose p,.prose li{font-size:14px}.prose dl{display:grid;grid-template-columns:170px 1fr;border-top:1px solid var(--line)}.prose dt,.prose dd{margin:0;padding:12px 0;border-bottom:1px solid var(--line)}.prose dd:empty::after{content:'—';color:var(--muted)}
.contact-page{max-width:760px}.contact-page form{display:grid;gap:18px}.contact-page label{display:grid;gap:6px}.contact-page input,.contact-page textarea{background:#090f08;border:1px solid #526749;padding:12px;color:var(--ink);font-size:16px;width:100%;border-radius:0}.contact-page textarea{resize:vertical;min-height:180px}.contact-page .consent,.consent{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.65}.contact-page .consent input{width:18px;min-width:18px;height:18px;margin-top:3px}.form-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.field-error{color:#ffad94;font-size:12px}.field-note{font-size:12px;color:var(--muted)}[aria-invalid=true]{border-color:#ffad94!important}.contact-address{margin:28px 0;overflow-wrap:anywhere}.contact-address button{margin-left:10px}.error-page{min-height:60vh;display:grid;align-content:center}.error-page h1{font-size:clamp(30px,8vw,90px)}.blink{animation:blink 1.2s steps(1) infinite}@keyframes blink{50%{opacity:0}}
@media(max-width:700px){.page-header,.page-footer,main{width:calc(100% - 36px)}.page-header{padding:18px 0;align-items:flex-start;gap:12px;flex-direction:column}.page-header nav{gap:18px;min-height:32px}.page-intro{padding:32px 0 26px}.lede{font-size:14px}.case-meta{grid-template-columns:1fr;gap:12px}.cards,.story{grid-template-columns:1fr}.cards{gap:20px}.story section{padding:24px}.cover figcaption{font-size:11px;padding:10px;flex-wrap:wrap}.actions{gap:10px}.actions .button{flex:1 1 160px}.contact-strip{align-items:flex-start;flex-direction:column;padding:22px}.page-footer{margin-top:48px}.prose dl{grid-template-columns:1fr}.prose dt{border-bottom:0;padding-bottom:0}.prose dd{padding-top:4px;min-height:32px}.page-header a,.page-footer a{display:inline-flex;align-items:center;min-height:32px}.design-cover img{min-height:0}.contact-address button{margin:12px 0 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Standalone, indexable files use the same phosphor terminal as the desktop. */
:root{--ink:#c5ff81;--muted:#9ebd7b;--green:#c5ff81;--line:#4d6337;--bg:#020403}
.terminal-page{background-color:var(--bg);background-image:linear-gradient(#658d4b24 1px,transparent 1px),linear-gradient(90deg,#658d4b24 1px,transparent 1px);background-size:48px 48px;background-attachment:fixed;font-size:13px;text-shadow:0 0 2px currentColor,0 0 7px #adff6826}
.terminal-page .file-crt{position:fixed;inset:0;z-index:2147483000;pointer-events:none;background:radial-gradient(ellipse at center,transparent 48%,#0008 100%),repeating-linear-gradient(0deg,#0002 0px,#0002 1px,transparent 1px,transparent 3px);box-shadow:inset 0 0 55px #0009}
.file-crt::before{content:'';position:absolute;inset:0;background:url('../assets/screen-grain.svg');opacity:.075}
.file-crt::after{content:'';position:absolute;left:0;right:0;top:-12%;height:12%;background:linear-gradient(transparent,#c5ff8105,transparent);animation:file-scan 19s linear infinite}
@keyframes file-scan{to{transform:translateY(950%)}}
.terminal-page .page-header{width:100%;padding:12px max(22px,calc((100% - 1060px)/2));background:#050a04ed;border-bottom:1px solid var(--line);min-height:54px;gap:20px;font-size:13px}
.terminal-page .page-header nav{gap:20px;font-size:12px}
.terminal-page .file-window{width:min(1060px,calc(100% - 48px));margin:34px auto 0;border:1px solid var(--line);background:#020403f2;box-shadow:0 0 22px #a0d86708}
.file-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 16px;min-height:40px;border-bottom:1px solid var(--line);background:#14220d;font-size:11px;color:var(--muted)}
.file-titlebar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-titlebar>a{font-size:22px;line-height:1;text-decoration:none;padding:0 5px;color:var(--green)}
.file-content{padding:24px 30px 30px}.terminal-page .page-intro{padding:20px 0 26px}.terminal-page .breadcrumb{margin:0 0 16px;font-size:11px}
.terminal-page h1{font-size:26px;letter-spacing:-.02em;line-height:1.4;margin-bottom:16px}.terminal-page h2{font-size:17px;margin-bottom:15px}.terminal-page .lede{font-size:14px;line-height:1.85;color:var(--ink);max-width:76ch;margin-bottom:18px}
.terminal-page .eyebrow{font-size:11px;color:var(--muted);margin-bottom:13px}.terminal-page .case-meta{margin-top:22px;padding-top:16px;gap:18px}.terminal-page .actions{margin-top:18px}
.terminal-page .button,.terminal-page button{font-size:12px;padding:9px 13px;background:#060a05;text-shadow:inherit}.terminal-page .button.primary,.terminal-page button[type=submit]{background:var(--green);text-shadow:none;color:#020403}
.terminal-page img{image-rendering:auto;filter:none;text-shadow:none}.terminal-page .cover{background:#060a05}.terminal-page .cover>img{margin-inline:auto;max-width:1000px}.terminal-page .cover figcaption{font-size:10px;gap:8px}
.terminal-page .story{margin:28px 0}.terminal-page .story section{padding:23px;background:#020403}.terminal-page .story p{font-size:13px;line-height:1.9}.terminal-page .story .number{font-size:11px;margin-bottom:12px}
.terminal-page .cards{gap:20px}.terminal-page .card{background:#060a05}.terminal-page .card h2{font-size:17px}.terminal-page .card img{filter:none}.terminal-page .card-copy{padding:16px}.terminal-page .contact-strip{background:#060a05;padding:18px;margin:28px 0}.terminal-page .contact-strip p{font-size:13px}.terminal-page .case-nav{padding-top:18px}
.terminal-page .page-footer{width:min(1060px,calc(100% - 48px));font-size:11px;margin-top:24px;padding:16px 0 24px}.terminal-page .prose{padding:16px 0}.terminal-page .prose p,.terminal-page .prose li{font-size:13px}
@media(max-width:700px){.terminal-page .page-header{padding:12px 16px;gap:6px}.terminal-page .page-header nav{gap:16px;font-size:11px}.terminal-page .file-window{width:calc(100% - 24px);margin-top:18px}.file-content{padding:18px 16px}.file-titlebar{padding:9px 12px;font-size:10px}.terminal-page h1{font-size:23px}.terminal-page .page-intro{padding:12px 0 22px}.terminal-page .story section{padding:20px}.terminal-page .page-footer{width:calc(100% - 32px)}.terminal-page .file-crt{box-shadow:inset 0 0 25px #0006}}
@media(prefers-reduced-motion:reduce){.file-crt::after{animation:none;display:none}}
