@font-face{font-family:"Sora";src:url("../fonts/sora-var.woff2") format("woff2-variations"),url("../fonts/sora-var.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+1E00-1E9F,U+1EF2-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Public Sans";src:url("../fonts/publicsans-var.woff2") format("woff2-variations"),url("../fonts/publicsans-var.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+1E00-1E9F,U+1EF2-1EFF,U+2000-206F,U+20A0-20C0,U+2113,U+2122,U+2C60-2C7F,U+A720-A7FF}

/* ── Design tokens ─────────────────────────────────────────────────────── */
:root{
  --ground:#FFFFFF;   /* page background */
  --surface:#FFFFFF;  /* cards, panels, header */
  --sunk:#F2F6FA;     /* table headers, inset areas — the only tinted surface */
  --inset:#F2F6FA;   /* recessed area inside a panel */
  --line:#D6E0EA;     /* default hairline */
  --line-2:#B8C7D6;   /* component edge: what separates a card from the white page */
  --edge:#B8C7D6;    /* card + panel edge against the white page */
  --ink:#12202E;      /* headings, primary text */
  --ink-2:#46586B;    /* body text, secondary */
  --ink-3:#637284;    /* meta, captions — AA 4.5 on white and on --sunk */
  --blue:#1257A8;     /* brand accent: links, buttons, logo */
  --blue-deep:#0E4587;/* hover */
  --blue-soft:#E3EDF9;/* active nav pill, avatar bg */
  --blue-tint:#F0F6FC;/* callout background */
  --good:#16704A;  --good-soft:#E1F0E9;
  --warn:#8A5A00;  --bad:#B3261E;
  --sans:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --display:"Sora","Public Sans",sans-serif;
  --mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;
  --wrap:1180px;   /* page container */
  --read:820px;    /* reading measure on article/inner pages */
  --r:10px;        /* border radius */
  --shadow:0 1px 2px rgba(18,32,46,.05),0 6px 20px rgba(18,32,46,.06);
  --shadow-raised:0 1px 2px rgba(18,32,46,.06),0 10px 28px rgba(18,32,46,.10);
  --body-ink:#1D2E3F;
  --code-bg:#0F2233;
  --code-ink:#D8E4F0;
  --footer-bg:#0F2233;
  --focus:#1257A8;
  color-scheme:light;
}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#0B1520;
    --surface:#122031;
    --sunk:#182B3F;
    --inset:#122031;
    --line:#22384F;
    --line-2:#33506D;
    --edge:#22384F;
    --ink:#EAF1F8;
    --ink-2:#B4C4D4;
    --ink-3:#8598AB;
    --blue:#6BA9EC;
    --blue-deep:#93C2F5;
    --blue-soft:#17304B;
    --blue-tint:#122740;
    --good:#5FC392;  --good-soft:#12332A;
    --warn:#E0A63F;  --bad:#EE7C74;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.35);
    --shadow-raised:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.35);
    --body-ink:#C6D4E2;
    --code-bg:#081320;
    --code-ink:#CBDCEC;
    --footer-bg:#081320;
    --focus:#93C2F5;
    color-scheme:dark;
  }
}

:root[data-theme="dark"]{
  --ground:#0B1520;
  --surface:#122031;
  --sunk:#182B3F;
  --inset:#122031;
  --line:#22384F;
  --line-2:#33506D;
  --edge:#22384F;
  --ink:#EAF1F8;
  --ink-2:#B4C4D4;
  --ink-3:#8598AB;
  --blue:#6BA9EC;
  --blue-deep:#93C2F5;
  --blue-soft:#17304B;
  --blue-tint:#122740;
  --good:#5FC392;  --good-soft:#12332A;
  --warn:#E0A63F;  --bad:#EE7C74;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.35);
  --shadow-raised:0 1px 2px rgba(0,0,0,.4),0 6px 20px rgba(0,0,0,.35);
  --body-ink:#C6D4E2;
  --code-bg:#081320;
  --code-ink:#CBDCEC;
  --footer-bg:#081320;
  --focus:#93C2F5;
  color-scheme:dark;
}

