@font-face{font-family:WelcomeText;src:url('campaign-book.woff2') format('woff2');font-weight:400;font-display:swap}
:root{font-family:SiteText,'Trebuchet MS',sans-serif;color:#fff;background:#fff;font-synthesis:none}
.welcome-page .official-link,.welcome-page .question{font-family:WelcomeText,'Trebuchet MS',sans-serif}
*{box-sizing:border-box}
body{margin:0}
button{font:inherit;cursor:pointer}
a{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid #ffb523;outline-offset:4px}
.topbar{height:70px;background:#005da8}
.topbar-inner{position:relative;width:calc(100% - 48px);max-width:1680px;height:100%;margin:auto;display:flex;align-items:center}
.official-link{font-size:18px;text-decoration:none;line-height:1.4}
.official-link:hover{text-decoration:underline}
.portal-symbol{position:absolute;left:50%;top:0;transform:translateX(-50%);width:100px;height:70px;display:block;object-fit:contain}
.portal-symbol{display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;text-decoration:none;font:800 14px/1.05 system-ui,sans-serif;letter-spacing:.08em}
.hero{height:690px;overflow:hidden;background:linear-gradient(134.3deg,#0067b1 0%,#0067b1 46%,#198aaf 46.15%,#3cb8ad 100%)}
.hero-inner{position:relative;max-width:1680px;width:calc(100% - 48px);height:100%;margin:auto}
.welcome-page .title{margin:0;padding-top:10px;text-align:center;font-size:68px;line-height:1.14;letter-spacing:-.035em;color:#fff}
.age-panel{position:absolute;left:0;top:147px;width:420px}
.accent{display:block;width:0;height:0;border-left:26px solid #ff9900;border-top:26px solid transparent;margin-bottom:39px}
.welcome-page .question{margin:0 0 64px;text-align:center;font-size:42px;line-height:1.25;letter-spacing:-.035em;font-weight:400}
.choices{display:flex;gap:4px}
.choice{width:126px;min-height:48px;padding:10px 16px;border:1px solid #2388b9;border-radius:2px;background:transparent;color:#45bdd1;font-size:18px;transition:background .15s}
.welcome-page .choice{font-weight:400}
.welcome-page .choice.yes{color:#ffce00;font-weight:700}
.choice:hover{background:#ffffff16}
.notice{margin:18px 0 0;font-size:16px;line-height:1.5;max-width:360px}
.notice:empty{display:none}
.art{position:absolute;left:26.25%;bottom:0;width:796px;pointer-events:none}
.hero-art{display:block;width:100%;height:auto}
.age-seal{position:absolute;left:75%;bottom:44px;width:94px;height:94px;object-fit:contain}
.age-seal{display:block;border:0;border-radius:0;background:transparent}
footer{min-height:150px}
.text-button{border:0;background:none;color:#4c6577;text-decoration:underline;padding:8px 0;font:inherit}
dialog{width:min(600px,calc(100% - 32px));max-height:85dvh;padding:28px;color:#3d4c60;border:0;border-radius:16px;box-shadow:0 24px 90px #001f4055}
dialog::backdrop{background:#00294f99}
dialog h2{margin-top:0}
dialog h3{font-size:18px;margin-bottom:8px}
dialog p{font-size:16px;line-height:1.6}
dialog form{text-align:right}
.close{min-height:44px;padding:10px 24px;border:0;border-radius:5px;background:#0067b1;color:#fff}
.welcome-page .cookie-settings-link{left:24px;bottom:24px;width:48px;height:48px}
.welcome-page .cookie-settings-link svg{width:40px;height:40px}
@media(min-width:1750px){.portal-symbol{left:49%}}
@media(max-width:1300px){
  .welcome-page .title{font-size:64px;padding-top:22px}
  .age-panel{width:340px}
  .welcome-page .question{font-size:36px}
  .art{left:29%;width:68%}
  .age-seal{left:auto;right:0;bottom:28px;width:80px;height:80px}
}
@media(max-width:900px){
  .hero{height:650px}
  .welcome-page .title{font-size:52px}
  .age-panel{top:150px;width:300px}
  .welcome-page .question{font-size:32px;margin-bottom:40px}
  .art{left:34%;width:72%}
  .age-seal{bottom:280px;width:72px;height:72px}
}
@media(max-width:650px){
  .topbar{height:64px}
  .topbar-inner,.hero-inner{width:calc(100% - 40px)}
  .official-link{font-size:13px;max-width:145px}
  .portal-symbol{left:auto;right:0;transform:none;height:64px;width:88px}
  .hero{height:auto;min-height:700px;background:linear-gradient(138deg,#0067b1 0%,#0067b1 51%,#198aaf 51.2%,#3cb8ad 100%)}
  .hero-inner{display:flex;flex-direction:column;align-items:center}
  .welcome-page .title{font-size:clamp(36px,8.5vw,52px);padding-top:24px;text-wrap:balance}
  .age-panel{position:relative;top:auto;left:auto;width:100%;max-width:360px;margin-top:32px}
  .accent{border-left-width:20px;border-top-width:20px;margin-bottom:18px}
  .welcome-page .question{font-size:32px;margin-bottom:28px}
  .choices{justify-content:center;gap:6px}
  .choice{width:128px;min-height:48px}
  .notice{text-align:center}
  .art{position:relative;left:auto;bottom:auto;width:calc(100% + 24px);max-width:520px;margin-top:40px}
  .age-seal{right:0;bottom:12px;width:60px;height:60px}
  footer{min-height:100px}
  dialog{padding:22px}
  .welcome-page .cookie-settings-link{left:16px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){.choice{transition:none}}

.welcome-page .portal-symbol{flex-direction:column;gap:4px}
.welcome-page .portal-symbol small{font:400 10px/1.2 var(--font-text);letter-spacing:0}
.welcome-page .demo-disclosure{margin:10px auto 0;max-width:100%;padding:0 12px;text-align:center;color:#fff;font:400 14px/1.4 var(--font-text)}
@media(max-width:650px){
  .welcome-page .demo-disclosure{margin-top:2vw;padding:0 4vw;font-size:clamp(10px,2.6vw,14px)}
}

/* Fit the complete reference composition inside the available desktop window. */
@media(min-width:901px){
  .welcome-page{--welcome-unit:min(.052219321vw,.110132159svh);min-height:100svh}
  .topbar{height:calc(90 * var(--welcome-unit))}
  .topbar-inner,.hero-inner{width:88%;max-width:calc(1680 * var(--welcome-unit))}
  .official-link{font-size:calc(22 * var(--welcome-unit))}
  .portal-symbol{height:calc(90 * var(--welcome-unit));width:calc(125 * var(--welcome-unit))}
  .hero{height:calc(746 * var(--welcome-unit));background:linear-gradient(134.3deg,#0067b1 0%,#0067b1 44.5%,#198aaf 44.65%,#3cb8ad 100%)}
  .welcome-page .title{padding-top:calc(14 * var(--welcome-unit));font-size:calc(84 * var(--welcome-unit))}
  .age-panel{top:calc(184 * var(--welcome-unit));width:calc(420 * var(--welcome-unit))}
  .accent{border-left-width:calc(32 * var(--welcome-unit));border-top-width:calc(32 * var(--welcome-unit));margin-bottom:calc(50 * var(--welcome-unit))}
  .welcome-page .question{font-size:calc(52 * var(--welcome-unit));line-height:1.25;margin-bottom:calc(80 * var(--welcome-unit))}
  .choices{gap:calc(5 * var(--welcome-unit))}
  .choice{width:calc(158 * var(--welcome-unit));min-height:max(44px,calc(60 * var(--welcome-unit)));padding:calc(10 * var(--welcome-unit)) calc(16 * var(--welcome-unit));font-size:calc(22 * var(--welcome-unit))}
  .art{left:26.25%;width:calc(796 * var(--welcome-unit))}
  .age-seal{left:75%;right:auto;bottom:calc(54 * var(--welcome-unit));width:calc(115 * var(--welcome-unit));height:calc(115 * var(--welcome-unit))}
  footer{min-height:calc(100svh - 836 * var(--welcome-unit))}
  .welcome-page .cookie-settings-link{left:calc(38 * var(--welcome-unit));bottom:calc(26 * var(--welcome-unit));width:max(44px,calc(58 * var(--welcome-unit)));height:max(44px,calc(58 * var(--welcome-unit)))}
  .welcome-page .cookie-settings-link svg{width:82.76%;height:82.76%}
}

/* Desktop masthead follows the reference proportions, with the portal's own identity. */
@media(min-width:901px){
  .welcome-page .topbar{height:88px;background:#005da8}
  .welcome-page .topbar-inner{width:88%;max-width:1680px}
  .welcome-page .official-link{font-size:22px}
  .welcome-page .portal-symbol{left:50%;width:150px;height:88px;font-size:16px}
  .welcome-page .title{padding-top:14px;font-size:clamp(56px,5vw,96px);line-height:1.14}
  .welcome-page .age-panel{top:max(174px,calc(184 * var(--welcome-unit)))}
  .welcome-page .hero{background:linear-gradient(134.3deg,#0067b1 0%,#0067b1 44.5%,#198aaf 44.65%,#3cb8ad 100%)}
}
