/* Jeff Paroddy, jeffparoddy.com
   Editorial science theme. Light by default, dark on request or by system setting.
   One stylesheet, tiny scripts for theme, search and sign up. */

:root{
  --bg:#FBFBF9; --panel:#FFFFFF; --panel2:#F1F4F6; --line:#E3E7EB; --line2:#CDD4DB;
  --ink:#0F1720; --body:#1F2933; --mut:#56626F; --dim:#667483;
  --cy:#0A6F8C; --mg:#B0137C;
  --btn-bg:#0A6F8C; --btn-ink:#FFFFFF; --btn-hover:#085A73;
  --shadow:0 1px 2px rgba(15,23,32,.06),0 8px 24px rgba(15,23,32,.06);
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif;
  --serif:Georgia,"Iowan Old Style","Times New Roman",serif;
  --r:10px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#0B0F15; --panel:#111823; --panel2:#151D2A; --line:#202B3A; --line2:#2C3A4D;
    --ink:#EDF2F7; --body:#D5DEE8; --mut:#A3AFBD; --dim:#8E9BAA;
    --cy:#4FD8EE; --mg:#FF6BDD;
    --btn-bg:#4FD8EE; --btn-ink:#04121A; --btn-hover:#7BE5F5;
    --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0B0F15; --panel:#111823; --panel2:#151D2A; --line:#202B3A; --line2:#2C3A4D;
  --ink:#EDF2F7; --body:#D5DEE8; --mut:#A3AFBD; --dim:#8E9BAA;
  --cy:#4FD8EE; --mg:#FF6BDD;
  --btn-bg:#4FD8EE; --btn-ink:#04121A; --btn-hover:#7BE5F5;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.35);
  color-scheme:dark;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--body);font:17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--cy);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{color:var(--ink)}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hidden{display:none!important}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--btn-bg);color:var(--btn-ink);font:700 14px var(--sans);padding:10px 14px;border-radius:0 0 var(--r) 0}
.skip:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--cy);outline-offset:2px;border-radius:4px}

/* Top strip */
.strip{background:#0F1720;color:#EDF2F7;font:12px/1 var(--sans);letter-spacing:.04em}
.strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:34px}
.strip span:first-child{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:11px}
.strip .soc{display:flex;gap:16px}
.strip a{color:#EDF2F7;opacity:.85}
.strip a:hover{opacity:1;text-decoration:none}

/* Header */
.site-header{background:var(--bg);border-bottom:1px solid var(--line);z-index:50}
.site-header .bar{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink)}
.brand:hover{text-decoration:none}
.face{width:44px;height:44px;border-radius:50%;border:2px solid var(--cy);object-fit:cover;flex:none}
.wordmark{font:800 26px/1 var(--sans);letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.wordmark:hover{text-decoration:none}
.wordmark span{color:var(--cy)}
.primary{display:flex;gap:2px;flex:1;justify-content:center;order:1}
.primary a{font:600 14px var(--sans);color:var(--ink);padding:9px 12px;border-radius:999px;white-space:nowrap}
.primary a:hover{background:var(--panel2);text-decoration:none}
.primary a[aria-current="page"]{background:var(--panel2);color:var(--cy)}
.tools{display:flex;align-items:center;gap:8px;order:2}
.brand{order:0}
.iconbtn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;padding:0}
.iconbtn:hover{background:var(--panel2);text-decoration:none}
.btn{display:inline-block;font:700 14px/1 var(--sans);color:var(--btn-ink);background:var(--btn-bg);border:0;border-radius:999px;padding:12px 18px;cursor:pointer;white-space:nowrap}
.btn:hover{background:var(--btn-hover);text-decoration:none}
@media (min-width:1025px){.site-header{position:sticky;top:0;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px)}
}
@media (max-width:1024px){
  .tools{margin-left:auto}
  .primary{order:3;flex:0 0 100%;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -24px;padding:0 24px}
  .primary::-webkit-scrollbar{display:none}
}

