/* TimeSample opening: measure, capture, unfold. Typography, sampling marks and fine geometry only. */
.site-intro{position:fixed;inset:0;z-index:90;color:#edf3f6;isolation:isolate;overflow:hidden;touch-action:none;--intro-ease:cubic-bezier(.16,1,.3,1)}
.intro-shutter{position:absolute;inset:0;background:#142738;z-index:-2;will-change:transform}
.intro-shutter:first-child{clip-path:polygon(0 0,100% 0,100% 50.15%,0 50.15%)}
.intro-shutter:nth-child(2){clip-path:polygon(0 49.85%,100% 49.85%,100% 100%,0 100%)}
.intro-grid{position:absolute;inset:0;background:linear-gradient(#a4b8c00d 1px,transparent 1px),linear-gradient(90deg,#a4b8c00d 1px,transparent 1px);background-size:12.5vw 12.5vw;mask-image:radial-gradient(ellipse,#000,transparent 75%);opacity:.8}
.intro-edge{position:absolute;inset:30px 38px;display:flex;justify-content:space-between;align-items:start;font:10px var(--mono);letter-spacing:.15em;z-index:5;pointer-events:none}
.intro-edge>span{padding-top:14px}.intro-edge button{font:11px var(--mono);letter-spacing:.03em;color:#edf3f6;pointer-events:auto;border-bottom:1px solid #96a8b766;padding:0 0 0 10px;min-width:104px}
.intro-content{position:absolute;inset:0;margin:auto;width:min(1320px,100%);height:100%;perspective:1100px;pointer-events:none}
.intro-ring{position:absolute;width:min(48vw,560px);aspect-ratio:1;left:50%;top:50%;border:1px solid #b6c7d02b;border-radius:50%;translate:-50% -50%}
.intro-ring:before{content:'';position:absolute;inset:20px;border:1px dashed #b6c7d029;border-radius:50%}
.intro-ring:after{content:'';position:absolute;inset:-18px;border:1px solid #b6c7d04d;border-radius:50%;clip-path:polygon(50% 0,100% 0,100% 50%,50% 50%)}
.intro-cross{position:absolute;inset:50% 0 auto;height:1px;background:linear-gradient(90deg,transparent,#adc5d247,transparent)}
.intro-cross:after{content:'';position:absolute;left:50%;top:-50vh;width:1px;height:100vh;background:linear-gradient(transparent,#adc5d247,transparent)}
.intro-type{position:absolute;inset:0 7%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;transform:translateY(-12px);z-index:2}
.intro-brand{position:relative;width:100%;text-align:center;font-size:clamp(72px,12.4vw,164px);font-family:var(--body);letter-spacing:-.075em;line-height:.98;white-space:nowrap;z-index:2}
.intro-brand>span{display:inline-block;overflow:hidden;padding-bottom:.12em;vertical-align:top}
.intro-brand b{display:block;font-weight:650}.intro-brand>span+span b{font-weight:300}
.intro-caption{position:relative;text-align:center;line-height:1.8;font:10px var(--mono);letter-spacing:.23em;color:#b6cbd6;z-index:2}
.intro-corners{position:absolute;inset:30% 7%;z-index:3}
.intro-corners i{position:absolute;width:25px;height:25px;border:1px solid #dce8ecb3}
.intro-corners i:nth-child(1){top:0;left:0;border-right:0;border-bottom:0}.intro-corners i:nth-child(2){top:0;right:0;border-left:0;border-bottom:0}.intro-corners i:nth-child(3){bottom:0;left:0;border-right:0;border-top:0}.intro-corners i:nth-child(4){bottom:0;right:0;border-left:0;border-top:0}
.intro-axis{position:absolute;left:7%;right:7%;bottom:10%;font:9px var(--mono);letter-spacing:.14em;color:#b2c6d1}
.intro-axis-labels{display:flex;justify-content:space-between;margin-bottom:17px}
.intro-axis-track{height:14px;border-bottom:1px solid #9bb2c44a;background:repeating-linear-gradient(90deg,#afc7d15c 0 1px,transparent 1px 12px);position:relative}
.intro-axis-track i{position:absolute;top:-6px;width:1px;height:27px;background:#e2eff4;box-shadow:0 0 15px 2px #b3e2f454}
.intro-axis-track:after{content:'';position:absolute;inset:auto 0 -1px;height:1px;background:#d3e8ee;transform-origin:left}
.intro-sample{position:absolute;right:7%;top:24%;font:10px var(--mono);letter-spacing:.12em;writing-mode:vertical-rl;color:#bacbd5}
[data-intro=boot] .intro-brand,[data-intro=boot] .intro-caption{visibility:hidden}
html[data-intro] body{overflow:hidden}
html[data-intro] .site-shell{pointer-events:none}
html[data-intro=playing] .intro-shutter:first-child,html[data-intro=revealing] .intro-shutter:first-child{animation:intro-curtain-top 950ms 2050ms cubic-bezier(.76,0,.24,1) both}
html[data-intro=playing] .intro-shutter:nth-child(2),html[data-intro=revealing] .intro-shutter:nth-child(2){animation:intro-curtain-bottom 950ms 2050ms cubic-bezier(.76,0,.24,1) both}
html[data-intro]:not([data-intro=boot]) .intro-ring{animation:intro-ring 2200ms var(--intro-ease) both}
html[data-intro]:not([data-intro=boot]) .intro-grid,html[data-intro]:not([data-intro=boot]) .intro-cross{animation:intro-grid 2300ms ease both}
html[data-intro]:not([data-intro=boot]) .intro-brand b{animation:intro-word 2200ms var(--intro-ease) both}
html[data-intro]:not([data-intro=boot]) .intro-brand>span+span b{animation-delay:110ms}
html[data-intro]:not([data-intro=boot]) .intro-corners{animation:intro-capture 2350ms var(--intro-ease) both}
html[data-intro]:not([data-intro=boot]) .intro-axis-track i{animation:intro-sampling 1900ms cubic-bezier(.55,.04,.27,1) both}
html[data-intro]:not([data-intro=boot]) .intro-axis-track:after{animation:intro-track 1900ms cubic-bezier(.55,.04,.27,1) both}
html[data-intro]:not([data-intro=boot]) .intro-caption,html[data-intro]:not([data-intro=boot]) .intro-sample,html[data-intro]:not([data-intro=boot]) .intro-axis,html[data-intro]:not([data-intro=boot]) .intro-edge>span{animation:intro-label 2200ms ease both}
.intro-reveal .header{animation:intro-page 750ms 50ms var(--intro-ease) both}
.intro-reveal .stage{animation:intro-stage 1000ms var(--intro-ease) both}
.intro-reveal .hero-copy{animation:intro-page 850ms 120ms var(--intro-ease) both}
.intro-reveal .hero-topline,.intro-reveal .hero-bottom,.intro-reveal .hero-detail,.intro-reveal .time-axis{animation:intro-page 700ms 240ms var(--intro-ease) both}
@keyframes intro-curtain-top{to{transform:translateY(-51%)}}
@keyframes intro-curtain-bottom{to{transform:translateY(51%)}}
@keyframes intro-word{0%{transform:translateY(120%) skewY(7deg);opacity:0}27%,74%{transform:translateY(0) skewY(0);opacity:1}100%{transform:translateY(-115%);opacity:0}}
@keyframes intro-ring{0%{opacity:0;transform:scale(.12) rotate(-110deg)}45%,75%{opacity:1;transform:scale(1) rotate(0)}100%{opacity:0;transform:scale(1.25) rotate(40deg)}}
@keyframes intro-grid{0%{opacity:0;transform:scale(1.18)}30%,76%{opacity:.8;transform:scale(1)}100%{opacity:0;transform:scale(1.08)}}
@keyframes intro-capture{0%{opacity:0;transform:scale(.08) rotate(-12deg)}18%{opacity:1;transform:scale(.08) rotate(0)}52%,78%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}
@keyframes intro-label{0%,8%{opacity:0;transform:translateY(9px)}25%,80%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-8px)}}
@keyframes intro-sampling{0%{left:0}45%{left:42%}67%{left:42%}100%{left:100%}}
@keyframes intro-track{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes intro-page{from{opacity:0;transform:translateY(32px);clip-path:inset(0 0 100%)}to{opacity:1;transform:translateY(0);clip-path:inset(0)}}
@keyframes intro-stage{from{opacity:0;transform:perspective(1000px) translateY(50px) rotateY(-13deg) scale(.88);clip-path:inset(8% 15%)}to{opacity:1;transform:perspective(1000px) translateY(0) rotateY(0) scale(1);clip-path:inset(0)}}
@media(max-width:700px){.intro-edge{inset:18px 22px}.intro-edge>span{font-size:8px;letter-spacing:.09em}.intro-edge button{font-size:10px;min-width:94px}.intro-type{gap:12px}.intro-brand{font-size:13.7vw}.intro-caption{font-size:8px;letter-spacing:.13em;max-width:280px}.intro-ring{width:90vw}.intro-corners{inset:34% 7%}.intro-corners i{width:18px;height:18px}.intro-axis{bottom:12%;font-size:8px}.intro-sample{top:24%;right:6%;font-size:8px}}
@media(max-height:500px){.intro-edge{inset:12px 22px}.intro-axis{bottom:8%}.intro-type{gap:4px}.intro-brand{font-size:min(12.4vw,28vh)}.intro-corners{inset:28% 7%}.intro-ring{width:70vh}}
@media(prefers-reduced-motion:reduce){.site-intro{display:none!important}html[data-intro] body{overflow:visible}html[data-intro] .site-shell{pointer-events:auto}.intro-reveal *{animation:none!important}}
