/* The welcome page owns one unmasked, viewport-filling original image.
   Its fixed layer also covers long content without stretching the artwork. */
html:root body[data-page="welcome"]{
 --welcome-ink:#f0ecdf;
 --welcome-muted:#d5dfdd;
 --welcome-gold:#ead09a;
 --welcome-wash:rgba(5,15,30,.74);
 --welcome-chip:rgba(9,25,37,.76);
 --welcome-image-filter:brightness(.94) saturate(.92);
 position:relative;
 isolation:isolate;
 width:100%;
 min-height:100vh;
 min-height:100svh;
 margin:0;
 padding:0;
 overflow-x:clip;
 color:var(--welcome-ink);
 background:#070e1b!important;
 background-image:none!important;
}
html:root[data-theme="dim"] body[data-page="welcome"]{
 --welcome-image-filter:brightness(.86) saturate(.55) contrast(.9);
 --welcome-ink:#e2e0d5;
 --welcome-muted:#c8d3d0;
 --welcome-gold:#d5c298;
 --welcome-wash:rgba(8,21,31,.77);
}
html:root[data-theme="dawn"] body[data-page="welcome"]{
 --welcome-image-filter:brightness(1.16) saturate(.88) contrast(.94);
 --welcome-wash:rgba(8,22,36,.65);
 --welcome-chip:rgba(12,31,43,.78);
}
html:root body[data-page="welcome"]::before,
html:root body[data-page="welcome"]::after,
html:root body[data-page="welcome"] main::before,
html:root body[data-page="welcome"] main::after{content:none!important;display:none!important}
html:root body[data-page="welcome"]>.nw-welcome-art{
 position:fixed;
 inset:0;
 z-index:0;
 display:block;
 width:100%;
 max-width:none!important;
 height:100%;
 margin:0;
 padding:0;
 overflow:hidden;
 border:0;
 border-radius:0;
 box-shadow:none;
 background:none;
 pointer-events:none;
 mask:none!important;
 -webkit-mask:none!important;
}
html:root body[data-page="welcome"]>.nw-welcome-art::before,
html:root body[data-page="welcome"]>.nw-welcome-art::after{content:none!important}
html:root body[data-page="welcome"]>.nw-welcome-art>.nw-scene-image{
 display:block;
 position:absolute;
 inset:0;
 width:100%;
 max-width:none!important;
 height:100%;
 aspect-ratio:auto;
 object-fit:cover;
 object-position:76% 76%;
 border:0;
 border-radius:0;
 box-shadow:none;
 opacity:1;
 mix-blend-mode:normal;
 filter:var(--welcome-image-filter)!important;
 mask:none!important;
 -webkit-mask:none!important;
}
html:root body[data-page="welcome"]>.header,
html:root body[data-page="welcome"]>main,
html:root body[data-page="welcome"]>.footer{
 position:relative;
 z-index:1;
 background:transparent!important;
 background-image:none!important;
 border:0;
 box-shadow:none;
 color:var(--welcome-ink);
}
html:root body[data-page="welcome"]>main{width:100%;max-width:none;margin:0;padding:0}
html:root body[data-page="welcome"]>.header{max-width:1440px;min-height:92px;padding:22px 40px}
html:root body[data-page="welcome"]>.header .brand{color:var(--welcome-ink);text-shadow:0 2px 14px #061321}
html:root body[data-page="welcome"]>.header .brand small{color:var(--welcome-muted)}
html:root body[data-page="welcome"] .theme{color:var(--welcome-ink);background:var(--welcome-chip);border-color:rgba(234,208,154,.35)}
html:root body[data-page="welcome"] .nw-language-entry{
 display:flex;
 align-items:center;
 position:relative;
 isolation:isolate;
 width:100%;
 max-width:none!important;
 min-height:calc(100vh - 92px);
 min-height:calc(100svh - 92px);
 height:auto;
 margin:0;
 padding:24px max(40px,calc((100% - 1360px)/2)) 70px;
 overflow:visible;
 text-align:left;
 color:var(--welcome-ink);
 background:transparent!important;
 background-image:none!important;
 border:0;
 border-radius:0;
 box-shadow:none;
}
html:root body[data-page="welcome"] .nw-language-entry::before,
html:root body[data-page="welcome"] .nw-language-entry::after{content:none!important;display:none!important}
html:root body[data-page="welcome"] .nw-welcome-content{
 position:relative;
 isolation:isolate;
 z-index:1;
 width:min(46%,590px);
 max-width:590px;
 min-width:0;
 margin:0;
 padding:16px 0;
 color:var(--welcome-ink);
 background:none;
 border:0;
 border-radius:0;
 box-shadow:none;
}
/* A single soft wash surrounds the copy; it never masks the picture. */
html:root body[data-page="welcome"] .nw-welcome-content::before{
 content:''!important;
 display:block!important;
 position:absolute;
 inset:-70px -65px;
 z-index:-1;
 pointer-events:none;
 background:radial-gradient(ellipse at 40% 48%,var(--welcome-wash) 0%,var(--welcome-wash) 27%,rgba(6,19,32,.35) 57%,transparent 77%)!important;
 border:0;
 border-radius:0;
 box-shadow:none;
}
html:root body[data-page="welcome"] .nw-welcome-content::after{content:none!important}
html:root body[data-page="welcome"] .nw-language-entry h1{font-size:clamp(2.35rem,3.7vw,4rem);line-height:1.35;letter-spacing:0;margin:12px 0 22px}
html:root body[data-page="welcome"] .nw-language-entry .definition{margin:0 0 16px;max-width:580px;font-size:1rem}
html:root body[data-page="welcome"] :is(.definition,.tiny,.muted){color:var(--welcome-muted)!important}
html:root body[data-page="welcome"] .eyebrow{color:var(--welcome-gold)!important;margin-bottom:14px}
html:root body[data-page="welcome"] .language-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;margin:24px 0 18px;gap:10px}
html:root body[data-page="welcome"] .language-grid>a{
 min-height:68px;
 min-width:0;
 padding:10px 13px;
 color:var(--welcome-ink)!important;
 background:var(--welcome-chip)!important;
 border:1px solid rgba(211,226,221,.38)!important;
 border-radius:9px;
 box-shadow:none;
 transition:background .2s,border-color .2s;
}
html:root body[data-page="welcome"] .language-grid>a:hover,
html:root body[data-page="welcome"] .language-grid>a:focus-visible,
html:root body[data-page="welcome"] .language-grid>a[data-selected="true"]{border-color:var(--welcome-gold)!important;background:rgba(32,57,65,.92)!important}
html:root body[data-page="welcome"] .language-grid>a[data-selected="true"]>span::after{content:' ✓';color:var(--welcome-gold)}
html:root body[data-page="welcome"] .language-grid small{color:var(--welcome-muted)!important;font-size:.7rem}
html:root body[data-page="welcome"] .welcome-enter{margin:0 0 16px;gap:12px}
html:root body[data-page="welcome"] .welcome-enter .button.primary{background:var(--welcome-gold)!important;color:#142a32!important;border-color:var(--welcome-gold)!important;min-width:200px}
html:root body[data-page="welcome"] .welcome-enter .tiny{margin:0}
html:root body[data-page="welcome"] :is(.safety-inline,.footer){position:relative;isolation:isolate;width:100%;max-width:900px;margin:0 auto;padding:48px 40px;background:transparent!important;background-image:none!important;border:0;color:var(--welcome-ink)}
html:root body[data-page="welcome"] :is(.safety-inline,.footer)::before{content:'';position:absolute;inset:-40px 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,rgba(5,17,30,.86),rgba(5,17,30,.6) 42%,transparent 75%)}
html:root body[data-page="welcome"] :is(.safety-inline,.footer)::after{content:none}
html:root body[data-page="welcome"] .safety-inline h2{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.4}
html:root body[data-page="welcome"] .safety-inline p{color:var(--welcome-muted)}
html:root body[data-page="welcome"] .text-link{color:var(--welcome-gold)!important}
html:root body[data-page="welcome"] .footer nav a{display:inline-flex;align-items:center;min-height:44px}
html:root body[data-page="welcome"] :focus-visible{outline:2px solid var(--welcome-gold);outline-offset:4px}
@media(max-width:1000px){
 html:root body[data-page="welcome"]>.header{padding-inline:24px}
 html:root body[data-page="welcome"] .nw-language-entry{padding:28px 24px 70px;align-items:flex-start}
 html:root body[data-page="welcome"] .nw-welcome-content{width:56%;max-width:570px}
 html:root body[data-page="welcome"] .language-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 html:root body[data-page="welcome"]>.nw-welcome-art>.nw-scene-image{object-position:82% bottom}
}
@media(max-width:640px){
 html:root body[data-page="welcome"]>.header{min-height:76px;padding:16px;flex-wrap:nowrap;gap:10px}
 html:root body[data-page="welcome"]>.header .brand{font-size:1.15rem;gap:7px}
 html:root body[data-page="welcome"]>.header .brand small{font-size:.65rem;margin-left:3px}
 html:root body[data-page="welcome"]>.nw-welcome-art>.nw-scene-image{object-position:88% bottom}
 html:root body[data-page="welcome"] .nw-language-entry{min-height:calc(100svh - 76px);padding:18px 16px max(300px,42svh)}
 html:root body[data-page="welcome"] .nw-welcome-content{width:100%;max-width:480px;margin:0 auto;padding:0}
 html:root body[data-page="welcome"] .nw-welcome-content::before{inset:-40px -16px -48px;background:radial-gradient(ellipse at 47% 42%,var(--welcome-wash) 0%,var(--welcome-wash) 35%,rgba(6,19,32,.36) 64%,transparent 83%)!important}
 html:root body[data-page="welcome"] .nw-language-entry h1{font-size:clamp(2rem,7.8vw,2.7rem);line-height:1.4;margin:10px 0 18px}
 html:root body[data-page="welcome"] .nw-language-entry .definition{font-size:.94rem;line-height:1.8}
 html:root body[data-page="welcome"] .language-grid{gap:8px;margin-top:20px}
 html:root body[data-page="welcome"] .language-grid>a{min-height:62px;padding:9px 12px}
 html:root body[data-page="welcome"] .welcome-enter .button{width:100%}
 html:root body[data-page="welcome"] :is(.safety-inline,.footer){padding:36px 16px;max-width:480px}
 html:root body[data-page="welcome"] .footer{padding-bottom:calc(36px + env(safe-area-inset-bottom))}
}
@media(prefers-reduced-motion:reduce){html:root body[data-page="welcome"] .language-grid>a{transition:none}}