/* ── Reset ─────────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink-2);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:1px}
a:hover{color:var(--blue-deep);text-decoration-thickness:2px}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4,h5,h6{font-family:var(--display);color:var(--ink);line-height:1.22;letter-spacing:-.015em;text-wrap:balance;margin:0 0 14px;font-weight:700}
h1{font-size:40px}
h2{font-size:27px;font-weight:700}
h3{font-size:20px;font-weight:600}
p{margin:0 0 18px}
strong{color:var(--ink);font-weight:600}
hr{border:0;border-top:1px solid var(--line);margin:38px 0}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* ── Layout ────────────────────────────────────────────────────────────── */
.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:20px}
.shell{display:flex;flex-direction:column;min-height:100vh}
.main{flex:1 0 auto}
.read{max-width:var(--read);margin-inline:auto}

/* ── Skip link ─────────────────────────────────────────────────────────── */
.skip{position:absolute;top:-60px;left:16px;z-index:100;background:var(--surface);border:1px solid var(--blue);color:var(--blue);font-weight:600;font-size:14px;padding:8px 14px;border-radius:8px;text-decoration:none;transition:top .12s}
.skip:focus{top:12px}

/* ── Header ────────────────────────────────────────────────────────────── */
.hdr{position:sticky;top:0;z-index:50;background:var(--surface)}
.hdr__in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;height:62px}
.hdr__in>.brand{justify-self:start}
/* Brand lockup. --mark is the mark height; the wordmark and the gap are
   derived from it, so the whole lockup scales from one number. */
.brand{--mark:34px;display:inline-flex;align-items:center;
  gap:calc(var(--mark) * .30);text-decoration:none;flex-shrink:0;
  color:var(--blue);line-height:1}
.brand:hover{text-decoration:none;color:var(--blue)}
.brand__mark{width:var(--mark);height:var(--mark);flex-shrink:0;display:block}
.brand__word{font-family:var(--display);font-weight:700;
  font-size:calc(var(--mark) * .62);letter-spacing:-.035em;color:var(--ink);
  white-space:nowrap;
  /* optically centred against the ring, not baseline-aligned */
  display:inline-block;transform:translateY(calc(var(--mark) * -.02))}
.brand__hyphen{color:var(--blue)}
/* Clear space: one mark-height on every side. */
.brand--header{margin:0;padding:0}
.hdr__in>.brand{margin-inline-end:var(--mark)}
.brand--footer .brand__word{color:#fff}
.brand--footer{margin-bottom:14px}
/* Below 22px the wordmark is omitted in markup; this covers any stray case. */
.brand--markonly .brand__word{display:none}
/* Very narrow screens still need the lockup to fit. */
@media (max-width:360px){.brand{--mark:26px}}
.nav{justify-self:center}
.nav__list{display:flex;align-items:center;justify-content:center;gap:2px;list-style:none;margin:0;padding:0}
.nav__list a{display:inline-block;padding:7px 11px;border-radius:7px;font-size:14.5px;font-weight:500;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.nav__list a:hover{color:var(--blue);background:var(--blue-soft)}
.nav__list .is-active>a,.nav__list .current-menu-item>a,.nav__list .current_page_item>a{color:var(--blue);background:var(--blue-soft)}
.hdr__tools{justify-self:end;display:flex;align-items:center;gap:8px;flex-shrink:0}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink-2);cursor:pointer}
.iconbtn:hover{background:var(--blue-soft);color:var(--blue);border-color:var(--line)}
.iconbtn svg{width:18px;height:18px}
.cta{display:inline-flex;align-items:center;height:36px;padding:0 15px;border-radius:8px;background:var(--blue);color:#fff;font-weight:600;font-size:14.5px;text-decoration:none;border:1px solid var(--blue);white-space:nowrap}
.cta:hover{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff;text-decoration:none}
.t-sun{display:none}
:root[data-theme="dark"] .t-sun{display:block}
:root[data-theme="dark"] .t-moon{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .t-sun{display:block}:root:not([data-theme="light"]) .t-moon{display:none}}
.navtoggle{display:none}
.searchbar{border-bottom:1px solid var(--line);background:var(--sunk);padding:14px 0}
.searchbar[hidden]{display:none}
.searchbar form{display:flex;gap:8px;max-width:var(--read);margin-inline:auto}
.searchbar input{flex:1;padding:10px 12px;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;border-radius:8px;background:var(--blue);border:1px solid var(--blue);color:#fff;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--blue-deep);border-color:var(--blue-deep);color:#fff;text-decoration:none}
.btn--ghost{background:transparent;color:var(--blue);border-color:var(--line-2)}
.btn--ghost:hover{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}
@media (max-width:1000px){
  .navtoggle{display:inline-flex}
  .hdr__in{grid-template-columns:auto 1fr}
  .nav{position:absolute;inset-inline:0;top:62px;background:var(--surface);border-bottom:1px solid var(--line);padding:8px 20px 14px;margin:0;justify-self:stretch}
  .nav[hidden]{display:none}
  .nav__list{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
  .nav__list a{display:block;padding:11px 0;border-bottom:1px solid var(--line);border-radius:0;font-size:16px}
  .nav__list li:last-child a{border-bottom:0}
  .hdr__in{position:relative}
  .cta{display:none}
}
@media (min-width:1000.1px){.nav[hidden]{display:block}}

/* ── Section furniture ─────────────────────────────────────────────────── */
.sect{padding:52px 0}
.sect+.sect{border-top:1px solid var(--line)}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin:0 0 10px}
.rule{width:52px;height:3px;background:var(--blue);border-radius:2px;margin:10px auto 16px}
.lede{font-size:18px;color:var(--ink-2)}

/* ── Homepage: fully centered ──────────────────────────────────────────── */
.home{text-align:center}
.home h1,.home h2,.home h3,.home p,.home .eyebrow,.home .lede{text-align:center}
.home p,.home .lede{max-width:64ch;margin-inline:auto}
.home h1{font-size:38px;max-width:22ch;margin-inline:auto}
.home .hero{padding:48px 0 34px}
.home .hero .kicker{display:inline-block;font-size:13px;font-weight:600;color:var(--blue);background:var(--blue-soft);border-radius:999px;padding:6px 14px;margin:0 0 18px}
.home .sect__head{margin-bottom:26px}

/* research cards */
.rcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;list-style:none;margin:0;padding:0}
.rcard{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r);box-shadow:var(--shadow);padding:26px 22px;text-align:center}
.rcard__stat{font-family:var(--display);font-weight:700;font-size:38px;line-height:1;color:var(--blue);letter-spacing:-.03em;margin:0 0 10px}
.rcard__title{font-size:17px;margin:0 0 10px}
.rcard__title a{color:var(--ink);text-decoration:none}
.rcard__title a:hover{color:var(--blue);text-decoration:underline}
.rcard__desc{font-size:15px;color:var(--ink-2);margin:0 0 14px;max-width:none}
.rcard__meta{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);border-top:1px solid var(--line);padding-top:12px;margin:0;letter-spacing:.01em}

