/* Evolution 3.1 / A fixed index, a full-screen map, informed preferences. */
:root{--nav-height:82px;--admin-offset:0px;scroll-padding-top:calc(var(--nav-height) + var(--admin-offset) + 14px);scrollbar-gutter:stable}
:root:has(body.admin-bar){--admin-offset:32px}
.js-motion .reveal{opacity:1}
.site-header{position:fixed;top:var(--admin-offset);inset-inline:0;width:100%;height:var(--nav-height);padding-inline:4vw;z-index:70;background:#05041eeb;border-bottom:1px solid #a1c7f026;transition:background .3s,box-shadow .3s;isolation:isolate}
.site-header.is-scrolled{background:#080821f7;box-shadow:0 7px 28px #01021135}
@supports(backdrop-filter:blur(10px)){.site-header{background:#07061bd9;backdrop-filter:blur(12px)}.site-header.is-scrolled{background:#080821e8}}
.brand>span{font-size:25px}.brand img{width:33px;height:33px}.brand small{font-size:6px;letter-spacing:1.4px}
.desktop-nav{gap:5px;padding:5px;border:1px solid #c6dbff20;border-radius:40px;background:#a4ceff05}.desktop-nav a{position:relative;display:flex;gap:9px;align-items:center;padding:12px 17px;border-radius:30px;font-size:11px;color:#d6e2f3;transition:background .2s,color .2s}.desktop-nav a>span{font:8px 'Space Grotesk';color:#7d9ab6}.desktop-nav a[aria-current],.desktop-nav a:hover{background:#add9ff15;color:#b3e4ff}.desktop-nav a[aria-current]>span{color:#9adbff}.header-cta{font-size:10px;gap:18px;color:#c9e6f7}
.reading-line{top:calc(var(--nav-height) + var(--admin-offset));height:2px;width:100%!important;transform:scaleX(var(--reading-progress,0));transform-origin:0 50%;z-index:71}
.skip-link{z-index:1100}.skip-link:focus{top:calc(var(--admin-offset) + 8px)}
.admin-bar{--admin-offset:32px}.admin-bar .site-header{top:32px}
.menu-toggle{display:none}.mobile-nav:not([open]){display:none!important}.mobile-nav[open]{display:block}
dialog.mobile-nav[open]{position:fixed;inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:#07051e;color:#eaf4ff;overflow:auto;overscroll-behavior:contain;isolation:isolate;box-sizing:border-box;backdrop-filter:none}
.mobile-nav::backdrop{background:#07051e;backdrop-filter:none}.nav-layout{position:relative;z-index:1;min-height:100%;display:flex;flex-direction:column;max-width:1000px;margin:auto;padding:24px 7vw 25px;padding-bottom:max(25px,env(safe-area-inset-bottom))}
.nav-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.nav-brand{font:600 25px 'DM Sans';letter-spacing:-1.6px;line-height:1}.nav-brand>span{color:#67c9f5}.nav-brand small{display:block;font:7px 'Space Grotesk';letter-spacing:.15em;margin-top:10px;color:#a5c4df}.nav-close{display:grid;place-items:center;width:46px;height:46px;border:1px solid #9fceee45;border-radius:50%;color:#d5f0ff;font-size:32px;line-height:1;background:#ffffff06}.nav-close:hover{background:#a0d9ff18}.nav-close>span{transition:transform .35s}.nav-close:hover>span{transform:rotate(90deg)}
.nav-atmosphere{position:absolute;right:-22%;top:7%;width:93vw;height:93vw;max-width:750px;max-height:750px;pointer-events:none;z-index:0;opacity:.8;background:radial-gradient(circle,#2d469846,transparent 64%)}.nav-atmosphere i{position:absolute;inset:6%;border:1px solid #87b2ec20;border-radius:50%;transform:rotateX(42deg) rotateZ(-24deg)}.nav-atmosphere i:nth-child(2){inset:19%;border-style:dashed;transform:rotateX(-35deg) rotateZ(26deg)}.nav-atmosphere img{width:52%;height:52%;object-fit:contain;position:absolute;top:24%;left:24%;opacity:.055;filter:brightness(0) invert(1)}
.nav-intro{position:relative;padding:46px 0 34px}.nav-intro>.eyebrow{font-size:7px;color:#95c7e4;letter-spacing:.12em}.nav-intro>p{font:400 clamp(28px,5.3vw,43px)/1.05 'DM Sans';letter-spacing:-.05em;margin:16px 0 0}.nav-intro em{font-family:Georgia,serif;color:#9ed4f1}.nav-coordinate{position:absolute;right:0;bottom:34px;font:8px 'Space Grotesk';color:#85a7c6;writing-mode:vertical-rl;letter-spacing:.12em}
.nav-chapters{display:grid}.nav-item{position:relative;display:grid;grid-template-columns:23px 1fr 32px;align-items:center;gap:17px;border-top:1px solid #adc8f033;padding:21px 0;overflow:hidden}.nav-item:last-child{border-bottom:1px solid #adc8f033}.nav-number{font:9px 'Space Grotesk';color:#98b3d0;align-self:start;margin-top:10px}.nav-item-copy{display:block;transition:transform .35s cubic-bezier(.22,1,.36,1)}.nav-item-copy strong{font:500 clamp(38px,9.7vw,65px)/1.08 'Space Grotesk';letter-spacing:-.065em;display:block}.nav-item-copy small{font:10px/1.4 'DM Sans';color:#a4bdd2;display:block;margin-top:7px}.nav-arrow{font:27px 'Space Grotesk';color:#93d5f6;transition:transform .35s}.nav-item:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#4684c814,transparent);transform:translateX(-100%);transition:transform .4s;z-index:-1}.nav-item:hover:before,.nav-item:focus-visible:before{transform:translateX(0)}.nav-item:hover .nav-item-copy{transform:translateX(8px)}.nav-item:hover .nav-arrow{transform:translate(3px,-3px)}.nav-item[aria-current] .nav-number{color:#5ed8ff}.nav-item[aria-current] strong{color:#a8deff}
.nav-bottom{margin-top:auto;padding-top:32px}.nav-project{display:flex;align-items:center;justify-content:space-between;padding:19px 20px;border-radius:12px;background:linear-gradient(115deg,#b3e6f9,#adc1ef);color:#102337;font:500 14px 'DM Sans';gap:12px}.nav-project small{display:block;font:7px 'Space Grotesk';letter-spacing:.08em;margin-top:6px}.nav-project b{font:28px 'Space Grotesk'}.nav-utility{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:23px;font-size:10px;color:#bbcee4}.nav-utility>span{font:7px 'Space Grotesk';color:#819dbd;letter-spacing:.08em}.nav-utility a{padding-block:6px}
body.overlay-open{overflow:hidden}.ui-blocked .cursor-aura{display:none!important}.ui-blocked main *,.ui-blocked main *:before,.ui-blocked main *:after{animation-play-state:paused!important}
/* Leave the fixed index visible without stealing space from the immersive controls. */
.js-motion:not(.short-viewport) .lab-sticky{top:calc(var(--nav-height) + var(--admin-offset));height:calc(100svh - var(--nav-height) - var(--admin-offset));min-height:0}
.lab-sticky{scroll-margin-top:calc(var(--nav-height) + var(--admin-offset))}
.dive-top{top:calc(var(--nav-height) + 30px)}
.signal-ribbon{padding-block:25px;background:linear-gradient(110deg,#152451,#15102f 52%,#0e253f);border-color:#b4dbff38}
.signal-track{gap:0}.signal-track>span{gap:24px;padding-right:24px;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(26px,3.1vw,48px);letter-spacing:-.065em;line-height:1.15}.signal-track em{font:700 1em 'Space Grotesk',sans-serif;font-style:normal;letter-spacing:-.065em;color:#d9f1ff}.signal-track b{margin-inline:12px}.signal-track .e4-glyph{font-size:38px}.signal-track>span>em:nth-of-type(2){color:#95d9fc}.js-motion .signal-track{animation-duration:44s}.signal-ribbon:hover .signal-track{animation-play-state:paused}
/* A compact, non-blocking notice; preferences open in an accessible native dialog. */
.privacy-notice{position:fixed;left:24px;bottom:24px;z-index:80;width:min(460px,calc(100vw - 48px));padding:25px;border:1px solid #9cc9e34d;border-radius:18px;background:#10172cf5;color:#e1edfa;box-shadow:0 16px 60px #0006;animation:e4-notice-in .5s cubic-bezier(.22,1,.36,1)}
.privacy-notice-heading{display:flex;gap:15px;align-items:center}.privacy-notice-heading>img{width:34px;height:34px;filter:brightness(0) invert(1);opacity:.8}.privacy-notice .eyebrow{font:8px 'Space Grotesk';letter-spacing:.1em;color:#9cd7f2}.privacy-notice h2{font-size:20px;letter-spacing:-.05em;line-height:1.12;margin-top:7px}.privacy-notice>p{font-size:11px;line-height:1.65;color:#b7cce0;margin:16px 0 20px}.privacy-actions{display:flex;gap:8px}.privacy-actions button{flex:1;min-height:44px;border:1px solid #99d5f777;border-radius:8px;background:#badfff0a;color:#d6f1ff;font-size:11px;line-height:1.3;padding:12px 10px;transition:background .2s}.privacy-actions button:hover{background:#8acfff22}.privacy-actions button:focus-visible{outline-color:#cdf0ff}.privacy-notice-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:16px}.privacy-notice-links a,.privacy-notice-links button{font-size:10px;color:#adc8df;text-decoration:underline;text-underline-offset:3px;padding:3px 0}.privacy-notice-open .floating-contact{opacity:0!important;pointer-events:none!important}
.privacy-dialog{width:min(570px,calc(100vw - 28px));max-height:calc(100dvh - 32px);margin:auto;padding:40px;border:1px solid #a6d2ef4d;border-radius:20px;background:radial-gradient(ellipse at 100% 0,#29497140,transparent 60%),#10172b;color:#e6f2ff;overscroll-behavior:contain;overflow:auto}.privacy-dialog::backdrop{background:#020516c9;backdrop-filter:blur(6px)}.privacy-close{position:absolute;right:20px;top:20px;width:38px;height:38px;border:1px solid #b1d7f44d;border-radius:50%;font-size:25px;color:#dfedfc}.privacy-dialog>.eyebrow{font-size:8px;color:#a6d2e9;letter-spacing:.1em}.privacy-dialog h2{font-size:48px;line-height:1.03;margin:24px 0;letter-spacing:-.06em}.privacy-dialog h2 em{font-family:Georgia,serif;color:#b6d6f8}.privacy-dialog>p{font-size:12px;line-height:1.7;color:#b4c8de}.privacy-category{display:flex;gap:20px;justify-content:space-between;align-items:center;padding:23px 0;border-top:1px solid #bfdaee26;margin-top:22px}.privacy-category h3,.privacy-optional strong{font-size:15px;letter-spacing:-.03em;font-weight:500;line-height:1.3;display:block}.privacy-category p,.privacy-optional>span>span{font-size:11px;line-height:1.65;color:#b4c8de;margin-top:7px;display:block}.privacy-required{font:7px 'Space Grotesk';letter-spacing:.04em;white-space:nowrap;color:#9fd5ec}.privacy-optional{margin-top:0;cursor:pointer;position:relative;padding-right:60px;border-bottom:1px solid #bfdaee26}.privacy-optional input{position:absolute;right:0;width:46px;height:27px;opacity:0;margin:0}.privacy-optional i{position:absolute;right:0;width:46px;height:27px;border:1px solid #a1c6e56b;border-radius:20px;background:#25344a;pointer-events:none}.privacy-optional i:after{content:'';position:absolute;top:4px;left:4px;width:17px;height:17px;border-radius:50%;background:#becfe0;transition:transform .2s}.privacy-optional input:checked+i{background:#275a78}.privacy-optional input:checked+i:after{transform:translateX(19px);background:#c1eaff}.privacy-optional input:focus-visible+i{outline:2px solid #b1e2ff;outline-offset:5px}.privacy-dialog .privacy-detail{font-size:10px;margin:17px 0 25px;color:#99b1c9}.privacy-policy{display:inline-block;margin-top:20px;font-size:11px;color:#b9dff2;text-decoration:underline;text-underline-offset:4px}.privacy-reopen{font:inherit;color:inherit;text-decoration:underline;text-underline-offset:4px;padding:7px 0;text-align:left}.ui-blocked .privacy-notice{visibility:hidden}
@keyframes e4-notice-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
/* Effects that cannot be seen should not keep painting or retain promoted layers. */
.fx-offscreen *,.fx-offscreen *:before,.fx-offscreen *:after{animation-play-state:paused!important}.split-inner{will-change:auto}.hero-copy,.matter-stage,.signal-track,.portfolio-shell[data-ready] .project-card{will-change:auto!important}.fx-visible .matter-stage,.fx-visible .signal-track{will-change:transform!important}.lab-top{backdrop-filter:none}
.power-lite .scene-glass:before,.power-lite .contact:before{filter:none!important}.power-lite .cursor-aura{display:none}.power-lite .hero-art img{filter:none!important}
@media(max-width:1000px){.desktop-nav a{padding:10px 11px}.desktop-nav a>span{display:none}.header-cta{font-size:9px;gap:10px}.site-header{padding-inline:4vw}.brand>span{font-size:23px}}
@media(max-width:782px){:root:has(body.admin-bar){--admin-offset:46px}.admin-bar{--admin-offset:46px}.admin-bar .site-header{top:46px}}
@media(max-width:760px){:root{--nav-height:72px;scrollbar-gutter:auto}.site-header{height:72px;padding-inline:6vw}.desktop-nav,.header-cta{display:none}.interface-ready .menu-toggle{display:flex;flex-direction:row;position:relative;align-items:center;justify-content:space-between;width:94px;height:40px;padding:0 12px;border:1px solid #b6d6f54d;border-radius:30px;background:#a1c7ed09;gap:11px}.menu-toggle b{font:8px 'Space Grotesk';letter-spacing:.1em;font-weight:400}.menu-toggle i{display:flex;flex-direction:column;justify-content:center;gap:5px;width:16px}.menu-toggle span{width:16px;height:1px;background:#c5e6fa;display:block;margin:0}.menu-toggle span:last-child{width:10px;align-self:flex-end}.brand>span{font-size:23px}.brand img{width:29px;height:29px}.brand small{font-size:5.5px;letter-spacing:1.1px}
 .signal-ribbon{padding-block:19px}.signal-track>span{gap:15px;font-size:25px;padding-right:15px}.signal-track em{font-size:1em}.signal-track b{margin-inline:5px}.signal-track .e4-glyph{font-size:26px}
 .privacy-notice{left:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px);padding:19px;border-radius:15px}.privacy-notice-heading{gap:11px}.privacy-notice-heading>img{width:27px;height:27px}.privacy-notice h2{font-size:18px}.privacy-notice .eyebrow{font-size:7px}.privacy-notice>p{font-size:10.5px;margin:13px 0 15px}.privacy-notice-links{margin-top:11px;gap:7px}.privacy-notice-links a,.privacy-notice-links button{font-size:9px}.privacy-actions button{font-size:10px}.privacy-dialog{padding:34px 23px 27px}.privacy-dialog h2{font-size:42px}.privacy-close{right:15px;top:15px;width:33px;height:33px}.privacy-category{gap:10px}.privacy-required{font-size:6px}.privacy-dialog>.eyebrow{font-size:7px}
 .js-motion:not(.short-viewport) .lab-scenes{bottom:254px}.js-motion:not(.short-viewport) .lab-story{bottom:123px;height:131px;padding-top:11px;padding-bottom:10px}.js-motion:not(.short-viewport) .lab-bottom{height:123px}.js-motion:not(.short-viewport) .story-title{font-size:13px}.js-motion:not(.short-viewport) .story-text{margin-top:9px}.js-motion:not(.short-viewport) .story-lesson{font-size:10px;line-height:1.45}
 html:not(.interface-ready) .desktop-nav{display:flex;position:fixed;top:72px;left:0;right:0;justify-content:center;border-radius:0;background:#09071f}.dive-top{top:calc(var(--nav-height) + 20px)}
}
@media(max-width:360px){.nav-layout{padding:19px 6vw}.nav-intro{padding:30px 0 22px}.nav-intro>p{font-size:29px}.nav-item{padding:16px 0;gap:12px}.nav-item-copy strong{font-size:34px}.nav-item-copy small{font-size:9px}.nav-bottom{padding-top:23px}.nav-project{font-size:12px;padding:17px}.nav-utility{margin-top:15px}.privacy-notice{padding:16px}.privacy-notice h2{font-size:16px}.privacy-notice .eyebrow{font-size:6px}.privacy-notice-links{gap:5px}.privacy-notice-links a,.privacy-notice-links button{font-size:8.5px}}
@media(max-height:700px) and (max-width:760px){.nav-intro{padding:24px 0 20px}.nav-intro>p{font-size:28px}.nav-item{padding:15px 0}.nav-item-copy strong{font-size:34px}.nav-bottom{padding-top:22px}.nav-layout{padding-top:18px}.nav-utility{margin-top:15px}}
@media(max-height:450px) and (max-width:760px){.nav-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px 30px;padding:18px 6vw}.nav-top{grid-column:1/-1}.nav-intro{padding:0}.nav-intro>p{font-size:27px}.nav-coordinate{display:none}.nav-chapters{grid-column:2;grid-row:2/4}.nav-item{padding:12px 0;grid-template-columns:15px 1fr 20px;gap:8px}.nav-item-copy strong{font-size:27px}.nav-item-copy small{font-size:8px}.nav-number{font-size:7px}.nav-arrow{font-size:20px}.nav-bottom{padding-top:0;margin:0}.nav-project{padding:13px;font-size:11px}.nav-project small{font-size:5px}.nav-utility{display:block;margin-top:10px;font-size:9px}.nav-utility>span{display:block;margin-top:10px}.privacy-notice{left:12px;width:420px;max-width:calc(100vw - 24px);padding:15px}.privacy-notice>p{margin:10px 0}.privacy-notice-heading>img{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.privacy-notice{animation:none}.nav-item-copy,.nav-arrow,.nav-item:before,.nav-close>span{transition:none}.site-header{transition:none}}
.motion-off .privacy-notice{animation:none}
@media(max-width:760px){.scene-minimal .minimal-circle{top:15%;right:12%;width:70px;height:70px}}
@media(max-width:760px) and (max-height:780px){.js-motion:not(.short-viewport) .scene-neu{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.js-motion:not(.short-viewport) .neu-copy{width:46%}.js-motion:not(.short-viewport) .neu-console{width:49%;height:205px;padding:17px 12px}.js-motion:not(.short-viewport) .neu-knob{width:94px;height:94px;padding:9px}.js-motion:not(.short-viewport) .neu-knob>span{font-size:26px}.js-motion:not(.short-viewport) .neu-console p{font-size:5px}.js-motion:not(.short-viewport) .neu-copy .demo-label{font-size:6px}}
@media print{.site-header{position:relative;background:#fff;color:#123}.mobile-nav,.privacy-notice,.privacy-dialog,.privacy-reopen,.reading-line{display:none!important}}
