@font-face{font-family:StudioMono;src:url('/assets/fonts/BerkeleyMono-Regular.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;--paper:#242321;--ink:#efedf1;--muted:#aaa6b2;--accent:#c8b6ff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}::selection{background:#c8b6ff;color:#242321}
.detail-header{min-height:96px;padding:24px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #ffffff18}.brand{width:210px;flex-shrink:0}.brand img{width:100%;height:auto;display:block}
#site-menu ul{display:flex;gap:12px;list-style:none;margin:0;padding:0}#site-menu .main-nav-link{position:relative;display:flex;align-items:center;gap:7px;padding:12px 9px;font-size:12px;text-transform:uppercase;letter-spacing:.03em}#site-menu .icon{width:24px;height:24px}#site-menu [aria-current="page"]{color:var(--accent)}
main{max-width:1600px;margin:auto;padding:0 5vw}.detail-hero{min-height:calc(100svh - 96px);display:grid;grid-template-columns:1.12fr 1fr;gap:5vw;align-items:center;padding:70px 0 90px}.eyebrow,.row-label>span,.row-meta,figcaption,footer,.replay{font-family:StudioMono,monospace;font-size:11px;line-height:1.6;letter-spacing:.06em}.eyebrow{color:var(--accent);margin:0 0 32px}h1{font-size:clamp(44px,5.7vw,88px);line-height:1.02;letter-spacing:-.055em;font-weight:500;margin:0 0 30px}em{font-style:normal;color:var(--accent)}.lead{font-size:clamp(17px,1.6vw,23px);line-height:1.55;color:#c8c4cc;max-width:590px}.text-link{display:inline-flex;gap:20px;margin-top:28px;font-size:14px;border-bottom:1px solid #c8b6ff66;padding-bottom:12px}.text-link span{transition:transform 200ms}.text-link:hover span{transform:translateY(4px)}
.hero-visual{margin:0;position:relative;min-width:0;background-image:radial-gradient(#b7a5ff28 1px,transparent 1px);background-size:22px 22px;border:1px solid #c8b6ff26;border-radius:24px}.hero-visual canvas{display:block;width:100%;aspect-ratio:1}.hero-visual figcaption{border-top:1px solid #c8b6ff26;padding:20px 24px;color:var(--muted)}.replay{position:absolute;right:18px;top:16px;color:var(--accent);background:#242321;border:1px solid #c8b6ff44;border-radius:20px;padding:5px 10px;cursor:pointer}.replay:hover{background:#c8b6ff18}
.detail-row{display:grid;grid-template-columns:.7fr 1.15fr .8fr;gap:5vw;align-items:center;border-top:1px solid #ffffff25;padding:55px 0}.row-label{align-self:start;padding-top:16px}.row-label>span{color:var(--accent)}h2{font-size:28px;letter-spacing:-.025em;font-weight:500}.row-label h2{margin:14px 0}h3{font-size:26px;letter-spacing:-.03em;font-weight:500;margin:0 0 18px}.row-copy>p{font-size:17px;line-height:1.65;color:#bfbcc5}.row-copy .row-meta{font-size:11px;color:var(--accent);margin-top:24px}.row-visual canvas{width:100%;display:block;aspect-ratio:1}.closing{padding:100px 0 110px;border-top:1px solid #ffffff25;max-width:1000px}.closing h2{font-size:clamp(36px,4vw,62px);margin:0 0 24px}.closing>p:not(.eyebrow){font-size:21px;line-height:1.6;max-width:680px;color:#bfbcc5}.contact-button{display:inline-flex;gap:40px;padding:17px 24px;margin-top:24px;border:1px solid #c8b6ff55;border-radius:8px;background:#c8b6ff10;color:var(--accent);transition:background 200ms,transform 200ms}.contact-button:hover{background:#c8b6ff22;transform:translateY(-2px)}footer{padding:30px 5vw;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;gap:20px;color:var(--muted)}.skip-link{position:absolute;top:-100px}.skip-link:focus{top:8px;left:8px;padding:12px;background:#242321;z-index:10}
@media(max-width:900px){.detail-header{flex-wrap:wrap;padding:20px 5vw}.brand{width:175px}#site-menu{width:100%}#site-menu ul{justify-content:space-between;gap:0}#site-menu .main-nav-link{font-size:10px;padding:12px 4px}.detail-hero{padding:50px 0;gap:35px;min-height:auto}.detail-row{grid-template-columns:.7fr 1.3fr;gap:20px}.row-visual{grid-column:2;max-width:280px}.hero-visual figcaption{font-size:9px;padding:15px}}
@media(max-width:600px){.detail-hero{grid-template-columns:1fr}h1{font-size:clamp(40px,10vw,62px)}.hero-visual{max-width:460px;width:100%;justify-self:center}.detail-row{grid-template-columns:1fr;padding:36px 0;gap:8px}.row-visual{grid-column:auto;justify-self:center;width:100%;max-width:300px}.row-label{padding-top:0}.row-label h2{font-size:22px}.row-copy h3{font-size:25px}.closing{padding:60px 0}footer{flex-direction:column}#site-menu .main-nav-link{flex-direction:column;gap:6px}#site-menu .budget-link::before{height:100%}}
/* A finite boot-up sequence continues the landing page's black-out. */
body::before{content:"";position:fixed;inset:0;z-index:100;background:#000;pointer-events:none;animation:page-power-on 650ms cubic-bezier(.16,1,.3,1) both}
.detail-header{animation:page-arrive 600ms 180ms both}
.hero-copy>*{animation:page-arrive 650ms calc(300ms + var(--entry,0)*90ms) both}
.hero-copy h1{--entry:1}.hero-copy .lead{--entry:2}.hero-copy .text-link{--entry:3}
.hero-visual{animation:screen-open 900ms 250ms cubic-bezier(.16,1,.3,1) both;transform-origin:50% 50%}
.about-intro{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:4vw;min-height:calc(100svh - 96px);padding:65px 0}
.intro-wordmark{display:block;width:clamp(230px,30vw,440px);max-width:100%;height:auto;margin-bottom:48px;animation:logo-build 1050ms 180ms cubic-bezier(.16,1,.3,1) both}
.about-copy h1{font-size:clamp(40px,4.4vw,68px);animation:page-arrive 650ms 650ms both}
.about-copy .lead{animation:page-arrive 650ms 780ms both}
.about-copy .contact-button{animation:page-arrive 650ms 900ms both}
.ascii-scene{margin:0;min-width:0;color:var(--accent);text-align:center}
.ascii-scene pre{display:inline-block;text-align:left;margin:0;font-family:StudioMono,monospace;font-size:clamp(7px,.98vw,14px);line-height:1.18;font-variant-ligatures:none;white-space:pre;animation:page-arrive 900ms 600ms both}
.ascii-scene pre span{display:block;animation:ascii-line 350ms calc(500ms + var(--line)*40ms) both}
.ascii-scene figcaption{margin-top:28px;color:var(--muted);animation:page-arrive 500ms 1350ms both}
.about-note{display:grid;grid-template-columns:1fr 1fr;gap:5vw;padding:40px 0 60px;border-top:1px solid #ffffff25}
.about-note h2{margin:0;font-size:32px}.about-note p{margin:0;font-size:19px;line-height:1.6;color:#bfbcc5}
@keyframes page-power-on{from{opacity:1}to{opacity:0}}
@keyframes page-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes logo-build{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(12px)}to{opacity:1;clip-path:inset(0);transform:translateX(0)}}
@keyframes screen-open{from{opacity:0;transform:scaleY(.025) scaleX(.9)}45%{opacity:1}to{opacity:1;transform:scale(1)}}
@keyframes ascii-line{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.about-intro{grid-template-columns:1fr;gap:44px;min-height:auto;padding:42px 0}.intro-wordmark{margin-bottom:32px;width:260px}.ascii-scene pre{font-size:clamp(9px,2.6vw,15px)}.about-note{grid-template-columns:1fr;gap:18px;padding:32px 0 42px}.about-note p{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}body::before{display:none}.contact-button:hover,.text-link:hover span{transform:none}}
.ascii-scene .intro-symbol{width:clamp(82px,8vw,118px);height:auto;color:var(--ink);margin:0 auto 24px}
.ascii-toggle{display:block;margin:16px auto 0;padding:7px 12px;border:1px solid #c8b6ff33;border-radius:20px;background:transparent;color:var(--muted);font:10px StudioMono,monospace;cursor:pointer}
.ascii-toggle:hover{color:var(--accent);border-color:var(--accent)}.ascii-toggle:disabled{cursor:default;opacity:.6}
@media(max-width:600px){.ascii-scene pre{font-size:clamp(6px,2.1vw,10px)}.ascii-scene .intro-symbol{width:92px;margin-bottom:20px}}
