/* Four-second welcome; isolated from the page and the gallery viewer. */
body.welcome-active{overflow:hidden}
.welcome-screen{position:fixed;inset:0;margin:0;padding:24px;border:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;overflow:hidden;background:#111713;color:#f7f4ed;text-align:center;opacity:1}
.welcome-screen::backdrop{background:transparent}
.welcome-screen:not([open]){display:none}
.welcome-screen[open]{display:grid;place-items:center;animation:welcome-departure 4s linear both}
.welcome-screen::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 35%,#a8874026,transparent 58%),radial-gradient(ellipse at 0% 100%,#38483a30,transparent 45%)}
.welcome-frame{position:absolute;inset:24px;border:1px solid #bd9b5e33;pointer-events:none}
.welcome-frame::before,.welcome-frame::after{content:'✦';position:absolute;left:50%;transform:translateX(-50%);padding:0 16px;background:#111713;color:#b89459;font-size:15px;line-height:1}
.welcome-frame::before{top:-8px}.welcome-frame::after{bottom:-8px}
.welcome-skip{position:absolute;z-index:2;right:48px;top:40px;display:flex;align-items:center;gap:14px;min-height:44px;padding:9px 14px;border:1px solid #b894594d;border-radius:2px;background:#111713;color:#dfcfad;font-size:12px;transition:background .2s,border-color .2s}
.welcome-skip>.icon{width:17px;height:17px}.welcome-skip:hover{background:#293025;border-color:#b89459}.welcome-skip:focus-visible{outline:2px solid #e5c685;outline-offset:5px}
.welcome-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:min(100%,700px);padding:60px 10px 64px}
.welcome-emblem{position:relative;display:grid;place-items:center;width:222px;height:222px;margin-bottom:28px;animation:welcome-emerge 900ms cubic-bezier(.2,.7,.2,1) both}
.welcome-emblem>img{width:164px;height:164px;border-radius:50%;box-shadow:0 0 65px #b8945915;position:relative}
.welcome-orbit{position:absolute;border:1px solid #d6b67855;border-radius:50%;pointer-events:none}
.welcome-orbit-outer{inset:0;animation:welcome-orbit-turn 16s linear infinite}
.welcome-orbit-outer::before,.welcome-orbit-outer::after{content:'';position:absolute;top:50%;width:6px;height:6px;border-radius:50%;background:#e5ca92;box-shadow:0 0 16px #d2aa5f66;transform:translateY(-50%)}
.welcome-orbit-outer::before{left:-3px}.welcome-orbit-outer::after{right:-3px}
.welcome-orbit-inner{inset:11px;border-color:#b894592b;border-style:dashed;animation:welcome-orbit-turn 28s linear infinite reverse}
.welcome-brand{font-family:var(--sans);font-size:14px;font-weight:600;line-height:1.5;letter-spacing:.24em;color:#e2c996;animation:welcome-emerge 750ms 120ms both}
.welcome-brand>span{display:block;margin-top:6px;font-size:9px;font-weight:400;letter-spacing:.23em;color:#b4b9a9}
.welcome-screen h2{font-family:var(--serif);font-weight:500;font-size:clamp(62px,7.5vw,104px);letter-spacing:-.045em;line-height:1.04;margin:23px 0 15px;color:#f7f4ed;animation:welcome-emerge 800ms 220ms both}
.welcome-screen h2 em{color:#d7b774;font-weight:500}
.welcome-message{font-size:15px;line-height:1.75;color:#c3c8b9;animation:welcome-emerge 750ms 340ms both}
.welcome-progress{width:156px;height:1px;margin-top:32px;background:#d9bb8026;overflow:hidden}
.welcome-progress>span{display:block;height:100%;background:linear-gradient(90deg,#8e7045,#efdbb1);transform-origin:left;animation:welcome-progress-fill 3.45s linear both}
.welcome-signature{position:absolute;bottom:48px;left:30px;right:30px;display:flex;align-items:center;justify-content:center;gap:16px;color:#a8b09f;font-size:9px;letter-spacing:.18em;line-height:1.5}
.welcome-signature>span{height:1px;width:30px;background:#b8945940}
.welcome-screen.is-leaving{animation:none;opacity:0;transition:opacity .45s ease}
@keyframes welcome-emerge{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes welcome-orbit-turn{to{transform:rotate(360deg)}}
@keyframes welcome-progress-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes welcome-departure{0%,86.25%{opacity:1}100%{opacity:0}}
@media(max-width:600px){.welcome-frame{inset:16px}.welcome-skip{top:30px;right:30px;font-size:11px;padding:8px 11px;gap:9px}.welcome-content{padding:72px 0}.welcome-emblem{width:190px;height:190px;margin-bottom:24px}.welcome-emblem>img{width:142px;height:142px}.welcome-brand{font-size:12px;letter-spacing:.2em}.welcome-brand>span{font-size:8px}.welcome-screen h2{font-size:clamp(55px,11.5vw,74px);margin-top:22px;white-space:nowrap}.welcome-message{font-size:14px}.welcome-signature{bottom:37px;gap:10px;font-size:7px;letter-spacing:.13em}.welcome-signature>span{width:18px}.welcome-progress{margin-top:26px}}
@media(max-height:650px){.welcome-content{padding:55px 0 40px}.welcome-emblem{width:142px;height:142px;margin-bottom:16px}.welcome-emblem>img{width:106px;height:106px}.welcome-brand{font-size:11px}.welcome-brand>span{font-size:8px}.welcome-screen h2{font-size:58px;margin:14px 0 10px}.welcome-message{font-size:13px;line-height:1.5}.welcome-message br{display:none}.welcome-progress{margin-top:22px}.welcome-signature{bottom:30px;font-size:7px}.welcome-skip{top:27px;right:29px}}
@media(max-height:440px){.welcome-emblem{width:100px;height:100px;margin-bottom:10px}.welcome-emblem>img{width:76px;height:76px}.welcome-brand>span{display:none}.welcome-screen h2{font-size:44px;margin:10px 0 7px}.welcome-progress{margin-top:16px}.welcome-content{padding:26px 0}.welcome-signature{display:none}}
@media(prefers-reduced-motion:reduce){.welcome-screen[open],.welcome-screen *{animation:none!important;transition:none!important}.welcome-progress>span{transform:none}}
