@font-face{font-family:'Estate Roman';src:url('assets/EstateRoman-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:block}
.intro-pending,.intro-open,.intro-transition{overflow:hidden;scroll-behavior:auto}
.intro-pending #resume-surface,.intro-open #resume-surface{visibility:hidden}
.intro-pending #resume-surface *,.intro-pending #resume-surface *:before,.intro-pending #resume-surface *:after,.intro-open #resume-surface *,.intro-open #resume-surface *:before,.intro-open #resume-surface *:after{animation-play-state:paused!important}
.intro-pending .welcome[hidden]{display:flex!important}
.welcome{position:fixed;inset:0;z-index:200;isolation:isolate;color:var(--ivory);background:#102d27;display:flex;flex-direction:column;min-height:100svh;overflow-x:hidden;overflow-y:auto;--depth-x:0px;--depth-y:0px;--intro-ease:cubic-bezier(.19,1,.22,1)}
.welcome-atmosphere{position:absolute;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(ellipse at 45% 38%,#244b3b80,transparent 60%),#102d27}
.welcome-atmosphere:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 3px,#00000009 4px);opacity:.25;pointer-events:none}
.welcome-glow{position:absolute;width:90vw;height:90vw;right:-35vw;bottom:-55vw;border-radius:50%;background:radial-gradient(circle,#2f607b66,transparent 62%);animation:welcomeGlow 20s ease-in-out infinite;transform:translate3d(calc(var(--depth-x) * -1.6),calc(var(--depth-y) * -1.6),0)}
.welcome-orbit{position:absolute;left:50%;top:50%;border:1px solid #c7b57a22;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}
.orbit-one{width:91vmin;height:91vmin;animation:orbitTurn 80s linear infinite;border-top-color:#c7b57a60;border-right-color:transparent;box-shadow:0 0 90px #224e3c22,inset 0 0 70px #224e3c22}
.orbit-two{width:124vmin;height:124vmin;border-left-color:transparent;border-bottom-color:#c7b57a40;animation:orbitTurn 115s linear infinite reverse}
.welcome-orbit:before{content:'';width:5px;height:5px;border:1px solid #d9c89999;position:absolute;left:14.5%;top:14.5%;transform:rotate(45deg);background:#18382e}
.welcome-meridian{position:absolute;left:50%;top:50%;width:69vmin;height:100vmin;border:1px solid #c7b57a18;transform:translate(-50%,-50%) rotate(36deg);animation:meridianDrift 32s ease-in-out infinite}
.welcome-border{position:absolute;inset:104px 5.2% 84px;border-left:1px solid #c7b57a22;border-right:1px solid #c7b57a22;transform:scaleY(1);transform-origin:center;animation:borderDraw 2.4s var(--intro-ease) both}
.welcome-border:before,.welcome-border:after{content:'';position:absolute;left:0;right:0;height:24px;border:1px solid #c7b57a44;border-left:0;border-right:0}
.welcome-border:before{top:0;border-bottom:0}.welcome-border:after{bottom:0;border-top:0}
.welcome-horizon{position:absolute;left:10%;right:10%;top:51%;height:1px;background:linear-gradient(90deg,transparent,#d9c89925,transparent);transform:scaleX(1);animation:horizonDraw 3.2s var(--intro-ease) both}
.welcome-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1}
.welcome-masthead{display:flex;align-items:center;gap:22px;margin:35px 5.2% 0;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#d9dccb;line-height:1.4;animation:welcomeDetail 1.6s var(--intro-ease) .15s both}
.welcome-monogram{font-family:'Estate Roman',var(--serif);font-size:31px;letter-spacing:.04em;color:var(--pale-gold);border-right:1px solid #c7b57a66;padding-right:22px}
.welcome-edition{margin-left:auto;color:#c3c9ba}
.welcome-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 7% 34px;transform:translate3d(var(--depth-x),var(--depth-y),0);transition:transform 1.8s var(--intro-ease);text-align:center}
.welcome-kicker{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:#d2c59e;margin:0 0 39px;animation:welcomeDetail 1.8s var(--intro-ease) .2s both}
.welcome-kicker span{padding:0 13px;color:#94a191}
.welcome-name{font-family:'Estate Roman',var(--serif);font-size:clamp(68px,12.2vw,180px);font-weight:400;letter-spacing:.065em;line-height:.95;margin:0;color:var(--ivory);display:flex;flex-direction:column;align-items:center;gap:.12em;text-shadow:0 0 60px #f7f3eb0c}
.estate-line{display:flex;justify-content:center;white-space:nowrap;line-height:1;overflow:visible}
.estate-line>span{display:inline-block;animation:estateAssemble 2.8s var(--intro-ease) var(--estate-delay,.6s) both;will-change:transform,opacity}
.welcome-name .estate-line:first-child{font-size:.83em;letter-spacing:.13em}
.welcome-name .estate-line>span:last-child{margin-right:-.065em}
.welcome-name .estate-line:first-child>span:last-child{margin-right:-.13em}
.welcome-divider{display:flex;align-items:center;gap:20px;width:170px;margin:26px 0 16px;color:#c7b57a;font-size:6px;animation:welcomeDetail 1.7s var(--intro-ease) .8s both}
.welcome-divider i{height:1px;background:linear-gradient(90deg,transparent,#c7b57a99);flex:1;transform-origin:right;animation:horizonDraw 2s var(--intro-ease) .5s both}
.welcome-divider i:last-child{transform:rotate(180deg)}
.welcome-description{font-family:var(--serif);font-size:clamp(20px,1.8vw,26px);line-height:1.26;margin:0;color:#e2e4d8;animation:welcomeDetail 1.9s var(--intro-ease) .65s both}
.welcome-description em{color:#ccb983;font-weight:400}
.welcome-actions{display:flex;flex-direction:column;align-items:center;margin-top:30px;animation:welcomeDetail 1.2s var(--intro-ease) .3s both}
.welcome-enter{position:relative;min-width:208px;min-height:58px;padding:15px 25px;display:flex;align-items:center;justify-content:space-between;gap:40px;cursor:pointer;color:var(--ivory);background:#ffffff03;border:1px solid #d9c899aa;font-family:'Estate Roman',var(--serif);font-size:20px;letter-spacing:.1em;transition:background .5s,box-shadow .5s,transform .7s var(--intro-ease);overflow:hidden}
.welcome-enter:before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#d9c89912 45%,transparent 65%);transform:translateX(-110%);animation:buttonGlint 9s ease-in-out 2.8s infinite;pointer-events:none}
.welcome-enter svg{width:42px;height:16px;transition:transform .7s var(--intro-ease);color:var(--pale-gold)}
.welcome-enter:hover,.welcome-enter:focus-visible{background:#d9c89915;box-shadow:0 0 35px #d9c8990a;transform:translateY(-3px)}
.welcome-enter:hover svg,.welcome-enter:focus-visible svg{transform:translateX(5px)}
.welcome-audio-note{font-size:10px;letter-spacing:.08em;color:#c3cbba;margin:8px 0 3px}
.welcome-quiet{border:0;background:transparent;color:#d0d6c8;cursor:pointer;font-size:11px;padding:9px 12px;min-height:36px;letter-spacing:.04em;text-decoration:underline;text-decoration-color:#86997a99;text-underline-offset:5px;transition:color .3s}
.welcome-quiet:hover{color:var(--ivory)}
.welcome-footer{display:flex;align-items:center;justify-content:space-between;margin:0 5.2% 29px;gap:20px;font-size:10px;color:#b8c3b2;letter-spacing:.07em;animation:welcomeDetail 1.8s var(--intro-ease) .6s both}
.welcome-motion{color:#d2d7c9;font-size:11px;letter-spacing:.03em;background:transparent;border:0;cursor:pointer;padding:10px 0 10px 15px;min-height:40px;white-space:nowrap}
.welcome-motion span{padding-left:11px;color:var(--pale-gold)}
.welcome :focus-visible{outline:2px solid var(--pale-gold);outline-offset:6px}
.welcome-curtain{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:21px;background:var(--ivory);color:var(--green);transform:translateY(102%);pointer-events:none}
.curtain-monogram{font-family:'Estate Roman',var(--serif);font-size:50px;letter-spacing:.08em;margin-left:.08em}
.curtain-line{height:1px;width:68px;background:var(--gold);transform-origin:center}
.welcome.departing .welcome-curtain{animation:curtainPass 1.5s cubic-bezier(.65,0,.35,1) both}
.welcome.departing{background:transparent;overflow:hidden}
.welcome.departing .curtain-monogram,.welcome.departing .curtain-line{animation:curtainMark 1.5s ease both}
.welcome.departing .welcome-atmosphere,.welcome.departing .welcome-particles,.welcome.departing .welcome-masthead,.welcome.departing .welcome-stage,.welcome.departing .welcome-footer{animation:welcomeDepart .65s ease both}
.welcome.departing .welcome-stage{pointer-events:none}
.welcome.still .welcome-atmosphere *,.welcome.still .welcome-atmosphere:after,.welcome.still .welcome-enter:before{animation:none!important}
.welcome.still .welcome-name .estate-line>span,.welcome.still .welcome-masthead,.welcome.still .welcome-kicker,.welcome.still .welcome-divider,.welcome.still .welcome-description,.welcome.still .welcome-actions,.welcome.still .welcome-footer{animation:none;opacity:1;transform:none;filter:none}
.welcome.still .welcome-stage,.welcome.still .welcome-glow{transform:none;transition:none}
.welcome.still .welcome-particles{visibility:hidden}
.welcome.still .welcome-enter:hover,.welcome.still .welcome-enter:focus-visible{transform:none}
.welcome.still.departing .welcome-curtain{display:none}
.welcome.still.departing .welcome-atmosphere,.welcome.still.departing .welcome-masthead,.welcome.still.departing .welcome-stage,.welcome.still.departing .welcome-footer{animation:welcomeDepart .2s ease both}
@keyframes estateAssemble{0%{opacity:0;transform:translateY(.36em) rotateY(25deg);filter:blur(5px)}35%{opacity:.18}100%{opacity:1;transform:none;filter:none}}
@keyframes welcomeDetail{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes borderDraw{from{opacity:0;transform:scaleY(.4)}to{opacity:1;transform:scaleY(1)}}
@keyframes horizonDraw{from{opacity:0;scale:0 1}to{opacity:1;scale:1 1}}
@keyframes orbitTurn{from{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes meridianDrift{0%,100%{transform:translate(-50%,-50%) rotate(36deg)}50%{transform:translate(-50%,-50%) rotate(44deg)}}
@keyframes welcomeGlow{0%,100%{opacity:.6;scale:1}50%{opacity:1;scale:1.12}}
@keyframes buttonGlint{0%,60%{transform:translateX(-110%)}85%,100%{transform:translateX(110%)}}
@keyframes curtainPass{0%{transform:translateY(102%)}39%,57%{transform:translateY(0)}100%{transform:translateY(-102%)}}
@keyframes curtainMark{0%,22%,100%{opacity:0;scale:.9}39%,62%{opacity:1;scale:1}}
@keyframes welcomeDepart{to{opacity:0}}
@media(min-height:950px) and (min-width:701px){.welcome-kicker{margin-bottom:50px}.welcome-divider{margin:35px 0 23px}.welcome-actions{margin-top:40px}}
@media(max-height:850px) and (min-width:701px){.welcome-masthead{margin-top:22px}.welcome-monogram{font-size:27px}.welcome-stage{padding-top:16px;padding-bottom:12px}.welcome-kicker{margin-bottom:24px}.welcome-name{font-size:min(12.2vw,15.2vh,140px)}.welcome-divider{margin:19px 0 12px}.welcome-description{font-size:22px}.welcome-actions{margin-top:22px}.welcome-enter{min-height:52px;font-size:18px;line-height:1.2;padding:12px 25px}.welcome-audio-note{margin-top:6px}.welcome-footer{margin-bottom:18px}.welcome-border{inset:87px 5.2% 72px}}
@media(max-width:700px){.welcome-masthead{margin:26px 7% 0;font-size:9px;letter-spacing:.1em;gap:14px}.welcome-monogram{font-size:26px;padding-right:14px}.welcome-edition{font-size:8px;max-width:60px;text-align:right}.welcome-border{inset:91px 7% 98px}.welcome-stage{padding:36px 5% 30px}.welcome-name{font-size:clamp(49px,11.4vw,80px);letter-spacing:.045em;gap:.22em}.welcome-name .estate-line:first-child{font-size:1.08em;letter-spacing:.11em}.welcome-name .estate-line>span:last-child{margin-right:-.045em}.welcome-name .estate-line:first-child>span:last-child{margin-right:-.11em}.welcome-kicker{font-size:8px;letter-spacing:.15em;margin-bottom:40px}.welcome-kicker span{padding:0 7px}.welcome-divider{margin:28px 0 22px;width:115px;gap:14px}.welcome-description{font-size:23px}.welcome-actions{margin-top:33px}.welcome-enter{min-height:58px;min-width:200px;font-size:20px}.welcome-audio-note{margin-top:10px}.welcome-footer{margin:0 7% 22px;font-size:9px;line-height:1.5;gap:22px}.welcome-footer>span{max-width:175px}.welcome-motion{font-size:10px;padding-left:0}.orbit-one{width:120vmin;height:120vmin}.orbit-two{width:174vmin;height:174vmin}.welcome-meridian{width:105vmin;height:170vmin}.welcome-glow{width:200vw;height:200vw;right:-120vw;bottom:-100vw}}
@media(max-height:650px){.welcome-masthead{margin-top:18px}.welcome-stage{padding-top:20px;padding-bottom:12px}.welcome-kicker{margin-bottom:20px}.welcome-name{font-size:min(12vw,100px)}.welcome-divider{margin:18px 0 12px}.welcome-description{font-size:20px}.welcome-actions{margin-top:20px}.welcome-enter{min-height:48px}.welcome-footer{margin-bottom:14px}.welcome-border{inset:75px 5.2% 65px}}
@media(max-height:480px){.welcome{overflow-y:auto}.welcome-masthead{margin-top:14px}.welcome-stage{flex:none;min-height:365px}.welcome-kicker{margin-bottom:18px}.welcome-name{font-size:64px}.welcome-description{font-size:18px}.welcome-divider{margin:12px 0}.welcome-actions{margin-top:16px}.welcome-footer{margin-top:8px}.welcome-orbit,.welcome-meridian{position:fixed}.welcome-particles{display:none}}
@media(prefers-reduced-motion:reduce){.welcome-name .estate-line>span,.welcome-masthead,.welcome-kicker,.welcome-divider,.welcome-description,.welcome-actions,.welcome-footer{opacity:1;transform:none;filter:none}.welcome-particles{display:none}.welcome-curtain{display:none}.welcome-stage{transform:none!important}}
