@font-face{font-family:Manrope;src:url('/assets/manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}@font-face{font-family:Plex;src:url('/assets/mono.woff2') format('woff2');font-display:swap}
:root{--ink:#f1f2ea;--muted:#a4b0b0;--lime:#d3f58a;--line:rgba(216,236,230,.2);--mono:Plex,monospace;--sans:Manrope,Arial,sans-serif;--gutter:6.25vw;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#070d10;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}::selection{background:var(--lime);color:#101b16}:focus-visible{outline:2px solid var(--lime);outline-offset:6px}button{cursor:pointer}em{font-style:normal;color:var(--lime)}.skip{position:fixed;left:20px;top:-100px;z-index:100;padding:12px;background:var(--lime);color:#070d10}.skip:focus{top:20px}
.world-wrap{position:fixed;inset:0;bottom:auto;height:var(--scene-viewport,100%);overflow:hidden;z-index:-3;background:#070d10}#world{width:100%;height:100%;display:block;opacity:0;transition:opacity 1.5s;pointer-events:none}body[data-scene=ready] #world{opacity:1}.blueprint-fallback{position:absolute;inset:0;width:100%;height:100%;transition:opacity 1.5s}body[data-scene=ready] .blueprint-fallback{opacity:0}.scene-shade{position:fixed;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,rgba(5,11,13,.97) 0%,rgba(5,11,13,.89) 21%,rgba(5,11,13,.64) 41%,rgba(5,11,13,.03) 70%),linear-gradient(0deg,rgba(5,11,13,.8),transparent 23%,transparent 80%,rgba(5,11,13,.45));transition:background .5s}.noise{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}
.header{position:absolute;z-index:5;top:0;left:0;width:100%;padding:35px var(--gutter);display:flex;align-items:center;gap:42px}.brand{display:inline-flex;align-items:center;gap:12px;font-size:29px;font-weight:800;letter-spacing:-1.6px;line-height:1;flex:none}.brand svg{width:28px;height:33px;stroke:var(--lime);fill:none;stroke-width:1.7}.brand-dot{font-size:10px;letter-spacing:0;vertical-align:super;position:relative;top:-7px;left:4px}.header-note{font-family:var(--mono);font-size:8px;letter-spacing:1px;line-height:1.8;color:var(--muted);border-left:1px solid var(--line);padding-left:24px}.header nav{margin-left:auto;display:flex;gap:33px;align-items:center;font-size:12px;font-weight:600}.header nav>a{padding:12px 0;position:relative}.header nav>a:after{content:'';height:1px;position:absolute;bottom:6px;left:0;right:100%;background:var(--lime);transition:right .25s}.header nav>a:hover:after{right:0}.header nav .talk{display:flex;gap:28px;align-items:center;border:1px solid var(--line);border-radius:99px;padding:12px 20px}.header nav .talk span{font-size:20px;line-height:1;color:var(--lime)}.header nav .talk:after{display:none}.header nav .talk:hover{border-color:var(--lime);background:#d3f58a0b}
.chapter{min-height:calc(var(--journey-viewport,100svh) * 1.1);position:relative;display:flex;align-items:center;padding:140px var(--gutter) 170px}.hero{min-height:var(--journey-viewport,100svh);padding-top:148px}.chapter-content{max-width:720px;width:60%;position:relative}.eyebrow{font:10px/1.5 var(--mono);letter-spacing:1.8px;color:#c5cecb;display:flex;align-items:center;gap:12px;margin-bottom:30px}.status-light{height:5px;width:5px;display:inline-block;background:var(--lime);border-radius:50%;box-shadow:0 0 10px #d3f58466}.section-number{color:var(--lime);margin-right:8px}h1,h2,p{margin:0}h1,h2{font-weight:500;font-size:clamp(64px,7.4vw,120px);line-height:1.045;letter-spacing:-.065em}h1{font-size:clamp(78px,7.7vw,126px);line-height:.995}h1 em{display:inline-block;padding-bottom:6px}.intro{font-size:14px;line-height:1.9;color:#b5bfbe;max-width:345px;margin-top:27px}.text-link{display:inline-flex;gap:40px;align-items:center;font-size:12px;font-weight:600;margin-top:30px;padding-bottom:10px;border-bottom:1px solid #aab9b35c}.text-link span{font-size:22px;color:var(--lime);transition:transform .25s}.text-link:hover span{transform:translate(3px,3px)}.scroll-cue{display:flex;position:absolute;left:var(--gutter);bottom:106px;align-items:center;gap:15px;font:8px/1.8 var(--mono);letter-spacing:1.4px;color:var(--muted)}.circle-arrow{border:1px solid var(--line);width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:19px var(--sans);color:var(--ink);transition:transform .3s}.scroll-cue:hover .circle-arrow{transform:translateY(5px)}.scene-caption{position:absolute;bottom:136px;left:63%;display:flex;align-items:center;gap:16px;font:8px/1.9 var(--mono);letter-spacing:1.4px;color:#a6bdbb;white-space:nowrap}.scene-caption strong{font-weight:400;color:#e7efdf}.crosshair{font:26px var(--sans);color:var(--lime);font-weight:200}.parallel-lines{max-width:370px;margin-top:30px}.parallel-lines>div{display:flex;align-items:center;gap:15px;font-size:12px;padding:13px 0;border-top:1px solid var(--line)}.parallel-lines>div>span{font:9px var(--mono);color:var(--lime)}.parallel-lines i{height:1px;width:94px;margin-left:auto;background:linear-gradient(90deg,transparent,#c7e78b)}.parallel-lines>div:nth-child(2) i{width:124px}.parallel-lines>div:nth-child(3) i{width:156px}.parallel-result{font:8px var(--mono);letter-spacing:1.4px;color:var(--muted);display:flex;justify-content:space-between;padding-top:13px}.parallel-result>span{color:var(--lime)}.capabilities{max-width:410px;margin-top:28px}.capabilities details{border-top:1px solid var(--line)}.capabilities details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;align-items:center;gap:17px;font-size:13px;list-style:none;cursor:pointer;padding:18px 0}summary::-webkit-details-marker{display:none}summary>span{font:9px var(--mono);color:var(--muted)}summary b{margin-left:auto;font-weight:300;color:var(--lime);font-size:20px;transition:transform .25s}details[open] summary b{transform:rotate(45deg)}details p{font-size:12px;line-height:1.8;color:#b5bfbe;padding:0 25px 20px 32px}.expertise .chapter-content{width:64%}.contact-section{min-height:var(--journey-viewport,100svh);position:relative;padding:140px var(--gutter) 180px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column;background:linear-gradient(90deg,#070d10 15%,#070d10ed 45%,#070d1099 100%)}.contact-section h2{font-size:clamp(76px,9vw,150px)}.contact-cta{border:0;border-bottom:1px solid var(--lime);padding:14px 0;background:transparent;color:var(--lime);font-size:21px;display:inline-flex;gap:70px;align-items:center;margin-top:35px}.contact-cta span{font-size:35px;font-weight:300;transition:transform .25s}.contact-cta:hover span{transform:translate(4px,-4px)}.contact-note{font-size:11px;color:var(--muted);margin-top:18px}.footer{display:flex;align-items:center;gap:30px;position:absolute;left:var(--gutter);right:var(--gutter);bottom:100px;border-top:1px solid var(--line);padding-top:30px}.footer .brand{font-size:22px}.footer>span{font:8px var(--mono);letter-spacing:.7px;color:var(--muted)}.footer>span:nth-of-type(2){margin-left:auto}.footer>a:last-child{font-size:10px;color:var(--muted)}
.scene-index{position:fixed;right:27px;top:38%;display:flex;align-items:center;gap:13px;flex-direction:column;width:30px;z-index:4}.mono{font:7px var(--mono);letter-spacing:1px;color:#bacac6;writing-mode:vertical-rl}.scene-track{height:110px;width:1px;background:#6b9d9940;position:relative}.scene-track span{position:absolute;left:-1px;top:0;width:3px;height:0;background:var(--lime);box-shadow:0 0 9px #b7e07455}.scene-percent{font:8px var(--mono);color:var(--lime);margin-top:7px}.journey-dock{position:fixed;z-index:8;bottom:28px;left:var(--gutter);display:flex;gap:33px;padding-bottom:16px;transition:opacity .3s,visibility .3s}.journey-dock>a{font:9px var(--mono);color:#8b9d9b;padding:8px 0}.journey-dock>a>span{font-size:8px;color:#738e8b;margin-right:9px}.journey-dock>a.active{color:var(--ink)}.journey-dock>a.active>span{color:var(--lime)}.dock-line{position:absolute;bottom:0;left:0;right:0;height:1px;background:var(--line)}.dock-line i{height:1px;width:0;position:absolute;background:var(--lime)}.experience-controls{position:fixed;right:var(--gutter);bottom:36px;z-index:8;display:flex;gap:27px;align-items:center}.engine-state{font:7px var(--mono);letter-spacing:1px;color:#89a6a1;display:flex;align-items:center;gap:7px}.engine-state i{width:4px;height:4px;background:#73a29b;border-radius:50%}.experience-controls button{font:9px var(--mono);background:transparent;border:0;display:flex;align-items:center;gap:9px;padding:10px 0;color:#c5cecb}.experience-controls button>span:first-child{color:var(--lime)}body.at-contact .journey-dock{opacity:0;visibility:hidden}body.at-contact .engine-state{display:none}dialog{border:1px solid #556a5e;background:#10191a;color:var(--ink);padding:50px;max-width:540px;width:calc(100% - 32px);max-height:90svh;overflow:auto}dialog::backdrop{background:#02090bd9;backdrop-filter:blur(10px)}dialog h2{font-size:56px;line-height:1.1}dialog .eyebrow{margin-bottom:20px}.dialog-close{position:absolute;right:15px;top:10px;background:none;border:0;color:var(--muted);font-size:30px;padding:7px 13px}form{margin-top:30px}form label{font-size:12px;display:block;margin-bottom:12px}textarea{width:100%;resize:vertical;background:#070e10;border:1px solid #40554d;color:var(--ink);padding:16px;font-size:13px;line-height:1.6;border-radius:0}textarea::placeholder{color:#8d9d96}form .contact-cta{font-size:16px;gap:25px;margin-top:18px}.form-note,.saved-note{font:10px/1.7 var(--mono);color:#a4b4ad;margin-top:18px}.saved-note{color:var(--lime)}.no-js{position:absolute;top:104px;left:var(--gutter);font-size:11px;color:var(--lime);max-width:380px}.motion-paused .scene-shade{background:linear-gradient(90deg,rgba(5,11,13,.97),rgba(5,11,13,.75) 40%,rgba(5,11,13,.1) 80%)}
@media(min-width:1700px){:root{--gutter:8vw}.chapter-content{max-width:790px}.intro{font-size:16px;max-width:400px}.eyebrow{font-size:11px}.header nav{font-size:14px}}
@media(max-width:1100px){.header{gap:24px}.header-note{display:none}.header nav{gap:22px}.chapter-content{width:70%}h1{font-size:9.5vw}h2{font-size:8.5vw}.scene-caption{left:auto;right:70px;font-size:7px;bottom:112px}.experience-controls{gap:16px}.engine-state{display:none}.scene-index{right:15px}.journey-dock{gap:22px}.footer>span:first-of-type{display:none}}
@media(max-width:650px){:root{--gutter:7vw}.header{padding-top:26px}.brand{font-size:25px;gap:9px}.brand svg{width:23px;height:29px}.header nav>a:not(.talk){display:none}.header nav .talk{font-size:11px;padding:10px 15px;gap:18px}.chapter{min-height:calc(var(--journey-viewport,100svh) * 1.1);padding-top:135px;padding-bottom:170px;align-items:flex-start}.hero{min-height:var(--journey-viewport,100svh);padding-top:160px}.chapter-content,.expertise .chapter-content{width:100%;max-width:470px}.eyebrow{font-size:8px;letter-spacing:1.1px;margin-bottom:24px;gap:9px}h1{font-size:clamp(62px,14.2vw,90px);line-height:1.02}h2{font-size:clamp(47px,11.3vw,74px);line-height:1.09}.intro{font-size:12px;line-height:1.85;max-width:290px;margin-top:25px}.text-link{font-size:12px;margin-top:22px}.scene-shade{background:linear-gradient(90deg,#050b0df2,#050b0dc9 40%,#050b0d55 100%),linear-gradient(0deg,#050b0de0,transparent 30%)}.scene-caption{display:none}.scroll-cue{bottom:130px;font-size:7px;gap:12px}.circle-arrow{width:32px;height:32px}.scene-index{top:auto;bottom:152px;right:21px;opacity:.75}.scene-track{height:55px}.mono{font-size:6px}.scene-percent{font-size:7px}.journey-dock{bottom:35px;gap:21px;left:var(--gutter);right:var(--gutter);justify-content:space-between}.journey-dock>a{font-size:8px}.journey-dock>a>span{display:block;font-size:7px;margin:0 0 8px}.experience-controls{right:var(--gutter);bottom:94px}.experience-controls button{font-size:8px}.parallel-lines{max-width:290px}.parallel-lines>div{font-size:12px}.capabilities{max-width:320px}summary{font-size:12px;gap:12px}details p{font-size:12px}.contact-section{padding-top:145px;padding-bottom:210px;min-height:var(--journey-viewport,100svh)}.contact-section h2{font-size:16vw}.contact-section .eyebrow{font-size:7px}.contact-cta{font-size:18px;gap:45px}.contact-note{font-size:12px}.footer{flex-wrap:wrap;bottom:calc(20px + env(safe-area-inset-bottom));row-gap:16px}.footer .brand{font-size:20px;order:2}.footer>span:nth-of-type(2){font-size:7px;order:3;margin-left:auto}.footer>a:last-child{width:100%;font-size:9px;order:1}dialog{padding:40px 25px}dialog h2{font-size:46px}.no-js{top:100px}.motion-paused .scene-shade{background:linear-gradient(90deg,#050b0df5,#050b0dc4 50%,#050b0d66)}}
@media(max-height:760px) and (min-width:651px){h1{font-size:82px}.hero{padding-top:140px}.hero .eyebrow{margin-bottom:22px}.hero .intro{margin-top:20px}.scroll-cue{bottom:100px}.chapter{min-height:calc(var(--journey-viewport,100svh) * 1.2)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.scroll-cue{display:none}}

[hidden]{display:none!important}
body[data-scene=interactive] #world{opacity:1}body[data-scene=interactive] .blueprint-fallback{opacity:0}
.brief-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.brief-options a,.brief-options button{padding:11px 14px;border:1px solid var(--line);background:transparent;color:var(--ink);font:11px var(--mono);cursor:pointer}.brief-options a:hover,.brief-options button:hover{border-color:var(--lime);color:var(--lime)}#manual-copy{margin-top:20px}#manual-copy label{display:block;margin-bottom:10px}#scene-retry{color:var(--lime)}

body:not([data-scene=ready]) .engine-state{display:flex;max-width:190px;line-height:1.6}body[data-scene=fallback] .engine-state{color:var(--lime)}
.experience-controls{max-width:calc(100vw - 2 * var(--gutter));flex-wrap:wrap;justify-content:flex-end;row-gap:0}.experience-controls button{min-height:44px}.experience-controls button:disabled{opacity:.55;cursor:default}#tilt-toggle[aria-pressed=true]{color:var(--lime)}#tilt-status{position:absolute;right:0;bottom:calc(100% + 4px);width:max-content;max-width:min(300px,80vw);padding:7px 10px;border:1px solid var(--line);background:#070d10ed;font:9px/1.6 var(--mono);color:var(--ink)}
body[data-scene-presentation] #world{opacity:0;transition:opacity 1.2s cubic-bezier(.22,1,.36,1)}body[data-scene-presentation] .blueprint-fallback{opacity:1;transition:none}body[data-scene-presentation=fading] #world,body[data-scene-presentation=visible] #world{opacity:1}body[data-scene-presentation=fading] #world{will-change:opacity}body[data-scene-presentation=visible] .blueprint-fallback{opacity:0}body[data-scene=fallback] #world{opacity:0;transition:opacity .25s ease}
body[data-scene-presentation=visible] #world{transition:none}

/* Icon controls retain full-size touch targets and labels for assistive technology. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.experience-controls .icon-control{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;min-width:44px;height:44px;padding:0;gap:0;border:1px solid var(--line);border-radius:50%;background:#070d10ed;color:var(--ink)}
.experience-controls .icon-control:hover:not(:disabled){border-color:var(--lime)}.experience-controls .icon-control:focus-visible{outline:2px solid var(--lime);outline-offset:4px}
.control-icon{display:block;width:24px;height:24px;flex:none;pointer-events:none}
#motion-toggle[data-motion-state=playing] .motion-play,#motion-toggle[data-motion-state=paused] .motion-pause{display:none}
#tilt-toggle[aria-pressed=true] .tilt-front{fill:currentColor;fill-opacity:.25}#tilt-toggle[aria-pressed=true] .tilt-off-mark{display:none}
.control-tooltip{position:absolute;right:0;bottom:calc(100% + 8px);width:max-content;max-width:200px;padding:7px 10px;border:1px solid var(--line);border-radius:4px;background:#070d10;color:var(--ink);font:10px/1.5 var(--mono);visibility:hidden}
.control-tooltip:after{content:'';position:absolute;top:100%;left:0;width:100%;height:10px}
.icon-control:hover:not(:disabled):not([data-tooltip-dismissed]) .control-tooltip,.icon-control:focus-visible:not([data-tooltip-dismissed]) .control-tooltip{visibility:visible}

/* Keep the opening view clear; reveal motion controls after journey input. */
.experience-controls .icon-control{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s ease,visibility 0s linear .4s}
body:not(.journey-started) .icon-control .control-tooltip{visibility:hidden}
body.journey-started .experience-controls .icon-control{opacity:.5;visibility:visible;pointer-events:auto;transition-delay:0s}
body.journey-started .experience-controls .icon-control:focus-visible{opacity:1}
@media(hover:hover){body.journey-started .experience-controls .icon-control:hover{opacity:1}}
@media(prefers-reduced-motion:reduce){.experience-controls .icon-control{transition:none}}
