/*
Theme Name: Ergovero
Theme URI: https://ergovero.com
Author: Ergovero
Description: Search and reach optimisation. Light theme, server-rendered, structured for machine readability.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: ergovero
*/

:root{
  --orange-bright:#FF7A33; --orange:#F26A21; --orange-deep:#C9440A;
  --bg:#F6F5F2; --surface:#FFFFFF; --surface-2:#EFEEE9;
  --text:#12171C; --dim:#5C6771; --line:#E2E0DA; --faint:#8B939B;
  --accent:var(--orange-deep);
  --mark-soft:rgba(242,106,33,.34);
  --btn-bg:#E0500F; --btn-bg-hover:#C4440A; --btn-text:#FFFFFF;
  --shadow:0 18px 44px -28px rgba(20,25,30,.42);
  --redact:#C9C6BE;
  --wrap:1180px; --gut:clamp(1.25rem,4vw,3.5rem);
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  --serif:"Newsreader",Georgia,serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:rgba(246,245,242,.88);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;gap:1.5rem;height:68px}
.brand{font-family:var(--serif);font-size:1.35rem;font-weight:400;letter-spacing:-.02em;text-decoration:none;margin-right:auto;white-space:nowrap;color:var(--text)}
.brand em{font-style:italic;color:var(--accent)}
.nav{display:flex;gap:1.6rem;align-items:center;list-style:none;margin:0;padding:0}
.nav a{font-size:.9rem;text-decoration:none;color:var(--dim);padding-block:.35rem;border-bottom:1px solid transparent;transition:color .18s,border-color .18s;display:block}
.nav a:hover,.nav .current-menu-item > a,.nav .current_page_parent > a{color:var(--text);border-bottom-color:var(--accent)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:3px;padding:.45rem .7rem;cursor:pointer;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}

.btn{display:inline-block;font-family:var(--sans);font-size:.9rem;font-weight:500;padding:.7rem 1.15rem;border-radius:3px;text-decoration:none;background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-bg);transition:background .18s,border-color .18s;white-space:nowrap;cursor:pointer}
.btn:hover{background:var(--btn-bg-hover);border-color:var(--btn-bg-hover);color:var(--btn-text)}
.btn-lg{font-size:.98rem;padding:.9rem 1.5rem}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line)}
.btn-ghost:hover{background:transparent;border-color:var(--accent);color:var(--accent)}

/* ---------- shared type ---------- */
.eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 1.35rem}
.crumb{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 1.75rem}
.crumb a{color:var(--accent);text-decoration:none}
.display{font-family:var(--serif);font-weight:300;font-size:clamp(2.5rem,5.6vw,4.4rem);line-height:1.04;letter-spacing:-.022em;margin:0}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.95rem,3.8vw,3.1rem);line-height:1.1;letter-spacing:-.018em;margin:0 0 1.6rem;color:var(--text)}
.h3{font-family:var(--sans);font-weight:600;font-size:1.0625rem;margin:0 0 .5rem;color:var(--text)}
.lede{font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;color:var(--dim)}
.measure{max-width:64ch}
.measure-tight{max-width:54ch}

.section{padding:clamp(3.5rem,7vw,6rem) 0;border-top:1px solid var(--line);background:var(--bg)}
.section-head{margin-bottom:2.75rem}

/* ---------- hero ---------- */
.hero{padding:clamp(3.5rem,7vw,6.5rem) 0 clamp(3rem,6vw,5rem)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2.5rem,5vw,4.5rem);align-items:start}
.hero p.sub{margin:1.75rem 0 0;max-width:46ch;font-size:1.075rem;color:var(--dim)}
.hero p.stance{margin:1.1rem 0 0;font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--text)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.25rem}
.roster{margin:1.5rem 0 0;font-family:var(--mono);font-size:.74rem;letter-spacing:.06em;color:var(--dim)}
.roster b{color:var(--text);font-weight:500}

