/* op-heading-levels-ua */
:where(h2.rt-h3){display:block;font-size:1.17em;margin-block-start:1em;margin-block-end:1em;font-weight:bold}
/* op-heading-levels-ua:end */
/* ===========================================================================
   Folder. — an independent guide to moving your files
   Self-contained stylesheet. No external fonts/CDNs/trackers.
   =========================================================================== */

:root{
  --paper:#F5F8F6;
  --surface:#FFFFFF;
  --surface-2:#EFF3F1;
  --ink:#0E1613;
  --ink-soft:#37423C;
  --muted:#5A665F;
  --faint:#8A968F;
  --line:#E2E9E5;
  --line-soft:#EDF1EF;

  --accent:#16C172;          /* signal green */
  --accent-ink:#0A8250;      /* accent text on light */
  --accent-dark:#0B6E44;
  --accent-wash:rgba(22,193,114,0.10);
  --accent-wash-2:rgba(22,193,114,0.05);

  --dark:#0B140F;
  --dark-2:#0F1D15;
  --dark-line:#243029;
  --dark-text:#C9D5CE;
  --dark-muted:#7E8C85;

  --sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;

  --wrap:1240px;
  --measure:70ch;
  --radius:14px;
  --gut:clamp(20px,5vw,48px);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:18px;line-height:1.65;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:var(--accent-ink);text-decoration:none}
