.welcome-screen{display:none;position:fixed;inset:0;z-index:10000;overflow:hidden;isolation:isolate;align-items:center;justify-content:center;background:#23271f;color:#f5f0e5;font-family:'Onest',Arial,sans-serif;text-align:center;overscroll-behavior:contain}
.pf-welcome-pending{overflow:hidden;background:#23271f}
.pf-welcome-pending .welcome-screen{display:flex}
.welcome-screen::after{content:'';position:absolute;inset:12px;border:1px solid #d7c5a21a;pointer-events:none;z-index:-1}
.welcome-halo{position:absolute;inset:-25%;z-index:-2;background:radial-gradient(ellipse at 52% 43%,#77714a36 0%,#3b41312b 28%,transparent 58%);animation:welcome-breathe 3s ease-out both}
.welcome-orbit{position:absolute;left:50%;top:46%;width:min(115vw,610px);aspect-ratio:1;border:1px solid #d7c5a20b;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:-1;animation:welcome-orbit 2.8s ease-out both}
.welcome-orbit-two{width:min(155vw,820px);animation-delay:.15s}
.welcome-topline{position:absolute;top:calc(49px + env(safe-area-inset-top,0px));font-size:8px;letter-spacing:.23em;text-transform:uppercase;color:#c9bea8b3;animation:welcome-reveal 1s .25s both}
.welcome-topline span{font:italic 12px Georgia,serif;text-transform:none;letter-spacing:0;margin:0 10px;color:#d2b98c}
.welcome-composition{width:100%;padding:35px 28px 65px;transform:translateY(-4px)}
.welcome-pulse{display:block;width:62px;height:27px;margin:0 auto 27px;stroke:#ccb58c;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
.welcome-pulse path{stroke-dasharray:150;stroke-dashoffset:150;animation:welcome-draw 1.4s .1s cubic-bezier(.25,.7,.3,1) both}
.welcome-wordmark{display:flex;flex-direction:column;align-items:center}
.welcome-pulse-name{font-size:clamp(48px,17vw,76px);font-weight:400;line-height:1.15;letter-spacing:.16em;padding-left:.16em;animation:welcome-word 1.15s .2s cubic-bezier(.2,.75,.2,1) both}
.welcome-family-name{display:flex;align-items:center;gap:15px;margin-top:13px;color:#d0bd9a;font-size:10px;line-height:1;letter-spacing:.5em;padding-left:.5em;animation:welcome-reveal 1s .55s both}
.welcome-family-name i{display:block;width:27px;height:1px;background:linear-gradient(90deg,transparent,#c9af7d99)}
.welcome-family-name i:last-child{transform:rotate(180deg)}
.welcome-message{margin:39px 0 0;font-family:'Prata',Georgia,serif;font-size:clamp(23px,6.6vw,29px);font-weight:400;line-height:1.5;letter-spacing:-.7px;animation:welcome-reveal 1s .7s both}
.welcome-message em{color:#c7b28e;font-style:normal}
.welcome-places{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:34px;font-size:9px;letter-spacing:.18em;color:#e9dfca99;animation:welcome-reveal 1s 1s both}
.welcome-places i{width:2px;height:2px;background:#b7a586;border-radius:50%}
.welcome-bottom{position:absolute;bottom:calc(30px + env(safe-area-inset-bottom,0px));left:25px;right:25px;animation:welcome-reveal .8s .9s both}
.welcome-bottom p{font-size:10px;letter-spacing:.04em;color:#c4bead99;margin:0 0 12px}
.welcome-bottom button{border:0;background:transparent;color:#d7c7a9;min-height:44px;padding:8px 16px;font:10px 'Onest',Arial,sans-serif;cursor:pointer;letter-spacing:.02em}
.welcome-bottom button span{margin-left:9px;font-size:14px}
.welcome-bottom button:focus-visible{outline:1px solid #d7c7a9;outline-offset:2px;border-radius:2px}
.welcome-screen.is-leaving{pointer-events:none;animation:welcome-exit .6s cubic-bezier(.4,0,.2,1) both}
@keyframes welcome-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes welcome-word{from{opacity:0;transform:translateY(14px);letter-spacing:.23em}to{opacity:1;transform:translateY(0);letter-spacing:.16em}}
@keyframes welcome-draw{to{stroke-dashoffset:0}}
@keyframes welcome-breathe{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}
@keyframes welcome-orbit{from{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes welcome-exit{to{opacity:0;transform:translateY(-12px);filter:blur(3px)}}
@media(max-height:650px){.welcome-topline{top:calc(28px + env(safe-area-inset-top,0px))}.welcome-composition{padding-bottom:45px}.welcome-pulse{margin-bottom:15px}.welcome-message{margin-top:25px;font-size:23px}.welcome-places{margin-top:22px}.welcome-bottom{bottom:calc(15px + env(safe-area-inset-bottom,0px))}}
@media(prefers-reduced-motion:reduce){.welcome-screen *,.welcome-screen.is-leaving{animation:none!important}.welcome-pulse path{stroke-dashoffset:0}.welcome-screen.is-leaving{opacity:0}}