/* pricing table */
.ptable{max-width:880px;margin-inline:auto;background:var(--surface);border:1px solid var(--edge);border-radius:var(--r);box-shadow:var(--shadow);overflow-x:auto}
.ptable table{width:100%;border-collapse:collapse;font-size:15px;margin:0}
.ptable th,.ptable td{text-align:center;padding:13px 14px;border-bottom:1px solid var(--line)}
.ptable thead th{background:var(--sunk);color:var(--ink-2);font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.ptable tbody tr:last-child th,.ptable tbody tr:last-child td{border-bottom:0}
.ptable tbody th{color:var(--ink);font-weight:600}
.ptable td{font-variant-numeric:tabular-nums;color:var(--ink-2)}
.ptable .num{font-family:var(--mono);font-size:14px}
.tnote{font-size:13.5px;color:var(--ink-2);max-width:880px;margin:14px auto 0;padding-inline:20px}

/* code box */
.codebox{max-width:880px;margin:0 auto;background:var(--code-bg);border-radius:var(--r);overflow:hidden;text-align:left;box-shadow:var(--shadow)}
.codebox__bar{display:flex;align-items:center;gap:7px;padding:11px 16px;border-bottom:1px solid rgba(255,255,255,.09)}
.codebox__dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.22)}
.codebox__name{margin-left:6px;font-family:var(--mono);font-size:11.5px;color:rgba(255,255,255,.5);letter-spacing:.04em}
.codebox pre{margin:0;padding:18px 20px;overflow-x:auto;font-family:var(--mono);font-size:13.5px;line-height:1.7;color:var(--code-ink);text-align:left}
.codebox code{font-family:inherit;color:inherit;background:none;padding:0;border:0}

/* task grid */
.tasks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin:0;padding:0;list-style:none}
.task{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r);padding:22px 20px;text-align:center}
.task h3{font-size:16px;margin:0 0 12px}
.task ul{list-style:none;margin:0;padding:0}
.task li{margin:0 0 8px}
.task a{font-size:14.5px;color:var(--ink-2);text-decoration:none}
.task a:hover{color:var(--blue);text-decoration:underline}