a:hover{color:var(--ink)}
::selection{background:rgba(22,193,114,0.24)}
h1,h2,h3,h4{line-height:1.12;letter-spacing:-0.022em;margin:0;font-weight:750}
h1{font-size:clamp(2.1rem,4.6vw,3.4rem)}
h2{font-size:clamp(1.5rem,2.6vw,2rem)}
h3{font-size:1.28rem}
p{margin:0 0 1.05em;text-wrap:pretty}
hr{border:0;border-top:1px solid var(--line);margin:2.4rem 0}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut)}
.kicker{font-family:var(--mono);font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);font-weight:600}
.eyebrow{font-family:var(--mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);font-weight:600}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---- icons ---- */
.ico{width:1.15em;height:1.15em;display:inline-block;vertical-align:-0.16em;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* =====================================================================
   HEADER + NAV
   ===================================================================== */
.site-header{position:sticky;top:0;z-index:60;background:rgba(245,248,246,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.site-header .bar{display:flex;align-items:center;gap:28px;height:66px}
.brand{font-weight:800;font-size:1.42rem;letter-spacing:-.03em;color:var(--ink);white-space:nowrap}
.brand:hover{color:var(--ink)}
.brand b{color:var(--accent)}
.nav{display:flex;align-items:center;gap:2px;margin-left:auto}
.nav-item{position:relative}
.nav-link{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:9px;font-weight:600;font-size:.98rem;color:var(--ink-soft);cursor:pointer;white-space:nowrap}
.nav-link:hover{background:var(--surface);color:var(--ink)}
.nav-link .chev{width:13px;height:13px;transition:transform .18s}
.nav-item:hover .chev,.nav-item:focus-within .chev{transform:rotate(180deg)}
.dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:290px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -18px rgba(11,20,15,.4);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s}
.nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:none}
.dropdown .dd-q{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding:8px 12px 4px}
.dropdown a{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border-radius:9px;color:var(--ink);font-size:.9rem;font-weight:600;line-height:1.3}
.dropdown a:hover{background:var(--accent-wash);color:var(--accent-ink)}
.dropdown a span{font-family:var(--mono);font-size:.7rem;color:var(--faint);font-weight:500}
.dropdown a:hover span{color:var(--accent-ink)}
.header-cta{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:10px;background:var(--ink);color:#fff;font-weight:650;font-size:.95rem}
.header-cta:hover{background:var(--accent-ink);color:#fff}
.nav-toggle{display:none;margin-left:auto;background:var(--surface);border:1px solid var(--line);border-radius:10px;width:44px;height:44px;align-items:center;justify-content:center;color:var(--ink);cursor:pointer}

/* =====================================================================
   LAYOUT WITH PERSISTENT RAIL (inner pages)
   ===================================================================== */
.layout{display:grid;grid-template-columns:236px minmax(0,1fr);gap:clamp(28px,4vw,64px);max-width:var(--wrap);margin:0 auto;padding-inline:var(--gut);align-items:start}
.rail{position:sticky;top:88px;align-self:start}
.rail h4{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin:0 0 12px;font-weight:600}
.rail ol{list-style:none;margin:0 0 26px;padding:0;counter-reset:r}
.rail li{counter-increment:r}
.rail li a{display:flex;align-items:baseline;gap:12px;padding:10px 12px;border-radius:10px;color:var(--ink-soft);font-weight:600;position:relative}
.rail li a::before{content:counter(r,decimal-leading-zero);font-family:var(--mono);font-size:.72rem;color:var(--faint);font-weight:600}
.rail li a:hover{background:var(--surface);color:var(--ink)}
.rail li a.active{background:var(--accent-wash);color:var(--accent-ink)}
.rail li a.active::before{color:var(--accent-ink)}
.rail li a small{display:block;font-family:var(--sans);font-weight:400;font-size:.78rem;color:var(--faint);margin-top:2px}
.rail-tool{display:block;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px;color:var(--ink)}
.rail-tool:hover{border-color:var(--accent);color:var(--ink)}
.rail-tool .rt-k{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);display:flex;align-items:center;gap:6px;margin-bottom:6px}
.rail-tool strong{font-size:1.02rem;display:block;letter-spacing:-.01em}
.rail-tool span{font-size:.86rem;color:var(--muted)}

/* =====================================================================
   HOMEPAGE — DECISION TOOL HERO (dark "app" moment)
   ===================================================================== */
.hero{background:var(--dark);color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(1100px 520px at 82% -10%,rgba(22,193,114,.16),transparent 60%);
  pointer-events:none}
.hero .wrap{position:relative;padding-block:clamp(40px,6vw,76px) clamp(48px,7vw,88px)}
.hero-top{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:baseline;margin-bottom:30px}
.hero-top h1{color:#fff;max-width:16ch}
.hero-top h1 em{font-style:normal;color:var(--accent)}
.hero-lede{color:var(--dark-text);font-size:1.16rem;max-width:52ch;margin-top:16px}
.hero-badge{font-family:var(--mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:8px}
.hero-badge .dot{width:8px;height:8px;border-radius:2px;background:var(--accent);box-shadow:0 0 12px var(--accent)}

/* tool card */
.tool{background:var(--dark-2);border:1px solid var(--dark-line);border-radius:20px;padding:clamp(20px,3vw,32px);margin-top:8px}
.tool-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(20px,3vw,36px);align-items:start}
.tool-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:6px}
.tool-head .step-count{font-family:var(--mono);font-size:.8rem;color:var(--dark-muted)}
.tool h2{color:#fff;font-size:clamp(1.4rem,2.4vw,1.9rem)}
.q-block{margin-top:22px}
.q-block .q{font-family:var(--mono);font-size:.86rem;letter-spacing:.02em;color:var(--dark-text);margin-bottom:10px;display:flex;align-items:center;gap:9px}
.q-block .q b{color:var(--accent);font-weight:700}
.opts{display:flex;flex-wrap:wrap;gap:9px}
.opt{appearance:none;border:1px solid var(--dark-line);background:rgba(255,255,255,.03);color:#E7EFEA;font-family:var(--mono);font-size:.92rem;font-weight:500;padding:11px 15px;border-radius:11px;cursor:pointer;transition:.13s;text-align:left}
.opt:hover{border-color:#3a4d43;background:rgba(255,255,255,.06)}
.opt[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-wash);color:#fff;box-shadow:inset 0 0 0 1px var(--accent)}
.tool-side{background:var(--dark);border:1px solid var(--dark-line);border-radius:16px;padding:22px;position:sticky;top:20px}
.result-empty{color:var(--dark-muted);font-size:.98rem;line-height:1.55}
.result-empty .ring{width:38px;height:38px;border-radius:50%;border:2px dashed #33443b;display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:14px}
.result{animation:pop .35s cubic-bezier(.2,.8,.3,1)}
@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.result .r-k{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.result .r-method{font-size:1.5rem;font-weight:750;color:#fff;letter-spacing:-.02em;line-height:1.15;margin-bottom:10px}
.result .r-why{color:var(--dark-text);font-size:1rem;margin-bottom:16px}
.result .r-how{display:flex;gap:10px;align-items:flex-start;border-top:1px solid var(--dark-line);padding-top:14px;margin-bottom:14px}
.result .r-how .lab{font-family:var(--mono);font-size:.72rem;font-weight:700;color:var(--accent);flex:none;padding-top:3px}
.result .r-how p{margin:0;color:#E7EFEA;font-size:.95rem}
.result .r-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.result .chip{font-family:var(--mono);font-size:.72rem;color:var(--dark-text);border:1px solid var(--dark-line);border-radius:999px;padding:4px 10px}
.result .r-link{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:.86rem;font-weight:600;color:var(--accent)}
.result .r-link:hover{color:#fff}
.tool-reset{margin-top:14px;background:none;border:0;color:var(--dark-muted);font-family:var(--mono);font-size:.8rem;cursor:pointer;padding:0}
.tool-reset:hover{color:var(--dark-text)}

/* floating section rail (homepage — reveals past hero) */
.float-rail{position:fixed;left:18px;top:50%;transform:translateY(-50%);z-index:40;display:flex;flex-direction:column;gap:2px;padding:10px;background:rgba(255,255,255,.9);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px -22px rgba(11,20,15,.4);opacity:0;visibility:hidden;transform:translateY(-50%) translateX(-12px);transition:.25s}
.float-rail.shown{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}
.float-rail a{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 10px;border-radius:9px;color:var(--muted);font-family:var(--mono);font-size:.8rem;font-weight:600;white-space:nowrap}
.float-rail a .n{width:18px;text-align:right;color:var(--faint);font-size:.72rem}
.float-rail a:hover{background:var(--paper);color:var(--ink)}
.float-rail a.active{color:var(--accent-ink)}
.float-rail a.active .n{color:var(--accent-ink)}
.float-rail a.active::before{content:"";position:absolute;left:0;width:3px;height:18px;background:var(--accent);border-radius:2px}
.float-rail a{position:relative}
@media(max-width:1240px){.float-rail{display:none}}

/* =====================================================================
   SECTIONS-AS-QUESTIONS
   ===================================================================== */
.section{padding-block:clamp(48px,6vw,84px)}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:34px}
.section-head h2{max-width:20ch}
.section-head .lede{color:var(--muted);max-width:46ch;font-size:1.05rem}
.qgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.qcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px 22px 20px;color:var(--ink);transition:.16s;min-height:230px}
.qcard:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 16px 34px -22px rgba(11,20,15,.45);color:var(--ink)}
.qcard .qc-ico{width:42px;height:42px;border-radius:11px;background:var(--accent-wash);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.qcard .qc-ico .ico{width:22px;height:22px}
.qcard .qc-sec{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:7px}
.qcard h3{font-size:1.32rem;margin-bottom:10px}
.qcard p{color:var(--muted);font-size:.97rem;margin:0}
.qcard .qc-go{margin-top:auto;padding-top:18px;font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--accent-ink);display:inline-flex;align-items:center;gap:7px}
.qcard:hover .qc-go .ico{transform:translateX(3px)}
.qcard .qc-go .ico{transition:transform .16s;width:15px;height:15px}

/* =====================================================================
   COMPARISON SPOTLIGHT (cards <-> table toggle)
   ===================================================================== */
.cmp{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.cmp-bar{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;padding:20px clamp(18px,2.5vw,26px);border-bottom:1px solid var(--line)}
.cmp-bar .filters{display:flex;flex-wrap:wrap;gap:8px}
.fbtn{appearance:none;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);font-family:var(--mono);font-size:.82rem;font-weight:600;padding:8px 13px;border-radius:999px;cursor:pointer;transition:.13s}
.fbtn:hover{border-color:var(--faint)}
.fbtn[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.toggle{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper)}
.toggle button{appearance:none;border:0;background:none;font-family:var(--mono);font-size:.82rem;font-weight:600;color:var(--muted);padding:8px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.toggle button[aria-pressed="true"]{background:var(--accent);color:#fff}
.cmp-body{padding:clamp(16px,2.4vw,26px)}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:14px}
.svc-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;padding:18px;background:var(--surface);transition:.14s}
.svc-card:hover{border-color:var(--accent);box-shadow:0 14px 30px -22px rgba(11,20,15,.4)}
.svc-logo-wrap{height:40px;display:flex;align-items:center;margin-bottom:14px}
.svc-logo{height:26px;width:auto;max-width:150px;object-fit:contain;object-position:left center}
.svc-card h3{font-size:1.12rem;margin-bottom:3px}
.svc-cat{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin-bottom:14px}
.svc-rows{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;font-size:.9rem;margin-bottom:14px}
.svc-rows dt{color:var(--faint);font-family:var(--mono);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;padding-top:2px}
.svc-rows dd{margin:0;color:var(--ink-soft);font-weight:500}
.enc-badge{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;font-weight:600;font-family:var(--mono)}
.enc-e2e{color:var(--accent-ink)}
.enc-std{color:var(--muted)}
.svc-best{margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);font-size:.9rem;color:var(--muted)}
.svc-best b{color:var(--ink);font-weight:600}
.svc-visit{margin-top:12px;font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--accent-ink);display:inline-flex;align-items:center;gap:6px}
.hidden{display:none!important}

/* comparison table view */
.cmp-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.cmp-table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:760px}
table.cmp-table th,table.cmp-table td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line-soft);vertical-align:middle}
table.cmp-table thead th{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}
table.cmp-table tbody tr:hover{background:var(--accent-wash-2)}
table.cmp-table .tsvc{display:flex;align-items:center;gap:11px;font-weight:650;color:var(--ink)}
table.cmp-table .tsvc img{height:20px;width:auto;max-width:112px;object-fit:contain;object-position:left}

/* =====================================================================
   OWN-IT CTA BAND
   ===================================================================== */
.ownband{background:var(--dark);color:#fff;border-radius:22px;overflow:hidden;position:relative}
.ownband::before{content:"";position:absolute;inset:0;background:radial-gradient(760px 380px at 12% 120%,rgba(22,193,114,.18),transparent 60%)}
.ownband .inner{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(24px,4vw,56px);align-items:center;padding:clamp(30px,4.5vw,56px)}
.ownband h2{color:#fff;font-size:clamp(1.6rem,3vw,2.4rem);max-width:16ch}
.ownband p{color:var(--dark-text);font-size:1.08rem;max-width:44ch}
.ownband .own-links{display:flex;flex-direction:column;gap:10px}
.own-link{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--dark-line);border-radius:13px;color:#fff;background:rgba(255,255,255,.02);transition:.14s}
.own-link:hover{border-color:var(--accent);background:var(--accent-wash);color:#fff}
.own-link .ol-t{font-weight:650}
.own-link .ol-d{font-size:.86rem;color:var(--dark-muted);font-family:var(--mono)}
.own-link .ico{color:var(--accent);width:18px;height:18px}

/* =====================================================================
   SUPPORTERS (dark)  —  "Kept online by"
   ===================================================================== */
.supporters{background:var(--dark);color:#fff}
.supporters .wrap{padding-block:clamp(44px,5vw,72px)}
.sup-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.sup-head h2{color:#fff;font-size:clamp(1.3rem,2vw,1.7rem)}
.sup-head .k{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--dark-muted)}
.sup-note{color:var(--dark-muted);font-size:.95rem;max-width:60ch;margin-bottom:30px}
.sup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sponsor{display:flex;flex-direction:column;gap:12px;border:1px solid var(--dark-line);border-radius:13px;padding:18px 18px 16px;background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0));transition:.15s;color:var(--dark-text)}
.sponsor:hover{border-color:#39493f;background:rgba(255,255,255,.05);color:#fff}
.sponsor img{height:22px;width:auto;max-width:150px;object-fit:contain;object-position:left center;filter:brightness(0) invert(1);opacity:.9}
.sponsor .sponsor-blurb{font-size:.86rem;line-height:1.45;color:var(--dark-muted)}
.sponsor .sponsor-blurb:empty::before{content:"One short line about this supporter.";color:#4a574e}

/* =====================================================================
   FOOTER
   ===================================================================== */
.site-footer{background:var(--surface);border-top:1px solid var(--line);color:var(--ink-soft)}
.site-footer .wrap{padding-block:56px 40px}
.foot-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:34px}
.foot-brand .brand{font-size:1.5rem;display:inline-block;margin-bottom:12px}
.foot-brand p{color:var(--muted);font-size:.96rem;max-width:34ch}
.foot-col h5{font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:0 0 14px;font-weight:600}
.foot-col a{display:block;padding:5px 0;color:var(--ink-soft);font-size:.96rem}
.foot-col a:hover{color:var(--accent-ink)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);color:var(--faint);font-size:.88rem}
.foot-bottom .indep{font-family:var(--mono);display:inline-flex;align-items:center;gap:8px}
.foot-bottom .indep .dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}

/* =====================================================================
   HOMEPAGE FEED
   ===================================================================== */
.feed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.feat{grid-column:span 2}
.pcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.16s;color:var(--ink)}
.pcard:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 18px 36px -24px rgba(11,20,15,.45);color:var(--ink)}
.pcard .thumb{aspect-ratio:16/9;background:var(--surface-2);position:relative;overflow:hidden}
.pcard .thumb img{width:100%;height:100%;object-fit:cover}
.pcard .thumb .tag{position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:rgba(11,20,15,.82);color:#fff;padding:5px 10px;border-radius:999px;backdrop-filter:blur(4px)}
.pcard .body{display:flex;flex-direction:column;flex:1;padding:20px}
.pcard h3{font-size:1.2rem;margin-bottom:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em}
.feat .body h3{font-size:1.7rem;min-height:0}
.pcard p{color:var(--muted);font-size:.95rem;margin:0 0 16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard .pmeta{margin-top:auto;font-family:var(--mono);font-size:.78rem;color:var(--faint);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pcard .pmeta .sep{opacity:.5}
.pcard .pmeta .rt{color:var(--accent-ink)}
.more-wrap{text-align:center;margin-top:30px}
#more-toggle{display:none}
.more-hide{display:none}
#more-toggle:checked ~ .feed-grid .more-hide{display:flex}
#more-toggle:checked ~ .more-wrap .more-btn .show-more{display:none}
.more-btn{display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border:1px solid var(--line);background:var(--surface);border-radius:11px;font-weight:650;cursor:pointer;color:var(--ink);font-size:.98rem}
.more-btn:hover{border-color:var(--accent);color:var(--accent-ink)}
#more-toggle:not(:checked) ~ .more-wrap .more-btn .show-less{display:none}

/* =====================================================================
   ARTICLE
   ===================================================================== */
.article{padding-bottom:80px}
.article-head{padding-block:clamp(30px,4vw,50px) 8px}
.crumbs{font-family:var(--mono);font-size:.82rem;color:var(--faint);display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px}
.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--accent-ink)}
.crumbs .sep{opacity:.5}
.article-head h1{max-width:20ch;margin-bottom:16px}
.article-head .standfirst{font-size:1.28rem;color:var(--ink-soft);max-width:60ch;line-height:1.5;font-weight:450}
.article-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:22px;font-family:var(--mono);font-size:.86rem;color:var(--muted)}
.article-meta .pill{background:var(--accent-wash);color:var(--accent-ink);padding:5px 11px;border-radius:999px;font-weight:600;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase}
.article-body{max-width:var(--measure);padding-inline:0;font-size:1.2rem;line-height:1.72}
.article-body>h2{margin:2em 0 .6em;font-size:1.72rem;display:flex;gap:.6em;align-items:baseline}
.article-body>h2 .num{font-family:var(--mono);font-size:.9rem;color:var(--accent-ink);font-weight:700;flex:none}
.article-body>h3{margin:1.6em 0 .5em;font-size:1.3rem}
.article-body>p{margin:0 0 1.15em}
.article-body>p>strong,.article-body li>strong{color:var(--ink);font-weight:700}
.article-body a:not(.entity-ref){color:var(--accent-ink);text-decoration:underline;text-decoration-color:rgba(10,130,80,.35);text-underline-offset:3px}
.article-body a:not(.entity-ref):hover{text-decoration-color:var(--accent)}
.article-body ul,.article-body ol{margin:0 0 1.2em;padding-left:1.3em}
.article-body li{margin-bottom:.5em}
.article-body>ul li::marker{color:var(--accent)}
.dropcap::first-letter{float:left;font-size:3.7em;line-height:.82;font-weight:800;padding:.06em .1em 0 0;color:var(--accent-ink);letter-spacing:-.02em}

/* article inline components */
.lead{font-size:1.34rem;line-height:1.5;color:var(--ink);font-weight:450;margin-bottom:1.3em}
.pullquote{margin:1.8em 0;padding:0 0 0 26px;border-left:3px solid var(--accent)}
.pullquote p{font-size:1.7rem;line-height:1.28;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:0}
.blockquote{margin:1.8em 0;padding:22px 26px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.blockquote p{font-size:1.2rem;font-style:italic;color:var(--ink-soft);margin:0 0 .5em}
.blockquote cite{font-family:var(--mono);font-size:.86rem;font-style:normal;color:var(--faint)}
.callout{margin:1.8em 0;padding:22px 24px 22px 56px;background:var(--accent-wash);border:1px solid rgba(22,193,114,.28);border-radius:14px;position:relative}
.callout::before{content:"";position:absolute;left:20px;top:23px;width:22px;height:22px;background:var(--accent-ink);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 12l2 2 4-4'/><circle cx='12' cy='12' r='9'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M9 12l2 2 4-4'/><circle cx='12' cy='12' r='9'/></svg>") center/contain no-repeat}
.callout p{margin:0;font-size:1.06rem;color:var(--ink);font-weight:500}
.note{margin:1.5em 0;padding:14px 18px 14px 46px;font-size:1rem;color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:12px;position:relative}
.note::before{content:"";position:absolute;left:16px;top:16px;width:20px;height:20px;background:var(--muted);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 8h.01M11 12h1v4h1'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 8h.01M11 12h1v4h1'/></svg>") center/contain no-repeat}
.note b{color:var(--ink)}

/* versus + datatable */
table.versus,table.datatable{width:100%;border-collapse:collapse;margin:1.8em 0;font-size:1rem}
table.versus{border:1px solid var(--line);border-radius:14px;overflow:hidden}
table.versus th,table.versus td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line-soft)}
table.versus thead th{background:var(--dark);color:#fff;font-family:var(--mono);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
table.versus thead th:first-child{background:var(--dark-2)}
table.versus tbody th{font-family:var(--mono);font-size:.82rem;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;font-weight:600;background:var(--paper);width:1%;white-space:nowrap}
table.versus td{font-weight:500;color:var(--ink-soft)}
table.versus tbody tr:last-child th,table.versus tbody tr:last-child td{border-bottom:0}
table.datatable th,table.datatable td{padding:12px 15px;text-align:left;border-bottom:1px solid var(--line-soft)}
table.datatable thead th{font-family:var(--mono);font-size:.74rem;letter-spacing:.05em;text-transform:uppercase;color:var(--faint);border-bottom:1.5px solid var(--line)}
table.datatable tbody tr:hover{background:var(--accent-wash-2)}
table.datatable td:first-child{font-weight:600;color:var(--ink)}
.table-scroll{overflow-x:auto;margin:1.8em 0}
.table-scroll table{margin:0;min-width:520px}

/* statblocks */
.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:1.8em 0}
.statblock{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 20px;text-align:left}
.statblock .stat-num{display:block;font-size:2.5rem;font-weight:800;letter-spacing:-.03em;color:var(--accent-ink);line-height:1}
.statblock .stat-label{display:block;margin-top:8px;font-size:.92rem;color:var(--muted);line-height:1.35}

/* timeline */
.timeline{list-style:none;margin:1.8em 0;padding:0;border-left:2px solid var(--line)}
.timeline li{position:relative;padding:0 0 26px 26px}
.timeline li::before{content:"";position:absolute;left:-7px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--accent);border:3px solid var(--paper)}
.timeline li:last-child{padding-bottom:0}
.timeline .t-when{display:block;font-family:var(--mono);font-size:.84rem;font-weight:600;color:var(--accent-ink);margin-bottom:4px}
.timeline .t-what{display:block;color:var(--ink-soft);font-size:1.02rem}

/* charts */
.chart{margin:2em 0;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px}
.chart svg{width:100%;height:auto;overflow:visible;display:block}
.chart figcaption{margin-top:16px;font-family:var(--mono);font-size:.82rem;color:var(--muted);line-height:1.4}
.chart .bar-track{fill:var(--line-soft)}
.chart .bar-fill{fill:var(--accent)}
.chart .bar-label{font-family:var(--sans);font-size:13px;fill:var(--ink-soft);font-weight:500}
.chart .bar-val{font-family:var(--mono);font-size:12px;fill:var(--muted)}
.chart .grid-line{stroke:var(--line-soft);stroke-width:1}
.chart .axis-label{font-family:var(--mono);font-size:11px;fill:var(--faint)}
.chart .line-path{fill:none;stroke:var(--accent);stroke-width:2.5}
.chart .line-area{fill:var(--accent-wash)}
.chart .line-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2.5}

