html.welcome-pending .site-header,html.welcome-pending main,html.welcome-pending .site-footer{opacity:0}
html.welcome-active{overflow:hidden;overscroll-behavior:none}
.village-welcome{position:fixed;inset:0;z-index:110;isolation:isolate;color:var(--ink,#203c30);pointer-events:none}
.welcome-backdrop{position:absolute;inset:0;background:var(--paper,#f5f1e6)}
.welcome-topline{position:absolute;left:clamp(24px,4.4vw,80px);right:clamp(24px,4.4vw,80px);top:max(24px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;z-index:3;gap:20px}
.welcome-wordmark{font-family:var(--display,Georgia,serif);font-size:24px;letter-spacing:-.045em;font-weight:600}.welcome-wordmark em{font-weight:500}
.welcome-skip{pointer-events:auto;min-height:44px;display:inline-flex;align-items:center;gap:12px;background:transparent;color:inherit;border:0;padding:8px 0 8px 12px;font:inherit;font-size:12px;cursor:pointer;opacity:.7;transition:opacity .2s}
.welcome-skip:hover{opacity:1}.welcome-skip svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .3s}.welcome-skip:hover svg{transform:translateX(4px)}
.welcome-caption{position:absolute;z-index:3;bottom:clamp(40px,9vh,100px);left:24px;right:24px;text-align:center;pointer-events:none}
.welcome-caption p{margin:0;font-family:var(--display,Georgia,serif);font-size:clamp(25px,3vw,39px);line-height:1.2;letter-spacing:-.045em;font-weight:450}
.welcome-caption small{display:block;margin-top:13px;font-family:var(--body,Arial,sans-serif);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--muted,#657260)}
#village-canvas.welcome-canvas{position:fixed!important;right:auto!important;bottom:auto!important;z-index:111;opacity:1!important;transition:none!important;pointer-events:none;max-width:none}
.village-welcome #village-canvas.welcome-canvas{z-index:1}
.welcome-pending .village-poster,.welcome-active .village-poster,.welcome-active .house-labels,.welcome-active #scene-loading{visibility:hidden}
.welcome-active .village-poster{opacity:0;transition:none}
@media(max-width:700px){.welcome-caption{bottom:max(56px,calc(env(safe-area-inset-bottom) + 35px))}.welcome-caption p{font-size:29px;max-width:260px;margin:auto}.welcome-topline{top:max(18px,env(safe-area-inset-top))}.welcome-wordmark{font-size:23px}}
@media(prefers-reduced-motion:reduce){html.welcome-pending .site-header,html.welcome-pending main,html.welcome-pending .site-footer{opacity:1}.village-welcome{display:none}}