/* prose block inside the centered homepage */
.home .prose h3{font-size:20px;margin:34px 0 12px}
.home .prose p{font-size:16.5px;color:var(--body-ink)}
.home .prose ul{list-style:none;margin:0 auto 18px;padding:0;max-width:64ch}
.home .prose li{margin:0 0 9px;color:var(--body-ink)}

/* FAQ */
.faqs{max-width:820px;margin-inline:auto;display:grid;gap:12px}
.faq{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r);text-align:center}
.faq summary{cursor:pointer;list-style:none;padding:17px 22px;font-family:var(--display);font-weight:600;font-size:16.5px;color:var(--ink);text-align:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--blue)}
.faq[open] summary{border-bottom:1px solid var(--line)}
.faq__a{padding:16px 22px 20px}
.faq__a p{margin:0;font-size:15.5px;color:var(--ink-2);max-width:60ch;margin-inline:auto}

/* ── Article / page: centered headings, left body ──────────────────────── */
.entry{padding:44px 0 64px}
.entry__head{text-align:center;margin-bottom:32px}
.entry__head h1{font-size:40px;max-width:20ch;margin-inline:auto}
.entry__lede{font-size:18.5px;color:var(--ink-2);max-width:60ch;margin:0 auto 16px;text-align:center}
.crumbs{text-align:center;font-size:13.5px;color:var(--ink-2);margin:0 0 16px}
.crumbs a{color:var(--ink-2);text-decoration:none}
.crumbs a:hover{color:var(--blue);text-decoration:underline}
.emeta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;font-family:var(--mono);font-size:12.5px;color:var(--ink-2);margin:0;padding-inline:20px}  /* keeps the byline off the viewport edge at 390px */
.emeta--home{margin:18px 0 0}
.entry__body{max-width:var(--read);margin-inline:auto;text-align:left}
.entry__body h2:not(.toc h2){text-align:center}
.entry__body h2:not(.toc h2)::after{content:"";display:block;width:52px;height:3px;background:var(--blue);border-radius:2px;margin:10px auto 16px}
.entry__body .toc h2::after{content:none}
.entry__body>h2+p.subline{text-align:center;color:var(--ink-2);font-size:15px;max-width:56ch;margin:0 auto 20px}
.entry__body p{font-size:17px;color:var(--body-ink);margin:0 0 20px;text-align:left}
.entry__body h2{margin:44px 0 0}
.entry__body h3{margin:30px 0 12px;text-align:left}
.entry__body ul,.entry__body ol{margin:0 0 20px;padding-left:1.35em;text-align:left}
.entry__body li{margin:0 0 9px;font-size:17px;color:var(--body-ink)}
.entry__body img{border-radius:var(--r);border:1px solid var(--line)}
.entry__body figure{margin:26px 0}
.entry__body figcaption{font-size:13.5px;color:var(--ink-2);margin-top:9px;text-align:left}

/* TOC card */
.toc{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r);padding:20px 22px;margin:0 0 32px}
.toc h2{text-align:center;font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);margin:0 0 6px;font-weight:700}
.toc ol,.toc ul{list-style:none;margin:0;padding:0;text-align:left}
@media (min-width:820px){
  .toc ol,.toc ul{columns:2;column-gap:32px}
  .toc li{break-inside:avoid}
}
.toc li{margin:0 0 7px;font-size:15px}
.toc a{color:var(--ink-2);text-decoration:none}
.toc a:hover{color:var(--blue);text-decoration:underline}