/* ---------- answer panel (site signature) ---------- */
.answer{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:var(--shadow)}
.answer-bar{display:flex;align-items:center;gap:.55rem;padding:.7rem .95rem;border-bottom:1px solid var(--line);background:var(--surface-2)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--line)}
.answer-bar span{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-left:.35rem}
.prompt{display:flex;gap:.6rem;padding:1.05rem .95rem;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:.82rem;line-height:1.5;color:var(--text)}
.prompt::before{content:"\203A";color:var(--accent);flex:none}
.answer-body{padding:1.25rem .95rem 1.1rem;min-height:252px}
.answer-body p{font-family:var(--serif);font-size:1.02rem;line-height:1.6;margin:0 0 .85rem;color:var(--dim)}
.answer-body p:last-of-type{margin-bottom:0}
.answer-body .name{color:var(--text)}
.mark{background:var(--mark-soft);box-shadow:0 0 0 3px var(--mark-soft);border-radius:2px;color:var(--text);font-weight:500}
.verdict{display:flex;align-items:center;gap:.5rem;margin-top:1.1rem;padding-top:.9rem;border-top:1px dashed var(--line);font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.verdict.is-cited{color:var(--accent)}
.pip{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.answer-switch{display:flex;gap:.4rem;padding:.6rem .95rem;border-top:1px solid var(--line);background:var(--surface-2)}
.answer-switch button{flex:1;font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;padding:.55rem .5rem;cursor:pointer;background:transparent;color:var(--dim);border:1px solid transparent;border-radius:3px;transition:.18s}
.answer-switch button:hover{color:var(--text)}
.answer-switch button[aria-pressed="true"]{background:var(--bg);color:var(--text);border-color:var(--line)}
.caption{margin:.85rem 0 0;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--faint)}
.fade{transition:opacity .28s ease}
.fade.is-out{opacity:0}
.redact{background:var(--redact);color:transparent;border-radius:2px;padding:0 .1em;user-select:none}

/* ---------- problem band (inverted) ---------- */
#problem{--bg:#101519;--surface:#182029;--surface-2:#1B232D;--text:#E4E8ED;--dim:#94A1AF;--line:#242E38;--faint:#78838F;--accent:var(--orange-bright);--mark-soft:rgba(255,122,51,.28);background:var(--bg);color:var(--text)}
.shift-body{max-width:66ch}
.shift-body p{margin:0 0 1.15rem;color:var(--dim)}
.shift-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.75rem,4vw,3rem);margin-top:2.5rem}
.shift-split h3{font-family:var(--serif);font-weight:400;font-size:1.3rem;line-height:1.3;margin:0 0 .6rem;color:var(--text)}
.shift-split p{margin:0;color:var(--dim);font-size:.99rem}
.rule-num{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;color:var(--accent);display:block;margin-bottom:.7rem}
.evidence{list-style:none;margin:3.5rem 0 0;padding:0;border-top:1px solid var(--line)}
.evidence li{display:grid;grid-template-columns:minmax(140px,.9fr) minmax(0,2.6fr);gap:clamp(1rem,3vw,2.5rem);align-items:baseline;padding:1.5rem 0;border-bottom:1px solid var(--line)}
.figure{font-family:var(--serif);font-weight:300;font-size:clamp(2.2rem,4.5vw,3.2rem);line-height:1;letter-spacing:-.03em;color:var(--text)}
.evidence p{margin:0;color:var(--dim);font-size:.99rem}
.src{font-family:var(--mono);font-size:.7rem;color:var(--faint);display:block;margin-top:.45rem}
.footnote{margin:1.5rem 0 0;font-family:var(--mono);font-size:.7rem;color:var(--faint)}

/* ---------- execution ---------- */
#execution{background:var(--surface)}
.exec-lead{max-width:60ch}
.exec-lead p{margin:0 0 1.15rem;font-size:1.075rem;color:var(--dim)}
.punch{margin:3rem 0;padding:2rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.punch p:first-child{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,3.2vw,2.25rem);line-height:1.22;letter-spacing:-.015em;margin:0;color:var(--text);max-width:24ch}
.punch p:last-child{margin:1rem 0 0;font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,1.9vw,1.3rem);color:var(--dim)}
.exec-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,5vw,4rem)}
.exec-list li{padding:1.15rem 0;border-top:1px solid var(--line);font-size:1rem;line-height:1.55;color:var(--dim)}
.exec-list li b{color:var(--text);font-weight:600}
.link-arrow{display:inline-block;margin-top:1.75rem;font-weight:500;font-size:.98rem;color:var(--accent);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;opacity:.9}
.link-arrow:hover{opacity:1;color:var(--accent)}

