/* BEELABS / SCREENS INSIDE THE STRUCTURE — no-build spatial website */
:root{--ink:#0b282b;--deep:#091b1d;--copper:#f37b50;--ivory:#f3ebe1;--mint:#b8d8d6;--line:rgba(183,231,224,.21);--mono:'DM Mono',monospace;--display:'Space Grotesk',sans-serif;--body:'DM Sans',sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#f7f4ee;background:#102e32;font-family:var(--body);overflow:hidden;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--copper);outline-offset:5px}button{touch-action:manipulation}.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}.skip-link{position:fixed;z-index:500;left:16px;top:-80px;padding:11px 20px;background:#fff;color:#111}.skip-link:focus{top:16px}.brand-dot{color:var(--copper)}
.load-shield{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#102a2d;gap:14px;transition:opacity .65s,visibility .65s}.load-shield>span{font:600 46px var(--display);letter-spacing:-.085em}.load-shield i{height:1px;width:126px;background:linear-gradient(90deg,var(--copper),transparent)}.load-shield small{font:9px var(--mono);letter-spacing:.25em;color:#93b9b7}.load-shield.ready{opacity:0;visibility:hidden;pointer-events:none}
.site-header{position:fixed;z-index:210;top:0;left:0;right:0;height:81px;padding:0 clamp(20px,3.1vw,64px);background:linear-gradient(180deg,rgba(7,28,30,.57),rgba(7,28,30,0));color:#fff}.wordmark{font-family:var(--display);font-size:34px;line-height:1;font-weight:600;letter-spacing:-.083em;white-space:nowrap}.header-meta,.system-live,.hud-button,.rail-caption,.footer-hud,.scene-menu{font-family:var(--mono);font-size:10px;letter-spacing:.1em}.header-meta{color:rgba(255,255,255,.65);margin-left:auto;margin-right:auto}.header-meta em{font-style:normal;color:var(--copper);margin:0 9px}.system-live{gap:9px;align-items:center;white-space:nowrap;color:#d9e9e6}.system-live i{width:6px;height:6px;border-radius:100%;background:#b4d7d0;box-shadow:0 0 15px #a9dcd5}.hud-button{border:1px solid rgba(255,255,255,.36);color:#fff;background:rgba(9,31,33,.35);padding:12px 15px;display:flex;align-items:center;gap:13px;backdrop-filter:blur(15px);transition:background .2s,border-color .2s;white-space:nowrap}.hud-button:hover,.hud-button:focus-visible{background:rgba(243,123,80,.23);border-color:var(--copper)}.mode-glyph{font-size:15px;line-height:0}.menu-glyph{font-size:16px;line-height:0}
.scene-menu{position:fixed;top:88px;right:clamp(18px,3vw,60px);width:min(388px,calc(100vw - 36px));background:rgba(7,27,30,.97);border:1px solid #6ba5a377;padding:20px 25px 24px;color:#f7f8f4;z-index:240;box-shadow:0 40px 120px #03161699;backdrop-filter:blur(24px);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s,transform .25s,visibility .25s}body.menu-open .scene-menu{opacity:1;visibility:visible;transform:none}.menu-heading{color:#93bdba;border-bottom:1px solid #ffffff27;padding-bottom:20px;margin-bottom:7px}.menu-link{display:grid;grid-template-columns:42px 1fr 16px;align-items:center;gap:8px;border-bottom:1px solid #ffffff19;padding:15px 0;color:#e8eeee;transition:color .2s,padding .2s}.menu-link span{font-family:var(--display);font-size:19px;letter-spacing:-.035em}.menu-link small{color:#8bb3b1;font:10px var(--mono)}.menu-link b{font-size:17px;font-weight:400}.menu-link:hover,.menu-link.is-current{color:var(--copper);padding-left:7px}.menu-footer{padding-top:23px;line-height:1.8;color:#8cb6b2;font-size:9px}
.scene-rail{position:fixed;z-index:200;top:50%;right:clamp(21px,3vw,52px);transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:23px;color:#fff;filter:drop-shadow(0 0 9px #071617)}.rail-caption{writing-mode:vertical-rl;transform:rotate(180deg);color:#c8dbd9}.rail-links{display:flex;flex-direction:column;align-items:center;gap:13px}.rail-dot{position:relative;border:0;border-radius:100%;width:12px;height:12px;background:#fff5;transition:background .2s,transform .3s;padding:0}.rail-dot.active,.rail-dot:hover{background:var(--copper);transform:scale(1.15)}.rail-dot span{position:absolute;right:18px;top:-3px;opacity:0;font:10px var(--mono);pointer-events:none}.rail-dot.active span{opacity:1}
.footer-hud{position:fixed;bottom:0;left:0;right:0;z-index:200;display:flex;justify-content:space-between;align-items:center;min-height:76px;padding:0 clamp(19px,3.1vw,64px);background:linear-gradient(0deg,rgba(10,29,30,.65),rgba(10,29,30,0));color:#f8f6ef}.footer-counter,.footer-controls{display:flex;align-items:center;gap:13px}.footer-counter strong{font-family:var(--display);font-size:27px;letter-spacing:-.05em;font-weight:500}.footer-counter>span:nth-child(2){color:var(--copper)}.counter-rule{width:42px;height:1px;background:#ffffff6b;margin:0 5px}.footer-counter>span:last-child{color:#ebede6}.footer-controls{gap:18px;color:#d5e3e1}.footer-button{width:33px;height:33px;border:1px solid #ffffff55;color:#fff;background:#091c1c6b;font-size:18px;transition:background .2s}.footer-button:hover{background:#f37b50;color:#092428}
/* Immersive world: impress.js transforms only the HTML planes. The art is fixed. */
#carousel-deck{position:fixed;top:50%;left:50%;width:0;height:0;transform-style:preserve-3d;z-index:10;overflow:visible}#carousel-deck .impress-canvas{transform-style:preserve-3d}.world-plane{position:absolute;left:0;top:0;margin-left:-800px;margin-top:-450px;width:1600px;height:900px;transform:translateZ(-25px);overflow:hidden;pointer-events:none;backface-visibility:hidden}.world-plane img{width:100%;height:100%;object-fit:cover;display:block}.world-plane:after{content:'';inset:0;position:absolute;background:linear-gradient(90deg,rgba(5,28,30,.05),transparent 28%,transparent 74%,rgba(7,26,28,.09))}.world-scan{position:absolute;inset:0;background:linear-gradient(transparent 97%,#dffbf90c 100%);background-size:100% 6px;mix-blend-mode:screen;opacity:.45}.world-crosshair{position:absolute;color:#e8f8f2a0;font:25px var(--mono)}.crosshair-a{left:21%;top:10%}.crosshair-b{right:16%;top:43%}
.step{position:absolute;left:0;top:0;width:900px;height:620px;margin-left:-450px;margin-top:-310px;transform-style:preserve-3d;backface-visibility:visible}.step-arrival{width:1600px;height:900px;margin-left:-800px;margin-top:-450px;background:transparent;pointer-events:none}.step-arrival button{pointer-events:auto}.arrival-note{position:absolute;left:64px;top:92px;color:var(--ink);font:9px/1.6 var(--mono);letter-spacing:.1em}.arrival-note p{font-size:11px;letter-spacing:.15em;font-weight:500;margin-top:9px}.arrival-invitation{position:absolute;bottom:47px;left:50%;transform:translateX(-50%);color:#0b3335;border:1px solid #143b3d40;background:#eaf4f084;display:flex;align-items:center;gap:30px;padding:12px 18px;backdrop-filter:blur(7px);font:11px var(--mono);letter-spacing:.18em;transition:background .2s}.arrival-invitation b{font-size:19px;font-weight:400}.arrival-invitation:hover{background:#fff}.entry-point{position:absolute;background:#05272cae;border:1px solid #9ce5df88;color:#f6fbf6;display:flex;gap:8px;align-items:center;padding:6px 9px;font:8px var(--mono);letter-spacing:.1em;box-shadow:0 0 24px #71d7d62e;white-space:nowrap}.entry-point:hover{background:#ff784a;color:#092627}.point-bullet{width:5px;height:5px;border-radius:50%;background:var(--copper)}.point-a{top:14%;left:26%}.point-b{top:14%;left:67%}.point-c{top:56%;left:23%}.point-d{top:55%;left:75%}
/* Window surfaces: a transparent miniature when seen from the overview, a full editorial panel when entered. */
.screen-step{cursor:default;transform-style:preserve-3d}.screen-shell{height:100%;width:100%;overflow:hidden;position:relative;background:rgba(8,30,32,.92);border:1px solid rgba(171,226,219,.50);box-shadow:0 26px 72px #08212533,inset 0 1px #ffffff20;transform:translateZ(0);backface-visibility:hidden}.screen-shell:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,#bcfaf90b 1px,transparent 1px),linear-gradient(to bottom,#bcfaf90b 1px,transparent 1px);background-size:48px 48px;z-index:0}.screen-shell:after{content:'';position:absolute;left:0;top:0;width:113px;height:2px;background:var(--copper);z-index:15}.screen-preview{position:absolute;inset:0;z-index:2;padding:41px 45px;display:flex;flex-direction:column;justify-content:space-between;opacity:1;transition:opacity .35s}.screen-preview>span{font:14px var(--mono);color:#d4f5f0;letter-spacing:.12em}.screen-preview strong{font:600 78px/.95 var(--display);letter-spacing:-.07em;color:#f0f3ed}.screen-preview i{font-style:normal;color:var(--copper);font-size:43px;align-self:end}.screen-content{position:relative;z-index:3;display:flex;flex-direction:column;height:100%;opacity:0;pointer-events:none;transition:opacity .45s .20s}.step.active .screen-content,.step.present .screen-content,.step.impress-on-screen .screen-content{opacity:1;pointer-events:auto}.step.active .screen-preview,.step.present .screen-preview{opacity:0;pointer-events:none}.screen-step:not(.active):not(.present) .screen-shell{background:rgba(6,27,30,.53)}.screen-step:not(.active):not(.present) .screen-preview{opacity:.78}body[data-current='arrival'] .screen-step .screen-content{opacity:0;pointer-events:none}body[data-current='arrival'] .screen-step .screen-preview{opacity:.82}.screen-step:not(.active):not(.present) a,.screen-step:not(.active):not(.present) button:not(.screen-preview button){pointer-events:none}
.panel-top,.panel-bottom{height:54px;flex-shrink:0;padding:0 46px;align-items:center;display:flex;gap:15px;font:10px var(--mono);letter-spacing:.12em;color:#b1ccc6;border-bottom:1px solid #bde3db26;z-index:2}.panel-bottom{border-top:1px solid #bde3db26;border-bottom:0;justify-content:space-between}.panel-bottom a{display:flex;gap:20px;color:#f7ad8a;align-items:center;white-space:nowrap}.panel-bottom a:hover{color:#fff}.panel-bottom a b{font-size:16px;font-weight:400}.panel-body{flex:1;min-height:0;overflow:auto;padding:42px 48px 37px;scrollbar-width:thin;scrollbar-color:#a8d2cb60 transparent}.kicker{font:10px var(--mono);color:#ff976d;letter-spacing:.14em}.panel-body h2{font:600 71px/.98 var(--display);letter-spacing:-.068em;margin:18px 0 22px;color:#fbfaf5}.panel-body h2 em{color:#9ed1c9;font-style:normal}.panel-body .lead{font-size:20px;line-height:1.45;font-weight:300;letter-spacing:-.012em;color:#d5e4dc;max-width:480px}.lead-narrow{font-size:16px!important;max-width:560px!important}.panel-bottom span{font-size:9px}
.tone-ink .screen-shell{background:#0c2629ed}.tone-frost .screen-shell{background:#173f44f2}.tone-deep .screen-shell{background:#061a1df4}.tone-copper .screen-shell{background:#3b302df1}.tone-copper .screen-shell:after{background:#8bd3cf}.tone-glass .screen-shell{background:#133c3cf3}.tone-light .screen-shell{background:#e9e2d8f5;border-color:#668b87}.tone-light .screen-shell:before{background-image:linear-gradient(to right,#0b36370d 1px,transparent 1px),linear-gradient(to bottom,#0b36370d 1px,transparent 1px)}.tone-light .screen-preview>span,.tone-light .screen-preview strong,.tone-light .screen-preview i{color:#0f3234}.tone-light .panel-top,.tone-light .panel-bottom{border-color:#24414432;color:#426362}.tone-light .panel-body h2{color:#153c3d}.tone-light .panel-body h2 em{color:#bb613f}.tone-light .panel-body .lead{color:#3f5f5d}.tone-light .panel-bottom a{color:#b45733}.tone-light .kicker{color:#b35f40}
.approach-layout{display:grid;grid-template-columns:1.08fr .8fr;gap:35px;align-items:center}.approach-layout .manifesto-list{align-self:center;border-top:1px solid #c1dedc36}.manifesto-list>div{display:flex;gap:23px;padding:18px 3px;border-bottom:1px solid #c1dedc36;align-items:center;font-size:20px;letter-spacing:-.025em}.manifesto-list b{font:10px var(--mono);color:var(--copper)}
.capability-layout{display:grid;grid-template-columns:1fr 1.02fr;gap:30px;margin-top:32px}.capability-tabs{border-top:1px solid #ffffff3b}.fragment-tab{width:100%;background:transparent;color:#edf9f4;border:0;border-bottom:1px solid #ffffff32;text-align:left;padding:18px 0;font:11px var(--mono);letter-spacing:.08em;display:flex;justify-content:space-between;gap:10px;transition:color .2s,padding .2s}.fragment-tab:hover,.fragment-tab.active{color:#ffa17a;padding-left:7px}.fragment-stage{border:1px solid #c1dedc3d;padding:23px 24px;min-height:195px;background:#071f234d;position:relative;overflow:hidden}.fragment-stage small,.lab-stage small{font:10px var(--mono);letter-spacing:.12em;color:#ffa27e}.fragment-stage h3,.lab-stage h3{font:600 25px/1.13 var(--display);letter-spacing:-.045em;margin:19px 0 10px}.fragment-stage p,.lab-stage p{font-size:13px;line-height:1.65;color:#cae3dd}.stage-foot{display:block;font:9px var(--mono);color:#8fc5be;margin-top:21px;letter-spacing:.08em}
.filter-row{display:flex;gap:20px;margin:27px 0 6px;border-bottom:1px solid #fff4}.filter-button{font:10px var(--mono);color:#a9ccc5;background:none;border:0;padding:0 0 12px;position:relative}.filter-button.active,.filter-button:hover{color:#fff}.filter-button.active:after{content:'';height:2px;bottom:-1px;left:0;right:0;background:#ff8760;position:absolute}.work-item{display:grid;grid-template-columns:130px 1fr 28px;align-items:center;gap:20px;border-bottom:1px solid #ffffff28;padding:13px 0}.work-item>span{font:10px var(--mono);color:#9fc8c2}.work-item h3{margin:0 0 3px;font:500 22px var(--display);letter-spacing:-.055em}.work-item p{font-size:12px;color:#aecbc3}.work-item b{color:var(--copper);font-weight:400;font-size:19px}
.systems-layout{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:25px;height:100%}.systems-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px}.systems-tags span{padding:9px 11px;border:1px solid #f4c3ab64;font:9px var(--mono);color:#f3c8b1}.blueprint{position:relative;width:100%;aspect-ratio:1;border:1px solid #ffd6c04d;background:repeating-linear-gradient(0deg,transparent 0 24px,#ffd7be13 25px),repeating-linear-gradient(90deg,transparent 0 24px,#ffd7be13 25px),radial-gradient(circle,#ef8b5c18,transparent 70%);display:grid;place-items:center}.blueprint-orbit{position:absolute;width:67%;height:67%;border:1px solid #f7b090ae;transform:rotate(24deg)}.blueprint-orbit.b{transform:rotate(72deg);width:47%;height:78%}.blueprint-core{color:#f9b18e;font:600 60px var(--display);letter-spacing:-.09em}.bp-annotation{position:absolute;font:8px var(--mono);letter-spacing:.12em;color:#e7bba9}.bp-annotation.a{top:13px;left:15px}.bp-annotation.b{bottom:16px;right:10px}
.lab-layout{display:grid;grid-template-columns:1fr 1fr;gap:23px;margin-top:25px}.lab-list{border-top:1px solid #ffffff3b}.lab-button{background:none;border:0;border-bottom:1px solid #ffffff33;color:#f7fcf8;display:grid;grid-template-columns:1fr 20px;row-gap:6px;text-align:left;padding:15px 0;width:100%}.lab-button span{grid-column:1/-1;font:10px var(--mono);color:#91bdb9}.lab-button b{font-size:15px;font-weight:500}.lab-button i{color:var(--copper);font-style:normal}.lab-button.active b,.lab-button:hover b{color:#ffc3a6}.lab-stage{padding:20px;background:#0b2529a9;border:1px solid #ffffff32}.lab-art{height:115px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle,#bbf0e61c,transparent 75%),repeating-linear-gradient(0deg,#ffffff0e 0 1px,transparent 1px 15px)}.lab-art span{position:absolute;width:80px;height:80px;border:1px solid #ff9673;transform:rotate(45deg)}.lab-art span:nth-child(2){width:55px;height:55px;border-color:#9adcd2;transform:rotate(18deg)}.lab-art span:nth-child(3){width:30px;height:30px;border-color:#fff;transform:rotate(65deg)}.lab-art-kinetics span{border-radius:50%;transform:translateX(-20px)!important;animation:orbit 5s ease-in-out infinite alternate}.lab-art-kinetics span:nth-child(2){transform:translateX(20px)!important;animation-delay:-1.5s}.lab-art-signals span{border-radius:2px;transform:skewY(18deg)!important}.lab-stage h3{font-size:20px;margin:12px 0 7px}.lab-stage p{font-size:12px}
.contact-layout{display:grid;grid-template-columns:1fr .76fr;gap:40px;align-items:center}.contact-smallprint{font:9px var(--mono);color:#567875;letter-spacing:.07em;display:block;margin-top:32px}.contact-action{border:1px solid #22494b7d;padding:30px;background:#f4ede2}.action-icon{display:block;font-size:55px;color:#bc6746;line-height:1}.contact-action h3{font:600 36px/1 var(--display);letter-spacing:-.055em;color:#153c3d;margin:30px 0 13px}.contact-action p{font-size:14px;line-height:1.5;color:#53706e}.contact-link{display:flex;align-items:center;justify-content:space-between;background:#133b3d;color:#fff;padding:15px;margin:22px 0 15px;font:10px var(--mono)}.contact-link b{font-size:18px;font-weight:400;color:#fba078}.contact-action>small{display:block;color:#6b7772;font:9px/1.7 var(--mono)}
@keyframes orbit{to{translate:20px 0;rotate:100deg}}
/* Fallback camera: only used when CDN is blocked/unavailable. */
body.fallback-camera #carousel-deck{transition:transform 1250ms cubic-bezier(.6,.04,.19,.99);transform-origin:0 0}body.fallback-camera .step{transition:opacity .6s}body.fallback-camera .screen-step:not(.active){opacity:.9}body.fallback-camera #arrival:not(.active){opacity:1}
/* Reading mode is the same real content in document flow; no cloned or fake pages. */
body.reading-mode{height:auto;overflow:auto;background:#e8e7e1;color:var(--ink)}body.reading-mode .site-header{background:rgba(8,34,36,.97)}body.reading-mode #carousel-deck{position:relative!important;left:auto!important;top:auto!important;width:100%!important;height:auto!important;transform:none!important;perspective:none!important;display:flex!important;flex-direction:column;gap:25px;padding:0 clamp(14px,4vw,65px) 120px;margin:0 auto}body.reading-mode #carousel-deck .impress-canvas{display:contents!important;transform:none!important}body.reading-mode .world-plane{display:none!important}body.reading-mode .step{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;height:auto!important;min-height:0!important;margin:0!important;opacity:1!important;pointer-events:auto!important;backface-visibility:visible!important}body.reading-mode .step-arrival{height:min(88svh,790px)!important;min-height:460px!important;background-image:url('../images/beelabs-world.webp');background-position:center;background-size:cover;margin:0 calc(-1*clamp(14px,4vw,65px))!important;width:calc(100% + 2*clamp(14px,4vw,65px))!important}body.reading-mode .arrival-note{display:none}body.reading-mode .entry-point{display:none}body.reading-mode .arrival-invitation{bottom:35px}body.reading-mode .screen-step .screen-shell{height:auto;min-height:580px;transform:none!important}body.reading-mode .screen-step .screen-content{opacity:1!important;pointer-events:auto!important}body.reading-mode .screen-step .screen-preview{display:none}body.reading-mode .screen-step:not(.active):not(.present) .screen-shell{background:var(--ink)}body.reading-mode .tone-light.screen-step .screen-shell{background:#e9e2d8}body.reading-mode .screen-rail{display:none}body.reading-mode .scene-rail{display:none}body.reading-mode .footer-hud{background:#103438;color:#fff}body.reading-mode .footer-controls{color:#fff}body.reading-mode .scene-rail{display:none}body.reading-mode .screen-step{scroll-margin-top:100px}
/* When frameworks have no network access, document remains functional in reading mode. */
body.impress-not-supported:not(.fallback-camera):not(.reading-mode) #carousel-deck{visibility:visible}
@media(max-height:660px) and (min-width:1000px){.site-header{height:65px}.footer-hud{min-height:55px}}
@media(max-width:900px){.site-header{height:70px}.header-meta,.system-live{display:none}.scene-rail{display:none}.wordmark{font-size:31px}.footer-hud{min-height:61px}.footer-controls>span{display:none}.screen-step .screen-content{opacity:1}.screen-step .screen-preview{display:none}body:not(.reading-mode){overflow:hidden}} 
@media(max-width:680px){.site-header{padding:0 17px}.wordmark{font-size:29px}.hud-button{padding:11px}.hud-button span{font-size:9px}.menu-glyph{font-size:15px!important}.footer-counter{gap:7px}.footer-counter>span:last-child{display:none}.counter-rule{width:25px}.footer-hud{padding:0 17px}.screen-step .screen-shell{min-height:0!important}.panel-top,.panel-bottom{padding:0 21px;font-size:8px;min-height:49px;height:auto}.panel-bottom{gap:5px;padding:13px 21px}.panel-bottom span{max-width:49%;font-size:8px}.panel-bottom a{font-size:9px;gap:5px}.panel-body{padding:33px 23px 37px;overflow:visible}.panel-body h2{font-size:clamp(44px,12.5vw,65px)}.panel-body .lead{font-size:17px}.approach-layout,.capability-layout,.systems-layout,.lab-layout,.contact-layout{grid-template-columns:1fr;gap:25px}.manifesto-list{margin-top:15px}.manifesto-list>div{font-size:17px;padding:14px 0}.fragment-stage{min-height:180px}.work-item{grid-template-columns:73px 1fr 20px;gap:8px}.work-item>span{font-size:8px}.work-item h3{font-size:19px}.work-item p{font-size:11px}.blueprint{max-width:320px}.lab-stage{padding:17px}.contact-action{padding:24px}.contact-action h3{font-size:31px}body.reading-mode #carousel-deck{gap:15px;padding-bottom:95px}body.reading-mode .screen-step .screen-shell{min-height:0}body.reading-mode .step-arrival{height:67svh!important;min-height:390px!important;background-position:56% center}body.reading-mode .arrival-invitation{bottom:76px;font-size:9px;gap:12px;padding:10px}body.reading-mode .scene-menu{top:75px}}
@media(max-width:430px){.hud-button{gap:5px}.menu-toggle{padding:11px 8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* Keep photographic construction layer physically behind every navigable plane. */
.world-plane{transform:translateZ(-520px) scale(1.33)}
body:not([data-current='arrival']) .arrival-note,body:not([data-current='arrival']) .entry-point,body:not([data-current='arrival']) .arrival-invitation{opacity:0;pointer-events:none!important}

.screen-shell{color:#f7f4ee}.tone-light .screen-shell{color:var(--ink)}
.mobile-hero-statement{display:none}
body[data-current='arrival'] .screen-step .screen-preview{opacity:.56}
@media(max-width:900px){
 body.reading-mode .mobile-hero-statement{display:block;position:absolute;left:0;right:0;top:23%;z-index:3;text-align:left;padding:20px 24px 26px;color:white;background:linear-gradient(90deg,#0c292be8,#0c292bbb);backdrop-filter:blur(4px)}
 .mobile-hero-statement span{font:9px var(--mono);letter-spacing:.15em;color:#ffbc9e}
 .mobile-hero-statement h2{font:700 clamp(34px,10vw,62px)/.95 var(--display);letter-spacing:-.07em;margin:20px 0 17px}
 .mobile-hero-statement h2 em{font-style:normal;color:#b2e0d9}
 .mobile-hero-statement p{font:13px/1.5 var(--body);max-width:290px;color:#dae9e5}
 body.reading-mode .step-arrival{background-position:58% center}
}

body.reading-mode .tone-deep.screen-step .screen-shell{background:#061a1df4}
body.reading-mode .tone-frost.screen-step .screen-shell{background:#173f44f2}
body.reading-mode .tone-copper.screen-step .screen-shell{background:#3b302df1}
body.reading-mode .tone-glass.screen-step .screen-shell{background:#133c3cf3}
/* ────────────────────────────────────────────────────────────────────
   BEELABS / THE CODE CORRIDOR — CINEMATIC SECOND ART DIRECTION
   Tailwind provides utilities. The custom spatial UI is intentionally
   authored as CSS to preserve the tilted panels and typographic system.
   ──────────────────────────────────────────────────────────────────── */
:root{
  --ink:#e5e8ff;--deep:#070b1c;--copper:#ff4b87;--ivory:#f7f6ff;
  --mint:#97a7ff;--line:rgba(177,150,255,.23);
  --mono:'DM Mono',monospace;--display:'Space Grotesk',sans-serif;
  --body:'DM Sans',sans-serif;--violet:#a663ff;--electric:#6878ff;
  --coral:#ff5662;--midnight:#070a17;
}
body{background:#060a18;color:#f9f5ff}
.brand-dot{color:#fc4c95}
button:focus-visible,a:focus-visible{outline-color:#ff72c0}
.load-shield{background:#060a18}
.load-shield i{background:linear-gradient(90deg,#ff436d,#a961fc,#649afa,transparent)}
.load-shield small{color:#ab9ac8}
.site-header{height:80px;background:linear-gradient(180deg,rgba(5,8,23,.84),rgba(5,8,23,.03));padding-inline:clamp(19px,3.2vw,62px)}
.wordmark{font-size:35px;letter-spacing:-.09em;font-weight:700;text-shadow:0 1px 22px #05020d80}
.header-meta{color:#b9a9d2}
.header-meta em{color:#ff688d}
.system-live{color:#d6c8ed}
.system-live i{background:#ff477d;box-shadow:0 0 17px #fa408c}
.hud-button{background:#090d24a8;border:1px solid #bca5e952;color:#f6f2ff;border-radius:3px;backdrop-filter:blur(18px)}
.hud-button:hover,.hud-button:focus-visible{background:#392044ba;border-color:#e66df7}
.scene-menu{background:#070b21f5;border-color:#ae87fa70;box-shadow:0 34px 85px #05030be6}
.menu-heading{color:#a99fcd}
.menu-link{color:#e9e5ff}
.menu-link small{color:#a896cc}
.menu-link:hover,.menu-link.is-current{color:#ff7eb5}
.menu-footer{color:#b6a0d7}
.scene-rail{color:#ebe3ff}
.rail-caption{color:#d7c2ff}
.rail-dot{background:#a99dd465}
.rail-dot.active,.rail-dot:hover{background:#ff4381;box-shadow:0 0 18px #ff4381a8}
.footer-hud{background:linear-gradient(0deg,#050918e8,#05091803);color:#f3edff}
.footer-counter>span:nth-child(2){color:#ff5a8a}
.footer-button{background:#0c1332a0;border-color:#bc99f55c}
.footer-button:hover{background:#ff4e86;color:#06091c}

/* The photographic environment now remains in a separate fixed layer. */
.world-plane{transform:translateZ(-510px) scale(1.32)}
.world-plane img{object-fit:cover;object-position:center center}
.world-plane::after{background:linear-gradient(90deg,#04071135,transparent 35%,transparent 85%,#04071124)}
.world-scan{opacity:.19;mix-blend-mode:screen}
.world-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#080b2212,transparent 29%,transparent 79%,#07091e4c),radial-gradient(ellipse at 8% 55%,#03081c55,transparent 57%)}
.world-crosshair{display:none}
.arrival-note{color:#d9d0ff;left:58px;top:96px;text-shadow:0 0 12px #070b1c}
.arrival-note p{color:#c1b0ea;font-size:9px}
.arrival-headline{position:absolute;z-index:10;bottom:105px;left:clamp(52px,7vw,130px);color:#fff;max-width:685px;text-shadow:0 4px 24px #000;pointer-events:none}
.arrival-headline>span{display:block;font:11px var(--mono);letter-spacing:.24em;color:#ff8cab;margin-bottom:24px}
.arrival-headline h2{font:700 clamp(51px,5.0vw,83px)/.89 var(--display);letter-spacing:-.077em;margin:0;text-wrap:balance}
.arrival-headline h2 em{font-style:normal;color:#fa9ad9;font-weight:400}
.arrival-headline .period{color:#ff4e86}
.arrival-headline p{font:15px/1.6 var(--body);color:#e3d6ff;margin-top:22px;max-width:480px}
.arrival-invitation{left:72%;bottom:105px;background:#080a1fbd;border:1px solid #ee85c465;color:#f5efff;letter-spacing:.14em;box-shadow:0 10px 30px #06041588}
.arrival-invitation:hover{background:#251844}
.entry-point{background:#090d25c7;color:#f5eaff;border:1px solid #b18df27a;box-shadow:0 0 21px #e657df36;border-radius:2px;font-size:8px;backdrop-filter:blur(7px);transition:background .22s,box-shadow .22s}
.entry-point:hover{background:#e9397a;color:#fff;box-shadow:0 0 26px #f2499e99}
.point-bullet{background:#ff58a1;box-shadow:0 0 7px #ff6cbf}
.point-a{top:19%;left:22%} /* left code editor */
.point-b{top:16%;left:46%} /* central code display */
.point-c{top:34%;left:60%} /* magenta system display */
.point-d{top:42%;left:84%} /* far right floating glass */
.point-e{top:28%;left:75%}
.point-f{top:64%;left:67%}
body[data-current='arrival'] .screen-step .screen-preview{opacity:.60}

/* Live interfaces: dark translucent wireframe planes resolve to crisp
   readable pages when the 3D camera enters each one. */
.screen-shell{background:#0b1027f2;border:1px solid #bd85f36b;color:#fcf8ff;box-shadow:0 22px 88px #08031299,0 0 33px #a248f027,inset 0 1px #ffffff30;backdrop-filter:blur(2px)}
.screen-shell::before{background-image:linear-gradient(90deg,#ec7cfd0b 1px,transparent 1px),linear-gradient(0deg,#ec7cfd0b 1px,transparent 1px);background-size:35px 35px}
.screen-shell::after{background:linear-gradient(90deg,#fa487b,#b45af6,#679eff);height:3px;width:42%}
.screen-step:not(.active):not(.present) .screen-shell{background:#060d27a1;border-color:#9d8cf079;box-shadow:0 0 15px #ae4af925,inset 0 0 23px #080515b7}
.screen-preview{padding:38px 44px;background:radial-gradient(circle at 76% 71%,#c6318b19,transparent 45%);text-shadow:0 0 30px #1302258c}
.screen-preview>span{color:#d8bbff;font-size:13px}
.screen-preview strong{color:#fff;font-size:72px}
.screen-preview i{color:#ff689f}
.panel-top,.panel-bottom{border-color:#bc9df12e;color:#bbabd7}
.panel-bottom a{color:#ff8eb2}
.panel-bottom a:hover{color:#fff}
.panel-body{scrollbar-color:#9c56a75e transparent}
.kicker{color:#ff87bd}
.panel-body h2{color:#fff}
.panel-body h2 em{color:#bd9aff}
.panel-body .lead{color:#dbd4ef}
.tone-ink .screen-shell{background:#090f25f7}
.tone-frost .screen-shell{background:#121433f7}
.tone-deep .screen-shell{background:#080a20f8}
.tone-copper .screen-shell{background:#201332f8}
.tone-copper .screen-shell::after{background:#ff547e}
.tone-glass .screen-shell{background:#11102ff8}
.tone-light .screen-shell{background:#171126f8;border-color:#ac81d67b;color:#fff}
.tone-light .screen-shell::before{background-image:linear-gradient(to right,#bc91e511 1px,transparent 1px),linear-gradient(to bottom,#bc91e511 1px,transparent 1px)}
.tone-light .screen-preview>span,.tone-light .screen-preview strong{color:#fff}
.tone-light .screen-preview i{color:#ff76b3}
.tone-light .panel-top,.tone-light .panel-bottom{border-color:#bc9df12e;color:#b3a4d7}
.tone-light .panel-body h2{color:#fff}
.tone-light .panel-body h2 em{color:#ff7ca9}
.tone-light .panel-body .lead{color:#d4ccea}
.tone-light .panel-bottom a{color:#ff8eb2}
.tone-light .kicker{color:#ff87bd}
.manifesto-list>div{border-color:#a38bdb47}
.manifesto-list b{color:#ff7fae}
.capability-tabs{border-color:#d9bdfe45}
.fragment-tab{color:#e5dff4;border-color:#d9bdfe32}
.fragment-tab.active,.fragment-tab:hover{color:#fa96c9}
.fragment-stage,.lab-stage{background:#120a2ab8;border-color:#b18bed61}
.fragment-stage small,.lab-stage small{color:#fc89b6}
.fragment-stage p,.lab-stage p{color:#d5c8e7}
.stage-foot{color:#ac9cdd}
.filter-button{color:#b9a6dc}
.filter-button.active:after{background:#fe659c}
.work-item>span{color:#bba1e0}
.work-item p{color:#c9b7dc}
.work-item b{color:#ff81b9}
.systems-tags span{color:#ffc0d8;border-color:#ff79c359}
.blueprint{border-color:#f57ec86b;background:repeating-linear-gradient(0deg,transparent 0 24px,#ab7ceb15 25px),repeating-linear-gradient(90deg,transparent 0 24px,#ab7ceb15 25px),radial-gradient(circle,#bf50e629,transparent 70%)}
.blueprint-orbit{border-color:#fa74ddae}.blueprint-core{color:#fca5e1}.bp-annotation{color:#ffbbe4}
.lab-list,.lab-button{border-color:#d3b7fe42}
.lab-button{color:#f8ecff}.lab-button span{color:#a99ad9}.lab-button i{color:#f66baa}
.lab-button.active b,.lab-button:hover b{color:#ffb1dd}
.lab-art{background:radial-gradient(circle,#9c69f331,transparent 75%),repeating-linear-gradient(0deg,#ffffff08 0 1px,transparent 1px 15px)}
.lab-art span{border-color:#fd64d7}.lab-art span:nth-child(2){border-color:#7b9bff}
.contact-smallprint{color:#a699ce}
.contact-action{background:#1e1737;border-color:#ce9cfc7c}
.action-icon{color:#ff79b9}
.contact-action h3{color:#fff}
.contact-action p{color:#c4b2e1}
.contact-link{background:#eb4f8b;color:#fff}
.contact-link b{color:#fff}
.contact-action>small{color:#b5a6ca}

/* No 3D animation in reading mode: the same actual content is stacked
   rather than cloned, so HTMX content stays accessible. */
body.reading-mode{background:#090d1c;color:#f6edff}
body.reading-mode .site-header{background:#080b1ff2}
body.reading-mode .step-arrival{background-image:url('../images/beelabs-world.webp');background-position:center;background-size:cover}
body.reading-mode .step-arrival::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#05091c35,#05091c33 40%,#090d1c9b 100%);pointer-events:none}
body.reading-mode .screen-step:not(.active):not(.present) .screen-shell{background:#100e29f5}
body.reading-mode .tone-deep.screen-step .screen-shell{background:#080a20f8}
body.reading-mode .tone-frost.screen-step .screen-shell{background:#121433f7}
body.reading-mode .tone-copper.screen-step .screen-shell{background:#201332f8}
body.reading-mode .tone-glass.screen-step .screen-shell{background:#11102ff8}
body.reading-mode .tone-light.screen-step .screen-shell{background:#171126f8}
body.reading-mode .footer-hud{background:#080c20f7}
body.reading-mode .mobile-hero-statement{background:linear-gradient(90deg,#080d28e8,#0a102eb0);color:#fff}
body.reading-mode .mobile-hero-statement span{color:#f7a8cf}
body.reading-mode .mobile-hero-statement h2 em{color:#ff94ca}
body.reading-mode .mobile-hero-statement p{color:#e0cdeb}
body.reading-mode .arrival-invitation{color:#fff;background:#15102eaf}
body.reading-mode .arrival-headline{display:none}
body.reading-mode .entry-point{display:none}
body.reading-mode .step-arrival{height:min(88svh,790px)!important}

@media(max-width:900px){
 .site-header{height:70px}
 .arrival-headline{display:none}
 body.reading-mode .mobile-hero-statement{top:auto;bottom:24%;padding:24px 26px}
 body.reading-mode .step-arrival{background-position:56% center}
}
@media(max-width:680px){
 body.reading-mode .mobile-hero-statement{bottom:21%;padding:21px 23px}
 body.reading-mode .mobile-hero-statement h2{font-size:clamp(37px,11vw,58px)}
 body.reading-mode .step-arrival{height:70svh!important;min-height:430px!important;background-position:54% center}
 body.reading-mode .arrival-invitation{bottom:30px;left:50%;width:max-content;max-width:92vw;white-space:nowrap}
 .wordmark{font-size:30px}
 .site-header .hud-button{background:#0b0f2ecb}
 .contact-action{padding:22px}
}

/* Fade the surrounding glass planes once a destination is entered.
   They remain part of the spatial scene, just no longer compete with
   the readable interface at the camera's focal point. */
body:not([data-current='arrival']):not(.reading-mode) .screen-step:not(.active):not(.present){
 opacity:.10!important;filter:blur(5px);pointer-events:none!important;
}
body:not(.reading-mode) .screen-step{transition:opacity .5s ease,filter .5s ease}
body:not([data-current='arrival']):not(.reading-mode) .screen-step.active{filter:none;opacity:1!important}
body.reading-mode .screen-step{filter:none!important;opacity:1!important}
@media (max-width:900px){
 body.reading-mode .step-arrival{background-position:100% center!important}
}


/* v2.1 — FIXED ART DIRECTION AND CAMERA REFINEMENT
   Artwork is never a child of the impress.js transform hierarchy. This
   makes the metallic bee and neon corridor visible on every destination. */
.background-stage{
  position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  isolation:isolate;background:#080b1d;
}
.background-stage .world-plane{
  position:absolute;inset:-1.5%;left:-1.5%;top:-1.5%;width:103%;height:103%;
  margin:0;transform:none;backface-visibility:visible;
  transition:transform 1650ms cubic-bezier(.22,1,.36,1),filter 900ms ease;
  will-change:transform;
}
.background-stage .world-plane img{
  width:100%;height:100%;object-fit:cover;object-position:center center;
}
.background-stage .world-plane::after{background:linear-gradient(180deg,#090c1830 0%,transparent 35%,#03081738 100%)}
.background-stage .world-scan{opacity:.1}
.background-stage .world-vignette{background:radial-gradient(ellipse at center,transparent 40%,#06081b59 100%)}
.background-stage .background-tint{
  position:absolute;inset:0;
  background:linear-gradient(90deg,#080a1d91 0%,#090b1e57 43%,#0507163e 100%),rgba(4,5,19,.10);
  opacity:0;transition:opacity 1050ms ease;pointer-events:none;
}
body:not([data-current='arrival']) .background-stage .background-tint{opacity:.66}
/* A tiny atmospheric glide adds depth, without ever removing the image. */
body[data-current='approach'] .background-stage .world-plane{transform:scale(1.025) translate3d(0.7%,.25%,0)}
body[data-current='capabilities'] .background-stage .world-plane{transform:scale(1.037) translate3d(-.5%,.1%,0)}
body[data-current='work'] .background-stage .world-plane{transform:scale(1.035) translate3d(-1%,.4%,0)}
body[data-current='systems'] .background-stage .world-plane{transform:scale(1.04) translate3d(-1.4%,.8%,0)}
body[data-current='lab'] .background-stage .world-plane{transform:scale(1.04) translate3d(-1.7%,.9%,0)}
body[data-current='contact'] .background-stage .world-plane{transform:scale(1.025) translate3d(-.7%,.3%,0)}
body[data-flight-phase='overview'] .background-stage .background-tint{opacity:.24}
/* The scene is transparent: there is never another flat background replacing it. */
#carousel-deck{z-index:10;background:transparent!important}
body.fallback-camera #carousel-deck{
  transition:transform 1180ms cubic-bezier(.22,1,.36,1);
}
/* Other screens yield completely during close-up, but are visible in the overview. */
body:not([data-current='arrival']):not(.reading-mode) .screen-step:not(.active){
  opacity:0.03!important;filter:blur(7px);pointer-events:none!important;
}
body[data-flight-phase='overview']:not(.reading-mode) .screen-step:not(.active){
  opacity:.50!important;filter:none;
}
body:not(.reading-mode) .screen-step.active{opacity:1!important;filter:none!important}
body:not(.reading-mode) .screen-step{
  transition:opacity 450ms ease,filter 450ms ease;
}
/* Reading mode still sits above the EXACT SAME anchored image. */
body.reading-mode{background:transparent!important}
body.reading-mode .background-stage{display:block!important}
body.reading-mode .background-stage .background-tint{opacity:.70}
body.reading-mode .step-arrival{
  background:transparent!important;
  background-image:none!important;
}
body.reading-mode .step-arrival::before{background:linear-gradient(180deg,#03081924,#08091a31 48%,#090b1cb2 100%)}
body.reading-mode .screen-step .screen-shell{
  box-shadow:0 28px 100px #050718a6;
}
@media(max-width:900px){
 .background-stage .world-plane img{object-position:68% center}
 body.reading-mode .background-stage .background-tint{opacity:.74}
}
@media(prefers-reduced-motion:reduce){
 .background-stage .world-plane,.background-stage .background-tint,
 body.fallback-camera #carousel-deck{transition:none!important}
}
/* Earlier reading-mode rules hid `.world-plane` when it lived inside
   impress.js. Override that legacy selector for the new FIXED backdrop. */
body.reading-mode .background-stage .world-plane{display:block!important}

/* v3 — WIDE-SCREEN HERO + DELIBERATE CAMERA TRAVEL
   The primary brand message lives at viewport level; it no longer inherits
   impress.js scaling. At 2560x1440 and above it remains readable. */
.viewport-hero{
  position:fixed;z-index:85;left:clamp(32px,5.7vw,158px);
  bottom:clamp(143px,16.5vh,270px);width:min(780px,58vw);
  pointer-events:none;transform:translate3d(0,0,0);
  opacity:1;visibility:visible;
  transition:opacity 650ms cubic-bezier(.22,1,.36,1),transform 700ms cubic-bezier(.22,1,.36,1),visibility 650ms;
  text-shadow:0 5px 42px rgba(2,3,16,.9);
}
.viewport-hero::before{
  content:"";position:absolute;inset:-38px -30px -32px -55px;z-index:-1;
  background:linear-gradient(90deg,rgba(4,7,22,.8),rgba(5,9,24,.54) 66%,transparent);
  filter:blur(20px);pointer-events:none;
}
.hero-eyebrow{font:10px/1.5 var(--mono);letter-spacing:.21em;color:#ffc3df;display:flex;align-items:center;gap:13px}
.hero-line{width:33px;height:1px;background:#ff689f;box-shadow:0 0 18px #ff6cae}
.viewport-hero h1{font:700 clamp(54px,5.2vw,104px)/.91 var(--display);letter-spacing:-.079em;margin:23px 0 22px;color:#fff;white-space:normal}
.viewport-hero h1 em{font-style:normal;color:#f1a7f2;font-weight:500}
.viewport-hero p{font:clamp(16px,1.17vw,21px)/1.5 var(--body);color:#f0e6f9;max-width:590px;margin:0}
.hero-specialties{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px;margin-top:24px;font:9px/1.5 var(--mono);letter-spacing:.06em;color:#e0bbdf}
.hero-specialties i{font-style:normal;color:#ff609f}
body:not([data-current='arrival']) .viewport-hero{
  opacity:0;visibility:hidden;transform:translate3d(-18px,20px,0);
}
/* Leave just enough viewport space for the fixed masthead and footer. */
body:not(.reading-mode) .step-arrival{pointer-events:none}
body:not(.reading-mode) .step-arrival button{pointer-events:auto}
body:not(.reading-mode) .mobile-hero-statement{display:none!important}
body:not(.reading-mode) .arrival-invitation{bottom:clamp(115px,13.5vh,220px);left:75%}
/* Active panels keep their content stable as the virtual camera travels. */
body[data-flight-phase] .footer-button{transition:background .2s,border-color .2s}
body:not(.reading-mode) .screen-step.active .screen-content{transition:opacity 650ms ease 100ms}
body[data-flight-phase='pullback']:not(.reading-mode) .screen-step.active .screen-content{opacity:.42}
body[data-flight-phase='pullback']:not(.reading-mode) .screen-step:not(.active){opacity:.32!important;filter:blur(1px)}
body[data-flight-phase='destination']:not(.reading-mode) .screen-step.active .screen-content{opacity:1}
body.fallback-camera #carousel-deck{transition-property:transform;transition-duration:1550ms;transition-timing-function:cubic-bezier(.19,.72,.22,1);will-change:transform}
/* Bigger, clearer next/previous affordance, with a small motion cue. */
.footer-button{width:42px;height:42px;border-color:#dea5e88c;border-radius:3px;display:grid;place-items:center;font-size:21px;box-shadow:0 1px 21px #120a2c73}
.footer-button:not(:disabled):hover{transform:translateY(-2px)}
.footer-button:disabled{opacity:.30;cursor:not-allowed}
/* Technical stack is grouped, and remains scrollable within the active panel. */
.systems-layout{grid-template-columns:minmax(0,1.32fr) minmax(0,.55fr);gap:26px;align-items:start}
.systems-layout .lead{font-size:16px;max-width:630px}
.systems-layout .panel-body h2{font-size:62px}
.systems-tags{display:block;margin-top:22px}
.tech-group{margin-bottom:16px}
.tech-group>strong{display:block;font:10px/1.3 var(--mono);letter-spacing:.12em;color:#fc98ce;margin:0 0 8px}
.tech-group>div{display:flex;flex-wrap:wrap;gap:6px}
.systems-tags .tech-group span{font-size:10px;padding:7px 9px;white-space:nowrap}
.work-item{grid-template-columns:156px 1fr 24px;gap:11px}
.work-item>span{font-size:8px;line-height:1.45}
.work-item h3{font-size:20px}
.work-item p{line-height:1.5}
/* A taller content pane should scroll internally rather than clip details. */
.panel-body{overscroll-behavior:contain}
@media(min-width:1900px){
  .viewport-hero{bottom:clamp(200px,19vh,335px)}
  .viewport-hero h1{font-size:clamp(82px,4.55vw,112px)}
  .viewport-hero p{font-size:21px}
  .site-header{padding-inline:clamp(52px,3.1vw,94px)}
}
@media (min-width:901px) and (max-height:770px){
  .viewport-hero{bottom:105px}
  .viewport-hero h1{font-size:clamp(46px,4.5vw,70px);margin:14px 0}
  .hero-specialties{margin-top:12px}
}
@media(max-width:1100px) and (min-width:901px){
  .viewport-hero{left:36px;width:min(600px,65vw);bottom:135px}
  .viewport-hero h1{font-size:clamp(50px,6vw,75px)}
  .hero-specialties{max-width:550px}
}
/* Mobile and reading modes use the real document-flow hero, not the fixed overlay. */
@media(max-width:900px){.viewport-hero{display:none!important}}
body.reading-mode .viewport-hero{display:none!important}
body.reading-mode .mobile-hero-statement{display:block!important;position:absolute;top:auto;bottom:clamp(105px,20%,220px);left:clamp(16px,4vw,65px);right:clamp(16px,4vw,65px);max-width:660px;z-index:4;padding:26px 30px;background:linear-gradient(90deg,rgba(6,9,27,.92),rgba(9,13,34,.76));color:white;backdrop-filter:blur(5px)}
body.reading-mode .mobile-hero-statement span{font:10px/1.6 var(--mono);letter-spacing:.12em;color:#ffadd2}
body.reading-mode .mobile-hero-statement h2{font:700 clamp(41px,6vw,79px)/.93 var(--display);letter-spacing:-.075em;margin:18px 0;color:white}
body.reading-mode .mobile-hero-statement h2 em{font-style:normal;color:#f1b1f4}
body.reading-mode .mobile-hero-statement p{font:clamp(14px,2.2vw,18px)/1.5 var(--body);color:#e9dcef;max-width:450px;margin:0}
body.reading-mode .mobile-hero-statement small{display:block;margin-top:17px;color:#ffc2df;font:9px/1.8 var(--mono);letter-spacing:.07em}
body.reading-mode .step-arrival{min-height:550px!important;height:min(91svh,920px)!important}
body.reading-mode .step-arrival::before{z-index:2}
@media(max-width:680px){
 body.reading-mode .step-arrival{height:75svh!important;min-height:505px!important}
 body.reading-mode .mobile-hero-statement{bottom:118px;left:15px;right:15px;padding:18px 20px}
 body.reading-mode .mobile-hero-statement h2{font-size:clamp(35px,10vw,55px)}
 body.reading-mode .mobile-hero-statement p{font-size:14px}
 .systems-layout{grid-template-columns:1fr}
 .systems-layout .panel-body h2{font-size:44px}
 .work-item{grid-template-columns:98px minmax(0,1fr) 12px}
 .work-item h3{font-size:18px}
 .filter-row{gap:12px;flex-wrap:wrap}
 .filter-button{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .viewport-hero,.viewport-hero::before,body.fallback-camera #carousel-deck{transition:none!important}
}

/* Wait until the return flight finishes before reintroducing the hero. */
body[data-current='arrival'][data-flight-phase='destination'] .viewport-hero{opacity:0;visibility:hidden}
body.reading-mode .mobile-hero-statement h1{font:700 clamp(41px,6vw,79px)/.93 var(--display);letter-spacing:-.075em;margin:18px 0;color:#fff}
body.reading-mode .mobile-hero-statement h1 em{font-style:normal;color:#f1b1f4}
@media(max-width:680px){body.reading-mode .mobile-hero-statement h1{font-size:clamp(35px,10vw,55px)}}

/* v7 — The intended content remains visible regardless of impress.js
   mutating its own .active / .present classes while the camera travels. */
body:not(.reading-mode) .screen-step.selected-screen {
  opacity:1!important; filter:none!important;visibility:visible!important;
}
body:not(.reading-mode):not([data-current='arrival'])
.screen-step.selected-screen .screen-content {
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
}
body:not(.reading-mode) .screen-step.selected-screen .screen-preview {
  opacity:0!important;pointer-events:none!important;
}
