.opening{display:none}
html.opening-pending .opening{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#000;color:#fff;overflow:hidden}
html.opening-pending{overflow:hidden}
.opening-mark{text-align:center;animation:openingMark .85s cubic-bezier(.2,.8,.2,1) both}
.opening-eyebrow{display:block;font-size:10px;letter-spacing:.36em;margin-bottom:22px;color:#bbb}
.opening-word{display:block;font-size:clamp(64px,13vw,156px);font-weight:950;letter-spacing:-.065em;line-height:1.05}
.opening-word::after{content:"";display:inline-block;width:.095em;height:.095em;background:#ff640a;margin-left:.07em}
.opening-rule{display:block;width:clamp(140px,23vw,270px);height:2px;background:#ff640a;margin:30px auto 22px;transform:scaleX(0);animation:openingRule 1s .35s cubic-bezier(.2,.8,.2,1) forwards}
.opening-caption{display:block;font-size:10px;letter-spacing:.28em;color:#aaa;animation:openingCaption .7s .6s both}
.opening-skip{position:absolute;right:clamp(24px,4vw,54px);bottom:32px;color:#fff;background:none;border:0;border-bottom:1px solid #777;padding:9px 0;font:inherit;font-size:11px;letter-spacing:.14em;cursor:pointer}
.opening-skip:hover,.opening-skip:focus-visible{color:#ff640a;border-color:#ff640a}
html.opening-pending .opening.is-leaving{opacity:0;transform:scale(1.025);transition:opacity .65s ease,transform .75s ease;pointer-events:none}
html.opening-pending .hero-photo,html.opening-pending .hero h1 .line span,html.opening-pending .hero-desc{animation-play-state:paused}
@keyframes openingMark{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes openingRule{to{transform:scaleX(1)}}
@keyframes openingCaption{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.opening-eyebrow{font-size:9px;letter-spacing:.24em}.opening-caption{font-size:9px;letter-spacing:.18em}}
@media(prefers-reduced-motion:reduce){.opening{display:none!important}html.opening-pending{overflow:auto}}
