/* International welcome and document entrance */
.locale-control { border:1px solid #b99a6870; border-radius:30px; padding:9px 14px; font:600 11px/1.4 var(--sans); color:var(--green); background:transparent; cursor:pointer; max-width:240px; }
.site-header__inner { gap:18px; }
.locale-control:hover { background:#e9ddc04d; }
.language-links { display:flex; gap:14px; flex-wrap:wrap; }
.regional-context { margin-top:28px; border-top:1px solid #d7c69f66; padding-top:18px; font-size:13px; color:#eee6d3; max-width:48ch; }
.regional-legal { border-left:2px solid var(--champagne); padding:16px 24px; background:#e9ddc044; }
.welcome { width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:#0c2922; color:#f5f1e5; overflow:auto; overscroll-behavior:contain; }
.welcome[open] { animation:welcome-in .45s ease both; }
.welcome::backdrop { background:#0c2922; }
.welcome__layout { display:grid; grid-template-columns:1fr 1fr; min-height:100%; max-width:1500px; margin:auto; }
.welcome__art { position:relative; display:flex; flex-direction:column; justify-content:center; align-items:center; overflow:hidden; padding:64px; background:radial-gradient(ellipse at 40% 50%,#30594b80,transparent 65%); }
.welcome__wordmark { display:flex; align-items:center; gap:18px; align-self:flex-start; position:absolute; top:48px; left:60px; font:28px var(--serif); letter-spacing:.18em; color:#e9ddc0; }
.world { width:min(32vw,410px); aspect-ratio:1; position:relative; border-radius:50%; border:1px solid #d0bb8880; background:radial-gradient(circle at 30% 25%,#9fae7f40,#143a2e55 55%,#071e18); box-shadow:inset -28px -12px 60px #071e18,0 0 100px #b99a6812; }
.world::before,.world::after { content:''; position:absolute; inset:18% 0; border-block:1px solid #d0bb8850; border-radius:50%; }
.world::after { inset:34% 0; }
.world__meridian { position:absolute; inset:0 24%; border:1px solid #d0bb8870; border-radius:50%; }
.world__equator { position:absolute; inset:0 43%; border:1px solid #d0bb8850; border-radius:50%; }
.world__orbit { position:absolute; inset:22% -16%; border:1px solid #d0bb8870; border-radius:50%; transform:rotate(-32deg); animation:orbit-glow 8s ease-in-out infinite alternate; }
.world__orbit--two { transform:rotate(42deg); inset:15% -10%; animation-delay:-4s; }
.world__point { position:absolute; width:7px; height:7px; border-radius:50%; background:#ead8a8; top:28%; left:24%; box-shadow:110px 80px 0 #d9c08b,42px 150px 0 #d9c08b; }
.world__caption { position:absolute; bottom:54px; left:60px; font-size:10px; letter-spacing:.25em; color:#c4b58f; }
.welcome__content { display:flex; flex-direction:column; justify-content:center; padding:60px clamp(28px,5vw,90px); border-left:1px solid #d0bb8826; }
.welcome h1 { font:400 clamp(36px,4vw,60px)/1.08 var(--serif); letter-spacing:-.025em; margin:0 0 24px; max-width:12ch; }
.welcome__content > p { font-size:15px; line-height:1.75; color:#cbd5cb; margin-bottom:30px; }
.welcome form { display:grid; gap:10px; }
.welcome label { font-size:12px; font-weight:600; letter-spacing:.04em; margin-top:8px; }
.welcome input,.welcome select { width:100%; min-width:0; min-height:48px; color:#f5f1e5; background:#153c31; border:1px solid #8f9d8270; border-radius:5px; padding:10px 13px; font:14px var(--sans); }
.welcome select option { color:#f5f1e5; background:#153c31; }
.welcome :focus-visible { outline:2px solid #e9ddc0; outline-offset:4px; }
.welcome .button { background:#e2d1aa; color:#153c31; width:100%; margin-top:8px; min-height:52px; }
.welcome__note { font-size:11px; line-height:1.6; color:#bcc9bb; margin:12px 0 0; }
.welcome__cancel { background:transparent; color:#e9ddc0; border:0; padding:10px; cursor:pointer; }
.page-loader__line { position:fixed; top:0; left:0; width:100%; height:5px; margin:0; background:#f5f1e533; z-index:1; }
.page-loader__line::after { animation:none; transform:scaleX(.08); transition:transform .4s ease-out; background:#e2d1aa; }
.entrance-playing .page-loader__line::after { animation:page-progress 8s cubic-bezier(.12,.6,.2,1) forwards; }
.load-complete .page-loader__line::after { animation:none; transform:scaleX(1); }
.entrance-playing .page-loader img { animation-duration:.55s; }
.entrance-playing .page-loader > span:first-of-type { animation-duration:.45s; animation-delay:.15s; }
@keyframes page-progress { from { transform:scaleX(.08); } to { transform:scaleX(.92); } }
@keyframes orbit-glow { from { opacity:.35; } to { opacity:1; } }
@keyframes welcome-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media(min-width:960px) and (max-width:1199px) { .site-header__cta { display:none; } }
@media(max-width:959px) { .locale-control { margin-left:auto; font-size:10px; padding:8px 10px; max-width:190px; } .site-header__cta { display:none; } .welcome__content { padding:40px 28px; } .welcome__wordmark { left:28px; font-size:20px; } }
@media(max-width:650px) { .welcome__layout { grid-template-columns:1fr; } .welcome__art { min-height:145px; padding:20px; align-items:flex-end; } .welcome__wordmark { top:35px; left:24px; font-size:22px; } .world { width:140px; margin-right:-28px; margin-top:0; opacity:.65; } .world__point { box-shadow:none; } .world__caption { display:none; } .welcome__content { border-left:0; padding:12px 24px 32px; justify-content:flex-start; } .welcome h1 { font-size:36px; max-width:18ch; margin-bottom:14px; } .welcome__content > p { margin-bottom:12px; font-size:13px; } .welcome form { gap:7px; } .welcome__note { margin-top:8px; } .legal-return { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .welcome[open],.world__orbit { animation:none; } .entrance-playing .page-loader__line::after { animation:none; transform:scaleX(.6); } .load-complete .page-loader__line::after { transform:scaleX(1); } }

.welcome.is-closing { animation:receipt-out .22s ease both; }

.welcome.is-switching::before { content:''; position:fixed; top:0; left:0; width:100%; height:5px; background:#e2d1aa; transform-origin:left; animation:page-progress 8s ease-out forwards; z-index:3; }
.welcome.is-switching .welcome__wordmark img { animation:symbol-in .55s ease both; }

.locale-control img { display:inline-block; margin-right:7px; vertical-align:middle; border-radius:2px; }
/* Long legal headings and compound words must fit the narrowest viewports. */
.legal__inner { overflow-wrap:anywhere; hyphens:auto; }
.site-footer__bottom nav { flex-wrap:wrap; }

/* Country matches belong to the search field; selection remains optional. */
.welcome [hidden] { display:none !important; }
.welcome #country-choice { min-height:150px; }
.welcome [data-no-countries] { font-size:13px; color:#e9ddc0; }
.welcome__loading { min-height:100dvh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:32px; gap:22px; }
.welcome__loading-brand { font:clamp(24px,5vw,42px) var(--serif); letter-spacing:.18em; }
.welcome__loading p { margin:0; color:#e9ddc0; }
.welcome__progress { width:min(280px,80vw); height:3px; background:#f5f1e533; overflow:hidden; }
.welcome__progress::after { content:''; display:block; height:100%; background:#e2d1aa; transform-origin:left; animation:selection-progress 3.5s linear forwards; }
@keyframes selection-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media(prefers-reduced-motion:reduce) { .welcome__progress::after { animation:none; } .welcome.is-switching::before,.welcome.is-switching .welcome__wordmark img { animation:none; } }

.selection-flag { display:block; object-fit:contain; border-radius:2px; }
[data-country-flag]:empty { display:none; }
[data-loading-flag] .selection-flag { width:54px; height:36px; }
.welcome.is-switching .welcome__loading > img { animation:symbol-in 1s ease both; }
.welcome.is-switching [data-loading-flag] { animation:wordmark-in .7s .3s both; }
.receipt-details { margin:18px 0 0; border-top:1px solid var(--champagne); }
.receipt-details > div { display:grid; grid-template-columns:1fr 1.4fr; gap:16px; padding:12px 0; border-bottom:1px solid var(--border); }
.receipt-details dt { font-size:12px; color:var(--secondary); }
.receipt-details dd { margin:0; color:var(--green); overflow-wrap:anywhere; white-space:pre-wrap; }
.receipt-details > div:last-child { grid-template-columns:1fr; gap:8px; }
.form-result__body h3 { margin-top:26px; font:400 23px var(--serif); color:var(--green); }
@media(max-width:420px) { .receipt-details > div { grid-template-columns:1fr; gap:5px; } }
@media(prefers-reduced-motion:reduce) { .welcome.is-switching .welcome__loading > img,.welcome.is-switching [data-loading-flag] { animation:none; } }
