:root{--navy:#1F3864;--navy2:#2E5496;--navy-deep:#17294B;--navy-ink:#15243F;
--accent:#C0532B;--accent-dark:#A9461F;--accent-soft:#F2B8A0;
--paper:#FAF7F1;--card:#fff;--ink:#1c1b19;--ink2:#3b3934;--muted:#6b7280;--line:#e7e2d8;--green:#2E7D32;
--on-dark:#FAF7F1;--on-dark2:#C9D4E8;--on-dark3:#9fb0cc;
--font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
--font-head:"Montserrat","Inter",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
--gutter:16px;--wrap:1180px;--radius:10px}
@media(min-width:768px){:root{--gutter:24px}}
@media(min-width:1024px){:root{--gutter:32px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-weight:400;font-size:17px;line-height:1.65;
overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
svg,iframe,img{max-width:100%}
h1,h2,h3{font-family:var(--font-head);font-weight:700;color:var(--navy);line-height:1.2;letter-spacing:-.015em;margin:0 0 .5em;text-wrap:balance}
strong,b{font-weight:600}
.note,figcaption,.stat span,.source-row span,.domain,.meta,.crumbs,.site-footer,.data-table td{font-weight:400}
p{margin:0 0 1em}
a{color:var(--navy);text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--accent-dark)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.on-dark :focus-visible{outline-color:var(--accent-soft)}
main:focus{outline:none}
[id]{scroll-margin-top:84px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.narrow{max-width:46rem}
.nw{white-space:nowrap}
.vh{position:absolute!important;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:12px;top:-64px;z-index:100;background:var(--paper);color:var(--navy);padding:10px 16px;border-radius:6px;font-weight:600}
.skip:focus{top:12px}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:var(--navy);border-bottom:1px solid rgba(250,247,241,.1)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px}
.brand{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;
font-family:var(--font-head);font-weight:800;font-size:1.1875rem;letter-spacing:-.01em;line-height:1}
.brand:hover{color:#fff}
.brand-mark{width:32px;height:32px;flex:none}
.brand-lens{color:var(--accent)}
.nav-desktop{display:none}
.nav-desktop a{color:var(--on-dark);text-decoration:none;font-size:.9375rem;font-weight:600;padding:10px 12px;border-radius:6px}
.nav-desktop a:hover{background:rgba(250,247,241,.08);color:#fff}
.nav-desktop a[aria-current="page"]{color:#fff;text-decoration:underline;text-decoration-color:var(--accent);
text-decoration-thickness:2px;text-underline-offset:9px}
.nav-desktop a.nav-cta{margin-left:10px;background:var(--accent);color:#fff;font-weight:600;padding:10px 16px;text-decoration:none}
.nav-desktop a.nav-cta:hover{background:var(--accent-dark)}
.nav-desktop a.nav-cta[aria-current="page"]{box-shadow:0 0 0 2px var(--navy),0 0 0 3.5px var(--accent-soft)}
.nav-mobile summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;
border:1px solid rgba(250,247,241,.4);border-radius:6px;color:#fff;font-weight:600;font-size:.9375rem;
cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}
.nav-mobile summary::-webkit-details-marker{display:none}
.nav-mobile summary::marker{content:""}
.nav-mobile svg{width:18px;height:18px;display:block}
.nav-mobile .i-close,.nav-mobile[open] .i-menu{display:none}
.nav-mobile[open] .i-close{display:block}
.nav-mobile[open] summary{background:rgba(250,247,241,.12)}
.nav-mobile nav{position:absolute;left:0;right:0;top:100%;background:var(--navy-deep);border-bottom:4px solid var(--accent);
padding:6px 0 10px;box-shadow:0 18px 32px rgba(8,16,34,.35)}
.nav-mobile nav a{display:block;padding:13px var(--gutter);color:#fff;text-decoration:none;font-size:1.0625rem;
font-weight:600;border-left:4px solid transparent}
.nav-mobile nav a:hover{background:rgba(250,247,241,.06)}
.nav-mobile nav a[aria-current="page"]{border-left-color:var(--accent);background:rgba(250,247,241,.05)}
@media(min-width:768px){.bar{min-height:68px}}
@media(min-width:768px){.nav-desktop{display:flex;align-items:center;gap:2px}.nav-mobile{display:none}}
@media(min-width:768px) and (max-width:899px){.nav-desktop a{padding:10px 9px}.nav-desktop a.nav-cta{margin-left:6px;padding:10px 14px}}
/* sub-navigation for the data pages */
.subnav{background:var(--navy-deep);border-bottom:1px solid rgba(250,247,241,.08)}
.subnav ul{display:flex;gap:0 26px;list-style:none;margin:0;padding:0}
.subnav a{display:inline-flex;align-items:center;min-height:46px;padding-top:3px;border-bottom:3px solid transparent;
color:var(--on-dark2);text-decoration:none;font-size:.9375rem;font-weight:600}
.subnav a:hover{color:#fff}
.subnav a[aria-current="page"]{color:#fff;border-bottom-color:var(--accent)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;
border:1.5px solid transparent;border-radius:6px;font-family:var(--font);font-weight:600;font-size:1rem;line-height:1.2;
text-align:center;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent-dark);color:#fff}
.btn-light{border-color:rgba(250,247,241,.6);color:#fff}
.btn-light:hover{background:rgba(250,247,241,.1);border-color:#fff;color:#fff}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-sm{min-height:44px;padding:10px 16px;font-size:.9375rem}
@media(max-width:399px){.btn-sm{padding:10px 14px}}
.actions{display:flex;flex-direction:column;gap:12px}
.actions-row{display:flex;flex-wrap:wrap;gap:10px}
@media(min-width:480px){.actions{flex-direction:row;flex-wrap:wrap}}

/* hero */
.hero{position:relative;background:var(--navy) radial-gradient(70% 90% at 62% 28%,#27467d 0,rgba(31,56,100,0) 70%);color:var(--on-dark);overflow:hidden}
.hero-map{line-height:0;overflow:hidden}
.hero-svg{display:block;width:172%;max-width:none;height:auto;margin-left:-44%}
.sig-pulse{fill:none;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke;transform-box:fill-box;
transform-origin:center;opacity:0;animation:sig 3.6s cubic-bezier(.2,.6,.3,1) infinite}
.sig-pulse.d2{animation-delay:1.2s}.sig-pulse.d3{animation-delay:2.4s}
@keyframes sig{0%{transform:scale(1);opacity:.95}100%{transform:scale(4.4);opacity:0}}
.hero-inner{position:relative;padding:0 var(--gutter) 44px}
.hero-panel{position:relative;margin-top:-36px;background:var(--navy-deep);border-top:4px solid var(--accent);
padding:24px 20px 28px;box-shadow:0 22px 44px -18px rgba(6,14,30,.6)}
.kicker{display:flex;align-items:flex-start;gap:10px;margin:0 0 16px;color:var(--accent-soft);font-size:.8125rem;font-weight:600;
letter-spacing:.14em;text-transform:uppercase;line-height:1.4}
.kicker svg{width:20px;height:20px;flex:none;margin-top:-1px}
.hero h1{color:#fff;font-size:clamp(1.875rem,1.3rem + 2.4vw,2.75rem);font-weight:800;line-height:1.14;letter-spacing:-.02em;margin:0 0 18px}
.hero .lead{color:var(--on-dark2);font-size:1.0625rem;line-height:1.6;margin:0 0 26px;max-width:32em}
@media(min-width:768px){
.hero-svg{width:122%;margin-left:-14%}
.hero-inner{padding-bottom:64px}
.hero-panel{margin-top:-64px;max-width:640px;padding:32px 36px 36px}
.hero .lead{font-size:1.1875rem}}
@media(min-width:1100px){
.hero{display:grid;align-items:center}
.hero-map,.hero-inner{grid-area:1/1}
.hero-svg{width:100%;max-width:1680px;margin:0 auto}
.hero-inner{width:100%;max-width:var(--wrap);margin:0 auto;padding:72px var(--gutter)}
.hero-panel{margin:0;max-width:520px;padding:40px 40px 44px;background:rgba(23,41,75,.92);
-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}
@media(min-width:1280px){.hero-panel{max-width:560px}}

/* sections */
.section{padding:56px 0}
@media(min-width:768px){.section{padding:80px 0}}
@media(min-width:1100px){.section{padding:96px 0}}
.band-white{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{max-width:42rem;margin:0 0 32px}
.section-head h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);margin:0 0 10px}
.section-head p{margin:0;color:var(--ink2);font-size:1.0625rem}
.head-row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 32px;margin:0 0 32px}
.head-row .section-head{margin:0}
.more{font-weight:600}

/* status strip (pre-launch) */
.status{background:var(--card);border-bottom:1px solid var(--line);padding:28px 0}
.status-inner{display:grid;gap:16px}
.status-mark{width:40px;height:40px}
.status h2{font-size:1.25rem;margin:0 0 4px}
.status p{margin:0;color:var(--ink2);max-width:40em}
@media(min-width:960px){.status{padding:32px 0}.status-inner{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px}}

/* tools page and data explorer (25 Oct 2026) */
.tool-cards .card .btn{margin-top:auto;align-self:flex-start}
.tool-cards .card .tool-note{font-size:.875rem;color:var(--muted)}
.card.card-muted{background:transparent;border-style:dashed;color:var(--muted)}
.card.card-muted h2,.card.card-muted p{color:var(--muted)}
.card.card-muted .tag{align-self:flex-start;margin-top:auto}
.explorer{margin:0 0 56px}
.explorer h2{margin-bottom:6px}
.tb-bar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:16px 0}
.tb-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:768px){.tb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.tb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tb-bar fieldset{border:0;margin:0;padding:0;min-width:0}
.tb-bar legend,.tb-bar .lbl{display:block;padding:0;margin:0 0 6px;font-size:.8125rem;font-weight:600;color:var(--ink2)}
.tb-bar input[type=date],.tb-bar input[type=search],.tb-bar input[type=text]{width:100%;min-height:44px;padding:8px 12px;border:1px solid #b9b4a8;border-radius:8px;background:#fff;font:inherit;font-size:.9375rem;color:var(--ink)}
.tb-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tb-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.tb-quick button,.tb-actions button,.tb-more{font:inherit;font-size:.875rem;font-weight:500;min-height:44px;padding:6px 14px;border:1px solid var(--navy);border-radius:999px;background:transparent;color:var(--navy);cursor:pointer}
.tb-quick button:hover,.tb-actions button:hover,.tb-more:hover{background:var(--navy);color:#fff}
.tb-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.tb-actions .primary{background:var(--accent);border-color:var(--accent);color:#fff}
.tb-actions .primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.tb-msg{font-size:.875rem;color:var(--ink2);margin:0}
.chk{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-right:16px;font-size:.9375rem;cursor:pointer}
.chk input,.ms-row input{width:18px;height:18px;accent-color:var(--navy);margin:0}
.ms{position:relative}
.ms summary{display:flex;align-items:center;min-height:44px;padding:8px 36px 8px 12px;border:1px solid #b9b4a8;border-radius:8px;background:#fff;font-size:.9375rem;cursor:pointer;list-style:none;position:relative}
.ms summary::-webkit-details-marker{display:none}
.ms summary::after{content:"";position:absolute;right:14px;top:50%;width:7px;height:7px;border:solid var(--navy);border-width:0 2px 2px 0;transform:translateY(-70%) rotate(45deg)}
.ms[open] summary::after{transform:translateY(-30%) rotate(225deg)}
.ms-panel{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);max-height:18rem;overflow:auto;background:#fff;border:1px solid #b9b4a8;border-radius:8px;box-shadow:0 8px 24px rgba(21,36,63,.16);padding:6px}
.ms-panel input[type=search]{margin:2px 0 6px}
.ms-row{display:flex;align-items:center;gap:10px;min-height:40px;padding:4px 8px;border-radius:6px;font-size:.9375rem;cursor:pointer}
.ms-row:hover{background:#f3efe6}
.ms-row[hidden]{display:none}
.tb-count{margin:0 0 8px;font-size:.9375rem;color:var(--ink2)}
.tb-wrap{position:relative;max-height:72vh;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);-webkit-overflow-scrolling:touch}
.tb-wrap:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.tb{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem;line-height:1.4;font-weight:400;color:var(--ink)}
.tb th,.tb td{padding:10px 14px;text-align:left;vertical-align:baseline;white-space:nowrap;border-bottom:1px solid var(--line);background:var(--card)}
.tb thead th{position:sticky;top:0;z-index:2;background:#eeebe4;color:var(--ink2);font-size:.8125rem;font-weight:600;vertical-align:bottom}
.tb tbody tr:nth-child(even) td{background:#f7f4ed}
.tb tbody tr:hover td{background:#efeae0}
.tb th.num,.tb td.num{text-align:right;font-variant-numeric:tabular-nums}
.tb td.dash{color:var(--muted)}
.tb th button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:24px}
.tb th button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.tb th[aria-sort=ascending] button::after,.tb th[aria-sort=descending] button::after{content:"";border:solid var(--accent);border-width:0 2px 2px 0;width:6px;height:6px}
.tb th[aria-sort=ascending] button::after{transform:rotate(-135deg) translateY(-2px)}
.tb th[aria-sort=descending] button::after{transform:rotate(45deg) translateY(-2px)}
.tb th:first-child,.tb td:first-child{position:sticky;left:0;z-index:1;box-shadow:1px 0 0 var(--line)}
.tb thead th:first-child{z-index:3}
.tb td a{font-weight:500}
.tb-more{margin:14px 0 0}
.tb-empty{padding:28px 20px;border:1px dashed #b9b4a8;border-radius:var(--radius);color:var(--ink2);background:var(--card)}
.tb-empty p{margin:0}
.tb-source{margin:12px 0 4px;font-size:.875rem;color:var(--ink2)}
.tb-caution{font-size:.8125rem;color:var(--muted);margin:0}

/* what we do */
.pillars{display:grid;gap:32px}
@media(min-width:768px){.pillars{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}}
@media(min-width:1100px){.pillars{gap:48px}}
.pillar{border-top:1px solid var(--line);padding-top:24px}
.icon{width:44px;height:44px;color:var(--navy);display:block;margin:0 0 16px}
.pillar h3{font-size:1.25rem;margin:0 0 8px}
.pillar p{margin:0;color:var(--ink2)}

/* who it is for */
.split{display:grid}
@media(min-width:1100px){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:72px;align-items:start}}
.audience{list-style:none;margin:0;padding:0;display:grid}
@media(min-width:640px){.audience{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}}
.audience li{border-top:1px solid var(--line);padding:20px 0 22px}
.audience h3{font-size:1.125rem;margin:0 0 6px}
.audience p{margin:0;color:var(--ink2)}

/* official sources row */
.source-row{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
border-top:1px solid var(--line);border-left:1px solid var(--line)}
@media(min-width:768px){.source-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.source-row{grid-template-columns:repeat(6,minmax(0,1fr))}}
.source-row li{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 16px 18px}
.source-row b{display:block;font-size:1.0625rem;font-weight:600;color:var(--navy);letter-spacing:.01em;line-height:1.25}
.source-row span{display:block;margin-top:6px;font-size:.8125rem;color:var(--muted);line-height:1.4}

/* call to action band */
.cta-band{position:relative;overflow:hidden;background:var(--navy);color:var(--on-dark);padding:64px 0}
.cta-band .wrap{position:relative}
.cta-band h2{color:#fff;font-size:clamp(1.5rem,1.2rem + 1.4vw,2.25rem);max-width:15em;margin:0 0 12px}
.cta-band p{color:var(--on-dark2);max-width:32em;margin:0 0 28px;font-size:1.0625rem}
.rings{position:absolute;pointer-events:none;width:380px;height:380px;right:-300px;top:-40px;opacity:.6}
@media(min-width:768px){.cta-band{padding:88px 0}.rings{width:520px;height:520px;right:-110px;top:50%;transform:translateY(-50%);opacity:1}}

/* inner page head */
.page-head{position:relative;overflow:hidden;background:var(--navy);color:var(--on-dark);padding:44px 0 48px}
.page-head .wrap{position:relative}
.page-head h1{color:#fff;font-size:clamp(1.75rem,1.3rem + 2vw,2.75rem);font-weight:800;line-height:1.12;letter-spacing:-.02em;max-width:17em;margin:0 0 14px}
.page-head .lead{color:var(--on-dark2);font-size:clamp(1.0625rem,1rem + .35vw,1.25rem);max-width:38em;margin:0}
.page-head .lead a{color:#fff}
.page-head .actions{margin-top:28px}
.page-head .rings{top:-60px}
.page-head.overlap{padding-bottom:92px}
@media(min-width:768px){.page-head{padding:72px 0 76px}.page-head .rings{right:-90px;width:460px;height:460px;top:50%}
.page-head.overlap{padding-bottom:124px}}
.crumbs{background:var(--navy);color:var(--on-dark2);font-size:.9375rem;padding:14px 0}
.crumbs a{color:#fff}

/* cards */
.cards{display:grid;gap:16px}
@media(min-width:640px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
.card{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.card h2{font-size:1.25rem;margin:0 0 8px}
.card p{margin:0 0 16px;color:var(--ink2)}
.card .domain{margin:auto 0 6px;font-size:.8125rem;color:var(--muted)}
.card-link{display:inline-flex;align-items:center;gap:6px;font-weight:600;min-height:32px}
.i-ext{width:14px;height:14px;flex:none}

/* lists */
.checklist{list-style:none;margin:0 0 32px;padding:0}
.checklist li{position:relative;padding:13px 0 13px 34px;border-top:1px solid var(--line)}
.checklist li:last-child{border-bottom:1px solid var(--line)}
.checklist li::before{content:"";position:absolute;left:3px;top:20px;width:14px;height:8px;
border-left:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(-45deg)}
.promise{list-style:none;margin:0 0 24px;padding:0}
.promise li{position:relative;padding:14px 0 14px 36px;border-top:1px solid var(--line)}
.promise li:first-child{border-top:0}
.promise-mark{position:absolute;left:0;top:16px;width:24px;height:24px}

/* prose and about */
.prose{max-width:42rem}
.prose h1{font-size:clamp(1.75rem,1.3rem + 1.8vw,2.375rem)}
.prose h2{font-size:1.375rem;margin:1.8em 0 .5em}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.125rem;margin:1.5em 0 .4em}
.prose ul{padding-left:1.25em;margin:0 0 1em}
.prose li{margin:0 0 .4em}
.prose blockquote{margin:24px 0;padding:14px 20px;border-left:4px solid var(--accent);background:var(--card);color:var(--ink2)}
.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}
.prose code{font-size:.9em;background:var(--card);border:1px solid var(--line);border-radius:4px;padding:1px 5px}
.prose .actions{margin-top:28px}
.intro{font-size:1.1875rem;line-height:1.55}
.note{font-size:.875rem;color:var(--muted)}
.about{display:grid;gap:40px}
.promise-box{background:var(--card);border:1px solid var(--line);border-top:4px solid var(--navy);border-radius:var(--radius);padding:28px 24px}
.promise-box h2{font-size:1.375rem;margin:0 0 8px}
@media(min-width:1024px){.about{grid-template-columns:minmax(0,1fr) 380px;gap:72px;align-items:start}
.promise-box{position:sticky;top:96px}}

/* subscribe */
.section.pull{padding-top:0}
.signup{position:relative;max-width:640px;margin-top:-56px;background:var(--card);border:1px solid var(--line);
border-top:4px solid var(--accent);border-radius:var(--radius);padding:28px 20px 24px;box-shadow:0 24px 48px -28px rgba(20,30,50,.45)}
.signup h2{font-size:1.375rem;margin:0 0 4px}
.signup .embed{min-height:120px;margin:12px 0 8px}
.signup .note{margin:0}
.follow{margin-top:48px}
.follow h2{font-size:1.125rem;margin:0 0 14px}
@media(min-width:768px){.signup{margin-top:-76px;padding:36px 40px 32px}}
.signup .support{margin-top:10px}
.latest{margin-top:40px}
.latest h2{font-size:1.125rem;margin:0 0 6px}
.latest p{margin:0}

/* shorts: cards on the home and Watch pages */
.status + .band-white,.band-white + .band-white{border-top:0}
.short-card.no-cover{grid-template-columns:minmax(0,1fr)}
.short-cards{display:grid;gap:16px}
@media(min-width:1024px){.short-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
.short-card{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch;background:var(--card);
border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;color:var(--ink);text-decoration:none}
.short-card:hover{border-color:var(--navy2);color:var(--ink)}
/* the whole 9:16 cover always shows: no side crop, and any spare height below it is navy like the cover's edge */
.short-card img{display:block;width:100%;height:100%;aspect-ratio:9/16;object-fit:contain;object-position:top center;
background:var(--navy-ink)}
@media(max-width:639px){.short-card p{display:none}}
.short-text{display:flex;flex-direction:column;gap:8px;padding:16px 16px 18px;min-width:0}
.short-card h3{font-size:1.125rem;margin:0;color:var(--navy)}
.short-card p{margin:0;color:var(--ink2);font-size:.9375rem;line-height:1.55}
.short-card .meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:.8125rem;color:var(--muted)}
.short-card .go{margin-top:auto;padding-top:4px;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:.2em}
.short-card:hover .go{color:var(--accent-dark)}
@media(min-width:640px){.short-card{grid-template-columns:160px minmax(0,1fr)}
.short-text{padding:22px 24px 24px;gap:10px}.short-card h3{font-size:1.1875rem}}

/* shorts: one page per short */
.short-layout{display:grid;gap:36px}
.short-frame{position:relative;width:100%;max-width:420px;aspect-ratio:9/16;background:var(--navy-ink);
border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 48px -28px rgba(20,30,50,.5)}
.short-frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.short-media .note{margin:10px 0 0;max-width:420px}
@media(min-width:960px){.short-layout{grid-template-columns:360px minmax(0,1fr);gap:56px;align-items:start}
.short-frame{max-width:none}}
@media(min-width:960px) and (min-height:780px){.short-media{position:sticky;top:96px}}
.prose .keynums{list-style:none;margin:0 0 12px;padding:0;border-top:1px solid var(--line)}
.prose .keynums li{display:grid;grid-template-columns:7.25rem minmax(0,1fr);gap:4px 16px;align-items:baseline;
margin:0;padding:11px 0 12px;border-bottom:1px solid var(--line)}
.keynums b{font-family:var(--font-head);font-weight:700;font-size:1.25rem;line-height:1.25;color:var(--navy)}
.keynums span{color:var(--ink2)}
@media(min-width:640px){.prose .keynums li{grid-template-columns:9rem minmax(0,1fr)}}
.prose .src-list{padding-left:1.4em}
.src-list li{padding-left:.2em}
.src-list span{color:var(--muted);font-weight:400}
.disclaimer-box{margin:28px 0 8px;padding:16px 20px;background:var(--card);border:1px solid var(--line);
border-left:4px solid var(--navy);border-radius:6px;font-size:.9375rem;line-height:1.6;font-weight:400;color:var(--ink2)}
.prose .actions-row{margin:0 0 8px}

/* weekly and data */
.report-card{display:grid;gap:8px;max-width:760px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent);
border-radius:var(--radius);padding:24px;color:var(--ink);text-decoration:none}
.report-card:hover{border-color:var(--navy2);border-left-color:var(--accent);color:var(--ink)}
.report-card h2{font-size:1.375rem;margin:0}
.report-card p{margin:0;color:var(--ink2)}
.report-card .meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:.875rem;color:var(--muted)}
.report-card .go{font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:.2em}
.tag{display:inline-block;font-size:.75rem;font-weight:600;color:var(--navy2);background:#eef2f9;border-radius:999px;padding:2px 10px}
.archive-note{margin:20px 0 0}
.data-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--card);border:1px solid var(--line);
border-radius:var(--radius);overflow:hidden;margin:0 0 20px}
.data-table th{background:var(--navy);color:#fff;text-align:left;font-weight:600;font-size:.875rem;padding:12px 16px}
.data-table td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:top}
@media(max-width:639px){
.data-table,.data-table tbody{display:block}
.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.data-table tr{display:block;padding:14px 16px;border-top:1px solid var(--line)}
.data-table tbody tr:first-child{border-top:0}
.data-table td{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:12px;padding:4px 0;border:0}
.data-table td::before{content:attr(data-label);font-size:.8125rem;font-weight:600;color:var(--muted)}}

/* this week (full mode) */
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);
border-radius:var(--radius);overflow:hidden;margin:0 0 56px}
@media(min-width:900px){.stats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.stat{background:var(--paper);padding:20px 18px}
.stat b{display:block;font-family:var(--font-head);font-weight:700;font-size:clamp(1.75rem,1.4rem + 1.4vw,2.5rem);color:var(--navy);line-height:1.1;margin:0 0 6px}
.stat span{display:block;font-size:.875rem;color:var(--muted);line-height:1.4}
.mapfig{margin:0}
.mapframe{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--card)}
.mapframe iframe{display:block;width:100%;height:420px;border:0}
.mapfig figcaption{margin-top:10px;font-size:.875rem;color:var(--muted)}
@media(min-width:768px){.mapframe iframe{height:540px}}
.report{display:grid;gap:32px}
@media(min-width:1024px){.report{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.report .mapframe{position:sticky;top:92px}.report .mapframe iframe{height:600px}}

/* footer */
.site-footer{background:var(--navy-ink);color:var(--on-dark2);padding:56px 0 32px;font-size:.9375rem}
.site-footer a{color:#fff;text-decoration-color:rgba(250,247,241,.45)}
.site-footer a:hover{color:var(--accent-soft)}
.site-footer .brand{margin:0 0 16px;text-decoration:none}
.site-footer h2{font-size:.9375rem;font-weight:700;letter-spacing:0;color:#fff;margin:0 0 12px}
.foot-grid{display:grid;gap:32px 24px;grid-template-columns:repeat(2,minmax(0,1fr))}
.foot-brand,.foot-grid>div:last-child{grid-column:1/-1}
@media(min-width:768px){.foot-brand,.foot-grid>div:last-child{grid-column:auto}}
@media(min-width:768px){.foot-grid{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:40px}}
.foot-brand p{max-width:28em}
.foot-links{list-style:none;margin:0;padding:0}
.foot-links li{margin:0 0 8px}
.plat{display:inline-flex;align-items:center;gap:10px;min-height:28px}
.plat img,.plat svg{width:20px;height:20px;flex:none}
.disclaimer{margin:40px 0 0;padding-top:20px;border-top:1px solid rgba(250,247,241,.14);font-size:.8125rem;line-height:1.55;color:var(--on-dark3);max-width:62em}
.copyright{margin:10px 0 0;font-size:.8125rem;color:var(--on-dark3)}

/* live data pages: map, numbers, data */
.section.tight{padding:28px 0 56px}
@media(min-width:768px){.section.tight{padding:40px 0 72px}}
.section.tight + .section.tight{padding-top:0}
.lede-row{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;margin:0 0 20px;font-size:.875rem;font-weight:400;color:var(--muted)}
.filters{display:grid;gap:18px;margin:0 0 18px}
.chips{border:0;margin:0;padding:0;min-width:0}
.chips legend,.field-label{display:block;font-size:.875rem;font-weight:600;color:var(--ink2);margin:0 0 8px;padding:0}
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.chip span{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border:1px solid #d9d2c5;
border-radius:999px;background:var(--card);font-size:.875rem;font-weight:600;color:var(--navy);line-height:1.2}
.chip input:hover + span{border-color:var(--navy2)}
.chip input:checked + span{background:var(--navy);border-color:var(--navy);color:#fff}
.chip input:focus-visible + span{outline:3px solid var(--accent);outline-offset:2px}
.cat-dot{width:10px;height:10px;border-radius:50%;background:var(--c);flex:none;box-shadow:0 0 0 2px #fff}
@media(max-width:639px){.chip-row{gap:6px}.chip span{min-height:36px;padding:6px 10px;gap:6px;font-size:.8125rem}}
.time-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.time-row .slider{grid-column:1/-1}
@media(min-width:900px){.time-row{grid-template-columns:11rem 11rem minmax(0,1fr);align-items:start;gap:20px}.time-row .slider{grid-column:auto}}
.field{display:grid;gap:6px;min-width:0}
.field select{font:inherit;font-size:.9375rem;font-weight:400;color:var(--ink);width:100%;min-height:44px;padding:8px 36px 8px 12px;
border:1px solid #cfc8bb;border-radius:6px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;
background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%231F3864' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 13px center/12px 8px}
.field select:hover{border-color:var(--navy2)}
.field select::-ms-expand{display:none}
.slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;width:100%;height:36px;margin:0;
padding:0;background:transparent;cursor:pointer}
.slider input[type=range]:focus{outline:none}
.slider input[type=range]::-webkit-slider-runnable-track{height:3px;border:0;border-radius:2px;background:var(--navy)}
.slider input[type=range]::-moz-range-track{height:3px;border:0;border-radius:2px;background:var(--navy)}
.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:14px;height:22px;
margin-top:-9.5px;border:1px solid var(--navy);border-radius:2px;background:linear-gradient(#eef0f2,#c3c8ce);
box-shadow:0 1px 2px rgba(21,36,63,.28)}
.slider input[type=range]::-moz-range-thumb{box-sizing:border-box;width:14px;height:22px;border:1px solid var(--navy);border-radius:2px;
background:linear-gradient(#eef0f2,#c3c8ce);box-shadow:0 1px 2px rgba(21,36,63,.28)}
.slider input[type=range]:hover::-webkit-slider-thumb{background:linear-gradient(#e4e7ea,#b1b7bf)}
.slider input[type=range]:hover::-moz-range-thumb{background:linear-gradient(#e4e7ea,#b1b7bf)}
.slider input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 2px #fff,0 0 0 5px var(--accent)}
.slider input[type=range]:focus-visible::-moz-range-thumb{box-shadow:0 0 0 2px #fff,0 0 0 5px var(--accent)}
.slider output{display:block;font-size:.875rem;font-weight:400;color:var(--ink2)}
.map-summary{margin:0 0 10px;font-size:.9375rem;font-weight:400;color:var(--ink2)}
.map-shell{position:relative;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#f2f3f0}
#map{height:64vh;min-height:360px;max-height:620px}
@media(min-width:768px){#map{height:580px}}
.map-shell noscript p,.map-shell .map-off{margin:0;padding:24px}
.map-shell .maplibregl-map{font-family:var(--font)}
.map-shell .maplibregl-ctrl-attrib{font-size:11px;font-weight:400}
.map-shell .maplibregl-ctrl-attrib a{color:var(--ink2)}
.map-shell .maplibregl-popup-content{padding:14px 16px 12px;border-radius:8px;box-shadow:0 4px 18px rgba(21,36,63,.22);
font-size:.875rem;line-height:1.5;font-weight:400;color:var(--ink)}
.map-shell .maplibregl-popup-close-button{width:32px;height:32px;font-size:20px;line-height:1;color:var(--ink2);border-radius:0 8px 0 6px}
.map-shell .maplibregl-popup-close-button:hover{background:#f1efe9}
.map-shell .maplibregl-popup-close-button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.pop .pop-title{display:flex;align-items:center;gap:8px;margin:0 26px 2px 0;font-size:1rem;font-weight:600;line-height:1.3;color:var(--navy)}
.pop .pop-title svg{flex:none;width:18px;height:18px}
.pop .pop-place{margin:0;color:var(--ink2)}
.pop .pop-pop{margin:0 0 8px;color:var(--ink2)}
.pop .pop-num{margin:0}
.pop .pop-n{display:block;font-family:var(--font-head);font-size:1.375rem;font-weight:700;line-height:1.1;color:var(--navy);margin:0 0 2px}
.pop .pop-meta{margin:8px 0 0;font-size:.8125rem;line-height:1.45;color:var(--muted)}
.pop .pop-links{margin:10px 0 0;padding:8px 0 0;border-top:1px solid var(--line);font-size:.8125rem}
.pop a{color:var(--navy)}
.pop-count{margin:0 26px 10px 0;font-size:.8125rem;font-weight:600;color:var(--muted)}
.pop-list{max-height:min(320px,46vh);overflow:auto;margin:0 -16px;padding:0 16px}
.pop-list .pop + .pop{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.pop-list .pop .pop-title{margin-right:0}
.legend{display:grid;gap:12px 20px;margin:16px 0 0;font-size:.875rem;font-weight:400;color:var(--ink2)}
.legend-title{margin:0 0 6px;font-size:.8125rem;font-weight:600;color:var(--muted)}
@media(min-width:768px){.legend{grid-template-columns:max-content minmax(0,1fr);gap:8px 24px;align-items:baseline}
.legend > div{display:contents}.legend-title{margin:0}}
.legend ul{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;margin:0;padding:0}
.legend li{display:inline-flex;align-items:center;gap:7px}
.legend svg{width:18px;height:18px;flex:none}
.key-cluster{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--navy);
color:#fff;font:600 10px/1 var(--font);box-shadow:0 0 0 2px #fff}
.below-map{display:grid;gap:4px;margin:18px 0 0;max-width:52rem}
.map-after .tbl-block{margin-top:18px}
.map-after .tbl-block{max-width:none}
.ctry .tbl-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}
.below-map p{margin:0 0 6px}
.updated{font-size:.875rem;font-weight:400;color:var(--ink2)}
.src-block{max-width:52rem;margin:40px 0 0;padding-top:24px;border-top:1px solid var(--line)}
.src-block h2{font-size:1.25rem;margin:0 0 12px}
.src-items{list-style:none;margin:0 0 14px;padding:0;font-size:.9375rem;font-weight:400}
.src-items li{padding:10px 0;border-bottom:1px solid var(--line)}
.src-items li:first-child{border-top:1px solid var(--line)}
.src-items b{font-weight:600;color:var(--navy)}
.src-items span{display:block;color:var(--muted);font-size:.8125rem;margin-top:2px}
.fine{font-size:.8125rem;line-height:1.55;font-weight:400;color:var(--muted);margin:0 0 8px}
.tiles{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:0 0 28px}
@media(min-width:640px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tile{background:var(--card);padding:20px 20px 18px;display:flex;flex-direction:column;gap:6px;min-width:0}
.tile b{display:block;font-family:var(--font-head);font-weight:700;font-size:clamp(2rem,1.7rem + 1.2vw,2.625rem);line-height:1.05;color:var(--navy)}
.tile .t-label{color:var(--ink);font-weight:400;line-height:1.45}
.tile .t-src{margin-top:auto;padding-top:6px;font-size:.8125rem;color:var(--muted);font-weight:400;line-height:1.45}
.facts{margin:0;border-top:1px solid var(--line)}
.facts div{display:grid;gap:2px 20px;padding:12px 0;border-bottom:1px solid var(--line)}
@media(min-width:768px){.facts div{grid-template-columns:15rem minmax(0,1fr)}}
.facts dt{font-weight:600;color:var(--navy);font-size:.9375rem}
.facts dd{margin:0;color:var(--ink2);font-weight:400;font-size:.9375rem}
.chart-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--card);border:1px solid var(--line);
border-radius:var(--radius);padding:20px 18px 16px}
.chart-card[hidden]{display:none}
.chart-card h3{display:flex;align-items:center;gap:10px;font-size:1.0625rem;margin:0 0 4px}
.chart-sub{margin:0 0 12px;font-size:.875rem;line-height:1.45;color:var(--ink2);font-weight:400}
.chart{display:block;width:100%;max-width:520px;height:auto;overflow:visible}
.chart:focus-visible{outline:3px solid var(--accent);outline-offset:4px;border-radius:4px}
.chart .grid{stroke:#ece7de;stroke-width:1}
.chart .base{stroke:#c9c2b5;stroke-width:1}
.chart text{font-family:var(--font)}
.chart .tick,.chart .xl{font-size:11px;font-weight:400;fill:#6b7280;font-variant-numeric:tabular-nums}
.chart .bar{fill:#6b7280}
.chart .bar.now{fill:var(--c,var(--accent))}
.chart .bar.on{fill:#454c58}
.chart .bar.now.on{fill:var(--c,var(--accent));stroke:var(--ink);stroke-width:1.2}
.chart .val{font-size:12px;font-weight:600;fill:var(--ink)}
.chart .hit{fill:transparent}
.chart-top,.chart-src{margin:8px 0 0;font-size:.8125rem;line-height:1.45;font-weight:400;color:var(--ink2)}
.chart-src{color:var(--muted)}
.chart-card details{margin-top:8px;font-size:.875rem}
.chart-card summary,.dict summary{cursor:pointer;font-weight:600;color:var(--navy);min-height:36px;display:flex;align-items:center;
gap:10px;list-style:none}
.chart-card summary::-webkit-details-marker,.dict summary::-webkit-details-marker{display:none}
.chart-card summary::after,.dict summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;
border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.chart-card details[open] > summary::after,.dict[open] > summary::after{transform:translateY(2px) rotate(-135deg)}
.mini-table{width:100%;border-collapse:collapse;font-size:.8125rem;margin:4px 0 0;font-variant-numeric:tabular-nums}
.mini-table th,.mini-table td{padding:5px 6px;border-bottom:1px solid var(--line);text-align:right;font-weight:400}
.mini-table th{font-weight:600;color:var(--ink2)}
.mini-table th:first-child,.mini-table td:first-child{text-align:left}
.chart-tip{position:absolute;z-index:5;pointer-events:none;background:var(--navy-ink);color:#fff;font-size:.8125rem;line-height:1.35;
padding:6px 10px;border-radius:6px;white-space:nowrap;transform:translate(-50%,calc(-100% - 8px));opacity:0;transition:opacity .1s}
.chart-tip.show{opacity:1}
.chart-tip strong{display:block;font-size:1rem;font-weight:600}
.dl-cats{display:flex;flex-wrap:wrap;gap:4px 14px}
.tbl-block{margin:28px 0 0;min-width:0;max-width:60rem}
#tbl-csv-block{margin:44px 0 48px}
.tbl-title{margin:0 0 10px;font-family:var(--font-head);font-size:1rem;font-weight:700;line-height:1.35;letter-spacing:-.005em;color:var(--navy)}
.tbl-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.tbl-wrap:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.tbl{width:100%;border-collapse:collapse;border-spacing:0;font-size:.875rem;font-weight:400;line-height:1.4;color:var(--ink)}
.tbl th,.tbl td{padding:11px 16px;border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:baseline;white-space:nowrap}
.tbl thead th{background:#eeebe4;border-bottom:0;color:var(--ink2);font-size:.8125rem;font-weight:600;vertical-align:bottom}
.tbl.wrap-head thead th,.tbl thead .grp-row th{white-space:normal}
.tbl thead .grp-row th{background:transparent;padding:0 16px 6px;color:var(--muted);font-size:.75rem}
.tbl thead .grp-row th[colspan]{border-bottom:1px solid #d9d3c7}
.tbl tbody th{font-weight:400}
.tbl tbody tr:nth-child(even) > *{background:rgba(31,56,100,.035)}
.tbl .num{text-align:right;font-variant-numeric:tabular-nums}
.tbl .grp{padding-left:30px}
.tbl tfoot th,.tbl tfoot td{border-bottom:0;border-top:1px solid #cfc8bb;font-weight:600}
.tbl .dash{color:var(--muted)}
.tbl td.wrap{white-space:normal;min-width:13rem}
.tbl th button{display:inline-flex;align-items:center;gap:6px;margin:0;padding:0;border:0;background:none;font:inherit;color:inherit;
line-height:inherit;text-align:inherit;cursor:pointer}
.tbl th.num button{flex-direction:row-reverse}
.tbl th button::after{content:"";flex:none;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;
border-top:5px solid currentColor;opacity:0}
.tbl th button:hover::after{opacity:.35}
.tbl th[aria-sort="descending"] button::after{opacity:.85}
.tbl th[aria-sort="ascending"] button::after{opacity:.85;border-top:0;border-bottom:5px solid currentColor}
.tbl th button:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:2px}
.cat-block .tbl th,.cat-block .tbl td{padding:10px 12px}
.cat-block .tbl .grp{padding-left:22px}
@media(max-width:639px){.tbl th,.tbl td{padding:10px 12px}.tbl .grp{padding-left:20px}}
.tbl-more{display:inline-flex;align-items:center;min-height:40px;margin:6px 0 0;padding:0;border:0;background:none;cursor:pointer;
font:inherit;font-size:.875rem;font-weight:600;color:var(--navy);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.tbl-more:hover{color:var(--accent-dark)}
.tbl-more[hidden]{display:none}
.tbl-cap{max-width:46rem;margin:8px 0 0;font-size:.8125rem;line-height:1.55;font-weight:400;color:var(--muted)}
.tbl-links{margin:8px 0 0;font-size:.875rem;font-weight:400}
.cat-blocks{display:grid;gap:48px;margin:18px 0 20px}
@media(min-width:1100px){.cat-blocks{grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 36px;align-items:start}}
.cat-block{min-width:0}
.cat-block[hidden]{display:none}
.dict{margin:0 0 32px}
.dict .data-table td:first-child{white-space:nowrap;font-weight:600}
.status-live{color:var(--green);font-weight:600}
.status-fallback{color:#8a5a00;font-weight:600}
.status-failed{color:#b42318;font-weight:600}

/* home, v7: a short hero, the live map, this week and one line on sources */
.page-head.home-hero{padding:22px 0 24px}
.home-hero h1{font-size:clamp(1.5rem,1.15rem + 1.5vw,2.25rem);max-width:none;margin:0 0 8px}
.home-hero .lead{font-size:1rem;line-height:1.55;max-width:none}
.hero-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin:16px 0 0}
.hero-meta{display:flex;flex-wrap:wrap;gap:2px 16px;margin:0;font-size:.875rem;line-height:1.5;color:var(--on-dark2)}
.hero-meta a{color:#fff;text-decoration-color:rgba(250,247,241,.5)}
.hero-meta a:hover{color:var(--accent-soft)}
@media(min-width:768px){.page-head.home-hero{padding:30px 0 32px}.home-hero .lead{font-size:1.0625rem}}
.section.tight.home-map{padding:20px 0 40px}
@media(min-width:768px){.section.tight.home-map{padding:28px 0 56px}}
.week-band{padding:36px 0 32px}
@media(min-width:768px){.week-band{padding:44px 0 40px}}
.week-band .head-row{align-items:baseline;margin:0 0 18px}
.week-band h2{font-size:clamp(1.375rem,1.2rem + .8vw,1.75rem);margin:0}
.week-cards{display:grid;gap:14px}
@media(min-width:960px){.week-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
.week-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:start;padding:12px;background:var(--card);
border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none}
.week-card:hover{border-color:var(--navy2);color:var(--ink)}
.week-media{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:6px;background:var(--navy-ink)}
.nl-media{display:flex;align-items:center;justify-content:center;
background:var(--navy) radial-gradient(80% 120% at 70% 20%,#27467d 0,rgba(31,56,100,0) 70%)}
.nl-media .brand-mark{width:44%;height:auto;max-width:72px}
.week-text{display:flex;flex-direction:column;gap:6px;min-width:0}
.week-card .meta{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;font-size:.8125rem;line-height:1.4;color:var(--muted)}
.week-card h3{font-size:1rem;line-height:1.3;margin:0;color:var(--navy)}
.week-card .go{font-size:.9375rem;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:.2em}
.week-card:hover .go{color:var(--accent-dark)}
@media(min-width:640px){.week-card{grid-template-columns:208px minmax(0,1fr);gap:20px;padding:14px}.week-card h3{font-size:1.0625rem}}
.week-more{margin:18px 0 0;font-weight:600}
.src-line{padding:22px 0}
.src-line p{margin:0;font-size:.9375rem;color:var(--ink2)}

/* weekly: the latest episode, with the video, the chapters and the newsletter */
.episode{display:grid;gap:24px;grid-template-areas:"media" "body" "chapters"}
.episode-media{grid-area:media;min-width:0}.episode-body{grid-area:body;min-width:0}.episode-chapters{grid-area:chapters;min-width:0}
@media(min-width:1024px){.episode{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-areas:"media body" "chapters body";
column-gap:48px;row-gap:28px;align-items:start}}
.episode-frame{position:relative;width:100%;aspect-ratio:16/9;background:var(--navy-ink);border-radius:var(--radius);overflow:hidden;
box-shadow:0 24px 48px -28px rgba(20,30,50,.5)}
.episode-frame iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.episode-media .note{margin:10px 0 0}
.episode-body .meta{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin:0 0 10px;font-size:.875rem;color:var(--muted)}
.episode-body h2{font-size:clamp(1.25rem,1.1rem + .7vw,1.625rem);line-height:1.25;margin:0 0 12px}
.episode-body p{color:var(--ink2)}
.episode-body .actions-row{margin:20px 0 14px}
.chapters-title{font-size:1.0625rem;margin:0 0 8px}
.chapters{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
@media(min-width:640px){.chapters{columns:2;column-gap:32px}}
.chapters li{break-inside:avoid;border-bottom:1px solid var(--line)}
.chapters a{display:flex;gap:14px;padding:8px 0;color:var(--ink);text-decoration:none;font-size:.9375rem}
.chapters a:hover{color:var(--accent-dark)}
.chapters a:hover span:nth-child(2){text-decoration:underline}
.chapters .t{flex:none;min-width:2.75rem;font-weight:600;color:var(--navy);font-variant-numeric:tabular-nums}
.earlier{margin-top:48px}

@media(prefers-reduced-motion:reduce){*{transition:none!important}
.sig-pulse{animation:none;opacity:.55;transform:scale(2.2)}}
/* filters, OutbreakNow and analytics (25 Oct 2026) */
.map-layout{display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
.map-col{min-width:0}
.fp-root{min-width:0}
.fp{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.fp>summary{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 16px;cursor:pointer;list-style:none;font-weight:600;color:var(--navy)}
.fp>summary::-webkit-details-marker{display:none}
.fp>summary::after{content:"";margin-left:auto;width:8px;height:8px;border:solid var(--navy);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);flex:none}
.fp[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
.fp>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.fp-sum-m{font-size:.8125rem;font-weight:400;color:var(--muted)}
.fp-body{display:grid;gap:18px;padding:4px 16px 16px}
.fp-field{display:grid;gap:8px;min-width:0;align-content:start}
.fp-label{font-size:.8125rem;font-weight:600;color:var(--ink2);letter-spacing:.01em}
.fp-head{display:flex;align-items:baseline;justify-content:space-between}
.fp-pills{display:flex;flex-wrap:wrap;gap:6px}
.fp-pill,.fp-link,.fp-reset{font:inherit;cursor:pointer}
.fp-pill{min-height:36px;padding:5px 12px;border:1px solid #d9d2c5;border-radius:999px;background:var(--card);font-size:.8125rem;font-weight:600;color:var(--navy);line-height:1.2}
.fp-pill:hover{border-color:var(--navy2)}
.fp-pill[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.fp-link,.fp-reset{border:0;background:none;padding:2px 4px;font-size:.8125rem;font-weight:600;color:var(--navy);text-decoration:underline;text-underline-offset:.2em}
.fp-link[aria-pressed=true]{color:var(--muted);text-decoration:none;cursor:default}
.fp-dlist{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.fp-drow{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:4px 10px;border:1px solid transparent;border-radius:8px;background:none;font:inherit;font-size:.875rem;color:var(--ink);text-align:left;cursor:pointer}
.fp-drow:hover{background:#f4f1ea}
.fp-drow[aria-pressed=true]{background:#e9eef7;border-color:#c5d2e8;font-weight:600}
.fp-drow.is-zero{color:var(--muted)}
.fp-dname{flex:1;min-width:0}
.fp-dn{font-variant-numeric:tabular-nums;font-size:.8125rem;color:var(--muted)}
.fp-drow:focus-visible,.fp-pill:focus-visible,.fp-link:focus-visible,.fp-reset:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.fp-custom{margin-top:4px}
.fp-custom>summary{cursor:pointer;font-size:.8125rem;color:var(--ink2);padding:4px 0}
.fp-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}
.fp-dates label{display:grid;gap:3px;font-size:.75rem;color:var(--muted)}
.fp-dates input,.fp-search,.fb-select{font:inherit;font-size:.875rem;width:100%;min-height:40px;padding:6px 10px;border:1px solid #cfc8bb;border-radius:8px;background:#fff;color:var(--ink)}
.fp-region{display:grid;gap:8px}
.fp-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;border-top:1px solid var(--line)}
.fp-count{margin:0;font-size:.875rem;color:var(--ink2)}
.fp-count strong{font-family:var(--font-head);font-size:1.125rem;color:var(--navy)}
/* 1024px and up: the filter panel sets the height of the row and the map fills it, so the two sit level at the top and at the
   bottom. Nothing in this section is sticky or fixed: the filters and the map scroll together (26 Oct 2026). */
@media(min-width:1024px){
.map-layout{grid-template-columns:310px minmax(0,1fr);gap:24px;align-items:stretch}
.fp-col .fp-root,.fp-col .fp{height:100%}
.fp>summary{pointer-events:none;cursor:default;min-height:44px}
.fp>summary::after,.fp-sum-m{display:none}
.map-shell{height:100%;min-height:520px}
#map{height:100%;max-height:none}
}
.tbl-details{margin-top:18px}
.tbl-details>summary{cursor:pointer;font-weight:600;color:var(--navy);padding:8px 0}
.now{margin:16px 0 0;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 8px;color:var(--navy)}
.now-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 8px}
.now-head h2{margin:0;font-size:1.0625rem;line-height:1.3;color:var(--navy)}
.now-head a{font-size:.875rem;font-weight:600;white-space:nowrap}
.now-count{margin:2px 0 0;font-size:.8125rem;color:var(--muted)}
.now-list{list-style:none;margin:0;padding:0}
.now-row{display:grid;gap:3px;padding:10px 0;border-top:1px solid var(--line)}
.now-row p{margin:0}
.now-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.now-reg{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.now-ago{font-size:.75rem;color:var(--muted);white-space:nowrap}
.now-head2{font-size:.9375rem;line-height:1.35;color:var(--navy);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.now-meta{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--ink2)}
.now-meta a{color:var(--navy)}
.now-meta .cat-dot{width:8px;height:8px;box-shadow:none}
.pets-list .now-row{grid-template-columns:minmax(0,1fr)}
.pets-soon{columns:1}
.pets-news,.pets-rabies{padding-left:0;list-style:none}
.pets-news li,.pets-rabies li{padding:8px 0;border-top:1px solid var(--line);margin:0}
.pets-rabies li time{color:var(--muted);font-size:.875rem;margin-right:6px}
.pets .pets-src{font-size:.875rem;color:var(--muted)}
.now-empty{padding:10px 0;color:var(--muted);font-size:.875rem}
/* the globe beside the alerts (27 Oct 2026) */
.now-grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
.globe-col{display:flex;flex-direction:column;align-items:center;gap:6px}
.globe-wrap{width:min(100%,300px);aspect-ratio:1/1;position:relative}
#globe.globe{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .9s ease}
.globe-wrap .maplibregl-popup{z-index:4}
.globe-wrap .maplibregl-popup-content{padding:12px 14px}
#globe.globe.is-on{opacity:1}
.globe .maplibregl-canvas{outline:none}
.globe-pop .pop-items{list-style:none;margin:6px 0 0;padding:0;font-size:.8125rem}
.globe-pop .pop-items li{padding:3px 0;border-top:1px solid var(--line)}
.globe-pop .pop-items a{font-weight:600}
.globe-wrap.no-globe{display:none}
.globe-cap{margin:0;font-size:.8125rem;line-height:1.4;color:var(--ink2);text-align:center;max-width:300px}
.globe-cap strong{color:var(--navy);font-weight:700}
.globe-cap .globe-n{font-family:var(--font-head);font-weight:700;font-size:1.5rem;line-height:1.1;color:var(--navy);display:block;margin-bottom:2px}
.globe-box{position:absolute;z-index:3;width:min(260px,calc(100% - 8px));background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 20px rgba(23,41,75,.18);padding:10px 12px;font-size:.8125rem;line-height:1.4;pointer-events:none;text-align:left}
.globe-box[hidden]{display:none}
.globe-box p{margin:0}
.globe-box-h{font-family:var(--font-head);font-weight:700;font-size:.9375rem;color:var(--navy)}
.globe-box-n{color:var(--accent);font-weight:600;margin:1px 0 6px}
.globe-box ul{list-style:none;margin:0;padding:0}
.globe-box li{padding:3px 0;border-top:1px solid var(--line)}
.globe-box li a{color:var(--navy);font-weight:600;pointer-events:auto}
.globe-box-s{margin-top:6px;font-size:.6875rem;color:var(--muted)}
.assess-pub{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:14px 16px 6px;margin:0 0 18px}
.assess-pub .kicker-sm{margin:0 0 4px;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.assess-pub h3{margin:0 0 8px;font-size:1.125rem}
.assess-pub ul{margin:0 0 12px;padding-left:18px;font-size:.9375rem;color:var(--ink2)}
.assess-pub li{margin:0 0 6px}
.assess-dl{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 10px}
.assess-dl span{font-size:.875rem;color:var(--muted)}
.assess-next{margin:6px 0 6px;font-size:1rem}
.assess-list{list-style:none;margin:0;padding:0}
.assess-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.assess-item:last-child{border-bottom:1px solid var(--line)}
.assess-item h3{margin:0 0 4px;font-size:1rem}
.assess-item p{margin:0;font-size:.875rem;color:var(--ink2)}
.assess-item .tag{white-space:nowrap}
.tag-muted{opacity:.6}
.now-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 4px;border-top:1px solid var(--line)}
.now-pg{font:inherit;font-size:.8125rem;font-weight:600;color:var(--navy);background:none;border:1px solid var(--line);border-radius:999px;padding:5px 12px;cursor:pointer}
.now-pg:hover{background:#fff}
.now-pg:disabled{opacity:.4;cursor:default}
.now-pgn{font-size:.8125rem;color:var(--muted);white-space:nowrap}
@media (min-width:700px){.now-grid{grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}}
@media (prefers-reduced-motion:reduce){.globe{transition:none}}
/* reports by country */
.ctry{margin-top:24px}
.ctry .tbl td.ct-dis{white-space:normal;min-width:11rem}
.ct-dots{display:inline-flex;gap:4px;margin-right:8px;vertical-align:middle}
.ct-dots .cat-dot{width:9px;height:9px;box-shadow:none}
.ct-names{color:var(--ink2);font-size:.8125rem}
@media(max-width:639px){.tbl .hide-sm{display:none}.ctry .tbl th,.ctry .tbl td{padding:10px 10px}.ctry .tbl td.ct-dis{min-width:8rem}}
.fp-range{margin:6px 0 0;font-size:.75rem;color:var(--muted)}
.fp-dates{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fp-dates input{min-width:0}
/* analytics */
.an{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
.an-cards{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:900px){.an-cards{grid-template-columns:repeat(4,minmax(0,1fr))}}
.an-card{display:grid;gap:2px;padding:12px 14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);align-content:start}
.an-card-l{font-size:.75rem;font-weight:600;color:var(--muted)}
.an-card-v{font-family:var(--font-head);font-size:1.375rem;line-height:1.2;color:var(--navy)}
.an-card-s{font-size:.8125rem;color:var(--ink2)}
.an-bar{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;display:grid;gap:12px}
.an-grid{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.an-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:760px){.an-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1180px){.an-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.an-grid .fp-field-dates{grid-column:span 2}}
@media(min-width:640px) and (max-width:759px){.an-grid .fp-field-dates{grid-column:span 2}}
.an-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}
.fb-dd{position:relative}
.fb-dd>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:6px 10px;border:1px solid #cfc8bb;border-radius:8px;background:#fff;font-size:.875rem;cursor:pointer;list-style:none;white-space:nowrap;overflow:hidden}
.fb-dd>summary::-webkit-details-marker{display:none}
.fb-dd>summary::after{content:"";width:7px;height:7px;border:solid var(--navy);border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);flex:none}
.fb-dd>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.fb-pop{position:absolute;z-index:20;left:0;top:calc(100% + 4px);width:min(300px,86vw);padding:10px;background:#fff;border:1px solid #cfc8bb;border-radius:10px;box-shadow:0 8px 24px rgba(21,36,63,.16)}
.fb-all{margin:0 0 6px}
.an-chartcard,.an-tablecard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.an-title{font-size:1.0625rem;line-height:1.35;margin:0 0 10px}
.an-chart{position:relative;width:100%}
.an-chart svg:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.an-empty{margin:0;padding:48px 16px;text-align:center;color:var(--ink2);border:1px dashed #cfc8bb;border-radius:8px}
.an-tip{position:absolute;z-index:5;pointer-events:none;min-width:150px;max-width:260px;padding:8px 10px;background:#fff;border:1px solid #cfc8bb;border-radius:8px;box-shadow:0 4px 14px rgba(21,36,63,.18);font-size:.8125rem;line-height:1.4}
.an-tip[hidden]{display:none}
.an-tip p{margin:0}
.an-tip-h{font-weight:600;color:var(--ink);margin-bottom:3px!important}
.an-tip-r{display:flex;align-items:center;gap:6px;color:var(--ink2)}
.an-tip-r b{color:var(--ink)}
.an-tip-k{width:14px;height:3px;border-radius:2px;flex:none}
.an-note{margin:8px 0 0;font-size:.8125rem;color:var(--ink2)}
.an-note:empty{display:none}
.an-caption{margin:10px 0 0;font-size:.8125rem;color:var(--muted)}
.an-dl{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}
.an-dl[hidden]{display:none}
.an-dl .an-note{margin:0 auto 0 0}
.an-dl button{font:inherit;font-size:.875rem;font-weight:500;min-height:40px;padding:6px 16px;border:1px solid var(--navy);border-radius:999px;background:transparent;color:var(--navy);cursor:pointer}
.an-dl button:hover{background:var(--navy);color:#fff}
.an-dl button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.an-dl button.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.an-dl button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.an-tablecard h2{font-size:1.0625rem;margin:0 0 10px}
.an-tablecard .tb-wrap{max-height:420px}