/* Kickers, headings */
.kicker{display:inline-block;font:800 11px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cy);margin:0 0 8px}
a.kicker:hover{text-decoration:underline}
.kicker.mg{color:var(--mg)}
h1{font:800 40px/1.12 var(--sans);letter-spacing:-.02em;margin:0 0 14px}
h2.sect{font:800 22px/1.2 var(--sans);letter-spacing:-.01em;margin:0 0 4px;padding:14px 0 10px;border-top:3px solid var(--ink);display:flex;justify-content:space-between;align-items:baseline;gap:12px}
h2.sect a{font:700 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.standfirst{font:21px/1.5 var(--serif);color:var(--mut);margin:0 0 18px;max-width:760px}
.blurb{margin:0 0 6px;color:var(--mut);font-size:15px;max-width:760px}
.meta{font:12.5px/1.4 var(--sans);color:var(--dim);margin:8px 0 0}
.crumbs{font:13px var(--sans);color:var(--dim);margin:0 0 14px}
.crumbs a{color:var(--mut)}
.count{font:600 13px var(--sans);color:var(--dim);margin:6px 0 4px}

/* Home hero */
.home{padding-bottom:10px}
.hero{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:36px;padding:30px 0 14px}
.lead-title{font:800 clamp(30px,4vw,46px)/1.1 var(--sans);letter-spacing:-.025em;margin:0 0 16px}
.lead-title a{color:var(--ink)}
.lead-title a:hover{color:var(--cy);text-decoration:none}
.leadimg{display:block;border-radius:var(--r);overflow:hidden;background:var(--panel2)}
.leadimg img{width:100%;aspect-ratio:16/9;object-fit:cover}
.dek{font:20px/1.55 var(--serif);color:var(--mut);margin:16px 0 0}
.rail{border-left:1px solid var(--line);padding-left:30px}
.rail-h{font:800 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0 0 14px}
.side-card{padding:16px 0;border-top:1px solid var(--line)}
.side-card:first-of-type{border-top:0;padding-top:0}
.side-card h3{font:800 20px/1.25 var(--sans);letter-spacing:-.01em;margin:0}
.side-card h3 a{color:var(--ink)}
.side-card h3 a:hover{color:var(--cy);text-decoration:none}
.block{padding:26px 0 6px}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 28px;padding:18px 0 6px}
.card{display:flex;flex-direction:column}
.thumb{display:block;border-radius:var(--r);overflow:hidden;background:var(--panel2);margin-bottom:12px}
.thumb img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s ease}
.card:hover .thumb img{transform:scale(1.03)}
.card h3{font:800 19px/1.28 var(--sans);letter-spacing:-.01em;margin:0 0 6px}
.card h3 a{color:var(--ink)}
.card h3 a:hover{color:var(--cy);text-decoration:none}
.sum{margin:0;color:var(--mut);font-size:15px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.tcard{border:1px solid var(--line);border-radius:var(--r);padding:20px;background:var(--panel)}
.tcard:hover{box-shadow:var(--shadow)}
.tcard .sum{-webkit-line-clamp:5}
.featured{padding-top:12px}
.featured .card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);column-gap:30px;align-items:center}
.featured .thumb{grid-row:1/6;margin:0}
.featured .card h3{font-size:30px;line-height:1.15}
.featured .sum{-webkit-line-clamp:5;font-size:17px}

/* Rows */
.rows{list-style:none;margin:20px 0 10px;padding:0}
.row{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px;padding:20px 0;border-top:1px solid var(--line)}
.row:last-child{border-bottom:1px solid var(--line)}
.rthumb{display:block;border-radius:8px;overflow:hidden;background:var(--panel2);align-self:start}
.rthumb img{width:100%;aspect-ratio:16/9;object-fit:cover}
.rthumb.empty{aspect-ratio:16/9}
.row h3{font:800 20px/1.28 var(--sans);letter-spacing:-.01em;margin:0 0 6px}
.row h3 a{color:var(--ink)}
.row h3 a:hover{color:var(--cy);text-decoration:none}
.row .sum{-webkit-line-clamp:2}

