/* One continuous field; the glass can enter from its actual lower boundary. */
#hero,#hero-viewport{overflow:visible;background:#000}
#hero-viewport{isolation:isolate;--hero-sfe-width:clamp(248px,29vw,548px);--hero-sfe-center:37.5%;--hero-logo-copy-gap:clamp(64px,7.2vh,104px)}
#hero #lens-artwork{inset:0 0 auto;height:var(--hero-canvas-height,100%)}
#hero .hero-logo-position{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;will-change:opacity}
#hero .hero-sfe-position{position:absolute;top:var(--hero-sfe-center);left:50%;width:var(--hero-sfe-width);color:#fff;transform:translate(-50%,-50%);opacity:0;will-change:opacity}
#hero .hero-sfe-position svg{display:block;width:100%;height:auto;overflow:visible}
#hero .hero-intro-copy{position:absolute;top:calc(var(--hero-sfe-center) + var(--hero-sfe-width)*.127739521 + var(--hero-logo-copy-gap));left:6%;right:6%;margin:0;text-align:center;font:400 var(--text-7)/1.18 'nexor',sans-serif;letter-spacing:-.018em;color:#fff;transform:scale(.9);transform-origin:top center}
#hero .hero-copy-mask{display:block;overflow:hidden;padding:.04em 0}
#hero .hero-copy-line{display:block;white-space:nowrap;opacity:0;transform:translate3d(0,110%,0);will-change:transform,opacity}
#about{position:relative;z-index:1;background:transparent}
#about #engineering{background:transparent}
#about .about-overview>.about-company{color:#fff}

/* The accessible word remains in flow, preserving SFE kerning and the layout. */
#about [data-about-split] .split-ink{position:relative;display:inline-block;vertical-align:top}
#about [data-about-split] .split-base{display:block}
#about [data-about-split].split-ready .split-base{opacity:0}
#about .split-layer{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .7s ease}
#about .split-mask{position:absolute;top:-.09em;height:1.21em;overflow:hidden;line-height:inherit}
#about .split-char{position:absolute;top:.09em;display:block;white-space:pre;line-height:inherit;letter-spacing:0;animation-duration:1.08s;animation-delay:var(--split-delay,0s);animation-timing-function:cubic-bezier(.45,0,.18,1);animation-fill-mode:both}
#about .split-in{transform:translate3d(calc(-110% - 6px),0,0)}
#about .split-out{transform:translate3d(0,0,0)}
#about [data-about-split].is-about-visible .split-layer{opacity:1}
#about [data-about-split].is-about-visible .split-in{animation-name:sfe-split-in}
#about [data-about-split].is-about-visible .split-out{animation-name:sfe-split-out}
@keyframes sfe-split-in{from{transform:translate3d(calc(-110% - 6px),0,0)}to{transform:translate3d(0,0,0)}}
@keyframes sfe-split-out{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(110% + 6px),0,0)}}

#about.about-motion-ready [data-about-reveal]{opacity:0;transform:translate3d(0,16px,0);transition:opacity 1.05s cubic-bezier(.22,.61,.36,1),transform 1.2s cubic-bezier(.22,.61,.36,1);transition-delay:var(--about-delay,0s)}
#about.about-motion-ready [data-about-reveal].is-about-visible{opacity:1;transform:none}

/* Draw only the rules already present in the approved composition. */
#about.about-motion-ready .stats-grid{position:relative;border-bottom-color:transparent}
#about.about-motion-ready .stats-grid::before{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:var(--line);transform:scaleX(0);transform-origin:left;transition:transform 1.25s cubic-bezier(.22,.61,.36,1)}
#about.about-motion-ready .stats-grid.is-about-visible::before{transform:scaleX(1)}
#about .stats-grid>.stat{position:relative;border-right:1px solid #ffffff38}
#about .stats-grid>.stat:last-child{border-right:0}
#about.about-motion-ready .architecture-image{border-left-color:transparent}
#about.about-motion-ready .architecture-image::before{transform:scaleX(0);transform-origin:left;transition:transform 1.25s cubic-bezier(.22,.61,.36,1)}
#about.about-motion-ready .architecture-image::after{content:"";position:absolute;top:0;left:-1px;width:1px;height:100%;background:var(--line-light);transform:scaleY(0);transform-origin:top;transition:transform 1.25s cubic-bezier(.22,.61,.36,1)}
#about.about-motion-ready .architecture-image.is-about-visible::before{transform:scaleX(1)}
#about.about-motion-ready .architecture-image.is-about-visible::after{transform:scaleY(1)}

#hero.is-fallback .hero-logo-position{display:none}
#hero.is-fallback .hero-sfe-position{opacity:1!important}
#hero.is-fallback .sfe-split-in{transform:none!important}
#hero.is-fallback .sfe-split-out{display:none}
#hero.is-fallback .hero-copy-line{opacity:1!important;transform:none!important}
#hero.is-fallback #hero-viewport{background:transparent}
#hero.is-fallback #hero-viewport::before{content:"";position:absolute;inset:0 0 auto;height:var(--hero-canvas-height,150%);background:radial-gradient(ellipse at 45% 23%,#123969 0%,#07162a 36%,#000 78%);pointer-events:none;z-index:0}
@media(min-height:1067px){#hero-viewport{--hero-sfe-center:calc(60% - 240px)}}
@media(max-width:820px){#hero-viewport{--hero-sfe-width:clamp(176px,60vw,378px);--hero-logo-copy-gap:clamp(52px,8vh,76px)}#hero .hero-intro-copy{font-size:var(--text-6);line-height:1.3}}
@media(max-width:760px){
 #about .stats-grid>.stat:nth-child(2n){border-right:0}
 #about.about-motion-ready .stat:nth-child(-n+2){border-bottom-color:transparent;background-image:linear-gradient(var(--line),var(--line));background-position:left bottom;background-repeat:no-repeat;background-size:0 1px;transition:background-size 1.15s cubic-bezier(.22,.61,.36,1)}
 #about.about-motion-ready .stat:nth-child(-n+2).is-about-visible{background-size:100% 1px}
}
@media(prefers-reduced-motion:reduce){
 #about.about-motion-ready [data-about-reveal]{opacity:1;transform:none;transition:none}
 #about [data-about-split] .split-layer{display:none}
 #about [data-about-split].split-ready .split-base{opacity:1}
 #about.about-motion-ready .stats-grid::before,#about.about-motion-ready .architecture-image::before,#about.about-motion-ready .architecture-image::after{transform:none;transition:none}
 #about.about-motion-ready .stat:nth-child(-n+2){background-size:100% 1px;transition:none}
}
@media print{
 #hero,#hero-viewport{overflow:hidden}
 #about{background:#fff;color:#000}
 #about .about-overview>.about-company{color:#000}
 #about [data-about-split] .split-layer{display:none}
 #about [data-about-split].split-ready .split-base{opacity:1}
 #about.about-motion-ready [data-about-reveal]{opacity:1;transform:none}
}
