.logo-entrance[hidden]{display:none!important}
.logo-entrance{position:fixed;inset:0;z-index:100;background:var(--cream);color:var(--navy);display:grid;place-items:center;overflow:hidden;isolation:isolate}
.intro-running{overflow:hidden}
.intro-lockup{display:flex;align-items:center;justify-content:center;gap:30px;padding:25px;max-width:100%}
.logo-entrance .brand-mark{width:clamp(138px,13vw,188px);height:clamp(138px,13vw,188px);min-width:0;min-height:0;max-width:none;max-height:none;animation:none!important}
.logo-entrance .brand-type{gap:5px}
.logo-entrance .brand-name{font-size:clamp(42px,4.1vw,62px);line-height:1.1;letter-spacing:.105em;white-space:nowrap;overflow:hidden}
.logo-entrance .brand-descriptor{font-size:clamp(12px,1.32vw,18px);letter-spacing:.4em;line-height:1.4;white-space:nowrap}
.logo-entrance .brand-mark path{transform-box:fill-box;transform-origin:center;opacity:0}
.intro-char{display:inline-block;opacity:0}
.logo-entrance .brand-descriptor{opacity:0}
.intro-actions{position:absolute;left:clamp(22px,4vw,65px);right:clamp(22px,4vw,65px);bottom:max(22px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px}
.intro-skip,.intro-call{color:var(--navy);background:none;border:0;padding:10px 0;min-height:44px;font:400 13px/1.4 var(--sans);text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.intro-call{text-decoration:none;white-space:nowrap}
.intro-skip:hover,.intro-call:hover{color:#75562f;text-decoration:underline}
.logo-entrance.is-playing{animation:entrance-curtain 550ms cubic-bezier(.76,0,.24,1) 1750ms both}
.is-playing .brand-mark path:nth-child(1){animation:entrance-upper 700ms cubic-bezier(.16,1,.3,1) both}
.is-playing .brand-mark path:nth-child(2){animation:entrance-base 700ms cubic-bezier(.16,1,.3,1) 160ms both}
.is-playing .brand-mark path:nth-child(3){animation:entrance-corner 700ms cubic-bezier(.16,1,.3,1) 360ms both}
.is-playing .intro-char{animation:entrance-letter 650ms cubic-bezier(.16,1,.3,1) calc(600ms + var(--letter)*45ms) both}
.is-playing .brand-descriptor{animation:entrance-descriptor 600ms cubic-bezier(.16,1,.3,1) 950ms both}
@keyframes entrance-upper{from{opacity:0;transform:translate(-22px,-26px);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translate(0,0);clip-path:inset(0)}}
@keyframes entrance-base{from{opacity:0;transform:translate(-22px,28px)}to{opacity:1;transform:translate(0,0)}}
@keyframes entrance-corner{from{opacity:0;transform:translate(32px,0)}to{opacity:1;transform:translate(0,0)}}
@keyframes entrance-letter{from{opacity:0;transform:translateY(105%)}to{opacity:1;transform:translateY(0)}}
@keyframes entrance-descriptor{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes entrance-curtain{from{transform:translateY(0)}to{transform:translateY(-101%)}}
@media(max-width:760px){.intro-lockup{flex-direction:column;gap:26px}.logo-entrance .brand-mark{width:142px;height:142px}.logo-entrance .brand-type{text-align:center;gap:6px}.logo-entrance .brand-name{font-size:39px}.logo-entrance .brand-descriptor{font-size:11.5px;letter-spacing:.37em}.intro-actions{left:22px;right:22px}.intro-skip,.intro-call{font-size:12px}}
@media(max-width:359px){.logo-entrance .brand-mark{width:128px;height:128px}.logo-entrance .brand-name{font-size:35px}.logo-entrance .brand-descriptor{font-size:11px}.intro-lockup{gap:22px}}
@media(prefers-reduced-motion:reduce){.logo-entrance{display:none!important}.logo-entrance,.logo-entrance *{animation:none!important}}