/* Headlines */
.headlines{list-style:none;margin:0;padding:0}
.headlines li{padding:12px 0;border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:baseline}
.headlines .kicker{margin:0;flex:0 0 150px}
.headlines a:not(.kicker){color:var(--ink);font:700 17px/1.35 var(--sans)}
.headlines a:not(.kicker):hover{color:var(--cy);text-decoration:none}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}
.chip{display:inline-block;font:600 14px/1 var(--sans);color:var(--ink);background:var(--panel);border:1px solid var(--line2);border-radius:999px;padding:9px 14px}
.chip:hover{border-color:var(--cy);color:var(--cy);text-decoration:none}

/* Method */
.method{background:var(--panel2);border-radius:14px;padding:30px;margin:38px 0 0}
.method h2{font:800 24px var(--sans);letter-spacing:-.01em;margin:0 0 18px}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.steps b{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--btn-bg);color:var(--btn-ink);font:800 15px var(--sans);margin-bottom:10px}
.steps h3{font:800 17px var(--sans);margin:0 0 6px}
.steps p{margin:0;color:var(--mut);font-size:15px}
.method .links{margin:20px 0 0;font:600 14px var(--sans)}

/* Newsletter */
.signup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:center;background:var(--panel);border:1px solid var(--line2);border-left:5px solid var(--cy);border-radius:var(--r);padding:28px;margin:40px 0 10px;box-shadow:var(--shadow)}
.signup h3{font:800 24px/1.2 var(--sans);letter-spacing:-.01em;margin:0 0 8px}
.signup p{color:var(--mut);margin:0;font-size:15.5px}
.signup form{display:flex;gap:8px;flex-wrap:wrap}
.signup input[type=email]{flex:1;min-width:220px;padding:13px 16px;font:16px var(--sans);color:var(--ink);background:var(--bg);border:1px solid var(--line2);border-radius:999px}
.signup .small{margin-top:10px}
.signup .msg{margin-top:10px;font:600 14px var(--sans);color:var(--ink)}
.signup .msg.err{color:var(--mg)}
.small{font:13px var(--sans);color:var(--dim)}
.small a{color:var(--mut);text-decoration:underline}

/* Search */
.searchform{display:flex;gap:8px;margin:14px 0 6px;max-width:680px}
.searchform input{flex:1;padding:14px 18px;font:17px var(--sans);color:var(--ink);background:var(--panel);border:1px solid var(--line2);border-radius:999px}

/* Listing pages */
.listing{padding-top:28px}