/* ---------- levels ---------- */
.levels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.level{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:clamp(1.6rem,3vw,2.25rem);display:flex;flex-direction:column}
.level-tag{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1.15rem}
.level h3{font-family:var(--serif);font-weight:400;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.2;margin:0 0 .9rem;color:var(--text)}
.level p{margin:0 0 1rem;color:var(--dim);font-size:.99rem}
.level .best{margin-top:auto;padding-top:1.15rem;border-top:1px solid var(--line);font-size:.92rem;color:var(--dim)}
.level .best b{color:var(--text);font-weight:500}
.level a{display:inline-block;margin-top:1.15rem;color:var(--accent);text-decoration:none;font-size:.94rem;font-weight:500}
.level a:hover{text-decoration:underline}

.reasons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,5vw,4rem)}
.reasons > div{padding:1.6rem 0;border-top:1px solid var(--line)}
.reasons p{margin:0;color:var(--dim);font-size:.99rem}

.platform-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.plat-list{list-style:none;margin:0;padding:0}
.plat-list li{padding:1rem 0 1rem 1.5rem;border-top:1px solid var(--line);position:relative;color:var(--dim);font-size:.99rem;line-height:1.55}
.plat-list li::before{content:"";position:absolute;left:0;top:1.5rem;width:6px;height:1px;background:var(--accent)}
.plat-list li:last-child{border-bottom:1px solid var(--line)}
.plat-list li b{color:var(--text);font-weight:600}

.proof-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(2.5rem,5vw,4rem);align-items:start}
.proof-grid p{margin:0 0 1.15rem;color:var(--dim)}
.proof-grid p.strong{color:var(--text)}
.case{margin-top:2rem;padding-top:1.75rem;border-top:1px solid var(--line)}
.case h3{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem;font-weight:500}

/* ---------- service pages ---------- */
.svc-hero{padding:clamp(2.75rem,5vw,4rem) 0 clamp(2.5rem,5vw,3.5rem)}
.svc-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.3rem,5.4vw,4.2rem);line-height:1.03;letter-spacing:-.025em;margin:0;max-width:16ch}
.hero-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);margin-top:2.25rem;align-items:start}
.hero-body p{margin:0 0 1.15rem;color:var(--dim);font-size:1.075rem}
.hero-body p.strong{color:var(--text)}
.step{display:grid;grid-template-columns:78px minmax(0,1fr);gap:clamp(1rem,3vw,2rem);padding:1.9rem 0;border-top:1px solid var(--line)}
.step:last-of-type{border-bottom:1px solid var(--line)}
.step .n{font-family:var(--serif);font-weight:300;font-size:2.6rem;line-height:1;color:var(--accent);letter-spacing:-.03em}
.step h3{font-family:var(--sans);font-weight:600;font-size:1.15rem;margin:0 0 .6rem;line-height:1.3}
.step p{margin:0 0 .9rem;color:var(--dim);max-width:64ch}
.step p:last-child{margin-bottom:0}
.step b{color:var(--text);font-weight:600}
.step.is-key{background:var(--surface);border-left:3px solid var(--orange);padding-left:1.5rem;padding-right:1.5rem;border-radius:0 4px 4px 0}
.flag{display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--accent);border:1px solid rgba(201,68,10,.35);border-radius:99px;padding:.15rem .5rem;margin-left:.5rem;vertical-align:middle}
.deliver{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,5vw,4rem)}
.deliver > div{padding:1.25rem 0 1.25rem 1.5rem;border-top:1px solid var(--line);position:relative;color:var(--dim);line-height:1.55}
.deliver > div::before{content:"";position:absolute;left:0;top:1.75rem;width:6px;height:1px;background:var(--accent)}
.deliver b{color:var(--text);font-weight:600}
.fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.fit-card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1.75rem}
.fit-card.no{background:transparent}
.fit-card h3{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1rem;font-weight:500;color:var(--accent)}
.fit-card.no h3{color:var(--faint)}
.fit-card p{margin:0 0 .9rem;color:var(--dim)}
.fit-card p:last-child{margin-bottom:0}
.mismatch{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:var(--shadow)}
.mm-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.mm-col{padding:1.4rem 1.5rem}
.mm-col + .mm-col{border-left:1px solid var(--line)}
.mm-head{background:var(--surface-2);border-bottom:1px solid var(--line)}
.mm-head .mm-col{padding-block:.85rem}
.mm-head span{font-family:var(--mono);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--faint)}
.mm-body .mm-row + .mm-row{border-top:1px solid var(--line)}
.mm-col p{margin:0;font-family:var(--serif);font-size:1.02rem;line-height:1.5;color:var(--text)}
.mm-col.said p{color:var(--dim);font-style:italic}
.mm-cap{margin:.85rem 0 0;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--faint)}
.next{border-top:1px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0;background:var(--surface-2)}
.next-card{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:4px;padding:2rem;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center}
.next-card .tag{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 .6rem}
.next-card h2{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1.25;margin:0 0 .6rem}
.next-card p{margin:0;color:var(--dim);max-width:52ch;font-size:.98rem}

