/* SkiAvo design system. Tokens first; components below. See site/brand/BRAND.md. */
:root {
  --ink: #0B1F33;        /* text, dark surfaces */
  --ink-2: #12304C;      /* raised dark surface */
  --ink-3: #1B4466;
  --ice: #F4F8FA;        /* page */
  --snow: #FFFFFF;       /* cards */
  --frost: #E8F1F5;      /* subtle fills */
  --line: #D6E1E8;
  --line-strong: #A9BBC8;
  --slate: #4A5A69;      /* secondary text, 6.9:1 on ice */
  --alpine: #2BB5A6;     /* accent fills, never small text on light */
  --alpine-ink: #0D7268; /* accent text on light, 5.6:1 */
  --alpine-soft: #E2F5F2;
  --warn: #9A4507;       /* 6.1:1 on white */
  --warn-bg: #FFF5EA;
  --warn-line: #F4C99B;
  --bad: #A3271F;
  --bad-bg: #FDF0EE;
  --ok: #17663B;
  --ok-bg: #EAF7EF;
  --r-sm: 10px; --r: 14px; --r-lg: 20px;
  --shadow: 0 1px 2px rgb(11 31 51 / .06), 0 8px 24px -12px rgb(11 31 51 / .18);
  --font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; background: var(--ice); color: var(--ink); font: 18px/1.6 var(--font); overflow-wrap: break-word; }
@media (max-width: 600px) { body { font-size: 17px; } }
img, svg { max-width: 100%; height: auto; }
a { color: var(--alpine-ink); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--alpine); outline-offset: 2px; border-radius: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; left: -999px; top: 8px; z-index: 20; background: var(--ink); color: #fff; padding: 12px 16px; border-radius: var(--r-sm); }
.skip:focus { left: 16px; }
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 16px; }
.narrow { max-width: 760px; }
h1, h2, h3 { line-height: 1.15; letter-spacing: -0.02em; margin: 0 0 .5em; }
h1 { font-size: clamp(2.1rem, 5.2vw, 3.6rem); letter-spacing: -0.035em; }
h2 { font-size: clamp(1.5rem, 3vw, 2.05rem); }
h3 { font-size: 1.2rem; }
p { margin: 0 0 1em; }
.lead { font-size: clamp(1.1rem, 2.1vw, 1.3rem); color: var(--slate); max-width: 60ch; }
.muted { color: var(--slate); }
.small { font-size: .9rem; }
.num { font-variant-numeric: tabular-nums; }
.eyebrow { font-size: .8rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; color: var(--alpine-ink); }

