/* Cairn Cover design system v2: blue and white. Tokens first, then base, layout, components. Mobile first. */
@font-face{font-family:"Schibsted Grotesk";src:url("../fonts/schibsted-grotesk-latin-wght-normal.woff2") format("woff2");font-weight:400 900;font-style:normal;font-display:swap}

:root{
  /* Ink */
  --ink:#0B1B33; --ink-2:#2D3F5E; --muted:#51647F;
  /* Blue scale */
  --brand:#1B66EA; --brand-strong:#1456CC; --brand-deep:#0F3FA0; --navy:#0A1F44;
  --sky:#74B3FF; --tint:#E8F1FF; --tint-2:#F3F8FF;
  /* Surfaces */
  --bg:#F5F8FE; --card:#FFFFFF; --line:#DCE5F3; --line-strong:#7586A3;
  --on-brand:#FFFFFF; --link:#1456CC; --link-hover:#0F3FA0;
  --header-bg:rgba(255,255,255,.86);
  --hero-a:#1558DD; --hero-b:#1B66EA; --hero-c:#2A78F2;
  --band-a:#0A1F44; --band-b:#0F3FA0; --foot:#0A1F44;
  /* Markets: always paired with a text label. */
  --uk:#5546D6; --ca:#D13438; --au:#B45309; --nz:#0F766E;
  /* Signals */
  --note:#E8F1FF; --note-line:#1B66EA; --warn:#FFF4DB; --warn-line:#B7791F;
  /* Shadows */
  --sh1:0 1px 2px rgba(11,27,51,.05),0 6px 18px rgba(27,102,234,.07);
  --sh2:0 2px 4px rgba(11,27,51,.06),0 14px 34px rgba(27,102,234,.16);
  /* Type */
  --sans:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --step--1:.875rem; --step-0:1rem; --step-1:1.125rem; --step-2:1.3125rem;
  --step-3:clamp(1.6rem,1.3rem + 1.2vw,2.25rem);
  --step-4:clamp(2.15rem,1.2rem + 4.6vw,4.25rem);
  /* Space and shape */
  --s1:.25rem; --s2:.5rem; --s3:.75rem; --s4:1rem; --s5:1.5rem; --s6:2rem; --s7:3rem; --s8:4.5rem; --s9:6rem;
  --r1:10px; --r2:16px; --r3:28px; --wrap:1180px; --measure:44rem;
  --gut:1.25rem;
}
@media (min-width:40rem){:root{--gut:2rem}}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ink:#E8EFFC; --ink-2:#C3D0E8; --muted:#97A9C6;
    --brand:#2F6FED; --brand-strong:#4A83F2; --brand-deep:#8DBBFF; --navy:#0A1F44;
    --sky:#5C9BFF; --tint:#13264A; --tint-2:#0D1B30;
    --bg:#08111F; --card:#0F1D33; --line:#1F3354; --line-strong:#5D7399;
    --link:#8DBBFF; --link-hover:#B6D3FF; --header-bg:rgba(8,17,31,.84);
    --hero-a:#0B2A6E; --hero-b:#123A8F; --hero-c:#1A4DB5;
    --band-a:#0F2A5C; --band-b:#143A85; --foot:#060D18;
    --uk:#B3A9F5; --ca:#F29A9C; --au:#F0B669; --nz:#6FD3C8;
    --note:#12284D; --note-line:#5C9BFF; --warn:#2E2412; --warn-line:#D9A441;
    --sh1:0 1px 2px rgba(0,0,0,.3);
    --sh2:0 14px 34px rgba(0,0,0,.45);
  }
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:5.5rem;-webkit-tap-highlight-color:transparent}
body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--step-0)/1.6 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:clip;padding-inline:env(safe-area-inset-left) env(safe-area-inset-right)}
img,svg{max-width:100%;height:auto}
a{color:var(--link);text-underline-offset:.2em;text-decoration-thickness:.07em}
a:hover{color:var(--link-hover);text-decoration-thickness:.13em}
a,button,summary,input{touch-action:manipulation}
:focus-visible{outline:3px solid var(--sky);outline-offset:3px;border-radius:6px}
::selection{background:var(--brand);color:#fff}
.skip{position:absolute;left:var(--s4);top:-5rem;background:var(--brand);color:#fff;padding:var(--s3) var(--s4);border-radius:var(--r1);z-index:50}
.skip:focus{top:var(--s3)}
.wrap{width:min(100% - 2*var(--gut),var(--wrap));margin-inline:auto}
h1,h2,h3,h4{font-family:var(--sans);color:var(--ink);margin:0;text-wrap:balance}
h1{font-size:var(--step-4);line-height:1.04;font-weight:800;letter-spacing:-.035em}
h2{font-size:var(--step-3);line-height:1.12;font-weight:800;letter-spacing:-.028em}
h3{font-size:var(--step-2);line-height:1.25;font-weight:700;letter-spacing:-.015em}
h4{font-size:var(--step-1);font-weight:700}
p{margin:0}

/* Buttons */
.btn,.search button,.nav__search{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:inherit;font-weight:650;line-height:1;min-height:2.75rem;padding:.75rem 1.25rem;border:0;border-radius:999px;background:var(--brand);color:var(--on-brand);text-decoration:none;cursor:pointer;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 6px 16px rgba(27,102,234,.28);transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease}
.btn:hover,.search button:hover,.nav__search:hover{background:var(--brand-strong);color:var(--on-brand);transform:translateY(-1px)}
.btn--ghost{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-strong)}
.btn--ghost:hover{background:var(--tint);color:var(--ink)}

/* Header */
.site-header{position:sticky;top:0;z-index:40;background:var(--header-bg);-webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px);border-bottom:1px solid transparent;transition:border-color .2s ease,box-shadow .2s ease}
.site-header.is-scrolled{border-bottom-color:var(--line);box-shadow:0 6px 24px rgba(11,27,51,.06)}
.site-header__row{display:flex;align-items:center;gap:var(--s5);min-height:4rem}
.brand{display:inline-flex;align-items:center;text-decoration:none;flex:none;border-radius:10px}
.brand svg{height:2.2rem;width:auto;display:block}
.brand:hover{opacity:.88}
.nav{margin-left:auto;display:flex;align-items:center;gap:var(--s3)}
.nav__list{display:flex;gap:var(--s1);list-style:none;margin:0;padding:0}
.nav__list a{display:block;color:var(--ink);text-decoration:none;font-weight:600;padding:.6rem 1rem;border-radius:999px;transition:background-color .15s ease}
.nav__list a:hover{background:var(--tint);color:var(--ink)}
.nav__list a[aria-current]{background:var(--tint);color:var(--brand-deep)}
.nav__search svg{flex:none}
.menu{display:none;margin-left:auto}
.menu summary{list-style:none;display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font-weight:650;min-height:2.75rem;padding:.5rem 1.1rem .5rem .95rem;background:var(--card);border:1.5px solid var(--line-strong);border-radius:999px;color:var(--ink)}
.menu summary::-webkit-details-marker{display:none}
.menu__icon{position:relative;width:1.1rem;height:.8rem;display:inline-block}
.menu__icon::before,.menu__icon::after{content:"";position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .2s ease,top .2s ease}
.menu__icon::before{top:0}.menu__icon::after{top:calc(100% - 2px)}
.menu[open] .menu__icon::before{top:calc(50% - 1px);transform:rotate(45deg)}
.menu[open] .menu__icon::after{top:calc(50% - 1px);transform:rotate(-45deg)}
.menu[open] summary{background:var(--tint);border-color:var(--brand)}
.menu__panel{position:absolute;left:0;right:0;top:100%;background:var(--card);border-bottom:1px solid var(--line);border-radius:0 0 var(--r3) var(--r3);box-shadow:0 24px 40px rgba(11,27,51,.16);padding:var(--s3) var(--gut) calc(var(--s5) + env(safe-area-inset-bottom));max-height:calc(100dvh - 4rem);max-height:calc(100vh - 4rem);overflow-y:auto}
.menu__panel ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.menu__panel a{display:flex;align-items:center;justify-content:space-between;min-height:3.25rem;padding:.5rem .9rem;color:var(--ink);font-size:1.0625rem;font-weight:620;text-decoration:none;border-radius:var(--r1)}
.menu__panel a::after{content:"";width:1.1rem;height:1.1rem;background:currentColor;opacity:.45;-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat}
.menu__panel a:hover,.menu__panel a:active{background:var(--tint);color:var(--ink)}
@media (max-width:52rem){.nav{display:none}.menu{display:block}}