/* ── Core blocks ───────────────────────────────────────────────────────── */
.entry__body table,.wp-block-table table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--edge);border-radius:var(--r);font-size:15px;margin:0}
.wp-block-table{margin:26px 0;overflow-x:auto;border-radius:var(--r)}
.entry__body th,.entry__body td,.wp-block-table th,.wp-block-table td{padding:12px 14px;border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.entry__body thead th,.wp-block-table thead th{background:var(--sunk);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap}
.entry__body tbody tr:last-child td,.wp-block-table tbody tr:last-child td{border-bottom:0}
.tablescroll{overflow-x:auto;margin:26px 0;border-radius:var(--r)}
/* The cookie table has five columns; below tablet it scrolls rather than
   squeezing words to one letter per line. */
@media (max-width:760px){.sc-cookietable table{min-width:660px}}
:not(pre)>code{font-family:var(--mono);font-size:.88em;background:var(--sunk);border:1px solid var(--line);border-radius:5px;padding:.1em .35em;color:var(--ink)}
pre,.wp-block-code,.wp-block-preformatted{background:var(--code-bg);color:var(--code-ink);border-radius:var(--r);padding:18px 20px;overflow-x:auto;font-family:var(--mono);font-size:13.5px;line-height:1.7;margin:26px 0}
pre code,.wp-block-code code{background:none;border:0;padding:0;color:inherit;font-size:inherit}
blockquote,.wp-block-quote{border:0;border-left:3px solid var(--blue);background:var(--blue-tint);border-radius:0 var(--r) var(--r) 0;margin:26px 0;padding:16px 20px;color:var(--ink-2)}
blockquote p:last-child{margin-bottom:0}
details,.wp-block-details{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r);margin:22px 0;padding:0}
details>summary,.wp-block-details>summary{cursor:pointer;padding:14px 18px;font-weight:600;color:var(--ink);font-family:var(--display)}
details[open]>summary,.wp-block-details[open]>summary{border-bottom:1px solid var(--line)}
details>*:not(summary),.wp-block-details>*:not(summary){padding:0 18px;margin:16px 0}
.wp-block-image{margin:26px 0}
.wp-block-image img{border-radius:var(--r);border:1px solid var(--line)}
.wp-block-buttons{gap:12px;margin:24px 0}
.wp-block-button__link{background:var(--blue);color:#fff;border-radius:8px;padding:11px 20px;font-weight:600;text-decoration:none}
.wp-block-button__link:hover{background:var(--blue-deep);color:#fff}
.wp-block-separator{border-top:1px solid var(--line);background:none;height:0;opacity:1;margin:38px 0}
.rank-math-list-item{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}
.rank-math-list-item:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.rank-math-question{font-family:var(--display);font-weight:600;font-size:18px;color:var(--ink);margin:0 0 8px}
.rank-math-answer p:last-child{margin-bottom:0}

/* Migrated content sometimes carries literal light colours; keep dark readable. */
:root[data-theme="dark"] .entry__body [style*="background-color"]{background-color:var(--sunk)!important;border-color:var(--line)!important}
:root[data-theme="dark"] .entry__body [style*="background-color"],
:root[data-theme="dark"] .entry__body [style*="background-color"] :where(p,li,span,strong,em,td,th,h2,h3,h4){color:var(--ink)!important}
:root[data-theme="dark"] .entry__body [style*="color:"]:not(a){color:var(--ink)!important}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .entry__body [style*="background-color"]{background-color:var(--sunk)!important;border-color:var(--line)!important}
  :root:not([data-theme="light"]) .entry__body [style*="background-color"],
  :root:not([data-theme="light"]) .entry__body [style*="background-color"] :where(p,li,span,strong,em,td,th,h2,h3,h4){color:var(--ink)!important}
  :root:not([data-theme="light"]) .entry__body [style*="color:"]:not(a){color:var(--ink)!important}
}

/* ── Index listings ────────────────────────────────────────────────────── */
.list{list-style:none;margin:0;padding:0;max-width:var(--read);margin-inline:auto}
.list__item{border-bottom:1px solid var(--line);padding:22px 0}
.list__item:first-child{padding-top:0}
.list__title{font-size:19px;margin:0 0 6px;text-align:left}
.list__title a{color:var(--ink);text-decoration:none}
.list__title a:hover{color:var(--blue);text-decoration:underline}
.list__ex{font-size:15.5px;color:var(--ink-2);margin:8px 0 0}
.pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;border-top:1px solid var(--line);margin-top:28px;padding-top:24px}
.pager .page-numbers{border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-family:var(--mono);font-size:13px;color:var(--ink-2);text-decoration:none}
.pager .page-numbers.current{background:var(--blue);border-color:var(--blue);color:#fff}
.empty{background:var(--surface);border:1px solid var(--edge);border-radius:var(--r);padding:34px;max-width:var(--read);margin-inline:auto;text-align:center}
.empty__code{font-family:var(--display);font-weight:700;font-size:56px;color:var(--blue);line-height:1;margin:0 0 14px}

/* ── Ad slot ───────────────────────────────────────────────────────────────
   Structure only: no ad code, no network script, nothing that renders on its
   own. There is exactly one ad position on this site — `seekchat_ad_top`,
   printed in header.php directly below the header. See the comment there.

   The container is emitted only when something is hooked to that action, so
   while the position is unused these rules match nothing at all.

   The slot sits flat on the white page: no fill that differs from the page,
   no border, no radius, no shadow. An ad wrapped in the site's own card
   styling reads as site content, which is the opposite of what is wanted —
   the unit's own frame supplies the contrast.

   The min-height is reserved so that a unit appearing later cannot push the
   page around it. That is what holds CLS at zero once ads are switched on. */
.ad-slot--top{
  background:var(--surface);
  border:0;
  box-shadow:none;
  border-radius:0;
  padding-block:14px;
  display:flex;
  justify-content:center;
  min-height:106px;            /* reserved height, desktop */
}
.ad-slot--top>.wrap{
  display:flex;justify-content:center;align-items:center;
  width:100%;max-width:var(--wrap);
  overflow-x:auto;             /* a wide unit scrolls; it never overflows the page */
}
.ad-slot--top>.wrap>*{margin-inline:auto}
@media (max-width:700px){
  .ad-slot--top{min-height:116px}
}

/* ── Diagrams ──────────────────────────────────────────────────────────────
   Plain figures on a white page: no border, no shadow, no radius. The intrinsic
   width and height are on the img itself, so the box is reserved before the
   file arrives and nothing below it moves.                                   */
.seekchat-figure{margin:30px auto;max-width:var(--read);width:100%}
.seekchat-figure img{display:block;width:100%;height:auto;border:0;border-radius:0;box-shadow:none}
/* The hero diagram moved below the chat panel. Its old 8px top margin was
   tuned to sit tight under the hero's byline; here it needs air above it,
   and only a little below, because .sect already brings 52px of padding. */
.seekchat-figure--hero{max-width:var(--wrap);margin:30px auto 8px}
@media (max-width:700px){
  .seekchat-figure{margin:22px auto}
  .seekchat-figure--hero{margin:22px auto 6px}
}

/* ── Footer ────────────────────────────────────────────────────────────── */
.ftr{background:var(--footer-bg);color:#A9BED2;margin-top:64px;padding:52px 0 26px}
.ftr .brand{color:var(--blue)}
.ftr a{color:#CFDEEC;text-decoration:none}
.ftr a:hover{color:#fff;text-decoration:underline}
.ftr__cols{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px}
.ftr__about{font-size:14.5px;line-height:1.65;color:#A9BED2;margin:0;max-width:38ch}
.ftr__h{font-family:var(--display);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#7E96AE;margin:0 0 12px}
.ftr__list{list-style:none;margin:0;padding:0}
.ftr__list li{margin:0 0 9px}
.ftr__list a{font-size:14.5px}
.ftr__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;border-top:1px solid rgba(255,255,255,.1);margin-top:38px;padding-top:20px;font-size:13.5px;color:#7E96AE}
.ftr__base p{margin:0}
@media (max-width:860px){.ftr__cols{grid-template-columns:1fr 1fr;gap:28px}}
@media (max-width:520px){.ftr__cols{grid-template-columns:1fr}}

/* ── Motion ────────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* ── Responsive type ───────────────────────────────────────────────────── */
@media (max-width:700px){
  h1{font-size:30px}
  .home h1{font-size:34px;max-width:18ch}
  .home .hero .lede{font-size:16.5px;max-width:46ch}
  .entry__head h1{font-size:31px}
  h2{font-size:23px}
  .sect{padding:40px 0}
  .entry__body p,.entry__body li{font-size:16.5px}
}

/* ── Print ─────────────────────────────────────────────────────────────── */
@media print{.hdr,.ftr,.searchbar{display:none}body{background:#fff}}

/* Dated third-party source-check note */
.entry__body .sc-srccheck{font-size:14.5px;line-height:1.65;color:var(--ink-2);
  background:var(--blue-tint);border:1px solid var(--line);border-left:3px solid var(--blue);
  border-radius:8px;padding:14px 16px;margin:22px 0}
.entry__body .sc-srccheck strong{color:var(--ink)}

/* Category hub intro: full markup, reading measure, above the list */
.archive__intro{max-width:var(--read);margin:0 auto 34px;text-align:left}
.archive__intro > *:first-child{margin-top:0}
.archive__intro h2{text-align:center}