/* ---------- FAQ ---------- */
.faq{max-width:76ch}
.faq details{border-top:1px solid var(--line)}
.faq details:last-of-type{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.25rem 2.5rem 1.25rem 0;position:relative;font-weight:500;font-size:1.05rem;color:var(--text);line-height:1.4}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.35rem;top:1.1rem;font-family:var(--mono);font-size:1.15rem;color:var(--accent)}
.faq details[open] summary::after{content:"\2013"}
.faq details[open] summary{color:var(--accent)}
.faq .answer-text,.faq .a{padding:0 2.5rem 1.5rem 0;margin:0;color:var(--dim);max-width:70ch;line-height:1.68}
.faq .a + .a{margin-top:-.6rem}
.faq .a b{color:var(--text);font-weight:600}
.faq .a a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(201,68,10,.3)}
.group{margin-bottom:3rem;scroll-margin-top:96px}
.group > h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.7vw,2rem);line-height:1.18;margin:0 0 .5rem}
.group > p.intro{margin:0 0 1.5rem;color:var(--dim);max-width:62ch;font-size:1rem}
.faq-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(2rem,6vw,5rem);padding:0 0 clamp(3rem,6vw,5rem);align-items:start}
.jump{position:sticky;top:96px}
.jump h2{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:0 0 1rem;font-weight:500}
.jump ol{list-style:none;margin:0;padding:0}
.jump a{display:block;padding:.45rem 0 .45rem .85rem;font-size:.88rem;line-height:1.4;color:var(--dim);text-decoration:none;border-left:2px solid var(--line);transition:.18s}
.jump a:hover{color:var(--text);border-left-color:var(--faint)}
.jump a.is-active{color:var(--accent);border-left-color:var(--accent)}

