/* Opening wordmark: the site's Manrope, with React Bits' Shiny Text gradient.
   React Bits © 2026 David Haz. License: /licenses/react-bits.txt */
.welcome-atmosphere{position:absolute;inset:0;z-index:0;pointer-events:none;background:#080a12;overflow:hidden}
.side-rays-container{position:absolute;inset:0;pointer-events:none}
.side-rays-container::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 108% -25%,#6895f972 0,transparent 53%),radial-gradient(ellipse at 100% 0,#a665e03d,transparent 68%);transition:opacity .6s}
.side-rays-container.is-ready::before{opacity:0}
.side-rays-canvas{display:block;position:absolute;inset:0;width:100%;height:100%}
.intro-stage>.film-panel{z-index:2}
.welcome-panel{display:grid;place-items:center;text-align:center}
.welcome-wordmark{position:relative;display:inline-flex;align-items:center;gap:0;font-family:Manrope,Arial,sans-serif;font-size:clamp(96px,min(27vw,32svh),320px);line-height:1;font-weight:600;letter-spacing:-.075em;color:#e9e5f4;isolation:isolate}
.welcome-wordmark::before{content:'';position:absolute;inset:-.32em -.25em;z-index:-1;background:radial-gradient(ellipse at center,#929af514,transparent 67%);pointer-events:none}
.welcome-u{position:relative;display:block;flex:0 0 .64em;width:.64em;height:1em}
.welcome-art{display:block;position:absolute;width:.84em;height:.84em;left:-.10em;top:.21em}
.welcome-art img{width:100%;height:100%;object-fit:contain}
.welcome-text{display:inline-block;position:relative;padding-right:.075em;background:linear-gradient(120deg,#cac6e3 0%,#cac6e3 35%,#ffffff 50%,#cac6e3 65%,#cac6e3 100%);background-size:200% auto;background-position:150% center;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:brand-shine 5.6s linear infinite;text-shadow:none}
/* Glow uses only glyph shadows. Safari must not filter the clipped gradient. */
.welcome-text::before{content:attr(data-text);position:absolute;inset:0;background:none;background-clip:border-box;-webkit-background-clip:border-box;color:transparent;-webkit-text-fill-color:transparent;text-shadow:0 0 .055em #b6b1ff66,0 0 .13em #9e9ff54d,0 0 .27em #929af529;pointer-events:none}
@keyframes brand-shine{0%{background-position:150% center}72%,100%{background-position:-50% center}}
.welcome-paused .welcome-text{animation-play-state:paused}
.immersive .intro-stage>.welcome-panel{position:absolute;grid-area:auto;inset:0;display:grid;place-items:center;padding:0;min-height:0}
.immersive .welcome-art>img{visibility:hidden}
.intro-footer{position:relative;z-index:4}
.intro-footer :is(.scroll-cue,.motion-toggle,.intro-counter){transition:color .35s}
.immersive .opening-dark .intro-footer{border-color:#ffffff17}
.immersive .opening-dark .intro-footer :is(.scroll-cue,.motion-toggle,.intro-counter){color:#b8b4cc}
.immersive .opening-dark .intro-counter i{background:#b8b4cc50}
/* The navigation belongs to the first, dark screen. Mobile menu keeps its light surface. */
.site-header{border-bottom-color:#ffffff18}
.site-header>.wordmark{color:#e9e5f4}
.site-header .logo-star{color:#c2acdf}
.site-header .desktop-nav a{color:#c6bfd7}
.site-header .header-cta{background:#ffffff08;border-color:#c9bbdf4d;color:#e1d8ed}
.site-header .header-cta:hover{background:#ffffff15}
.site-header .menu-toggle>span{background:#ded4ea}
/* When scroll animations are unavailable, all content stays in normal flow. */
body:not(.immersive) .welcome-panel{height:100svh;min-height:360px;margin:-40px calc(-1 * var(--gutter)) 0;width:calc(100% + 2 * var(--gutter))}
body:not(.immersive) .welcome-atmosphere{height:max(360px,100svh)}
body:not(.immersive) .welcome-wordmark{z-index:2}
@media(max-width:900px){body:not(.immersive) .welcome-panel{margin-top:-24px}}
@media(prefers-reduced-motion:reduce){.welcome-text{animation:none;background-position:50% center}.side-rays-container::before{transition:none}}

.welcome-linear-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;font-size:11px;color:#b8b4cc;min-height:44px;white-space:nowrap}.welcome-linear-cue .icon{width:15px;height:15px}.immersive .welcome-linear-cue{display:none}

/* Padded, pre-softened silhouette: no rectangular live blur surface. */
.sculpture-glow,.sculpture-display::after,.welcome-art::before{position:absolute;inset:-25%;pointer-events:none;background:url('/assets/u-glow.webp') center/contain no-repeat;transform-origin:center}
.sculpture-glow{will-change:transform,opacity}
.sculpture-display::after,.welcome-art::before{content:''}
.sculpture-display::after{opacity:var(--u-night,1)}
.intro-film .sculpture-display::before{opacity:calc((1 - var(--u-night,1)) * .25)}
.experience .sculpture-display::before{opacity:0}
.sculpture-display>img,.welcome-art>img{position:relative;z-index:1}
.sculpture-display.is-live::after,.sculpture-display:not(.is-live)>.sculpture-glow,.immersive .welcome-art::before{visibility:hidden}
@media(max-width:900px) and (max-height:740px){.immersive .services-stage{--copy-travel:20px}}