/* Article */
.article{max-width:760px;margin:0 auto;padding:30px 24px 0}
.article h1{font-size:42px;line-height:1.1;letter-spacing:-.025em}
.article .kicker a{color:inherit}
.byline{font:13.5px/1.5 var(--sans);color:var(--mut);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0;margin:0 0 14px}
.byline b{color:var(--ink)}
.byline time{color:inherit}
.share{display:flex;gap:14px;align-items:center;margin:0 0 20px;font:600 13px var(--sans)}
.share span{color:var(--dim);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800}
.share a{color:var(--mut);border:1px solid var(--line2);border-radius:999px;padding:6px 12px}
.share a:hover{color:var(--cy);border-color:var(--cy);text-decoration:none}
figure{margin:0 0 14px}
figure img{border-radius:var(--r)}
figcaption{font:12px var(--sans);color:var(--dim);padding-top:6px}
.article .body{font:19px/1.78 var(--serif);color:var(--body)}
.article .body p{margin:0 0 20px}
.article .body h2{font:800 25px/1.25 var(--sans);color:var(--ink);margin:38px 0 12px;letter-spacing:-.015em}
.article .body h3{font:800 19px var(--sans);color:var(--ink);margin:26px 0 10px}
.article .body a{text-decoration:underline;text-underline-offset:3px}
.article .body ul,.article .body ol{margin:0 0 20px;padding-left:24px}
.article .body li{margin-bottom:8px}
.article figure{margin:28px 0}
.pull{font:800 24px/1.4 var(--sans);letter-spacing:-.01em;color:var(--ink);border-left:4px solid var(--mg);padding:4px 0 4px 20px;margin:30px 0}
.databox{background:var(--panel2);border:1px solid var(--line);border-radius:var(--r);padding:20px 24px;margin:30px 0}
.databox h3{font:800 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cy);margin:0 0 10px}
.databox ul{margin:0;padding-left:18px;font:16px/1.6 var(--sans);color:var(--body)}
.databox li{margin-bottom:6px}
.sourcebox{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r);padding:20px 24px;margin:34px 0 0;font:14px/1.65 var(--sans);color:var(--mut)}
.sourcebox h3{font:800 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0 0 10px}
.sourcebox p{margin:0 0 8px;overflow-wrap:anywhere}
.sourcebox a{text-decoration:underline;text-underline-offset:2px}
.status{display:inline-block;font:800 11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--btn-ink);background:var(--btn-bg);border-radius:999px;padding:4px 10px;margin-bottom:10px}
.status.warn{background:var(--mg);color:#fff}
.checklist{list-style:none;margin:0 0 8px;padding:0}
.checklist li{border-top:1px solid var(--line);padding:14px 0;font:16px/1.6 var(--sans);color:var(--body)}
.checklist b{color:var(--ink)}
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:24px 0;border:1px solid var(--line);border-radius:var(--r)}
.tablewrap table{min-width:460px;font:15px/1.5 var(--sans);color:var(--body)}
.tablewrap th{color:var(--ink)}
.author{display:flex;gap:16px;align-items:center;margin:34px 0 0;padding:18px 20px;background:var(--panel2);border-radius:var(--r)}
.author img{width:64px;height:64px;border-radius:50%;border:2px solid var(--cy);flex:none;object-fit:cover}
.author p{margin:2px 0 0;font:14px/1.5 var(--sans);color:var(--mut)}
.author b{color:var(--ink);font:800 16px var(--sans)}
.related{border-top:3px solid var(--ink);margin:38px 0 0;padding-top:14px}
.related h2{font:800 12px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cy);margin:0 0 2px}
.related ul{list-style:none;margin:0;padding:0}
.related li{border-bottom:1px solid var(--line);padding:14px 0}
.related a{display:block;color:var(--ink);font:700 18px/1.35 var(--sans)}
.related a:hover{color:var(--cy);text-decoration:none}
.related span{display:block;font:12.5px var(--sans);color:var(--dim);margin-top:3px}
.progress{position:fixed;left:0;top:0;height:3px;width:0;background:var(--cy);z-index:200;transition:width .08s linear}

/* Simple pages */
.page{max-width:760px;margin:0 auto;padding:34px 24px 0}
.page .body{font:18px/1.75 var(--serif);color:var(--body)}
.page .body p{margin:0 0 16px}
.page .body h2{font:800 22px var(--sans);color:var(--ink);margin:30px 0 10px}
.page .body ul{padding-left:22px}
.page .body li{margin-bottom:8px}
.page .body a{text-decoration:underline;text-underline-offset:3px}
.page figure img{width:200px;height:200px;object-fit:cover;border-radius:50%!important;border:3px solid var(--cy)}

/* Footer */
.site-footer{background:var(--panel2);border-top:1px solid var(--line);margin-top:56px}
.site-footer .cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;padding-top:40px;padding-bottom:30px}
.site-footer .about p{color:var(--mut);font-size:14.5px;margin:12px 0}
.site-footer .soc{display:flex;gap:14px;flex-wrap:wrap}
.site-footer .soc a{font:700 13px var(--sans)}
.site-footer nav{display:flex;flex-direction:column;gap:8px}
.site-footer nav a{color:var(--mut);font:14px var(--sans)}
.site-footer nav a:hover{color:var(--cy)}
.site-footer .kicker{color:var(--ink);margin-bottom:4px}
.site-footer .fine{grid-column:1/-1;color:var(--dim);font:12.5px/1.6 var(--sans);border-top:1px solid var(--line2);padding-top:16px;margin:0}