/* figures + gallery + map */
.article-figure{margin:2em 0}
.article-figure img{border-radius:14px;border:1px solid var(--line);width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface-2)}
.article-figure figcaption,.gallery figcaption,.map-figure figcaption{margin-top:12px;font-family:var(--mono);font-size:.84rem;color:var(--muted);line-height:1.45}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:2em 0}
.gallery figure{margin:0}
.gallery img{border-radius:12px;border:1px solid var(--line);aspect-ratio:4/3;object-fit:cover;background:var(--surface-2)}
.map-figure{margin:2em 0}
.map-slot{aspect-ratio:16/9;border-radius:14px;border:1px dashed var(--line);background:
  repeating-linear-gradient(45deg,var(--surface),var(--surface) 12px,var(--surface-2) 12px,var(--surface-2) 24px);
  display:flex;align-items:center;justify-content:center;color:var(--faint);font-family:var(--mono);font-size:.82rem}
.map-slot::after{content:"map"}

/* profile + org cards */
.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:2em 0}
.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:22px}
.profile-card .p-photo{width:60px;height:60px;border-radius:50%;object-fit:cover;background:var(--surface-2);margin-bottom:14px}
.profile-card.no-photo::before{content:attr(data-initials);display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:50%;background:var(--accent-wash);color:var(--accent-ink);font-weight:800;font-size:1.4rem;margin-bottom:14px}
.profile-card h3{font-size:1.16rem;margin-bottom:2px}
.profile-card .p-role{font-family:var(--mono);font-size:.8rem;color:var(--accent-ink);margin-bottom:10px}
.profile-card p{font-size:.96rem;color:var(--muted);margin:0 0 10px}
.profile-card .p-links a,.p-attr a{font-family:var(--mono);font-size:.84rem}
.profile-card .p-attr{font-size:.8rem;color:var(--faint)}
.org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:2em 0}
.org-card{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--surface);color:var(--ink)}
.org-card:hover{border-color:var(--accent);color:var(--ink)}
.org-logo{width:34px;height:34px;border-radius:8px;object-fit:contain;background:var(--surface-2);flex:none}
.org-card.no-logo .org-logo{display:flex;align-items:center;justify-content:center;background:var(--accent-wash);color:var(--accent-ink);font-weight:800}
.org-card .org-name{font-weight:650;display:block}
.org-card .org-host{font-family:var(--mono);font-size:.78rem;color:var(--faint);display:block}
.entity-ref{color:var(--accent-ink);font-weight:600;white-space:nowrap}
.entity-ref:hover{color:var(--ink)}

