/* Earlier visual baseline marker: opacity:calc(.78 + var(--page-focus)*.22) */
.landing{isolation:isolate}
.landing-active{scroll-snap-type:y mandatory}
.landing-active .landing-page{scroll-snap-stop:always}
.landing-page{--page-focus:0;--page-shift:0;--page-kick:0;--page-stretch:0;border-bottom:0!important;z-index:1;overflow:clip}
.landing-page .parallax-showcase-copy{will-change:transform,opacity}
.landing-page .parallax-showcase-copy{transform:translate(-50%,-50%) translate3d(0,calc(var(--page-shift)*-6vh + var(--page-kick)*.7vh),0);opacity:calc(.74 + var(--page-focus)*.26);will-change:transform}
.landing-page-parallax #parallaxHeroRoot{transform:translate3d(0,calc(var(--page-shift)*4vh),0);will-change:transform}
/* The beams section contains a real interactive control. Moving its parent
   during the landing-page parallax makes the pointer leave the button while
   it is being hovered, which cancels the Uiverse :hover animation. Keep the
   component's interaction surface stable and let only the surrounding page
   sections participate in the parallax. */
.landing-page-beams .beams-content{transform:none;will-change:auto}
.landing-page-aurora .aurora-background{transform:translate3d(0,calc(var(--page-shift)*3.4vh),0) scale(1.04);will-change:transform}
.landing-page-aurora .landing-finale{transform:translate3d(0,calc(var(--page-shift)*-4vh + var(--page-kick)*.65vh),0);will-change:transform}
.landing-page-turning .aurora-layer:after,.contact-card-opening .aurora-layer:after,.contact-card-open .aurora-layer:after{animation-play-state:paused}
.landing-ambient{position:fixed;z-index:30;inset:-15vh -10vw;pointer-events:none;opacity:.23;background:radial-gradient(circle at calc(18% + var(--landing-progress,0)*18%) calc(14% + var(--landing-progress,0)*60%),rgba(80,112,255,.22),transparent 30%),radial-gradient(circle at calc(84% - var(--landing-progress,0)*14%) calc(76% - var(--landing-progress,0)*48%),rgba(193,114,255,.18),transparent 27%);mix-blend-mode:multiply;filter:blur(24px);transform:translateZ(0);transition:opacity .35s ease}
.landing-seam{display:none}
.landing-seam:before{content:"";position:absolute;left:0;right:0;top:0;height:28svh;transform:translateY(-50%) scaleX(calc(1 + var(--seam-stretch,0)*.025)) scaleY(calc(1 + var(--seam-stretch,0)*.18));transform-origin:center;opacity:calc(.82 + var(--seam-stretch,0)*.1);filter:blur(.15px);transition:transform .22s cubic-bezier(.18,1.28,.34,1),opacity .16s linear;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 28%,#000 72%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 28%,#000 72%,transparent);will-change:transform}
.landing-seam-1:before{background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(242,246,255,.92) 46%,rgba(250,250,250,.12)),radial-gradient(ellipse at 22% 48%,rgba(99,102,241,.13),transparent 42%)}
.landing-seam-2:before{background:linear-gradient(to bottom,rgba(250,250,250,0),rgba(250,247,255,.94) 48%,rgba(255,255,255,.08)),radial-gradient(ellipse at 78% 54%,rgba(168,85,247,.12),transparent 40%)}
.landing-seam-3:before{background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(244,246,255,.9) 48%,rgba(250,250,250,.08)),radial-gradient(ellipse at 38% 46%,rgba(96,165,250,.14),transparent 44%)}
.workspace-open .landing-ambient{opacity:0}
@media(prefers-reduced-motion:reduce){.landing-page>*{opacity:1!important;transform:none!important;filter:none!important}.landing-page .parallax-showcase-copy{transform:translate(-50%,-50%)!important;opacity:1!important}.landing-ambient{display:none}.landing-seam:before{filter:none}}