/* Tablet */
@media (max-width:1024px){
  .hero{grid-template-columns:1fr;gap:24px}
  .rail{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:20px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-footer .cols{grid-template-columns:1fr 1fr}
  .site-footer .about{grid-column:1/-1}
  .featured .card{grid-template-columns:1fr}
  .featured .thumb{grid-row:auto;margin-bottom:12px}
}

/* Phones */
@media (max-width:640px){
  body{font-size:16.5px}
  .wrap{padding:0 16px}
  .strip .wrap{min-height:30px}
  .strip span:first-child{font-size:10px}
  .primary{margin:0 -16px;padding:0 16px}
  .site-header .bar{gap:10px;padding-top:10px;padding-bottom:6px}
  .wordmark{font-size:21px}
  .face{width:36px;height:36px}
  .tools .btn{display:none}
  .cards{grid-template-columns:1fr}
  h1{font-size:30px}
  .article h1{font-size:31px}
  .article{padding:22px 16px 0}
  .article .body{font-size:18px;line-height:1.7}
  .article .body h2{font-size:22px}
  .pull{font-size:20px;padding-left:14px}
  .databox,.sourcebox{padding:16px}
  .dek{font-size:18px}
  .standfirst{font-size:18px}
  .featured .card h3{font-size:24px}
  .row{grid-template-columns:96px minmax(0,1fr);gap:14px}
  .row .sum{display:none}
  .row h3{font-size:17px}
  .headlines li{flex-direction:column;gap:2px}
  .headlines .kicker{flex-basis:auto}
  .steps{grid-template-columns:1fr}
  .method{padding:22px}
  .signup{grid-template-columns:1fr;padding:22px;gap:16px}
  .signup input[type=email]{min-width:0;width:100%}
  .signup .btn{width:100%;text-align:center}
  .searchform{flex-direction:column}
  .site-footer .cols{grid-template-columns:1fr 1fr;gap:26px}
  .author{align-items:flex-start}
  .page{padding:26px 16px 0}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .thumb img{transition:none}
  .card:hover .thumb img{transform:none}
}

@media print{
  .strip,.site-header,.site-footer,.signup,.share,.related,.progress,.author{display:none!important}
  body{background:#fff;color:#000;font-size:12pt}
  .article{max-width:none;padding:0}
  .article .body,.page .body{color:#000}
  a{color:#000;text-decoration:underline}
  .sourcebox a::after{content:" (" attr(href) ")";font-size:9pt}
}

/* ===== Staging redesign 2026-10-14 ===== */
picture{display:contents}
html,body{overflow-x:clip;max-width:100%}
img,video,svg,table{max-width:100%}
.article .body table{display:block;overflow-x:auto}
pre,code{overflow-wrap:anywhere}
.body a,.sourcebox a,.sum,.dek{overflow-wrap:anywhere}
h1,h2,h3{text-wrap:balance}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:0 0 16px;overflow:hidden;box-shadow:var(--shadow)}
.card>*:not(.thumb){margin-left:16px;margin-right:16px}
.card .thumb{margin:0 0 14px}
.tcard{padding:18px 0}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:8px 0 26px}
.pillar{display:flex;flex-direction:column;gap:4px;padding:16px 18px;min-height:44px;border:1px solid var(--line2);border-radius:var(--r);background:var(--panel);color:var(--ink)}
.pillar b{font:800 18px/1.2 var(--sans)}
.pillar span{font:600 13px var(--sans);color:var(--mut)}
.pillar:hover{border-color:var(--cy);text-decoration:none}
.pillar-block{margin-top:22px}
.empty-note{color:var(--mut);font-size:16px;padding:14px 0}
.signup.mid{grid-template-columns:1fr;gap:12px;margin:30px 0;padding:20px;box-shadow:none}
.signup.mid .mid-k{font:800 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--cy);margin:0 0 4px}
.signup.mid form{display:flex;gap:8px;flex-wrap:wrap}
.signup.mid input[type=email]{flex:1;min-width:0;padding:13px 16px;font:16px var(--sans);color:var(--ink);background:var(--bg);border:1px solid var(--line2);border-radius:999px}
.menu-btn{display:none}
.iconbtn{width:44px;height:44px}
.btn{min-height:44px}
.primary a{display:inline-flex;align-items:center;min-height:44px}
.chip{display:inline-flex;align-items:center;min-height:44px}
.site-footer nav a,.soc a,.share a,.crumbs a{display:inline-flex;align-items:center;min-height:44px}
.site-footer nav a{min-height:40px}
@media (max-width:900px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  body{font-size:17px}
  .menu-btn{display:inline-flex}
  .primary{display:none;order:3;flex:0 0 100%;flex-direction:column;margin:0;padding:6px 0;overflow:visible;border-top:1px solid var(--line)}
  .primary.open{display:flex}
  .primary a{font-size:17px;padding:10px 4px;border-radius:0;border-bottom:1px solid var(--line)}
  .strip .soc a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
  .meta,.crumbs,.count{font-size:14px}
  .card h3{font-size:20px}
  .hero{grid-template-columns:1fr;gap:20px}
  .signup .btn,.signup.mid .btn{width:100%}
}
/* Dropdown nav */
.primary{align-items:center}
.nav-item{position:relative;display:flex;align-items:center}
.sub-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;min-height:44px;background:none;border:0;color:var(--mut);cursor:pointer;padding:0;margin-left:-8px}
.sub-toggle svg{transition:transform .15s}
.sub-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.sub{display:none;list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;min-width:230px;background:var(--panel);border:1px solid var(--line2);border-radius:var(--r);box-shadow:var(--shadow);z-index:60}
.sub a{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:8px;font:600 14px var(--sans);color:var(--ink)}
.sub a:hover,.sub a:focus{background:var(--panel2);text-decoration:none}
.nav-item.open>.sub{display:block}
@media (hover:hover) and (min-width:761px){.has-sub:hover>.sub,.has-sub:focus-within>.sub{display:block}}
@media (max-width:760px){
  .nav-item{flex-wrap:wrap;border-bottom:1px solid var(--line)}
  .nav-item>a{flex:1;border-bottom:0!important}
  .sub-toggle{width:48px;min-height:48px;margin:0}
  .sub{position:static;box-shadow:none;border:0;border-radius:0;flex:0 0 100%;padding:0 0 8px 14px;min-width:0;background:none}
  .sub a{font-size:16px}
}
.has-sub.force-closed>.sub{display:none!important}
.brand,.site-footer .wordmark,.method .links a,.kicker a,.byline a,p.kicker a{display:inline-flex;align-items:center;min-height:44px}
@media (max-width:760px){.site-footer a{display:inline-flex;align-items:center;min-height:44px}}
.site-footer nav a{display:flex!important;align-items:center;min-height:44px!important}
@media (max-width:760px){.primary{align-items:stretch}.nav-item{width:100%}.nav-item>a{padding-left:4px}.sub-toggle{-webkit-tap-highlight-color:transparent}}
@media (max-width:760px){.nav-item{justify-content:flex-start}.nav-item>a{flex:1 1 auto;justify-content:flex-start;text-align:left}}

/* v2.1: six pillar tiles, eight nav items */
.pillars.six{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1100px){.pillars.six{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.pillars.six{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1025px) and (max-width:1180px){.primary a{padding:9px 8px}}

/* v2.1b: keep brand, 8-item nav and tools on one row on desktop */
@media (min-width:1025px){.site-header .bar{flex-wrap:nowrap;gap:12px}.primary{min-width:0;gap:0}.primary a{padding:9px 7px}.tools{flex-shrink:0}.tools .btn{white-space:nowrap}.brand{flex-shrink:0}}
@media (min-width:1025px) and (max-width:1240px){.tools .btn{display:none}}

/* v2.2: seven pillar tiles, nine nav items */
.pillars.six.seven{grid-template-columns:repeat(7,minmax(0,1fr))}
@media (max-width:1100px){.pillars.six.seven{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.pillars.six.seven{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1025px){.primary a{padding:9px 6px}}
@media (min-width:1025px) and (max-width:1240px){.primary a{padding:9px 4px;font-size:13px}}
