/* The identity animation lives on a shutter, outside the page layout. */
html.intro-open{overflow:hidden;scrollbar-gutter:stable}
.intro-curtain{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-bottom:2px solid var(--ice);background:var(--bg);color:var(--ink);overflow:hidden;transform:translateY(0);transition:transform 1.05s cubic-bezier(.76,0,.24,1);box-shadow:0 24px 64px #001c3433}
.intro-curtain::backdrop{background:transparent;backdrop-filter:none}
.intro-curtain.is-raised{transform:translateY(-105%)}
.intro-curtain.is-instant{transition:none}
.intro-toolbar{position:absolute;inset:22px var(--gutter) auto;display:flex;align-items:center;justify-content:flex-end;gap:20px;z-index:3}
.intro-toolbar .brand{width:150px}
.intro-toolbar .brand img{height:54px}
.intro-skip{display:inline-flex;align-items:center;gap:16px;min-height:44px;padding:6px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--ink);font-size:12px}
.intro-skip .arrow{transform:rotate(-90deg);width:18px}
.intro-skip:hover{color:var(--blue)}
.intro-switch{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}
.intro-switch:hover{color:var(--blue)}
.intro-curtain .hero.hero-bridge{--echo-diameter:min(684px,calc(100vw - 32px),calc(100svh - 148px));height:100%;min-height:0;padding:80px 16px 48px;display:grid;grid-template-columns:1fr;place-items:center}
.intro-curtain .hero-bridge .echo-composition{width:100%;max-width:900px;height:var(--echo-diameter);min-height:0}
.intro-curtain .hero-bridge .hero-copy{width:min(400px,80vw);transform:none}
.intro-curtain .gather-title{font-family:Instrument,Georgia,serif;font-size:clamp(22px,calc(var(--echo-diameter) * .079),54px);line-height:1.1;letter-spacing:0;font-weight:400;white-space:nowrap;margin:0;clear:none}
.intro-curtain .identity-bridge{width:min(368.5px,64vw,calc((100svh - 148px) * .54))}
.intro-curtain .hero-bridge .kicker{padding:0}
.intro-logo.brand{width:clamp(116px,calc(var(--echo-diameter) * .29),198px);margin:26px auto 0;animation:gather-context 1.2s ease 7s both}
.intro-logo.brand img{height:auto;width:100%}
.gather-reset .intro-logo{animation:none!important}
.intro-curtain .gather-reset :is(.gather-letter,.kicker,.intro-logo){visibility:hidden}
.intro-flock{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.intro--arrival .echo-svg .petal{visibility:hidden}
.intro--arrival.is-assembled .echo-svg .petal{visibility:visible}
.intro--arrival .gather-letter{animation:none!important;visibility:hidden}
.intro--arrival.is-assembled .gather-letter{visibility:visible}
.intro--arrival .intro-logo{animation-delay:19.5s}
.intro--arrival .hero-bridge .echo-composition .kicker{animation-delay:17s}
.intro--arrival.is-assembled :is(.intro-logo,.kicker){animation:none;opacity:1}
.intro-letter-flight{position:absolute;inset:0;pointer-events:none;z-index:2}
.intro-carried-letter{position:absolute;left:0;top:0;display:block;white-space:nowrap;transform-origin:center;will-change:transform,opacity}
.intro-carried-letter[hidden]{display:none}
.intro-curtain::after{content:'';position:absolute;bottom:15px;left:50%;width:44px;height:3px;background:var(--ice);transform:translateX(-50%);border-radius:3px}
.intro-replay{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0;background:none;color:var(--muted);border:0;font-size:11px;white-space:nowrap}
.intro-replay:hover{color:var(--blue)}
.intro-replay svg{width:17px;height:17px}
.intro-replay[hidden]{display:none}
@media(min-width:1221px){.site-header:has(.intro-replay){gap:19px}.site-header:has(.intro-replay) nav{gap:16px}}
@media(max-width:1220px){.intro-replay span{display:none}.intro-replay{width:30px}}
@media(max-width:540px){
 .intro-toolbar{top:16px}.intro-toolbar .brand{width:120px}.intro-skip{font-size:11px;gap:12px}.intro-switch{font-size:11px}
 .intro-curtain .hero-bridge .hero-copy{width:76vw}
 .intro-curtain .hero-bridge .kicker{font-size:8px;letter-spacing:.08em;margin-bottom:8px;transform:translateY(-12px)}
 .intro-logo.brand{margin-top:18px}
 .site-header:has(.intro-replay){gap:8px;flex-wrap:nowrap}
 .site-header:has(.intro-replay) .brand{width:110px}
 .site-header:has(.intro-replay) .menu-toggle{padding-inline:9px}
}
@media(max-width:360px){.site-header:has(.intro-replay){gap:6px}.site-header:has(.intro-replay) .brand{width:88px}.intro-replay{width:24px}}
@media(max-height:530px){.intro-logo.brand{margin-top:12px;width:110px}.intro-curtain .hero-bridge .kicker{font-size:8px;margin-bottom:8px;transform:none}.intro-toolbar{top:10px}}
@media(prefers-reduced-motion:reduce){.intro-curtain{transition:none}}