/* ---------- insights hub ---------- */
.hub-head{padding:clamp(3rem,6vw,4.5rem) 0 clamp(2rem,4vw,3rem)}
.hub-head h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,5.4vw,4rem);line-height:1.05;letter-spacing:-.022em;margin:0;max-width:16ch}
.hub-head .standfirst{margin:1.5rem 0 0;max-width:58ch;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;color:var(--dim)}
.aside-note{margin:2rem 0 0;max-width:62ch;padding-left:1.1rem;border-left:2px solid var(--orange);font-family:var(--serif);font-size:1.08rem;line-height:1.6;font-style:italic;color:var(--dim)}
.featured{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(2.5rem,5vw,3.5rem) 0;background:var(--surface)}
.feat-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.feat-tag{display:flex;align-items:center;gap:.6rem;margin:0 0 1.1rem;flex-wrap:wrap}
.feat-tag span{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.feat-tag .pill{background:var(--surface-2);border:1px solid var(--line);border-radius:99px;padding:.25rem .6rem;color:var(--faint)}
.featured h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.16;letter-spacing:-.015em;margin:0 0 1rem;max-width:18ch}
.featured p{margin:0 0 1.25rem;color:var(--dim);max-width:50ch}
.stack{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--bg);box-shadow:var(--shadow)}
.stack-bar{display:flex;align-items:center;gap:.55rem;padding:.7rem .95rem;border-bottom:1px solid var(--line);background:var(--surface-2)}
.stack-bar span{font-family:var(--mono);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin-left:.35rem}
.stack ol{list-style:none;margin:0;padding:.35rem 0}
.stack li{display:flex;gap:.7rem;padding:.8rem 1.1rem;font-family:var(--mono);font-size:.83rem;line-height:1.5;color:var(--text)}
.stack li + li{border-top:1px solid var(--line)}
.stack li::before{content:"\203A";color:var(--accent);flex:none}
.stack li b{color:var(--accent);font-weight:400}
.stack figcaption{padding:.95rem 1.1rem;border-top:1px solid var(--line);background:var(--surface-2);font-family:var(--mono);font-size:.66rem;line-height:1.6;color:var(--faint)}
.filters{padding:clamp(2.5rem,5vw,3.25rem) 0 1.5rem}
.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.filter-bar .label{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin-right:.5rem}
.chip{font-family:var(--sans);font-size:.88rem;padding:.45rem .95rem;border-radius:99px;cursor:pointer;background:transparent;color:var(--dim);border:1px solid var(--line);transition:.18s;text-decoration:none;display:inline-block}
.chip:hover{color:var(--text);border-color:var(--faint)}
.chip[aria-pressed="true"],.chip.is-on{background:var(--text);color:var(--bg);border-color:var(--text)}
.count{margin:1.25rem 0 0;font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;color:var(--faint)}
.grid-section{padding:0 0 clamp(3rem,6vw,4.5rem)}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:1.6rem;text-decoration:none;display:flex;flex-direction:column;transition:border-color .18s,transform .18s}
.card:hover{border-color:var(--accent);transform:translateY(-2px)}
.card .tag{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem}
.card h3{font-family:var(--serif);font-weight:400;font-size:1.28rem;line-height:1.26;margin:0 0 .8rem;color:var(--text);letter-spacing:-.008em}
.card p{margin:0 0 1.4rem;font-size:.93rem;color:var(--dim);line-height:1.55}
.card .when{margin-top:auto;font-family:var(--mono);font-size:.66rem;color:var(--faint);display:flex;justify-content:space-between;gap:.75rem}
.empty{padding:3rem 0;text-align:center;color:var(--dim)}
.quick{border-top:1px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0;background:var(--surface-2)}
.qa{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(2rem,5vw,3.5rem)}
.qa > div{padding:1.5rem 0;border-top:1px solid var(--line)}
.qa h3{font-family:var(--sans);font-weight:600;font-size:1.02rem;margin:0 0 .5rem}
.qa p{margin:0 0 .75rem;font-size:.96rem;color:var(--dim);line-height:1.6}
.qa a{font-size:.88rem;color:var(--accent);text-decoration:none;font-weight:500;border-bottom:1px solid rgba(201,68,10,.3)}
.subscribe{border-top:1px solid var(--line);padding:clamp(3rem,6vw,4rem) 0}
.sub-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.sub-form{display:flex;gap:.6rem;flex-wrap:wrap}
.sub-form input{flex:1 1 240px;font-family:var(--sans);font-size:.95rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:3px;color:var(--text)}
.sub-note{margin:.9rem 0 0;font-family:var(--mono);font-size:.68rem;color:var(--faint)}
.pagination{margin-top:2.5rem;display:flex;gap:.5rem;flex-wrap:wrap;font-family:var(--mono);font-size:.8rem}
.pagination .page-numbers{padding:.5rem .85rem;border:1px solid var(--line);border-radius:3px;text-decoration:none;color:var(--dim)}
.pagination .page-numbers.current{background:var(--text);color:var(--bg);border-color:var(--text)}

