@font-face{font-family:'AE Systematic';src:url('assets/fonts/ae-systematic.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'04b03';src:url('assets/fonts/04b03.ttf') format('truetype');font-weight:400;font-display:swap}
:root{color-scheme:dark;--paper:#070b15;--ink:#dce5ee;--muted:#a1b0c4;--line:#263344;--accent:#d9c7a8;font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;background:var(--paper);color:var(--ink)}
*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}button{font:inherit;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:8px 16px;cursor:pointer}a,button{transition:color .2s,border-color .2s}a:focus-visible,button:focus-visible,canvas:focus-visible,.slide-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:6px}[hidden]{display:none!important}::selection{background:#314258;color:#fff}html{scroll-behavior:smooth;scrollbar-color:var(--line) var(--paper)}svg{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:square}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;z-index:20;top:-100px;left:16px;background:var(--paper);padding:12px}.skip-link:focus{top:12px}
.site-header{display:flex;align-items:center;justify-content:space-between;padding:24px 4vw;z-index:5;position:relative}.home-page .site-header{position:absolute;inset:0 0 auto}.brand{font-family:'04b03',monospace;font-size:20px}.site-header nav{display:flex;gap:30px;font:18px '04b03',monospace}.site-header [aria-current]{color:var(--accent)}.site-header nav a::before{content:'[ ';color:var(--muted)}.site-header nav a::after{content:' ]';color:var(--muted)}
.coast,.stage{position:relative}#scene{display:block;width:100%;height:auto;aspect-ratio:320/340;cursor:crosshair;image-rendering:auto}.message{position:absolute;top:40%;left:50%;transform:translateX(-50%);background:#070b15e8;padding:20px;text-align:center}.coast-title{position:absolute;top:10vw;left:8vw;pointer-events:none}#wordmark{display:block;width:min(640px,60vw);height:auto;aspect-ratio:5;image-rendering:pixelated}.coast-cue{position:absolute;top:49vw;left:8vw;font:16px '04b03',monospace;color:#bbc6d9}
.sea-content{position:relative;margin:-46.25vw auto 0;padding:2vw 8vw 0;max-width:1600px}.positioning{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(28px,5vw,90px);align-items:center;padding-bottom:55px}.positioning h2{font-family:'AE Systematic',monospace;font-size:clamp(32px,4.2vw,60px);letter-spacing:-.02em;line-height:1.2;font-weight:400;margin:0 0 22px}.positioning h2 span{color:var(--muted)}.positioning p{max-width:570px;color:var(--muted);font-size:16px;margin:0}.inline-link{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px 0;min-height:180px;border-block:1px dashed var(--line);color:var(--accent);font:clamp(24px,2.8vw,40px)/1.2 'AE Systematic',monospace}.inline-link svg{width:clamp(42px,5vw,72px);height:72px;flex:none;transition:transform .3s cubic-bezier(.16,1,.3,1)}.inline-link:hover svg{transform:translate(5px,-5px)}
.about{display:grid;grid-template-columns:1fr 2fr 1fr;gap:38px;padding:32px 0 48px;border-top:1px dashed var(--line)}.about h2{font:18px '04b03',monospace;margin:0;color:var(--accent)}.about p{margin:0;max-width:570px;color:var(--muted)}.about .aside-note{font-size:12px}.site-footer{padding:24px 0 30px;border-top:1px dashed var(--line);display:flex;gap:24px;justify-content:space-between;align-items:center;font-size:11px}.footer-brand{letter-spacing:.06em}.contact{color:var(--muted);display:flex;gap:20px}.footer-note{color:var(--muted)}
.project-page main,.project-page>.site-footer{max-width:1440px;margin:auto;padding-left:8vw;padding-right:8vw}.project-opening{padding:50px 0 45px;display:grid;grid-template-columns:3fr 2fr;align-items:center;gap:40px}.project-opening h1{font-family:'AE Systematic',monospace;font-size:clamp(32px,4.1vw,60px);font-weight:400;line-height:1.2;letter-spacing:-.02em;margin:0 0 24px}.project-opening p{color:var(--muted);margin:0}.cursor{color:var(--accent)}.space-scene{position:relative;min-height:230px;display:grid;place-items:center;isolation:isolate}#starfield{position:absolute;inset:0;font-size:clamp(3px,.55vw,8px);line-height:1.6;color:#667992;overflow:hidden;margin:0}#orbit{position:relative;font-size:clamp(5px,.72vw,10px);line-height:1.15;color:#b5bfd0;white-space:pre;margin:0}
.slider-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-top:1px dashed var(--line)}.slider-controls:has(button[hidden]){display:none}.slider-controls button{display:grid;place-items:center;min-width:52px;min-height:48px;border-color:var(--line)}.slider-controls button:hover{border-color:var(--accent);background:#132031}.slider-controls button svg{width:24px;height:24px}.slider-controls [role=status]{font:20px '04b03',monospace;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}.slide-viewport{overflow:hidden;touch-action:pan-y pinch-zoom}.project{padding:25px 0 40px;border-top:1px dashed var(--line)}.slider-ready .project{border-top:0;padding-top:8px}.project-header{display:flex;justify-content:space-between;align-items:baseline;gap:30px}.project-header h2{font-family:'AE Systematic',monospace;font-size:clamp(26px,3vw,40px);font-weight:400;letter-spacing:-.02em;margin:0 0 14px}.status{font-size:11px;color:var(--accent);text-align:right}.project-description{max-width:800px;color:var(--muted);font-size:16px;margin:0 0 24px}.interface-shot{margin:0;border:1px solid var(--line);background:#0c1022}.interface-shot>a{display:grid;place-items:center;height:auto;min-height:0;overflow:hidden;background:#0a0e18}.interface-shot img{width:100%;height:auto;max-height:none;object-fit:contain;display:block}.interface-shot figcaption{padding:12px 18px;font-size:11px;line-height:1.6;color:var(--muted);border-top:1px dashed var(--line)}.project-copy{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;padding-top:26px}.project-copy h3{font:18px '04b03',monospace;color:var(--accent);margin:0 0 10px}.project-copy p,.project-copy ul{color:var(--muted);font-size:13px;margin:0}.project-copy ul{list-style:none;padding:0}.project-copy li{margin:0 0 8px}.project-copy li:before{content:'+ ';color:var(--accent)}.technology{font-size:11px;color:var(--muted);margin:20px 0 0}.back-link{display:inline-block;margin:15px 0 40px;color:var(--accent);font:18px '04b03',monospace}
@media(max-width:800px){.positioning{grid-template-columns:1fr;gap:25px}.inline-link{font-size:28px;min-height:100px;padding:20px 0;justify-content:space-between}.inline-link span br{display:none}.inline-link svg{height:44px;width:44px}.about{grid-template-columns:1fr 2fr}.aside-note{display:none}.project-opening{grid-template-columns:3fr 2fr;gap:20px}.space-scene{min-height:180px}.project-opening h1{font-size:34px}.project-opening p{font-size:13px}.project-header{display:block}.status{text-align:left;display:block;margin-bottom:14px}.project-copy{gap:25px}}
@media(max-width:600px){body{font-size:14px}.site-header{padding:20px 6vw}.site-header nav{gap:18px;font-size:16px}.brand{font-size:18px}.coast-title{top:21vw;left:6vw}#wordmark{width:88vw}.coast-cue{left:6vw;top:56vw;font-size:13px}.sea-content{margin-top:-30vw;padding:0 6vw}.positioning{padding-bottom:30px}.positioning h2{font-size:34px;margin-bottom:18px}.positioning p{font-size:14px}.inline-link{font-size:24px}.about{grid-template-columns:1fr;gap:18px;padding:25px 0 30px}.site-footer{align-items:flex-start;flex-direction:column;gap:12px}.project-page main,.project-page>.site-footer{padding-left:6vw;padding-right:6vw}.project-opening{padding:25px 0;grid-template-columns:1fr;gap:8px}.space-scene{min-height:130px}#starfield{font-size:5px;max-height:130px}#orbit{font-size:7px}.project-opening h1{font-size:32px;margin-bottom:15px}.slider-controls{padding:14px 0;gap:10px}.slider-controls [role=status]{font-size:16px}.slider-controls button{min-width:46px;min-height:46px;padding:8px}.project-description{font-size:14px}.project-copy{grid-template-columns:1fr;gap:22px}.project{padding-bottom:30px}.interface-shot figcaption{font-size:10px;padding:10px}.back-link{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button,.inline-link svg{transition:none}}
/* Finishing details: preserve native interface proportions and readable annotations. */
.interface-shot>a:focus-visible{outline-offset:-3px}
.interface-shot figcaption,.technology,.status,.site-footer{font-size:12px}
.project-copy p,.project-copy ul{font-size:14px;line-height:1.75}
.project-description{max-width:70ch}
.contact{flex-wrap:wrap;overflow-wrap:anywhere}
.project-header h2,.project-opening h1,.positioning h2{text-wrap:balance}
@media(max-width:600px){.interface-shot figcaption{font-size:12px;line-height:1.7}.project-opening p{font-size:14px}.space-scene{min-height:112px}.slider-controls [role=status]{line-height:1.35}.site-header nav a{display:inline-block;min-height:44px;line-height:44px}.site-header{padding-top:12px;padding-bottom:12px}}