:root{--chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E")}

/* Search field */
.search{display:flex;align-items:center;gap:.4rem;max-width:36rem;padding:.35rem;background:var(--card);border:1.5px solid var(--line-strong);border-radius:999px;box-shadow:var(--sh1)}
.search:focus-within{border-color:var(--brand);outline:3px solid var(--sky);outline-offset:2px}
.search input{flex:1;min-width:0;font:inherit;font-size:1rem;padding:.7rem .5rem .7rem 1.1rem;border:0;background:transparent;color:var(--ink);outline:0;-webkit-appearance:none;appearance:none}
.search input::placeholder{color:var(--muted)}
.search input::-webkit-search-cancel-button{display:none}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;margin:var(--s2) var(--s2) 0;border-radius:var(--r3);color:#fff;text-align:center;padding:clamp(3.75rem,9vw,6.5rem) 0 clamp(2.5rem,6vw,4.5rem);background:radial-gradient(70% 46% at 50% 108%,rgba(116,179,255,.55) 0%,rgba(116,179,255,0) 72%),linear-gradient(180deg,var(--hero-a) 0%,var(--hero-b) 58%,var(--hero-c) 100%)}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 40%,transparent 0 17rem,rgba(255,255,255,.2) calc(17rem + 1px),transparent calc(17rem + 2px)),radial-gradient(circle at 50% 40%,transparent 0 29rem,rgba(255,255,255,.14) calc(29rem + 1px),transparent calc(29rem + 2px)),radial-gradient(circle at 50% 40%,transparent 0 42rem,rgba(255,255,255,.1) calc(42rem + 1px),transparent calc(42rem + 2px))}
@media (min-width:40rem){.hero{margin:var(--s3) var(--s3) 0}}
.hero .wrap{position:relative;z-index:1}
.hero__badge{display:inline-flex;align-items:center;gap:.55rem;background:#fff;color:#0B1B33;font-size:var(--step--1);font-weight:650;padding:.5rem 1rem .5rem .8rem;border-radius:999px;box-shadow:0 8px 22px rgba(5,25,80,.22)}
.hero__badge i{width:.55rem;height:.55rem;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px rgba(27,102,234,.2)}
.hero h1{color:#fff;margin:1.25rem auto 0;max-width:17ch;font-size:clamp(2.2rem,1rem + 5.2vw,4.5rem);line-height:1.02;text-shadow:0 2px 24px rgba(5,25,80,.18)}
.hero__lead{color:#fff;font-size:clamp(1.0625rem,1rem + .35vw,1.3rem);line-height:1.55;margin:1.25rem auto 0;max-width:34rem}
.hero .search{margin:1.75rem auto 0;border-color:transparent;box-shadow:0 14px 36px rgba(5,25,80,.3)}
.hero .search button{background:var(--navy);box-shadow:none}
.hero .search button:hover{background:#06142e}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .hero .search button{background:var(--brand)}:root:not([data-theme="light"]) .hero .search button:hover{background:var(--brand-strong)}}
.hero__hint{margin:1rem auto 0;max-width:30rem;font-size:var(--step--1);color:#fff}
.countries__label{display:inline-block;margin-top:2.25rem;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);color:#fff;font-size:var(--step--1);font-weight:650;padding:.4rem .9rem;border-radius:999px}
.countries{display:grid;grid-template-columns:1fr;gap:.75rem;max-width:64rem;margin:1rem auto 0;text-align:left}
@media (min-width:36rem){.countries{grid-template-columns:repeat(2,1fr);gap:1rem}}
@media (min-width:64rem){.countries{grid-template-columns:repeat(4,1fr)}}
.country{position:relative;display:flex;align-items:center;gap:.9rem;min-height:4.75rem;padding:.9rem 1rem;background:var(--card);color:var(--ink);text-decoration:none;border-radius:var(--r2);box-shadow:0 10px 28px rgba(5,25,80,.22);transition:transform .2s ease,box-shadow .2s ease}
.country:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(5,25,80,.3);color:var(--ink)}
.country:focus-visible{outline-color:#fff}
.country__badge{flex:none;display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:14px;background:var(--m);color:#fff;font-weight:800;font-size:.9rem;letter-spacing:.02em}
.country__text{display:grid;gap:.1rem;min-width:0}
.country__name{font-weight:750;font-size:1.0625rem;line-height:1.2;letter-spacing:-.01em}
.country__count{font-size:var(--step--1);color:var(--muted)}
.country__arrow{margin-left:auto;flex:none;width:1.25rem;height:1.25rem;color:var(--brand)}
[data-market="UK"]{--m:var(--uk)}[data-market="CA"]{--m:var(--ca)}[data-market="AU"]{--m:var(--au)}[data-market="NZ"]{--m:var(--nz)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .country__badge{color:#08111F}}
.shapes{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.shape{position:absolute;width:var(--sz);height:auto;rotate:var(--rot);filter:drop-shadow(0 16px 18px rgba(5,25,80,.28))}
.shape--blur{filter:blur(2.5px) drop-shadow(0 16px 18px rgba(5,25,80,.28))}
.shape--1{--sz:clamp(3.6rem,10vw,8rem);--rot:-12deg;left:clamp(-1rem,3vw,5%);top:clamp(1rem,7vw,5rem)}
.shape--2{--sz:clamp(4rem,11vw,9rem);--rot:11deg;right:clamp(-1.2rem,3vw,5%);top:clamp(.5rem,5vw,3.5rem)}
.shape--3{--sz:clamp(4rem,11vw,9.5rem);--rot:14deg;left:clamp(-1rem,1.5vw,3%);bottom:clamp(8rem,13vw,12rem);display:none}
.shape--4{--sz:clamp(4.5rem,11vw,10rem);--rot:-8deg;right:clamp(-1rem,1.5vw,3%);bottom:clamp(8rem,13vw,12rem);display:none}
@media (min-width:64rem){.shape--3,.shape--4{display:block}}
.defs{position:absolute;width:0;height:0}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .shape{opacity:.5}}
@media (prefers-reduced-motion:no-preference){
  .shape{animation:bob 7s ease-in-out infinite}
  .shape--2{animation-delay:-2s;animation-duration:8s}.shape--3{animation-delay:-4s;animation-duration:9s}.shape--4{animation-delay:-1s;animation-duration:7.5s}
  @keyframes bob{0%,100%{translate:0 0}50%{translate:0 -10px}}
}
@media (prefers-reduced-motion:reduce){.country,.btn,.search button,.nav__search{transition:none}.country:hover{transform:none}}

/* Sections */
.section{padding:clamp(3rem,7vw,5.5rem) 0}
.section--tint{background:linear-gradient(180deg,var(--tint-2),var(--bg))}
.section__head{max-width:var(--measure);margin-bottom:var(--s6)}
.section__head p{margin-top:var(--s3);font-size:var(--step-1);line-height:1.6;color:var(--ink-2)}

/* Cover types: a card per type, one pill per country */
.index{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:.75rem}
@media (min-width:36rem){.index{grid-template-columns:repeat(2,1fr)}}
@media (min-width:64rem){.index{grid-template-columns:repeat(3,1fr);gap:1rem}}
.index li{display:flex;flex-direction:column;justify-content:space-between;gap:var(--s3);padding:1.1rem 1.15rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh1)}
.index__name{font-weight:720;font-size:1.0625rem;line-height:1.3;letter-spacing:-.01em}
.chips{display:flex;gap:.4rem;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:.4rem;min-height:2.25rem;font-size:.875rem;font-weight:700;line-height:1;padding:.5rem .8rem;border:1px solid var(--line);background:var(--tint-2);border-radius:999px;text-decoration:none;color:var(--ink);transition:background-color .15s ease,border-color .15s ease}
.chip::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--m)}
.chip:hover{background:var(--tint);border-color:var(--brand);color:var(--ink)}
.chip--uk{--m:var(--uk)}.chip--ca{--m:var(--ca)}.chip--au{--m:var(--au)}.chip--nz{--m:var(--nz)}
@media (pointer:coarse){.chip{min-height:2.75rem;padding:.6rem .95rem}}

/* How we work panel */
.section--tight{padding:clamp(1.5rem,4vw,3rem) 0 clamp(3rem,7vw,5.5rem)}
.band{position:relative;overflow:hidden;isolation:isolate;border-radius:var(--r3);color:#fff;padding:clamp(1.75rem,5vw,4rem);background:linear-gradient(135deg,var(--band-a) 0%,var(--band-b) 100%)}
.band::before{content:"";position:absolute;z-index:-1;right:-8rem;top:-8rem;width:26rem;height:26rem;border-radius:50%;background:radial-gradient(circle,rgba(116,179,255,.38),rgba(116,179,255,0) 68%)}
.band h2,.band h3{color:#fff}
.band a{color:#fff;text-decoration-color:var(--sky)}
.band a:hover{color:#fff;text-decoration-thickness:.16em}
.band :focus-visible{outline-color:#fff}
.band__grid{display:grid;grid-template-columns:1fr;gap:var(--s6)}
@media (min-width:60rem){.band__grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:var(--s7);align-items:start}}
.band__grid>div>p{margin-top:var(--s4)}
.band__points{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;counter-reset:pt}
.band__points li{counter-increment:pt;position:relative;padding:1.1rem 1.15rem 1.1rem 4.1rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--r2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.band__points li::before{content:counter(pt);position:absolute;left:1.1rem;top:1.05rem;display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:12px;background:#fff;color:var(--brand-deep);font-weight:800}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .band__points li::before{color:#0A1F44}}
.band__points strong{display:block;font-size:var(--step-1);line-height:1.3;margin-bottom:var(--s1)}
.band__points span{color:#fff;font-size:1rem;line-height:1.55}

/* Page head, breadcrumbs */
.crumbs{font-size:var(--step--1);color:var(--muted);padding:var(--s4) 0 var(--s3)}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:var(--s2);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.crumbs ol::-webkit-scrollbar{display:none}
.crumbs li{display:inline-flex;align-items:center;gap:var(--s2);flex:none;max-width:16rem}
.crumbs li+li::before{content:"";width:.9rem;height:.9rem;background:var(--line-strong);-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat;flex:none}
.crumbs a{color:var(--muted);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:.35rem 0}
.crumbs a:hover{color:var(--brand-deep);text-decoration:underline}
.crumbs [aria-current]{color:var(--ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pagehead{position:relative;isolation:isolate;overflow:hidden;margin-top:var(--s2);padding:clamp(1.5rem,5vw,3.25rem);border-radius:var(--r3);border:1px solid var(--line);background:linear-gradient(135deg,var(--tint) 0%,var(--card) 68%)}
.pagehead::after{content:"";position:absolute;z-index:-1;right:-6rem;top:-6rem;width:20rem;height:20rem;border-radius:50%;border:1.5px solid rgba(27,102,234,.16);box-shadow:0 0 0 3rem rgba(27,102,234,.05),0 0 0 6rem rgba(27,102,234,.035)}
.pagehead h1{max-width:min(100%,24ch);font-size:clamp(2rem,1.2rem + 3.6vw,3.5rem)}
.pagehead--hub h1{max-width:min(100%,26ch)}
.dek{font-size:clamp(1.0625rem,1rem + .3vw,1.25rem);line-height:1.55;color:var(--ink-2);margin-top:var(--s4);max-width:var(--measure)}
.byline{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--s5);font-size:var(--step--1);color:var(--muted)}
.byline>span{display:inline-flex;align-items:center;gap:.3em;padding:.4rem .85rem;background:var(--card);border:1px solid var(--line);border-radius:999px}
.byline strong{color:var(--ink);font-weight:650}
.marketmark{display:inline-flex;align-items:center;gap:.5rem;font-size:var(--step--1);font-weight:700;color:var(--ink);background:var(--card);border:1px solid var(--line);padding:.4rem .9rem .4rem .75rem;border-radius:999px;margin-bottom:var(--s4)}
.marketmark::before{content:"";width:.65rem;height:.65rem;border-radius:50%;background:var(--m)}

/* Article */
.article{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s6);padding:var(--s6) 0 var(--s8)}
@media (min-width:60rem){.article{grid-template-columns:minmax(0,var(--measure)) 17rem;gap:var(--s8);justify-content:space-between;padding-top:var(--s7)}}
.prose{font-size:1.0625rem;line-height:1.75;color:var(--ink)}
@media (min-width:48rem){.prose{font-size:1.125rem}}
.prose>*+*{margin-top:1.15em}
.prose h2{margin-top:2.1em;font-size:var(--step-3)}
.prose h3{margin-top:1.7em}
.prose h2+*,.prose h3+*{margin-top:.7em}
.prose ul,.prose ol{padding-left:1.35em}
.prose li+li{margin-top:.4em}
.prose li::marker{color:var(--brand)}
.prose strong{font-weight:700}
.prose blockquote{margin-left:0;padding:.25rem 0 .25rem var(--s5);border-left:4px solid var(--brand);color:var(--ink-2)}
.prose .tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r2);background:var(--card)}
.prose table{border-collapse:collapse;width:100%;min-width:30rem;font-size:var(--step--1);line-height:1.45}
.prose th,.prose td{padding:var(--s3) var(--s4);text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{background:var(--tint);font-weight:700}
.prose tr:last-child td{border-bottom:0}
.prose .admonition{padding:var(--s4) var(--s5);border-radius:var(--r2);background:var(--note);border:1px solid var(--line);border-left:5px solid var(--note-line);font-size:var(--step-0);line-height:1.6}
.prose .admonition.warning{background:var(--warn);border-left-color:var(--warn-line)}
.prose .admonition-title{font-weight:750;margin:0 0 var(--s1)}
.prose .admonition p+p{margin-top:.6em}
.prose a{word-break:break-word}
.prose .footnote{font-size:var(--step--1);line-height:1.5;color:var(--muted);margin-top:var(--s7)}
.prose .footnote hr{border:0;border-top:1px solid var(--line)}
.aside{align-self:start;font-size:var(--step--1)}
@media (min-width:60rem){.aside{position:sticky;top:5.5rem}}
.aside h2{font-size:var(--step--1);font-weight:750;margin-bottom:var(--s3);color:var(--muted);letter-spacing:0}
.toc{background:var(--card);border:1px solid var(--line);border-radius:var(--r2);box-shadow:var(--sh1)}
.toc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);cursor:pointer;min-height:3rem;padding:.6rem 1rem;font-weight:750;font-size:var(--step-0);border-radius:var(--r2)}
.toc summary::-webkit-details-marker{display:none}
.toc summary::after{content:"";width:1rem;height:1rem;background:currentColor;opacity:.55;transform:rotate(90deg);transition:transform .2s ease;-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat}
.toc details[open] summary::after{transform:rotate(-90deg)}
.toc ul{list-style:none;margin:0;padding:0 .5rem .6rem;display:grid;gap:.1rem}
.toc ul ul{padding:0 0 0 .75rem}
.toc a{display:block;padding:.5rem .75rem;border-radius:10px;color:var(--ink-2);text-decoration:none;line-height:1.35}
.toc a:hover{background:var(--tint);color:var(--ink)}
.toc a[aria-current="true"]{background:var(--tint);color:var(--brand-deep);font-weight:700}
.aside__block{margin-top:var(--s5);padding:1rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r2)}

/* Disclaimer */
.disclaimer{border:1px solid var(--line);background:var(--card);border-left:5px solid var(--brand);border-radius:var(--r2);padding:var(--s4) var(--s5);font-size:var(--step--1);line-height:1.6;color:var(--ink-2);margin-top:var(--s7)}
.disclaimer strong{color:var(--ink)}

/* Draft panel (preview builds only) */
.draft{border:2px dashed var(--line-strong);border-radius:var(--r2);padding:var(--s5);background:var(--card)}
.draft__status{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);font-size:var(--step--1);color:var(--muted);margin-bottom:var(--s4)}
.draft__status b{color:var(--ink)}
.draft h2{font-size:var(--step-2);margin:0 0 var(--s3)}
.draft ol{margin:var(--s3) 0 0;padding-left:1.2em;line-height:1.8}
.draft p+p{margin-top:var(--s3)}

/* Hubs: cards */
.hubgroup{padding:var(--s6) 0 0}
.hubgroup+.hubgroup{margin-top:var(--s3)}
.hubgroup h2{font-size:var(--step-2);letter-spacing:-.02em;margin-bottom:var(--s4);display:flex;align-items:center;gap:var(--s3)}
.hubgroup h2 small{font-size:var(--step--1);font-weight:700;line-height:1;color:var(--brand-deep);background:var(--tint);padding:.35rem .6rem;border-radius:999px}
.rows{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:.6rem}
.rows a,.typegrid a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:3.5rem;padding:.85rem 1rem .85rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r2);color:var(--ink);text-decoration:none;font-weight:620;line-height:1.3;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.rows a::after,.typegrid a::after{content:"";flex:none;width:1.05rem;height:1.05rem;margin-left:auto;background:var(--brand);-webkit-mask:var(--chev) center/contain no-repeat;mask:var(--chev) center/contain no-repeat;transition:transform .18s ease}
.rows a:hover,.typegrid a:hover{transform:translateY(-2px);border-color:var(--brand);box-shadow:var(--sh2);color:var(--ink)}
.rows a:hover::after,.typegrid a:hover::after{transform:translateX(3px)}
.rows .soon{color:var(--muted);font-weight:450}
.hubmain{padding:var(--s5) 0 var(--s8)}
.lede-block{max-width:var(--measure);padding-top:var(--s6)}
.typegrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:.6rem}
.typegrid a{min-height:4rem;font-weight:700}
.typegrid .n{font-weight:500;font-size:var(--step--1);color:var(--muted);white-space:nowrap;margin-left:auto}
.typegrid--one{grid-template-columns:minmax(0,26rem)}

/* Related */
.related{border-top:1px solid var(--line);padding:var(--s7) 0 var(--s8)}
.related h2{font-size:var(--step-2);margin-bottom:var(--s4)}

/* Search results */
.results{list-style:none;margin:var(--s5) 0 0;padding:0;display:grid;gap:.6rem}
.results li{padding:1rem 1.1rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r2)}
.results a{font-weight:700;font-size:var(--step-1);text-decoration:none;color:var(--ink)}
.results a:hover{text-decoration:underline;color:var(--brand-deep)}
.results small{display:block;color:var(--muted);margin-top:var(--s1)}
.filters{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s4)}
.filters button{font:inherit;font-size:var(--step--1);font-weight:650;min-height:2.5rem;padding:.5rem 1rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--card);color:var(--ink);cursor:pointer}
.filters button:hover{background:var(--tint)}
.filters button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.hubmain .search{max-width:40rem}

/* Footer */
.site-footer{margin:0 var(--s2) var(--s2);border-radius:var(--r3);background:var(--foot);color:#C9D8F2;padding:clamp(2rem,5vw,3.5rem) 0 var(--s5);font-size:var(--step--1)}
@media (min-width:40rem){.site-footer{margin:0 var(--s3) var(--s3)}}
.footer__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s6) var(--s5)}
.footer__brand{grid-column:1/-1}
@media (min-width:60rem){.footer__grid{grid-template-columns:1.5fr repeat(3,1fr);gap:var(--s6)}.footer__brand{grid-column:auto}}
.site-footer h2{font-size:.8125rem;font-weight:750;margin-bottom:var(--s3);color:#fff;letter-spacing:.06em;text-transform:uppercase}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.site-footer a{display:inline-block;color:#C9D8F2;text-decoration:none;padding:.4rem 0;font-size:.9375rem}
.site-footer a:hover{color:#fff;text-decoration:underline}
.site-footer :focus-visible{outline-color:#fff}
.footer__brand svg{height:2.2rem;width:auto}
.footer__brand p{margin-top:var(--s4);max-width:26rem;color:#C9D8F2;line-height:1.6}
.footer__legal{margin-top:var(--s6);padding-top:var(--s5);border-top:1px solid rgba(255,255,255,.16);color:#AFC2E4;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);justify-content:space-between;line-height:1.5}
.site-footer .logo--light{display:none}
.site-footer .logo--dark{display:inline-flex}

.preview-bar{background:var(--navy);color:#fff;font-size:var(--step--1);padding:var(--s2) 0;text-align:center}
.preview-bar b{color:var(--sky)}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media print{.site-header,.site-footer,.aside,.preview-bar,.search,.shapes{display:none}.prose{font-size:11pt}.pagehead{background:none;border:0}}

/* Logo variants: light by default, swapped in dark mode */
.logo{display:inline-flex}
.logo--dark{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo--light{display:none}:root:not([data-theme="light"]) .logo--dark{display:inline-flex}}

.mt-4{margin-top:var(--s4)}.mt-5{margin-top:var(--s5)}.mt-6{margin-top:var(--s6)}.mt-7{margin-top:var(--s7)}
.small-muted{color:var(--muted);font-size:var(--step--1)}
.pagehead--404{margin-top:var(--s5)}
.maplabel{margin-top:var(--s5);font-size:1.0625rem}
.maplabel a{display:inline-block;padding:.4rem 0}

.soon{margin-top:var(--s6);padding:clamp(1.25rem,4vw,2rem);background:var(--tint);border:1px solid var(--line);border-radius:var(--r2);max-width:var(--measure)}
.soon p{font-size:var(--step-1);line-height:1.6;color:var(--ink-2);margin-top:var(--s3)}
.soon__links{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);font-weight:650;font-size:var(--step-0)!important}
.soon__links a{display:inline-block;padding:.4rem 0}
