@font-face{font-family:Space;src:url('assets/space-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Space;src:url('assets/space-bold.woff2') format('woff2');font-weight:600 800;font-display:swap}
@font-face{font-family:Plex;src:url('assets/mono-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('assets/mono-medium.woff2') format('woff2');font-weight:500 800;font-display:swap}

:root{--bg:#07140e;--panel:#0d2017;--text:#edf5ec;--muted:#a6b9ac;--accent:#99fbbb;--line:#365443;--mono:Plex,monospace;--sans:Space,Arial,sans-serif;--ease:cubic-bezier(.2,.8,.2,1);--header:76px;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit;background:none;border:0}button,a{touch-action:manipulation}button:active,.wa:active{transform:translateY(1px)}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{color:var(--bg);background:var(--accent)}img{display:block;max-width:100%}h1,h2,h3{text-wrap:balance}h1{font-size:clamp(70px,7.4vw,110px);font-weight:700;letter-spacing:-.07em;line-height:.96}h1 .name-dot{color:var(--accent)}h2{font-size:clamp(34px,4.1vw,62px);font-weight:700;line-height:1.04;letter-spacing:-.055em}h3{font-size:25px;line-height:1.2;letter-spacing:-.03em}p{max-width:65ch}p+p{margin-top:20px}section{scroll-margin-top:100px}.skip{position:fixed;top:8px;left:12px;padding:10px 20px;background:var(--accent);color:var(--bg);z-index:100;transform:translateY(-200%)}.skip:focus{transform:none}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:1440px;margin:auto;padding:0 48px;border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--bg)}.brand{font:500 14px/1 var(--mono);display:flex;align-items:center;gap:12px;min-height:44px;white-space:nowrap}.brand-prompt{font-size:26px;color:var(--accent);letter-spacing:-.16em;margin-right:4px}.desktop-nav{display:flex;gap:25px;margin-left:auto}.desktop-nav a{font-size:14px;display:flex;align-items:center;min-height:44px;color:var(--muted)}.desktop-nav a:hover{color:var(--accent)}.header-end{display:flex;align-items:center;gap:22px}.languages{display:flex;gap:2px;font:13px var(--mono)}.languages button{width:44px;height:44px;border:1px solid transparent;border-radius:4px}.languages button[aria-pressed=true]{color:var(--accent);border-color:var(--line);background:var(--panel)}.mobile-menu{display:none}.eyebrow{font:12px/1.5 var(--mono);color:var(--accent);margin-bottom:24px}.greeting{font:15px/1.5 var(--mono);color:var(--accent);margin-bottom:24px}.location{font:12px/1.7 var(--mono);color:var(--muted);margin-top:28px}.intro{font-size:24px;line-height:1.45;letter-spacing:-.02em;max-width:35ch;margin-top:28px}.hero{max-width:1344px;margin:0 auto;padding:40px 48px 0}.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:70px;align-items:center}.hero-text{min-width:0}.hero-figure{margin:0;max-width:400px;width:100%;justify-self:end}.portrait{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;transform:none}.actions{margin-top:30px;display:flex;align-items:flex-start;flex-direction:column}.wa{display:inline-flex;gap:12px;align-items:center;justify-content:center;background:var(--accent);border:1px solid var(--accent);color:#10241a;padding:14px 20px;min-height:58px;font-size:16px;font-weight:700;letter-spacing:-.02em;border-radius:4px;transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.wa img{flex:none;width:25px;height:25px}.wa>span:last-child{margin-left:8px;font-size:22px;line-height:1}.wa:hover{box-shadow:0 4px 25px #0002;transform:translateY(-2px)}.email{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);font:12px var(--mono);margin-top:3px;text-decoration:underline;text-underline-offset:5px}.hero-figure figcaption{font:11px/1.5 var(--mono);display:flex;justify-content:space-between;padding:15px 0;color:var(--muted)}.led{width:7px;height:7px;background:var(--accent);border-radius:50%;display:inline-block;margin-right:8px;box-shadow:0 0 12px color-mix(in srgb,var(--accent) 30%,transparent)}.section{max-width:1248px;margin:0 auto;padding:104px 0}.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:60px;align-items:start;margin-bottom:58px}.section-head .eyebrow{padding-top:8px}.help-list{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line);padding:32px 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:60px}.service-key{font:14px var(--mono);color:var(--accent);display:flex;gap:18px;align-items:flex-start;padding-top:8px}.service-key>span:first-child{font-size:22px}.service-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:14px 40px;align-items:start}.service .problem{grid-column:1;grid-row:1;font:12px/1.7 var(--mono);color:var(--muted);margin:0}.service h3{grid-column:1;grid-row:2;font-size:27px}.service-main>p:last-child{grid-column:2;grid-row:1 / 3;font-size:17px;color:var(--muted);margin:0}.project-list{display:grid;grid-template-columns:1.25fr 1fr;gap:20px}.project{padding:38px;border:1px solid var(--line);background:var(--panel);position:relative;min-width:0}.project-0{grid-row:span 2;display:flex;flex-direction:column;justify-content:flex-start}.project-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px;min-height:48px}.project-meta .eyebrow{margin:0}.logo-tile{background:#f6f5f0;width:52px;height:52px;border-radius:12px;display:grid;place-items:center;padding:8px}.logo-tile img{max-width:100%;width:auto;height:auto;max-height:38px}.project-1 .logo-tile{background:#142627}.project h3{font-size:38px}.project p{font-size:16px;color:var(--muted);line-height:1.6}.project-sub{margin-top:14px!important}.project-result{color:var(--text)!important;font-weight:700;font-size:21px!important;margin-top:28px}.project-0 .project-result{font-size:30px!important;line-height:1.25;margin-top:38px}.project-monogram{font:25px var(--mono);color:var(--accent)}.order-flow{margin-top:auto;padding-top:58px;display:flex;align-items:center;justify-content:space-between;font:13px var(--mono);gap:12px}.order-flow>span{border:1px solid var(--line);padding:12px 16px;border-radius:5px}.order-flow b{color:var(--accent);font-weight:400}.text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:14px;font:13px var(--mono);color:var(--accent);text-decoration:underline;text-underline-offset:6px}.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:100px}.about-copy{color:var(--muted);font-size:20px;line-height:1.6}.credentials{margin-top:34px;display:flex;gap:12px;flex-wrap:wrap}.credentials>span{font:12px/1.5 var(--mono);padding:10px 12px;border:1px solid var(--line);color:var(--text)}.timeline{list-style:none;margin:0;padding:0 0 0 30px;border-left:1px solid var(--line)}.timeline li{position:relative;margin:0;padding:0 0 40px}.timeline li::before{content:'';position:absolute;left:-34px;top:7px;width:7px;height:7px;border:1px solid var(--accent);background:var(--bg)}.timeline li:last-child{padding-bottom:0}.timeline-date{font:11px var(--mono);color:var(--accent);margin-bottom:12px}.timeline h3{font-size:25px}.timeline p{font-size:16px;color:var(--muted);margin-top:10px}.contact{position:relative;border-top:1px solid var(--line);display:grid;grid-template-columns:2fr 1fr;gap:80px;padding-block:85px;overflow:hidden}.contact-inner h2{font-size:clamp(46px,5.5vw,80px);max-width:13ch}.contact-inner>p:not(.eyebrow){font-size:19px;line-height:1.6;margin-top:28px;color:var(--muted);max-width:52ch}.contact-symbol{font:200px/.9 var(--mono);letter-spacing:-.15em;color:var(--accent);align-self:center;opacity:.5;white-space:nowrap}.contact-inner>.text-link{margin-top:14px}.contact .wa{margin-top:8px}footer{max-width:1248px;margin:auto;padding:28px 0 38px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font:11px/1.5 var(--mono);color:var(--muted)}footer a{min-height:44px;display:flex;align-items:center}footer>span{align-self:center}.cursor{display:inline-block;color:var(--accent)}.command-chips{display:flex;gap:10px;flex-wrap:wrap}.command-chip{padding:10px 14px;border:1px solid var(--line);min-height:44px;font:13px/1.7 var(--mono);transition:background .2s}.command-chip:hover{background:var(--accent);color:var(--bg)}.replay{min-height:44px;color:var(--muted);font:11px var(--mono)}.replay:hover{color:var(--accent)}
@media(max-width:1100px){.topbar{padding-inline:30px;gap:18px}.desktop-nav{gap:18px}.hero{padding-inline:30px}.hero-grid{gap:36px}.section,footer{margin-inline:42px}.section-head,.service{gap:32px}.about-grid{gap:50px}h1{font-size:8.5vw}.project{padding:28px}.order-flow{gap:6px}.order-flow>span{padding:8px 12px}}
@media(max-width:760px){:root{--header:66px}.topbar{height:66px;padding:0 20px;gap:14px}.brand{font-size:11px;gap:8px}.brand-prompt{font-size:22px}.desktop-nav{display:none}.header-end{gap:7px}.languages button{width:40px;min-height:44px}.mobile-menu{display:block;position:relative;font:11px var(--mono)}.mobile-menu summary{list-style:none;min-height:44px;display:flex;align-items:center;padding:0 7px;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu nav{position:absolute;top:48px;right:-85px;width:240px;padding:16px;background:var(--panel);border:1px solid var(--line);box-shadow:0 10px 40px #0003}.mobile-menu nav a{display:flex;min-height:48px;align-items:center;padding:0 10px;font-size:14px}.hero{padding:24px 24px 0}.hero-grid{grid-template-columns:1fr;gap:25px}.hero-figure{max-width:180px}.greeting{font-size:12px;margin-bottom:15px}h1{font-size:clamp(48px,13.5vw,70px);letter-spacing:-.065em;line-height:1}.intro{font-size:20px;line-height:1.45;max-width:31ch;margin-top:22px}.location{font-size:11px;margin-top:20px}.actions{margin-top:24px}.wa{font-size:15px;min-height:56px;padding:12px 16px;gap:10px}.wa img{width:23px;height:23px}.email{font-size:11px;min-height:44px}.section{margin-inline:24px;padding-block:65px}.section-head{display:block;margin-bottom:32px}.eyebrow{font-size:11px;margin-bottom:18px}.section-head .eyebrow{padding-top:0}h2{font-size:39px;line-height:1.08}.service{grid-template-columns:1fr;gap:16px;padding:26px 0}.service-key{padding:0;font-size:12px;gap:10px}.service-main{display:block}.service h3{font-size:25px;margin-top:10px}.service-main>p:last-child{font-size:16px;margin-top:16px}.project-list{display:block}.project{padding:25px 22px;margin-top:16px}.project-meta{margin-bottom:24px}.project h3{font-size:32px}.project-0 .project-result{font-size:27px!important;margin-top:24px}.project p{font-size:16px}.order-flow{margin-top:0;padding-top:32px;gap:8px;font-size:11px}.order-flow>span{padding:8px 10px}.about-grid{grid-template-columns:1fr;gap:40px}.about-copy{font-size:18px}.credentials{gap:8px}.credentials>span{font-size:11px}.timeline{margin-left:4px;padding-left:26px}.timeline li::before{left:-30px}.contact{grid-template-columns:1fr;padding-block:60px;gap:0}.contact-symbol{position:absolute;right:-10px;bottom:72px;z-index:-1;opacity:.1;font-size:160px}.contact-inner h2{font-size:50px}.contact-inner>p:not(.eyebrow){font-size:17px}.contact .wa{width:100%}footer{margin-inline:24px;display:grid;grid-template-columns:1fr auto;gap:4px 15px;padding-block:24px;font-size:10px}footer>span{grid-row:2}footer>a:last-child{grid-column:2;grid-row:1 / 3}.command-chip{font-size:12px;padding:10px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.scan-overlay,.scan-beam{display:none!important}}

/* 1. Phosphor: a systems boot, with the person always readable. */
.v1{background-image:linear-gradient(#47765109 1px,transparent 1px),linear-gradient(90deg,#47765109 1px,transparent 1px);background-size:52px 52px}
.v1 .topbar{max-width:none}.v1 .hero{padding-top:22px}.boot-bar{font:11px var(--mono);color:var(--muted);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin-bottom:40px}.v1 .hero-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:68px}.v1 h1{color:var(--accent);font-size:clamp(72px,7.8vw,112px)}.v1 .hero-figure{max-width:360px;border:1px solid var(--line);padding:9px;background:var(--bg);box-shadow:12px 12px 0 #17382366}.photo-title{font:10px var(--mono);color:var(--muted);padding:5px 4px 14px}.photo-scan{position:relative;overflow:hidden}.photo-scan .portrait{filter:saturate(.65)}.photo-scan::after{content:'';pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(transparent 0 3px,#00210b33 3px 4px);opacity:.27}.v1 .hero-figure figcaption{padding:14px 4px 4px;font-size:10px}.scan-overlay{position:absolute;inset:0;background:repeating-linear-gradient(transparent 0 7px,#06160ab8 7px 12px);opacity:0;pointer-events:none}.scan-beam{height:2px;position:absolute;left:0;right:0;top:0;background:var(--accent);box-shadow:0 0 16px var(--accent);opacity:0}.v1.booting .scan-overlay{animation:scan-load 900ms steps(14) both}.v1.booting .scan-beam{animation:scan-beam 900ms linear both}.boot-footer{display:flex;gap:26px;align-items:center;padding:35px 0 30px;margin-top:34px;border-bottom:1px solid var(--line);color:var(--muted);font:10px var(--mono)}.boot-line{height:1px;background:var(--line);flex:1}.boot-check{color:var(--accent)}.v1.booting .boot-check{animation:check-in 700ms steps(3)}.v1.booting .boot-check:nth-child(2){animation-delay:120ms}.v1.booting .boot-check:nth-child(3){animation-delay:240ms}.v1 .section{padding-block:90px}.v1 .service-key{color:var(--accent)}.v1 .project{border-radius:0}.v1 .contact-symbol{font-weight:500}
@keyframes scan-load{0%{opacity:.8;transform:translateY(0)}100%{opacity:0;transform:translateY(100%)}}@keyframes scan-beam{0%{opacity:.8;transform:translateY(0)}90%{opacity:.7}100%{opacity:0;transform:translateY(460px)}}@keyframes check-in{0%{color:var(--muted)}100%{color:var(--accent)}}
@media(max-width:760px){.v1 .hero{padding-top:12px}.boot-bar{font-size:9px;margin-bottom:25px}.replay{font-size:9px}.v1 .hero-grid{display:grid;grid-template-columns:1fr 132px;gap:20px 14px;align-items:start}.v1 .hero-text{display:contents}.v1 .greeting{grid-column:1;grid-row:1;align-self:center;font-size:14px;max-width:8ch;line-height:1.5;margin:0}.v1 h1{grid-column:1/-1;grid-row:2;font-size:clamp(49px,13vw,60px);margin:0}.v1 h1 br{display:none}.v1 .hero-figure{grid-column:2;grid-row:1;max-width:132px;padding:5px;box-shadow:6px 6px 0 #17382366}.v1 .photo-title{font-size:7px;padding:2px 2px 6px}.v1 .hero-figure figcaption{display:none}.v1 .intro{grid-column:1/-1;grid-row:3;margin:0;font-size:19px}.v1 .actions{grid-column:1/-1;grid-row:4;margin:0}.v1 .wa{width:100%}.v1 .location{grid-column:1/-1;grid-row:5;margin:-6px 0 0}.boot-footer{margin-top:28px;padding:22px 0;gap:14px;font-size:9px;flex-wrap:wrap}.boot-footer>span:last-child,.boot-line{display:none}.v1 .section{padding-block:62px}.v1 .service-key{letter-spacing:.02em}}

.cursor{animation:cursor-blink 1s steps(1) 3}@keyframes cursor-blink{50%{opacity:0}}.v2 .hero-figure{animation:paper-arrive 700ms cubic-bezier(.2,.8,.2,1)}@keyframes paper-arrive{from{transform:translateY(-8px) rotate(6deg)}to{transform:translateY(0) rotate(3deg)}}

@media(max-width:760px){.v1 h1 br,.v2 h1 br,.v3 h1 br,.v5 h1 br{display:block}.v1 h1{font-size:clamp(48px,13vw,60px)}.v2 h1{font-size:clamp(48px,13.8vw,60px)}.v3 h1{font-size:clamp(46px,13vw,58px)}.v5 h1{font-size:clamp(47px,12.7vw,57px)}}

.languages button{min-width:44px;min-height:44px}dialog[open]{animation:palette-in 200ms cubic-bezier(.2,.8,.2,1)}@keyframes palette-in{from{transform:translateY(14px);opacity:.5}to{transform:none;opacity:1}}

html:not(.js) .ascii,html:not(.js) .photo-toggle,html:not(.js) .palette-open,html:not(.js) .replay{display:none}