/* ---------- article ---------- */
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--orange);z-index:70;transition:width .1s linear}
.article-head{padding:clamp(2.5rem,5vw,4rem) 0 0}
.article-head h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.08;letter-spacing:-.022em;margin:0;max-width:20ch}
.standfirst{margin:1.5rem 0 0;max-width:56ch;font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.6;color:var(--dim)}
.byline{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;margin-top:2.25rem;padding-top:1.25rem;border-top:1px solid var(--line);font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--faint)}
.byline b{color:var(--text);font-weight:500}
.updated{color:var(--accent)}
.article-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:clamp(2rem,6vw,5rem);padding:clamp(2.5rem,5vw,3.5rem) 0 clamp(3rem,6vw,5rem);align-items:start}
.toc{position:sticky;top:96px}
.toc h2{font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:0 0 1rem;font-weight:500}
.toc ol{list-style:none;margin:0;padding:0}
.toc a{display:block;padding:.4rem 0 .4rem .85rem;font-size:.86rem;line-height:1.4;color:var(--dim);text-decoration:none;border-left:2px solid var(--line);transition:.18s}
.toc a:hover{color:var(--text);border-left-color:var(--faint)}
.toc a.is-active{color:var(--accent);border-left-color:var(--accent)}

.prose{max-width:68ch;font-size:1.125rem;line-height:1.72}
.prose > p{margin:0 0 1.4rem;color:#2B333B}
.prose h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,2.9vw,2.15rem);line-height:1.18;letter-spacing:-.015em;margin:3.25rem 0 1.1rem;scroll-margin-top:96px;color:var(--text)}
.prose h3{font-family:var(--sans);font-weight:600;font-size:1.125rem;margin:2.25rem 0 .6rem;color:var(--text)}
.prose strong{font-weight:600;color:var(--text)}
.prose a:not(.btn):not(.link-arrow){color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(201,68,10,.3)}
.prose ul,.prose ol{margin:0 0 1.4rem;padding-left:1.15rem}
.prose li{margin-bottom:.55rem;color:#2B333B}
.prose li::marker{color:var(--accent)}
.prose figure{margin:2.5rem 0}
.prose figcaption{margin-top:.75rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;color:var(--faint)}
.prose blockquote{margin:2.25rem 0;padding:1.25rem 1.5rem;background:var(--surface-2);border-radius:4px;font-size:1.05rem;line-height:1.6}
.prose blockquote p:last-child{margin-bottom:0}

/* the extractable short-answer block */
.short-answer{margin:0 0 2.75rem;padding:1.6rem 1.75rem 1.75rem;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:4px}
.short-answer > h2,.short-answer > p:first-child strong{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 .85rem;font-weight:500;display:block}
.short-answer p:last-child{margin:0;font-family:var(--serif);font-size:1.24rem;line-height:1.5;color:var(--text);letter-spacing:-.005em}

.prose .wp-block-table,.table-wrap{margin:2rem 0 2.5rem;overflow-x:auto;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem}
.prose caption,.wp-block-table figcaption{caption-side:top;text-align:left;padding:1rem 1.1rem .75rem;font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.prose th,.prose td{padding:.85rem 1.1rem;text-align:left;vertical-align:top;border-top:1px solid var(--line);line-height:1.5}
.prose thead th{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text);font-weight:500;background:var(--surface-2)}
.prose tbody th{font-weight:600;color:var(--text)}
.prose td{color:#2B333B}

.stat{margin:2.25rem 0;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.5rem;align-items:baseline}
.stat .figure{font-size:clamp(2.2rem,5vw,3rem)}
.stat p{margin:0;font-size:1rem;line-height:1.55;color:#2B333B}
.keypoint{margin:2.25rem 0;padding:1.25rem 1.5rem;background:var(--surface-2);border-radius:4px;font-size:1.05rem;line-height:1.6}
.keypoint b{display:block;font-family:var(--mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem;font-weight:500}
.faq-block{margin:3.5rem 0 0;padding-top:2.5rem;border-top:1px solid var(--line)}
.faq-block > h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.6vw,1.95rem);margin:0 0 1.5rem;scroll-margin-top:96px}
.article-cta{margin:3.5rem 0 0;padding:2rem;background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:4px}
.article-cta h2{font-family:var(--serif);font-weight:400;font-size:1.55rem;line-height:1.25;margin:0 0 .75rem}
.article-cta p{margin:0 0 1.25rem;color:var(--dim);font-size:1rem;max-width:52ch}
.author-box{margin:3rem 0 0;padding-top:2rem;border-top:1px solid var(--line);display:grid;grid-template-columns:56px minmax(0,1fr);gap:1.25rem;align-items:start}
.avatar{width:56px;height:56px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line);display:grid;place-items:center;font-family:var(--serif);font-size:1.25rem;color:var(--faint);overflow:hidden}
.author-box h3{margin:0 0 .35rem;font-size:1rem;font-weight:600}
.author-box p{margin:0;font-size:.95rem;color:var(--dim);line-height:1.6}
.method-note{margin:2.5rem 0 0;padding:1rem 0 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:.72rem;line-height:1.7;color:var(--faint)}
.related{border-top:1px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0;background:var(--surface-2)}
.related > .wrap > h2{font-family:var(--mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin:0 0 1.75rem;font-weight:500}
.rel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}

/* ---------- CTA + footer ---------- */
.close-cta,.cta{text-align:center;padding:clamp(4rem,8vw,7rem) 0;border-top:1px solid var(--line);background:var(--surface-2)}
.close-cta .h2,.cta h2{margin-inline:auto;font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.12;letter-spacing:-.018em;max-width:20ch;margin-bottom:1.25rem}
.close-cta p,.cta p{margin:0 auto 1.15rem;max-width:56ch;color:var(--dim)}
.reassure{margin-top:1.1rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--faint)}
.stuck{border-top:1px solid var(--line);padding:clamp(3rem,6vw,4.5rem) 0;background:var(--surface-2)}
.stuck h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.15;margin:0 0 .85rem;max-width:18ch}
.stuck p{margin:0 0 1.5rem;color:var(--dim);max-width:52ch}

