/* Original wordmark geometry, perspective windows, and a shared motion language. */
:root{--mist:#e7edff}
.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;z-index:100;pointer-events:none}
.hero h1{transform:translateY(calc(var(--hero-scroll,0)*-24px));opacity:calc(1 - var(--hero-scroll,0)*.18)}
.hero-stage{transform:translateY(calc(var(--hero-scroll,0)*-16px))}
.hero-stage .character-v{animation:none;transition:transform 1.65s cubic-bezier(.2,.85,.2,1)}
.hero-stage[data-scene="notice"] .character-v{animation:curious-pause 7.2s ease-in-out infinite}
@keyframes curious-pause{0%,24%,100%{transform:translate(calc(var(--px)*12px),calc(var(--py)*6px)) rotate(-7deg)}42%,50%{transform:translate(calc(var(--px)*12px + 8px),calc(var(--py)*6px - 8px)) rotate(-12deg)}70%,80%{transform:translate(calc(var(--px)*12px + 4px),calc(var(--py)*6px - 4px)) rotate(-4deg)}}
.hero-stage .character-h{transition:transform 1.1s cubic-bezier(.76,0,.24,1);transform:translate(calc(var(--hx,0)*1px),calc(-4px + var(--hy,0)*1px))}
.hero-stage[data-scene="explore"] .character-h{transform:translate(calc(24px + var(--hx,0)*1px),calc(-12px + var(--hy,0)*1px)) rotate(0)}
.hero-stage[data-scene="build"] .character-h{transform:translate(-25px,0) rotate(0)}
.hero-stage[data-scene="explore"] .character-v{transform:translate(calc(-30px + var(--px)*10px),-18px) rotate(12deg)}
.hero-stage[data-scene="build"] .character-v{transform:translate(36px,0) rotate(0)}
.ground-shadow{opacity:.65;width:70%;left:15%;bottom:0;height:12px}
.hero-stage .logo-perspective{width:108px;height:92px;top:3%;left:50%;margin-left:-54px;perspective:500px;transform:none;transition:transform .8s;z-index:3}
.logo-perspective:focus-visible{outline-offset:9px}
.logo-perspective .window-pane{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform 1.35s cubic-bezier(.2,.85,.2,1)}
.logo-perspective img{width:100%;height:100%;object-fit:contain;display:block}
.window-black{transform-origin:30% 55%}.window-blue{transform-origin:73% 45%}
.hero-stage[data-scene="notice"] .logo-perspective .window-black{transform:translate(-4px,2px) rotateY(-16deg) rotate(-3deg)}
.hero-stage[data-scene="notice"] .logo-perspective .window-blue{transform:translate(4px,-3px) rotateY(16deg) rotate(3deg)}
.hero-stage[data-scene="explore"] .logo-perspective{transform:translateY(-8px) scale(1.13)}
.hero-stage[data-scene="explore"] .logo-perspective .window-black{transform:translate(-22px,5px) rotateY(35deg) rotate(-12deg)}
.hero-stage[data-scene="explore"] .logo-perspective .window-blue{transform:translate(22px,-5px) rotateY(-35deg) rotate(12deg)}
.hero-stage[data-scene="build"] .logo-perspective{transform:scale(.88)}
.hero-stage[data-scene="build"] .logo-perspective .window-pane{transform:translate(0,0) rotateY(0) rotate(0)}
.logo-perspective:hover .window-black{filter:brightness(1.4)}
.perspective-field{position:absolute;width:48%;aspect-ratio:1056/900;left:26%;top:12%;pointer-events:none;z-index:-2;perspective:600px}
.perspective-field img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform 1.8s cubic-bezier(.2,.8,.2,1),opacity 1.5s}
.field-black{opacity:.035;transform:translate(-25px,14px) rotate(-8deg)}.field-blue{opacity:.065;transform:translate(25px,-14px) rotate(8deg)}
.hero-stage[data-scene="explore"] .field-black{transform:translate(-85px,15px) rotate(-18deg) scale(1.12);opacity:.045}
.hero-stage[data-scene="explore"] .field-blue{transform:translate(85px,-15px) rotate(18deg) scale(1.12);opacity:.095}
.hero-stage[data-scene="build"] .perspective-field img{transform:translate(0,0) rotate(0) scale(.9);opacity:.025}
.stage-orbit{opacity:.36}.hero-stage[data-scene="build"] .stage-orbit{opacity:0}
.experiment-stage{background:var(--mist)}.experiment-footnote,.experiment-meta>span:last-child{color:#555d71}.message-before{color:#646b7a}
.tiny-content .web-after i{color:#e8e3ff}
.structure-art{background:#e6e8ed}.structure{background:#f2f2ef;border-color:#f2f2ef;box-shadow:25px 24px 0 #b4b5c2}
.contact-section h2 .emphasis{color:#edf1ff}.contact-section h2 svg{stroke:#d3dfff}.contact-button{background:#edf1ff}
.mind-panel,.project-art,.contact-button,.shift-button,.talk-link{will-change:transform}
.contact-button,.shift-button,.talk-link{transform:translate(var(--button-x,0px),var(--button-y,0px));transition:transform .4s cubic-bezier(.2,.8,.2,1),background .25s,color .25s}
.contact-button:hover{transform:translate(var(--button-x,0px),calc(var(--button-y,0px) - 3px))}
.project-art:after{content:'Explore ↗';position:absolute;left:var(--cursor-x,50%);top:var(--cursor-y,50%);transform:translate(-50%,-50%) scale(.8);opacity:0;transition:opacity .25s,transform .25s;background:var(--paper);color:var(--ink);padding:14px 22px;border-radius:30px;font-size:11px;line-height:1;pointer-events:none;z-index:5;white-space:nowrap}
@media(hover:hover){.project:hover .project-art:after{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.motion-ready .reveal-step{opacity:0;transform:translateY(30px);transition:opacity .85s ease,transform 1s cubic-bezier(.2,.75,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-ready .reveal-step.is-visible{opacity:1;transform:translateY(0)}
.motion-ready .art-reveal{clip-path:inset(0 0 16% 0);transition:clip-path 1.15s cubic-bezier(.2,.75,.2,1),filter .4s}
.motion-ready .art-reveal.is-visible{clip-path:inset(0 0 0 0)}
.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .35s}.desktop-nav a:hover:after{transform:scaleX(1)}
@media(max-width:700px){
 .hero-stage .logo-perspective{width:70px;height:60px;margin-left:-35px;top:7%}
 .hero-stage[data-scene="explore"] .logo-perspective{transform:translateY(-4px) scale(1.1)}
 .hero-stage[data-scene="explore"] .logo-perspective .window-black{transform:translate(-12px,3px) rotateY(30deg) rotate(-10deg)}
 .hero-stage[data-scene="explore"] .logo-perspective .window-blue{transform:translate(12px,-3px) rotateY(-30deg) rotate(10deg)}
 .hero-stage[data-scene="build"] .character-v{transform:translate(12px,0) rotate(0)}
 .hero-stage[data-scene="build"] .character-h{transform:translate(-12px,0) rotate(0)}
 .hero-stage[data-scene="explore"] .character-v{transform:translate(-5px,-12px) rotate(10deg)}
 .hero-stage[data-scene="explore"] .character-h{transform:translate(6px,-6px)}
 .perspective-field{width:74%;left:13%;top:23%}
 .hero-stage[data-scene="explore"] .field-black{transform:translate(-23px,6px) rotate(-12deg)}
 .hero-stage[data-scene="explore"] .field-blue{transform:translate(23px,-6px) rotate(12deg)}
 .project-art:after{display:none}
 .contact-button,.shift-button,.talk-link{transform:none!important}
 .hero h1,.hero-stage{translate:0 0}
}
@media(prefers-reduced-motion:reduce){
 .hero h1,.hero-stage{transform:none!important;opacity:1!important}
 .hero-stage .character-v{animation:none!important}
 .motion-ready .reveal-step{opacity:1!important;transform:none!important;transition:none!important}
 .motion-ready .art-reveal{clip-path:none!important}
 .contact-button,.shift-button,.talk-link{transform:none!important}
 .scroll-progress{display:none}
}

/* The intro hands screen-reader focus to this static heading. */
#hero-title:focus{outline:none}

/* Original supplied wordmark paths, paired closely with the original symbol. */
.site-header .brand{gap:7px}
.brand-wordmark{display:block;width:180px;height:auto}
.approach-rows details{box-sizing:border-box}
.approach-rows .detail-indicator{transition:transform .38s cubic-bezier(.22,1,.36,1),color .25s}
.approach-rows details[data-expanded="false"] .detail-indicator{transform:rotate(0);color:inherit}
.approach-rows details[data-expanded="true"] .detail-indicator{transform:rotate(45deg);color:var(--blue)}
@media(max-width:700px){.site-header .brand{gap:6px}.brand-wordmark{width:155px}}
@media(prefers-reduced-motion:reduce){.approach-rows .detail-indicator{transition:none}}