/* Header */
.top { background: var(--ink); color: #fff; }
.top .wrap { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 68px; }
.brand { display: inline-flex; align-items: center; min-height: 48px; }
.brand img { height: 34px; width: auto; display: block; }
.nav { display: flex; gap: 2px; flex-wrap: wrap; justify-content: flex-end; }
.nav a { color: #DCE8F0; text-decoration: none; font-weight: 600; font-size: 16px; padding: 10px 12px; min-height: 44px; display: inline-flex; align-items: center; border-radius: var(--r-sm); }
.nav a:hover, .nav a[aria-current="page"] { background: var(--ink-2); color: #fff; }
.nav a[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--alpine); }
@media (max-width: 720px) { .nav .nav-opt { display: none; } .nav a { padding: 10px 8px; font-size: 15px; } }

/* Hero */
.hero { background: radial-gradient(1200px 500px at 85% -10%, #1F5C82 0%, transparent 60%), linear-gradient(180deg, var(--ink) 0%, #0E2840 100%); color: #fff; position: relative; overflow: hidden; }
.hero .wrap { padding-top: 56px; padding-bottom: 72px; position: relative; z-index: 1; }
.hero .eyebrow { color: #7FE0D4; }
.hero h1 { max-width: 15ch; }
.hero .lead { color: #C5D6E3; }
.hero-art { position: absolute; inset: auto 0 0 0; height: 46%; opacity: .5; pointer-events: none; }
.page-head { background: var(--ink); color: #fff; }
.page-head .wrap { padding-top: 36px; padding-bottom: 40px; }
.page-head .lead { color: #C5D6E3; }
.page-head .eyebrow { color: #7FE0D4; }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 22px; border-radius: 12px; border: 2px solid transparent; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; line-height: 1.2; }
.btn-primary { background: var(--alpine); color: var(--ink); }
.btn-primary:hover { background: #3FCABB; }
.btn-dark { background: var(--ink); color: #fff; }
.btn-dark:hover { background: var(--ink-2); }
.btn-ghost { background: transparent; color: inherit; border-color: currentColor; }
.btn-quiet { background: var(--frost); color: var(--ink); }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }

/* Route cards */
.routes { display: grid; gap: 16px; margin-top: -40px; position: relative; z-index: 2; }
@media (min-width: 820px) { .routes { grid-template-columns: 1fr 1fr; } }
.route { background: var(--snow); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 24px; box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 10px; }
.route .tag { align-self: flex-start; }
.route h2 { margin: 0; font-size: 1.55rem; }
.route ul { margin: 0; padding-left: 1.2em; color: var(--slate); }
.route .btn { align-self: flex-start; margin-top: auto; }

/* Generic */
.section { padding-block: 56px; }
.section-tight { padding-block: 32px; }
.card { background: var(--snow); border: 1px solid var(--line); border-radius: var(--r); padding: 20px; }
.grid-3 { display: grid; gap: 16px; }
@media (min-width: 820px) { .grid-3 { grid-template-columns: repeat(3, 1fr); } }
.grid-2 { display: grid; gap: 16px; }
@media (min-width: 820px) { .grid-2 { grid-template-columns: 1fr 1fr; } }
.tag { display: inline-block; font-size: .78rem; font-weight: 750; padding: 4px 10px; border-radius: 99px; background: var(--alpine-soft); color: var(--alpine-ink); letter-spacing: .02em; }
.tag-warn { background: var(--warn-bg); color: var(--warn); }
.tag-bad { background: var(--bad-bg); color: var(--bad); }
.tag-ok { background: var(--ok-bg); color: var(--ok); }
.tag-ink { background: var(--ink); color: #fff; }
.tag-demo { background: #FFF1C9; color: #6B4A00; border: 1px solid #E6C25B; }
.callout { border-left: 4px solid var(--alpine); background: var(--snow); padding: 16px 18px; border-radius: 0 var(--r) var(--r) 0; }
.callout-warn { border-left-color: var(--warn); background: var(--warn-bg); }
.callout-bad { border-left-color: var(--bad); background: var(--bad-bg); }
.steps { counter-reset: s; list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }
@media (min-width: 820px) { .steps { grid-template-columns: repeat(3, 1fr); } }
.steps li { counter-increment: s; background: var(--snow); border: 1px solid var(--line); border-radius: var(--r); padding: 20px; }
.steps li::before { content: counter(s); display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ink); color: #fff; font-weight: 800; margin-bottom: 10px; }
.checklist { list-style: none; padding: 0; margin: 0; }
.checklist li { padding-left: 28px; position: relative; margin: 6px 0; }
.checklist li::before { content: "✓"; position: absolute; left: 0; color: var(--alpine-ink); font-weight: 900; }
.checklist.no li::before { content: "–"; color: var(--slate); }

/* Tables */
.tw { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--line); border-radius: var(--r); background: var(--snow); }
table { width: 100%; border-collapse: collapse; font-size: 16px; }
.tw table { min-width: 640px; }
caption { text-align: left; padding: 12px; font-weight: 700; }
th, td { padding: 10px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--slate); background: #F7FAFC; position: sticky; top: 0; }
tbody tr:last-child > * { border-bottom: 0; }
td.n, th.n { text-align: right; font-variant-numeric: tabular-nums; }

/* Forms */
label, .label { display: block; font-size: .92rem; font-weight: 650; color: var(--ink); margin-bottom: 6px; }
.hint { display: block; font-size: .85rem; color: var(--slate); font-weight: 400; margin-top: 2px; }
input, select, textarea { width: 100%; font: inherit; font-size: 17px; padding: 10px 12px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); background: #fff; color: var(--ink); min-height: 48px; }
input[type="checkbox"], input[type="radio"] { width: 22px; height: 22px; min-height: 0; accent-color: var(--alpine-ink); }
input[aria-invalid="true"], select[aria-invalid="true"] { border-color: var(--bad); box-shadow: 0 0 0 1px var(--bad); }
.err { color: var(--bad); font-size: .9rem; margin-top: 4px; }
fieldset { border: 1px solid var(--line); border-radius: var(--r); padding: 16px; margin: 0 0 14px; background: var(--snow); }
legend { font-weight: 750; padding: 0 6px; }
.row { display: grid; gap: 12px; }
@media (min-width: 720px) { .row-2 { grid-template-columns: 1fr 1fr; } .row-3 { grid-template-columns: 1fr 1fr 1fr; } .row-4 { grid-template-columns: 2fr 1fr 1fr auto; align-items: end; } }
.check { display: flex; gap: 10px; align-items: flex-start; font-weight: 500; }

/* Planner layout */
.planner { display: grid; gap: 24px; align-items: start; }
@media (min-width: 1000px) { .planner { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); } .sticky { position: sticky; top: 16px; } }
.panel { background: var(--snow); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 20px; box-shadow: var(--shadow); }
.panel h2 { font-size: 1.3rem; }
.meter { height: 10px; background: var(--frost); border-radius: 99px; overflow: hidden; }
.meter > span { display: block; height: 100%; background: var(--alpine); }
.pricebox { border: 2px solid var(--ink); border-radius: var(--r); padding: 16px; background: #fff; }
.pricebox .big { font-size: 2rem; font-weight: 850; letter-spacing: -0.02em; }
.status-line { display: flex; gap: 8px; align-items: baseline; flex-wrap: wrap; }

/* Results */
.verdict { background: linear-gradient(135deg, var(--ink), var(--ink-3)); color: #fff; border-radius: var(--r-lg); padding: 22px; }
.verdict .k { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: #8FE6DA; font-weight: 750; }
.verdict .big { font-size: clamp(2.2rem, 5vw, 3rem); font-weight: 850; letter-spacing: -0.03em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.verdict .sub { color: #C9D7E2; }
.verdict.unsure { background: var(--warn-bg); color: var(--ink); border: 1px solid var(--warn-line); }
.verdict.unsure .k { color: var(--warn); }
.opt { border: 1px solid var(--line); border-radius: var(--r); padding: 16px; background: #fff; }
.opt.best { border: 2px solid var(--alpine); background: #F3FBFA; }
.opt-head { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; align-items: baseline; }
.opt-total { font-size: 1.5rem; font-weight: 850; font-variant-numeric: tabular-nums; }
details { border-top: 1px solid var(--line); margin-top: 12px; padding-top: 8px; }
summary { cursor: pointer; font-weight: 650; min-height: 44px; display: flex; align-items: center; }
.days { list-style: none; margin: 8px 0 0; padding: 0; font-size: .95rem; }
.days li { display: grid; grid-template-columns: 7.5em 1fr; gap: 8px; padding: 6px 0; border-bottom: 1px dashed var(--line); }
.chip { display: inline-block; font-size: .78rem; font-weight: 700; padding: 2px 8px; border-radius: 6px; background: var(--frost); }
.chip-pass { background: var(--alpine-soft); color: var(--alpine-ink); }
.chip-ticket { background: #EEF1F6; color: var(--ink); }
.chip-unknown { background: var(--warn-bg); color: var(--warn); }

/* Gear */
.filters { display: grid; gap: 12px; }
@media (min-width: 820px) { .filters { grid-template-columns: 2fr 1fr 1fr 1fr auto; align-items: end; } }
.offer { display: grid; gap: 8px; border: 1px solid var(--line); border-radius: var(--r); padding: 14px; background: #fff; }
@media (min-width: 720px) { .offer { grid-template-columns: 1fr auto; align-items: center; } }
.offer .price { font-size: 1.35rem; font-weight: 850; font-variant-numeric: tabular-nums; text-align: right; }
.disclosure { font-size: .92rem; background: var(--frost); border-radius: var(--r-sm); padding: 10px 12px; }

/* Footer */
.foot { border-top: 1px solid var(--line); margin-top: 56px; padding: 28px 0 48px; color: var(--slate); font-size: .95rem; }
.foot .cols { display: grid; gap: 16px; }
@media (min-width: 820px) { .foot .cols { grid-template-columns: 2fr 1fr 1fr; } }
.foot a { color: var(--ink); }
.foot ul { list-style: none; padding: 0; margin: 0; }
.foot li { margin: 6px 0; }
[hidden] { display: none !important; }
.on-dark { color: #C5D6E3; }
.on-dark-link { color: #8FE6DA; }
meter { width: 100%; height: 12px; }
.verdict.unsure .sub { color: var(--slate); }
ul.grid-2 { list-style: none; padding: 0; margin: 0; }
.grid-2 > *, .grid-3 > *, .planner > *, .routes > * { min-width: 0; }
@media (max-width: 420px) { .nav a { font-size: 14px; padding: 8px 6px; } .brand img { height: 28px; } }
th, td.n, th.n, .num, .opt-total, .price { white-space: nowrap; }
td { white-space: normal; }
td .hint { white-space: normal; }
/* v0.4: alpine observatory. Preserve readable, light tools beneath atmospheric discovery. */
:root{--ink:#0a1a2a;--alpine:#63e6c4;--alpine-ink:#086652;--r-lg:24px;--shadow:0 10px 40px -22px #102c4b55}
.wrap{max-width:1260px;padding-left:clamp(20px,4vw,60px);padding-right:clamp(20px,4vw,60px)}
.top{background:#06111ded;border-bottom:1px solid #b9d4df19;position:relative;z-index:5}.top .wrap{min-height:80px}.nav a{font-size:13px;font-weight:550;padding:10px}.nav a[aria-current=page]{box-shadow:none;background:#17303b;color:#88f2d2}.brand img{width:126px;height:auto}
.future-hero,.explore-hero{position:relative;overflow:hidden;color:#eff9ff;background:radial-gradient(ellipse at 76% 26%,#18415555,transparent 48%),radial-gradient(ellipse at 2% 90%,#064d4544,transparent 40%),#06111d}
.future-hero:before,.explore-hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#bbf6f442 .7px,transparent .7px);background-size:29px 29px;opacity:.3;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10px;position:relative;min-height:670px}.hero-copy{padding:65px 0;position:relative;z-index:2}.hero-copy h1{font-size:clamp(44px,5.5vw,76px);line-height:1.02;letter-spacing:-.055em;font-weight:650;max-width:12ch;margin:26px 0}.hero-copy h1 span{color:#95f5d7}.hero-copy .lead{font-size:19px;line-height:1.65;color:#b7cbd8;max-width:36ch}.hero-copy .eyebrow{font-size:10px;letter-spacing:.15em;color:#a6d5d0}.status-dot{display:inline-block;width:6px;height:6px;background:#7ff4c9;border-radius:50%;margin-right:8px;box-shadow:0 0 14px #7ff4c9}.hero-copy .btn{font-size:14px;padding:15px 20px;min-height:52px}.btn-ghost{border:1px solid #90b4bf55}.hero-fine{font-size:11px;color:#9fbbc8;margin-top:18px}.hero-numbers{display:flex;gap:32px;border-top:1px solid #7196aa33;padding-top:23px;margin-top:32px}.hero-numbers strong{font-size:26px;display:block;line-height:1.3;font-weight:500}.hero-numbers span{font-size:10px;color:#9fbbc8;display:block}
.globe-stage{min-width:0;position:relative;align-self:center;aspect-ratio:1;max-height:640px;isolation:isolate}.globe-stage canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;outline-offset:-8px}.globe-stage canvas:active{cursor:grabbing}.orbital-label{position:absolute;top:7%;left:50%;transform:translateX(-50%);font:10px var(--mono);letter-spacing:.16em;color:#99bbca;white-space:nowrap}.globe-controls{display:flex;gap:6px;justify-content:center;position:absolute;bottom:5%;width:100%}.globe-controls button{background:#112b39;color:#d2eee7;border:1px solid #294554;border-radius:20px;padding:8px 12px;font:11px var(--font);min-height:38px;cursor:pointer}.globe-caption{text-align:center;font:10px var(--mono);color:#8dabbc;position:absolute;bottom:-2%;width:100%;margin:0}
.product-section{padding-top:80px}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:35px;margin-bottom:34px}.section-heading h2{font-size:clamp(28px,3.3vw,44px);letter-spacing:-.045em;font-weight:600}.section-heading .eyebrow{max-width:18ch;font-size:10px;margin-top:10px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{display:flex;flex-direction:column;color:var(--ink);background:#fff;border:1px solid #dce6ea;border-radius:22px;padding:30px;text-decoration:none;transition:transform .2s,border-color .2s;min-height:330px}.product-card:hover{transform:translateY(-4px);border-color:#44b49d;text-decoration:none}.product-card.featured{background:#e7f5f0}.card-number{font:10px var(--mono);letter-spacing:.12em;color:#41666b}.product-symbol{font-size:54px;font-weight:300;color:#167565;margin:23px 0 10px;line-height:1}.product-card h3{font-size:25px;letter-spacing:-.035em}.product-card p{font-size:14px;color:#4d6370;line-height:1.7}.text-link{font-size:13px;font-weight:650;text-decoration:none;color:#096655}.product-card .text-link{margin-top:auto}.destination-chips{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 32px}.destination-chips a,.destination-chips button{font:13px var(--font);color:#173f47;border:1px solid #cadbdf;padding:12px 18px;border-radius:28px;background:white;text-decoration:none;cursor:pointer}.destination-chips a:hover,.destination-chips button:hover{background:#dff7ee}.transparency-strip{border-top:1px solid #d3e2e8;margin-top:44px;padding-top:28px;display:grid;grid-template-columns:1fr 2fr 1fr;gap:25px;font-size:13px;color:#4b6574}.transparency-strip strong{font-size:17px;color:#142f3d}.attribution{font-size:10px;line-height:1.7;color:#627985;margin-top:30px}.attribution a{color:inherit}
.world-filters{display:grid;grid-template-columns:1fr 1.6fr 1fr 1fr;gap:16px;align-items:end;background:#fff;padding:22px;border:1px solid #d5e2e8;border-radius:18px;margin:25px 0}.world-filters label{font-size:12px}.world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.destination-card{border:1px solid #d9e4e8;border-radius:18px;padding:23px;background:white;display:flex;flex-direction:column;gap:10px}.destination-card h3{font-size:20px;line-height:1.3}.destination-card p{font-size:13px;margin:0 0 8px}.destination-meta{font:9px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:#577685}.destination-card .btn-row{margin-top:auto}.pagination{display:flex;justify-content:center;align-items:center;gap:24px;padding:32px 0;font-size:13px}.page-head{background:radial-gradient(ellipse at 85% 50%,#17514b55,transparent 55%),#071624}.page-head .wrap{padding-top:60px;padding-bottom:54px}.page-head h1{font-weight:600;letter-spacing:-.045em}.panel{box-shadow:var(--shadow)}.foot{margin-top:40px}.foot .small{font-size:11px}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr 1fr;min-height:550px}.hero-copy h1{font-size:48px}.hero-copy .lead{font-size:16px}.hero-numbers{gap:15px}.product-grid{gap:10px}.product-card{padding:22px}.world-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.world-filters{grid-template-columns:1fr 1fr}.nav .nav-opt{display:none}}
@media(max-width:640px){.top .wrap{flex-direction:column;gap:0;padding-top:12px}.nav{justify-content:center}.nav a{font-size:12px;padding:10px 8px}.hero-grid{display:flex;flex-direction:column;gap:0}.hero-copy{padding:44px 0 0;width:100%}.hero-copy h1{font-size:52px;max-width:13ch}.hero-copy .lead{max-width:38ch}.globe-stage{width:100%;max-width:460px;margin:10px auto 40px}.hero-numbers{justify-content:space-between}.hero-numbers strong{font-size:23px}.hero-numbers span{max-width:12ch}.section-heading{display:block}.section-heading .eyebrow{max-width:none}.product-grid,.world-grid{grid-template-columns:1fr}.product-card{min-height:0;padding:24px}.product-symbol{margin:12px 0;font-size:40px}.product-section{padding-top:45px}.world-filters{grid-template-columns:1fr;padding:18px}.transparency-strip{grid-template-columns:1fr;gap:10px}.pagination{gap:10px;flex-wrap:wrap}.destination-chips{gap:7px}.destination-chips a,.destination-chips button{font-size:12px;padding:10px 13px}.explore-hero .hero-copy h1{font-size:44px}}

/* Keep every primary task reachable on narrow screens. */
@media(max-width:700px){nav .nav-opt{display:inline-flex!important}header nav{flex-wrap:wrap;gap:8px}header .container{flex-wrap:wrap}nav a{min-height:44px;display:inline-flex;align-items:center}.globe-controls button{min-height:44px;min-width:44px}}

.recovery{display:block;overflow-wrap:anywhere;padding:16px;border:1px solid var(--line);border-radius:8px}.nav-opt{display:inline-flex}.filters input,.filters select{max-width:100%}

/* Information reflows in the page, without nested horizontal or vertical scrollers. */
.price-facts,.coverage-card{background:var(--snow);border:1px solid var(--line);border-radius:var(--r);padding:clamp(16px,3vw,26px);min-width:0}
.price-facts>h3{margin-top:0}.price-fact{padding:18px 0;border-top:1px solid var(--line)}.price-fact-heading{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;justify-content:space-between}.price-fact-heading h4{margin:0}.price-fact-heading strong{font-size:1.4rem}
.fact-list{margin:12px 0 0}.fact-list>div{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:8px 14px;padding:7px 0}.fact-list dt{font-size:.82rem;color:var(--slate);font-weight:600}.fact-list dd{margin:0;font-size:.9rem;overflow-wrap:anywhere;min-width:0}
.coverage-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.coverage-card h2{font-size:1.35rem;margin:0 0 12px}.coverage-card .eyebrow{margin:0 0 5px}.coverage-card .tag{white-space:normal}
.tw{overflow:visible;max-width:100%}.tw table{min-width:0;table-layout:fixed}.tw th,.tw td{overflow-wrap:anywhere;white-space:normal}.grid-2,.grid-3,.row,.world-filters{min-width:0}.world-filters>*{min-width:0}.world-filters input,.world-filters select{width:100%;min-width:0}.tag{max-width:100%;white-space:normal}
@media(max-width:1100px){.tw table,.tw tbody{display:block}.tw thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tw tbody tr{display:block;padding:14px;border-bottom:1px solid var(--line)}.tw tbody tr:last-child{border-bottom:0}.tw tbody th,.tw tbody td{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(0,1.2fr);gap:12px;padding:7px 0;border:0;text-align:left}.tw [data-label]::before{content:attr(data-label);font-size:.8rem;font-weight:650;color:var(--slate)}.tw caption{display:block}.tw .n{text-align:left}}
@media(max-width:700px){.coverage-grid{grid-template-columns:1fr}.fact-list>div{grid-template-columns:1fr;gap:2px}.globe-controls{flex-wrap:wrap;bottom:1%}.globe-controls button{font-size:11px;padding:7px 10px}.globe-caption{bottom:-8%}.explore-hero .globe-stage{margin-bottom:35px}.world-filters{grid-template-columns:1fr}.tw tbody th,.tw tbody td{grid-template-columns:1fr;gap:2px}.top>.wrap{flex-wrap:wrap;justify-content:center}.nav{flex-wrap:wrap;justify-content:center}}

.globe-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;margin:0;color:#99bbca;font:13px var(--font);pointer-events:none}.globe-status[hidden]{display:none}.globe-status button{pointer-events:auto;background:#112b39;color:#d2eee7;border:1px solid #294554;border-radius:20px;padding:8px 14px;min-height:44px;font:12px var(--font);cursor:pointer}
.suggest{position:absolute;z-index:20;margin:2px 0 0;padding:4px 0;list-style:none;background:#fff;border:1px solid #c9d6dc;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,.15);min-width:240px;max-width:90vw}.suggest li{padding:10px 14px;cursor:pointer;min-height:44px;display:flex;gap:8px;align-items:center}.suggest li:hover{background:#e8f4f2}.filters>div{position:relative}

.suggest [aria-selected="true"] { background: #E8F1F5; outline: 2px solid #0D7268; outline-offset: -2px; }
.consent-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;max-width:560px;margin:0 auto;background:#0B1F33;color:#fff;padding:14px 16px;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.35);font:14px/1.4 system-ui,sans-serif}.consent-bar p{margin:0 0 10px}.consent-bar a{color:#7fe6d8}.consent-bar button{min-height:44px;padding:0 18px;border-radius:8px;font:600 14px system-ui,sans-serif;cursor:pointer}.consent-yes{border:0;background:#2fd3bf;color:#0B1F33;margin-right:8px}.consent-no{border:1px solid #7fa0b4;background:transparent;color:#fff}