.site-footer{background:#101519;color:#E4E8ED;border-top:1px solid #242E38;padding:3.5rem 0 2.5rem}
.foot-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:clamp(1.75rem,4vw,3rem)}
.site-footer .brand{color:#E4E8ED}
.site-footer .brand em{color:var(--orange-bright)}
.foot-grid h4{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#94A1AF;margin:0 0 1rem;font-weight:500}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin-bottom:.6rem}
.foot-grid a{font-size:.92rem;color:#94A1AF;text-decoration:none}
.foot-grid a:hover{color:var(--orange-bright)}
.foot-blurb{font-size:.92rem;color:#94A1AF;max-width:34ch;margin:0}
.foot-base{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #242E38;font-family:var(--mono);font-size:.7rem;color:#78838F;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* ---------- a11y ---------- */
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:0;background:var(--btn-bg);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:.5rem;top:.5rem}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}.reveal{opacity:1;transform:none}}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:.5rem var(--gut) 1rem}
  .nav.is-open{display:flex}
  .nav a{padding:.75rem 0;border-bottom:1px solid var(--line)}
  .nav-toggle{display:block;order:2}
}
@media (max-width:960px){
  .hero-grid,.platform-grid,.proof-grid,.shift-split,.hero-body,.feat-grid,.sub-grid{grid-template-columns:1fr}
  .levels,.exec-list,.reasons,.deliver,.fit,.qa{grid-template-columns:1fr}
  .card-grid,.rel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .next-card{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .article-layout,.faq-layout{grid-template-columns:1fr;gap:2rem}
  .toc,.jump{position:static;padding:1.25rem 1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:4px}
  .toc ol,.jump ol{columns:2;column-gap:1.5rem}
}
@media (max-width:640px){
  .mm-row{grid-template-columns:1fr}
  .mm-col + .mm-col{border-left:none;border-top:1px solid var(--line)}
  .mm-head{display:none}
}
@media (max-width:600px){
  .card-grid,.rel-grid{grid-template-columns:1fr}
  .evidence li,.stat{grid-template-columns:1fr;gap:.4rem}
  .foot-grid{grid-template-columns:1fr}
  .toc ol,.jump ol{columns:1}
  .step{grid-template-columns:1fr;gap:.5rem}
  .step .n{font-size:2rem}
  .author-box{grid-template-columns:1fr}
  .hero-actions .btn{flex:1 1 100%;text-align:center}
  .prose{font-size:1.0625rem}
}