/* further / related */
.further-grid,.related-links{margin-top:14px}
.further-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.further-grid a{display:block;border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--surface);color:var(--ink);font-weight:600}
.further-grid a:hover{border-color:var(--accent);color:var(--accent-ink)}
.related{margin-top:56px;border-top:1px solid var(--line);padding-top:30px}
.related h2{font-size:1.4rem;margin-bottom:6px}
.related .eyebrow{margin-bottom:18px;display:block}
ul.related-links{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
ul.related-links li a{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--surface);color:var(--ink)}
ul.related-links li a:hover{border-color:var(--accent);transform:translateY(-2px)}
ul.related-links .rl-sec{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
ul.related-links .rl-t{font-weight:650;font-size:1.04rem}

/* prev/next */
.prevnext{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.prevnext a{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:var(--surface);color:var(--ink)}
.prevnext a:hover{border-color:var(--accent)}
.prevnext .pn-k{font-family:var(--mono);font-size:.74rem;color:var(--faint);letter-spacing:.06em;text-transform:uppercase}
.prevnext a.next{text-align:right;align-items:flex-end}
.prevnext .pn-t{font-weight:650}
.prevnext .empty{visibility:hidden}

/* =====================================================================
   CATEGORY / SIMPLE PAGE
   ===================================================================== */
.page-head{padding-block:clamp(34px,4.5vw,60px) 4px}
.page-head .eyebrow{display:block;margin-bottom:14px}
.page-head h1{max-width:18ch;margin-bottom:16px}
.page-head .intro{font-size:1.24rem;color:var(--ink-soft);max-width:60ch;line-height:1.5}
ul.cat-list{list-style:none;padding:0;margin:36px 0 0;display:grid;gap:12px}
ul.cat-list li a{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:20px 22px;background:var(--surface);color:var(--ink);transition:.14s}
ul.cat-list li a:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 14px 30px -24px rgba(11,20,15,.4)}
ul.cat-list .cl-n{font-family:var(--mono);font-size:.8rem;color:var(--faint)}
ul.cat-list .cl-main .cl-t{font-weight:700;font-size:1.18rem;display:block;margin-bottom:3px}
ul.cat-list .cl-main .cl-d{color:var(--muted);font-size:.96rem}
ul.cat-list .cl-meta{font-family:var(--mono);font-size:.78rem;color:var(--accent-ink);white-space:nowrap;text-align:right}
.simple-body{max-width:var(--measure);padding-inline:0;font-size:1.16rem;line-height:1.7;padding-bottom:70px}
.simple-body h1{margin-bottom:.5em}
.contact-form{display:flex;flex-direction:column;gap:16px;max-width:520px;margin-top:24px}
.contact-form label{display:flex;flex-direction:column;gap:7px;font-weight:600;font-size:.92rem}
.contact-form input,.contact-form textarea{font-family:var(--sans);font-size:1rem;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);width:100%}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.contact-form button{align-self:flex-start;background:var(--ink);color:#fff;border:0;border-radius:11px;padding:13px 26px;font-weight:650;font-size:1rem;cursor:pointer}
.contact-form button:hover{background:var(--accent-ink)}
.notfound{text-align:center;padding:clamp(60px,10vw,120px) var(--gut)}
.notfound .big{font-family:var(--mono);font-size:clamp(4rem,14vw,8rem);font-weight:700;color:var(--accent);letter-spacing:-.04em;line-height:1}
.notfound h1{margin:10px 0 14px}
.notfound p{color:var(--muted);max-width:40ch;margin:0 auto 26px}
.btn{display:inline-flex;align-items:center;gap:9px;padding:13px 24px;border-radius:11px;background:var(--ink);color:#fff;font-weight:650}
.btn:hover{background:var(--accent-ink);color:#fff}
.btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--accent);color:var(--accent-ink);background:var(--surface)}
.btn.accent{background:var(--accent);color:#062616}
.btn.accent:hover{background:#13aa63;color:#062616}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media(max-width:1080px){
  .feat{grid-column:auto}
  .feat .body h3{font-size:1.3rem}
  .feed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .qgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav,.header-cta{display:none}
  .nav-toggle{display:flex}
  .site-header.open .nav{display:flex;position:absolute;top:66px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--line);padding:12px var(--gut);gap:2px;margin:0}
  .site-header.open .nav-item{width:100%}
  .site-header.open .dropdown{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:2px solid var(--line);border-radius:0;margin:2px 0 8px 14px;padding:0 0 0 6px}
  .site-header.open .header-cta{display:inline-flex;margin-top:8px;justify-content:center}
  .layout{grid-template-columns:1fr}
  .rail{position:static;top:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface);padding:16px 18px;margin-bottom:8px}
  .rail ol{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
  .rail li a{padding:8px 12px;border:1px solid var(--line);border-radius:999px}
  .rail li a small{display:none}
  .rail li a::before{display:none}
  .tool-grid,.ownband .inner{grid-template-columns:1fr}
  .tool-side{position:static}
}
@media(max-width:720px){
  body{font-size:17px}
  .sup-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
  .article-body{font-size:1.1rem}
  .article-body>h2{font-size:1.4rem}
  .pullquote p{font-size:1.35rem}
  .prevnext{grid-template-columns:1fr}
  .qgrid{grid-template-columns:1fr}
  .feed-grid{grid-template-columns:1fr}
  ul.cat-list li a{grid-template-columns:auto 1fr;gap:12px}
  ul.cat-list .cl-meta{grid-column:2;text-align:left}
}
@media(max-width:440px){
  .sup-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .statrow{grid-template-columns:1fr 1fr}
}

/* sp-contain-guard: sponsor logos are wordmarks — never object-fit:cover (crops).
   object-fit ONLY. This block used to also set width:auto, padding:4px 10px,
   max-width:calc(100% - 20px) and min/max-height, which overrode Design's own frame and
   let every plate shrink-wrap its logo — the recurring "inconsistent sizing" and
   "lacks padding". Geometry belongs to Design. */
.sponsor img{object-fit:contain!important}

/* sp-mark-frame: a uniform plate for the money mark, in the tiers where Design sized the plate
   to the artwork instead. Operator's rule: the dark ground is unified whatever the logo's
   size. width:100% (or one fixed width where copy shares the row) + one height for the tier
   + object-fit:contain, so the plate is the same box everywhere and the artwork fits inside
   it. A ground and an inset are added ONLY where none exists — adding a second ground gives
   co-cure's rectangle-inside-a-rectangle. Design's framed tiers are not touched at all. */
.sup-grid .sponsor .sp-logo.sp-logo{background:#121013!important;padding:8px 12px!important;box-sizing:border-box!important}
.sup-grid .sponsor .sp-logo.sp-logo{display:block!important;width:100%!important}
.sup-grid .sponsor.sponsor img{box-sizing:border-box!important;height:38px!important;display:block!important;width:100%!important;padding:8px 12px!important;background:transparent!important;width:100%!important;padding:0!important}


/* sp-mark-natural: the marks keep their own colours and sit centred.
   Design applied filter:brightness(0) invert(1), which flattens every logo to pure white — on a
   --dark #0B140F ground the operator wants the real artwork, not a silhouette. object-position
   was also left-aligned, and an auto inline margin centres the box itself (the box is
   content-sized, so object-fit centring has no room to work in). */
.sup-grid .sponsor.sponsor img{filter:none!important;opacity:1!important;
  object-position:center!important;margin-inline:auto!important}

/* op-footer-compact: the footer printed 21 rows for 21 link(s) in
   4 list(s) — 1003px at 390, 7% of the whole page. Design's own
   good case (evbb) has no list at all: its footer links simply flow inline, 479px in total.
   Here the lists flow inline too, and the group holder takes two columns,
   measured 1003 -> 794px (21% shorter) with no new overflow. Both shapes were
   tried and the shorter one kept — two columns helps a wide group set and hurts a narrow one.
   Phone widths only; the desktop footer is untouched. */
@media (max-width:640px){
  footer ul,footer ol{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;column-gap:24px!important;row-gap:8px!important}
  footer ul > li,footer ol > li{width:auto!important;flex:0 0 auto;max-width:100%}
  footer [class*=grid],footer [class*=index],footer [class*=cols]{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:26px}
}

/* op-money-columns: the supporters block ran one tile per row — 11 tiles,
   1781px at 390, 13% of the whole page. Two columns bring it to
   1011px (43% shorter). Checked before writing: no new overflow, smallest mark still
   103px wide, longest blurb 3 lines, tile heights 142-162px.
   A block that fails any of those is left in one column — two narrow columns can make a block
   TALLER once the copy rewraps, which is the case the operator warned about.
   The blurb is held to three rows at phone width, because a nine- or eleven-line blurb in a narrow column made two columns TALLER than one. The copy stays in the markup. An odd tile count means the lead tile spans the whole row, so the block does not end on an empty cell. Only the tier(s) that were one-per-row are touched (.sup-grid), never the section
   that holds several tiers: forcing a grid on that would put a featured row and a regulars run
   side by side. Phone widths only. */
@media (max-width:640px){
  .sup-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:12px!important}
    .sup-grid > *{min-width:0!important;max-width:100%;width:auto!important;flex:0 1 auto!important}
    .sup-grid > * *{min-width:0!important;max-width:100%}
    .sup-grid img,.sup-grid svg{max-width:100%;height:auto}
  .sup-grid .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical;overflow:hidden!important}
}

