/* A short cinematic entrance. Hidden by default; JS must opt in before paint. */
.site-intro{display:none}
html[data-intro="pending"],html[data-intro="revealing"]{overflow:hidden}
html[data-intro="pending"] .site-intro,html[data-intro="revealing"] .site-intro{display:grid}
.site-intro{position:fixed;inset:0;z-index:1100;place-items:center;isolation:isolate;overflow:hidden;color:#eeeae1;background:#111214;clip-path:inset(0);--intro-x:0px;--intro-y:0px}
.intro-atmosphere{position:absolute;inset:-30%;z-index:-1;background:radial-gradient(ellipse at 50% 56%,#74657844 0%,#31263855 22%,#11121400 54%);transform:translate(var(--intro-x),var(--intro-y));transition:transform 1.4s cubic-bezier(.16,1,.3,1);animation:intro-atmosphere 2.8s both}
.intro-horizon{position:absolute;left:8%;right:8%;top:50%;height:1px;background:linear-gradient(90deg,transparent,#eeeae177,transparent);box-shadow:0 0 34px 4px #b5abc726;transform:scaleX(0);animation:intro-horizon 2.3s cubic-bezier(.16,1,.3,1) both}
.intro-horizon:after{content:'';position:absolute;left:0;top:-2px;width:18%;height:5px;background:linear-gradient(90deg,transparent,#fff9,transparent);filter:blur(2px);animation:intro-sweep 2s .15s cubic-bezier(.3,0,.2,1) both}
.intro-columns{position:absolute;inset:0;display:grid;grid-template-columns:repeat(7,1fr);opacity:.3;pointer-events:none}
.intro-columns i{border-right:1px solid #eeeae10c;transform:translateY(100%);background:linear-gradient(0deg,transparent 25%,#b8acbe0a 55%,transparent 85%);animation:intro-column 2.7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i)*.07s)}
.intro-heading{position:relative;width:min(76vw,1080px);margin-top:-14px;text-align:center}
.intro-overline{font-size:10px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;margin-bottom:9px;animation:intro-copy .9s .2s both}
.intro-wordmark-wrap{position:relative;overflow:hidden;clip-path:inset(0);animation:intro-wordmark-mask 1.45s .1s cubic-bezier(.16,1,.3,1) both}
.intro-wordmark{width:100%;height:auto;animation:intro-wordmark-rise 1.55s .05s cubic-bezier(.16,1,.3,1) both;filter:drop-shadow(0 0 38px #eeeae115)}
.intro-signature{font-size:clamp(13px,1.3vw,18px);letter-spacing:.02em;margin-top:0;animation:intro-copy 1s .65s both}
.intro-corner{position:absolute;left:var(--gutter);top:40px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:12px;animation:intro-copy .8s .1s both}
.intro-corner:before{content:'';height:5px;width:5px;border-radius:50%;background:#eeeae1;box-shadow:0 0 12px #eeeae160}
.intro-edition{position:absolute;right:var(--gutter);top:40px;font-size:9px;letter-spacing:.1em;color:#aaa9a4;animation:intro-copy .8s .1s both}
.intro-bottom{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:20px;animation:intro-copy .8s .3s both}
.intro-loading{display:flex;align-items:center;gap:16px;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#bcb5c0}
.intro-track{width:75px;height:1px;background:#eeeae126;position:relative;overflow:hidden}.intro-track:after{content:'';position:absolute;inset:0;background:#eeeae1;transform:scaleX(.15);transform-origin:left;animation:intro-track 2s cubic-bezier(.18,.65,.22,1) both}
.intro-skip{font-size:11px;display:flex;align-items:center;gap:18px;min-height:44px;padding:0;border-bottom:1px solid #eeeae139;color:#eeeae1}.intro-skip svg{width:17px;height:17px;transition:transform .3s}.intro-skip:hover svg{transform:translateX(4px)}
html[data-intro="revealing"] .site-intro{transition:clip-path .8s cubic-bezier(.76,0,.24,1);clip-path:inset(0 0 100% 0)}
html[data-intro="revealing"] .intro-heading{transition:transform .8s cubic-bezier(.76,0,.24,1),opacity .5s;transform:translateY(-9vh);opacity:0}
@keyframes intro-column{0%{transform:translateY(100%)}60%{transform:translateY(0)}100%{transform:translateY(-45%)}}
@keyframes intro-horizon{0%{transform:scaleX(0);opacity:0}35%{transform:scaleX(1);opacity:1}100%{transform:scaleX(1.15);opacity:.25}}
@keyframes intro-sweep{from{transform:translateX(-100%)}to{transform:translateX(620%)}}
@keyframes intro-atmosphere{from{opacity:0;scale:.7}to{opacity:1;scale:1.15}}
@keyframes intro-wordmark-mask{from{clip-path:inset(50% 0 50% 0)}to{clip-path:inset(0)}}
@keyframes intro-wordmark-rise{from{transform:translateY(12%) scale(1.05);opacity:.15}to{transform:none;opacity:1}}
@keyframes intro-copy{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes intro-track{from{transform:scaleX(.1)}to{transform:scaleX(1)}}
@media(max-width:760px){.intro-heading{width:94vw;margin-top:-10px}.intro-overline{font-size:8px;letter-spacing:.2em;margin-bottom:19px}.intro-signature{font-size:13px;margin-top:15px}.intro-corner,.intro-edition{top:28px;font-size:8px}.intro-corner{max-width:55%;letter-spacing:.1em}.intro-edition{color:#bcb5c0}.intro-loading{font-size:8px;gap:10px;letter-spacing:.08em}.intro-track{width:38px}.intro-skip{font-size:10px;gap:12px}.intro-columns{grid-template-columns:repeat(5,1fr)}.intro-columns i:nth-child(n+6){display:none}.intro-bottom{bottom:max(24px,env(safe-area-inset-bottom))}}
@media(max-height:500px){.intro-heading{width:min(65vw,650px)}.intro-overline{margin-bottom:0}.intro-corner,.intro-edition{top:18px}.intro-bottom{bottom:14px}}
@media(prefers-reduced-motion:reduce){.site-intro{display:none!important}html[data-intro]{overflow:visible}}
