/* A short, session-only opening. The artwork and monogram are original assets. */
.intro-curtain{display:none}.js .intro-curtain{display:block;z-index:30;background:#101010;position:fixed;inset:0;transform:none;clip-path:inset(0);color:#f9f9f6;pointer-events:auto;overflow:hidden}.ready .intro-curtain{animation:none}.js .intro-curtain[hidden]{display:none}.intro-centre{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center}.intro-mark-row{display:flex;align-items:center;justify-content:center;height:clamp(140px,23vw,250px)}.intro-mark-mask{overflow:hidden;padding:0 5px 12px}.intro-mark{display:block;font-weight:900;font-size:clamp(140px,23vw,250px);line-height:.9;letter-spacing:-.1em;padding-right:.12em;transform:translateY(130%);transition:transform 1s cubic-bezier(.76,0,.24,1)}.intro-object-slot{width:0;height:clamp(130px,21vw,235px);position:relative;transition:width 1.2s cubic-bezier(.76,0,.24,1);margin-left:12px}.intro-object-slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(.65) rotate(-8deg);pointer-events:none}.intro-object-slot img.is-current{opacity:1;animation:intro-object-pop .36s cubic-bezier(.2,.8,.2,1) both}.intro-counter{font:400 12px Inter,Arial,sans-serif;letter-spacing:.15em;font-variant-numeric:tabular-nums;margin-top:38px;color:#c4c4bf;min-width:40px;text-align:center}.intro-active .intro-mark{transform:none}.intro-active .intro-object-slot{width:clamp(145px,24vw,270px)}.intro-curtain.intro-finishing .intro-object-slot img{animation:none;transform:scale(0);opacity:0;transition:transform .55s cubic-bezier(.76,0,.24,1),opacity .4s}.intro-curtain.intro-finishing .intro-object-slot{width:0;transition:width .7s cubic-bezier(.76,0,.24,1)}.intro-curtain.intro-finishing .intro-mark{transform:translateY(130%);transition-duration:.8s}.intro-finishing .intro-counter{opacity:0;transition:opacity .45s}.js .intro-curtain.intro-out{clip-path:inset(0 0 100% 0);transition:clip-path 1.8s cubic-bezier(.76,0,.24,1);pointer-events:none}.intro-skip{position:absolute;bottom:32px;right:var(--gutter);border:0;background:none;color:#91918b;font-size:9px;letter-spacing:.12em;padding:12px;cursor:pointer}.intro-skip:hover{color:#fff}.intro-skip:focus-visible{outline:1px solid #fff;outline-offset:3px}.intro-lock{overflow:hidden}.intro-curtain .intro-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@keyframes intro-object-pop{0%{transform:scale(.75) rotate(-7deg)}70%{transform:scale(1.025) rotate(2deg)}100%{transform:scale(1) rotate(0)}}@media(max-width:600px){.intro-counter{margin-top:28px}.intro-skip{bottom:22px}.intro-object-slot{margin-left:4px}}@media(prefers-reduced-motion:reduce){.intro-curtain{display:none!important}}
.intro-mark{letter-spacing:-.07em;padding-right:.04em}.intro-period{display:block;font-weight:900;font-size:clamp(140px,23vw,250px);line-height:.9;letter-spacing:-.08em;margin-left:2px;transform:translateY(130%);opacity:0;transition:transform 1s cubic-bezier(.76,0,.24,1),opacity .4s}.intro-active .intro-period{transform:none;opacity:1}.intro-finishing .intro-period{transform:translateY(130%);opacity:0;transition-duration:.8s}.intro-mark-row{overflow:visible}

/* Only a running controller may cover the page. An old cached startup script fails open. */
.js .intro-curtain{display:none}.js .intro-curtain[data-running="true"]{display:block}.js .intro-curtain[hidden]{display:none}

.intro-skip{color:#f9f9f6;border:1px solid #ffffff70;background:#ffffff0c;border-radius:2px;min-height:44px;font-size:10px}.intro-skip:hover{background:#ffffff1c}.intro-skip:focus-visible{outline:2px solid #fff}