/* op-odd-tier-lead: .sup-grid (11 tiles) lay out two per row with an ODD tile count, so the
   block ended on a lone tile beside an empty cell. The lead tile takes the whole row instead —
   operator: "the 1st item in such rows to be 100% width, then split" — so the grid reads as
   complete. These tiers were already two-per-row, which is why the column pass never wrote the
   rule for them. Checked before writing: no new horizontal overflow, block not more than 15%
   taller. Phone widths only; desktop keeps Design's layout. */
@media (max-width:640px){
  .sup-grid:has(> *:nth-child(odd):last-child) > *:first-child{grid-column:1 / -1!important}
}

/* op-blurb-two-rows: money blurbs ran FIVE rows or more (desk: .sup-grid 8 rows at 768). Operator: "we should probably limit that to display only 2" — held to two rows in that width band only; the copy stays in the markup. */
@media (min-width:641px){
  .sup-grid .sponsor-blurb{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;max-height:2lh!important;min-height:0!important;overflow:hidden!important}
}
/* op-blurb-two-rows:end */
/* op-heading-levels */
h2:where(.rt-h3){line-height: 1.12; letter-spacing: -0.022em; margin: 0px; font-weight: 750;}
h2:where(.rt-h3){font-size: 1.28rem;}
.article-body > h2:where(.rt-h3){margin: 1.6em 0px 0.5em; font-size: 1.3rem;}
.profile-card h2:where(.rt-h3){font-size: 1.16rem; margin-bottom: 2px;}
h2.rt-h3.rt-h3{display:block;column-gap:normal;row-gap:normal}
/* op-heading-levels:end */

/* op-img-dims — intrinsic width/height reserve image space; the proven height:auto guard (zero specificity) */
:where(a.feat.pcard > div.thumb > img,
  a.more-hide.pcard > div.thumb > img,
  a.pcard > div.thumb > img,
  article.article-body > figure.article-figure > img,
  article.svc-card > div.svc-logo-wrap > img.svc-logo,
  td > span.tsvc > img.svc-logo){height:auto}
/* op-img-dims:end */
[data-partner] .sp-logo{background:transparent!important}
:root body [data-partner][data-partner] .sp-logo{background:transparent!important}
