/* Klype editorial system. One stylesheet for the homepage, partners, product
   and every long-form page. Headings, navigation and meta are set in a sans;
   long-form body copy is set in a serif. Klype blue is the only accent. */

/* Metric-matched local fallbacks keep text from reflowing while web fonts load. */
@font-face{font-family:"Klype Sans Fallback";src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans");size-adjust:101%;ascent-override:96%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:"Klype Serif Fallback";src:local("Georgia"),local("Charter"),local("Bitstream Charter");size-adjust:94%;ascent-override:98%;descent-override:30%;line-gap-override:0%}

:root{
  --paper:#faf9f5;--paper-2:#f2f0e8;--paper-3:#e9e6dc;
  --ink:#141413;--ink-2:#3d3d3a;--mute:#6b6a64;
  --rule:#e3e0d5;--rule-2:#cfcbbe;
  --accent:#2840c4;--accent-ink:#1e319e;--accent-wash:#e8ebf7;
  --mark:#efe9d6;
  --sans:"Hanken Grotesk","Klype Sans Fallback",system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Source Serif 4","Klype Serif Fallback",Georgia,"Times New Roman",serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --measure:680px;--wide:1200px;--gut:24px;
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{font-family:var(--sans);font-weight:650;letter-spacing:-.012em;line-height:1.16;margin:0;color:var(--ink);text-wrap:balance}
strong,b{font-weight:650}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
[hidden]{display:none!important}
.sr,.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:20;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:6px;font-size:14px;text-decoration:none}
.skip:focus{top:12px}
.wrap{width:min(var(--wide),calc(100% - 2*var(--gut)));margin-inline:auto}

/* ---------- Masthead: pills left and right, wordmark centred ---------- */
.mast{border-bottom:1px solid var(--rule);background:var(--paper)}
.mast-in{width:min(1320px,calc(100% - 2*var(--gut)));margin:auto;min-height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}
.mast-l,.mast-r{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.mast-r{justify-content:flex-end}
.wordmark{font:700 24px/1 var(--sans);letter-spacing:-.04em;text-decoration:none;color:var(--ink);padding:6px 4px}
.pill{display:inline-flex;align-items:center;min-height:34px;padding:6px 13px;border:1px solid var(--rule);border-radius:999px;background:var(--paper-2);font:500 13px/1.2 var(--sans);color:var(--ink);text-decoration:none;white-space:nowrap}
.pill:hover{border-color:var(--rule-2);background:var(--paper-3)}
.pill[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pill-ink{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.pill-ink:hover{background:#2c2c2a;border-color:#2c2c2a}
.mast-menu{display:none;justify-self:end;position:relative}
.mast-menu summary{list-style:none;cursor:pointer}
.mast-menu summary::-webkit-details-marker{display:none}
.mast-drop{position:absolute;right:0;top:calc(100% + 8px);z-index:10;width:min(280px,calc(100vw - 32px));display:grid;gap:2px;padding:10px;background:var(--paper);border:1px solid var(--rule-2);border-radius:8px}
.mast-drop a{display:block;padding:10px 10px;border-radius:4px;text-decoration:none;font:500 15px/1.3 var(--sans)}
.mast-drop a:hover{background:var(--paper-2)}
@media (max-width:1060px){
  .mast-in{grid-template-columns:auto 1fr;min-height:60px}
  .mast-l,.mast-r{display:none}
  .wordmark{grid-column:1;grid-row:1}
  .mast-menu{display:block;grid-column:2;grid-row:1}
}

/* ---------- Shared type ---------- */
.label{font:600 13px/1.3 var(--sans);color:var(--ink)}
.meta,.small{font:400 13px/1.5 var(--sans);color:var(--mute)}
.serif,.prose{font-family:var(--serif)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:600 15px/1.2 var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:#2c2c2a}
.btn-line{background:transparent;color:var(--ink);border-color:var(--rule-2)}
.btn-line:hover{background:var(--paper-2)}
.btn-blue{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-blue:hover{background:var(--accent-ink);border-color:var(--accent-ink)}
.ctas{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
a.tl,.tl a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Section head: label left, aside right, hairline under (news-index rhythm) */
.shead{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding-bottom:14px;border-bottom:1px solid var(--rule);margin-bottom:36px}
.shead h2{font-size:15px;font-weight:650;letter-spacing:0}
.shead p{font:400 13px/1.4 var(--sans);color:var(--mute);text-align:right}
.sec{padding:88px 0 0}
.sec-title{font-size:clamp(28px,3.2vw,40px);max-width:820px;margin-bottom:16px}
.sec-dek{font:400 19px/1.55 var(--serif);color:var(--ink-2);max-width:var(--measure)}

/* ---------- Exhibits ---------- */
.exhibit{margin:0}
.ex-head{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--ink)}
.ex-n{font:600 13px/1.3 var(--sans);color:var(--accent)}
.ex-t{font:650 17px/1.3 var(--sans)}
.ex-cap{margin-top:14px;padding-top:12px;border-top:1px solid var(--rule);font:400 13px/1.55 var(--sans);color:var(--mute);max-width:820px}
.ex-cap a{color:var(--ink);text-underline-offset:3px}
.ex-cap b{color:var(--ink);font-weight:600}
.doc{border:1px solid var(--rule-2);border-radius:6px;background:#fff;overflow:hidden;font-family:var(--sans)}
.doc-bar{display:flex;gap:10px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--rule);font:500 12px/1.3 var(--sans);color:var(--mute)}
.doc-bar b{color:var(--ink);font-weight:600}
.doc-body{padding:18px 18px 20px;font-size:14px;line-height:1.55}

/* Paired drafts (homepage hero exhibit) */
.ex-brief{display:grid;grid-template-columns:120px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule);font:400 18px/1.5 var(--serif)}
.ex-brief>span:first-child{font:600 13px/1.9 var(--sans);color:var(--mute)}
.ex-brief small{display:block;margin-top:4px;font:400 13px/1.5 var(--sans);color:var(--mute)}
.ex-cols{display:grid;grid-template-columns:1fr 1fr}
.ex-col{padding:22px 32px 26px 0;display:flex;flex-direction:column}
.ex-col+.ex-col{padding:22px 0 26px 32px;border-left:1px solid var(--rule)}
.ex-col h3{font-size:17px;display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.ex-col h3 small{font:400 13px/1.3 var(--sans);color:var(--mute)}
.draft{margin:16px 0 0;font:400 16.5px/1.62 var(--serif);color:var(--ink-2)}
.draft p+p{margin-top:12px}
.draft .gap{color:var(--mute);font-family:var(--sans);font-size:13px}
mark.inv{background:var(--mark);color:var(--ink);padding:1px 0;box-decoration-break:clone;-webkit-box-decoration-break:clone;text-decoration:underline wavy #9a8f6c;text-decoration-thickness:1px;text-underline-offset:4px}
mark.ok{background:var(--accent-wash);color:var(--ink);padding:1px 0;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.score{display:grid;grid-template-columns:repeat(3,1fr);margin:auto 0 0;padding-top:22px}
.score div{padding:10px 12px 0 0;border-top:1px solid var(--rule)}
.score dt{font:400 12px/1.35 var(--sans);color:var(--mute)}
.score dd{margin:4px 0 0;font:650 26px/1 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ex-col.k .score dd{color:var(--accent)}

/* Tables */
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tscroll:focus-visible{outline-offset:6px}
.xtable{width:100%;border-collapse:collapse;font:400 14px/1.45 var(--sans)}
.xtable th,.xtable td{text-align:left;vertical-align:top;padding:12px 14px 12px 0;border-bottom:1px solid var(--rule)}
.xtable thead th{font-weight:600;font-size:13px;color:var(--mute);border-bottom:1px solid var(--ink);padding-top:0}
.xtable tbody th{font-weight:600}
.xtable small{display:block;font-weight:400;color:var(--mute);font-size:13px;margin-top:2px}
.xtable .n{font-variant-numeric:tabular-nums;text-align:right;font-size:17px;font-weight:500;white-space:nowrap;padding-left:14px}
.xtable thead .n{font-size:13px}
.xtable .k{color:var(--accent);font-weight:650}
.xtable td.ns{color:var(--mute)}
.yes::before,.part::before,.no::before{display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:50%;content:"";vertical-align:0}
.yes::before{background:var(--accent)}
.part::before{background:linear-gradient(90deg,var(--accent) 50%,transparent 50%);box-shadow:inset 0 0 0 1.5px var(--accent)}
.no::before{box-shadow:inset 0 0 0 1.5px var(--rule-2)}

/* Status words from capabilities.json (no pills) */
.st{font:500 12px/1 var(--sans);color:var(--mute);white-space:nowrap}
.st::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px;background:var(--rule-2);vertical-align:1px}
.st.s-live{color:var(--ink)}.st.s-live::before{background:var(--accent)}
.st.s-beta::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--accent)}
.status-pill{font:500 13px/1 var(--sans);color:var(--mute)}
.status-pill.yes,.status-pill.beta{color:var(--ink)}
.status-pill.yes::before{background:var(--accent)}
.status-pill.beta::before{content:"";display:inline-block;width:10px;height:10px;margin-right:7px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--accent);vertical-align:0}
.compare-table{width:100%;border-collapse:collapse;font:400 14px/1.4 var(--sans);min-width:760px}
.compare-table th,.compare-table td{text-align:left;padding:11px 12px 11px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.compare-table thead th{font-size:13px;color:var(--mute);font-weight:600;border-bottom-color:var(--ink)}
.compare-wrap{overflow-x:auto}
.compare-note{margin-top:12px;font:400 13px/1.55 var(--sans);color:var(--mute)}
.dotm{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:7px;box-shadow:inset 0 0 0 1.5px var(--accent)}
.dotm.d2{background:var(--accent)}

/* Notes and asides */
.note{border-top:2px solid var(--ink);padding:18px 0 0;margin:36px 0}
.note h2,.note h3{font-size:19px;margin-bottom:10px}
.note ul{margin:0;padding-left:20px;font:400 17px/1.6 var(--serif)}
.note li+li{margin-top:6px}

/* ---------- Article frame (shared by article pages, partners and product) ---------- */
.a-head{width:min(940px,calc(100% - 2*var(--gut)));margin:0 auto;padding:84px 0 48px;text-align:center}
.a-kicker{font:500 13px/1.4 var(--sans);color:var(--mute);margin-bottom:22px}
.a-kicker a{color:inherit;text-underline-offset:3px}
.a-title{font-size:clamp(32px,4vw,46px);line-height:1.12;letter-spacing:-.02em;font-weight:700}
.a-dek{font:400 20px/1.5 var(--serif);color:var(--ink-2);max-width:var(--measure);margin:22px auto 0}
.a-meta-line{display:none;font:400 13px/1.5 var(--sans);color:var(--mute);margin-top:18px}
.a-band{width:min(var(--wide),calc(100% - 2*var(--gut)));margin:0 auto;display:grid;grid-template-columns:200px minmax(0,var(--measure)) 200px;justify-content:space-between;gap:48px;align-items:start;padding-bottom:96px}
.a-rail{position:sticky;top:24px;font-family:var(--sans)}
.chap{list-style:none;margin:0;padding:0;counter-reset:ch;border-top:1px solid var(--rule)}
.chap li{counter-increment:ch;border-bottom:1px solid var(--rule)}
.chap a{display:grid;grid-template-columns:26px 1fr;gap:4px;padding:10px 0;font:500 13px/1.4 var(--sans);text-decoration:none;color:var(--ink)}
.chap a::before{content:counter(ch,decimal-leading-zero);color:var(--mute);font-variant-numeric:tabular-nums}
.chap a:hover{color:var(--accent)}
.rail-h{font:600 12px/1.3 var(--sans);color:var(--mute);margin:0 0 10px}
.facts{margin:0;border-top:1px solid var(--rule)}
.facts div{display:grid;grid-template-columns:84px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule);font:400 13px/1.45 var(--sans)}
.facts dt{color:var(--mute)}
.facts dd{margin:0;color:var(--ink)}
.facts a{color:var(--ink);text-underline-offset:3px}
.rel{margin-top:40px}
.rel a{display:block;padding:12px 0;border-bottom:1px solid var(--rule);font:600 14px/1.35 var(--sans);text-decoration:none;color:var(--ink)}
.rel a:first-of-type{border-top:1px solid var(--rule)}
.rel a:hover{color:var(--accent)}
.rel a small{display:block;font-weight:400;font-size:12px;color:var(--mute);margin-bottom:3px}
.rail-cta{margin-top:32px;display:grid;gap:8px}
.body{font:400 18px/1.62 var(--serif);color:var(--ink)}
.body>*+*{margin-top:20px}
.body h2{font-size:26px;margin-top:56px;scroll-margin-top:24px}
.body h3{font-size:19px;margin-top:34px}
.body h2+*,.body h3+*{margin-top:12px}
.body a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.body ul,.body ol{padding-left:22px}
.body li+li{margin-top:8px}
.body .exhibit{margin:40px 0}
.body figure{margin-inline:0}
@media (max-width:1099px){
  .a-band{grid-template-columns:minmax(0,1fr);max-width:var(--measure);gap:28px}
  .a-rail{position:static}
  .a-rail-r{order:3}
  .a-head{text-align:left;padding:48px 0 32px;max-width:var(--measure)}
  .a-dek{margin-left:0}
  .a-meta-line{display:block}
  .a-rail-r .facts{display:none}
  .chap-wrap{border:1px solid var(--rule);border-radius:6px;padding:0 14px}
  .chap-wrap summary{cursor:pointer;padding:12px 0;font:600 14px/1.3 var(--sans)}
  .chap-wrap .chap{border-top:1px solid var(--rule);margin-bottom:6px}
  .chap-wrap .chap li:last-child{border-bottom:0}
}
@media (min-width:1100px){.chap-wrap>summary{display:none}}

/* ---------- Footer (colophon) ---------- */
.colo{margin-top:120px;border-top:1px solid var(--rule);padding:56px 0 40px;font:400 14px/1.5 var(--sans)}
.colo-grid{display:grid;grid-template-columns:1.3fr 1fr 1.4fr 1.3fr;gap:40px}
.colo .fbrand{font:700 22px/1 var(--sans);letter-spacing:-.04em}
.colo .ftag{color:var(--mute);margin-top:12px;max-width:260px}
.colo .fh{font:600 13px/1.3 var(--sans);color:var(--mute);margin-bottom:12px}
.colo-grid a{display:block;text-decoration:none;padding:4px 0;color:var(--ink)}
.colo-grid a:hover,.colo-row a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.colo .fin{display:inline-flex!important;width:32px;height:32px;margin-top:16px;align-items:center;justify-content:center;border:1px solid var(--rule-2);border-radius:999px}
.colo .fin svg{width:15px;height:15px;fill:var(--ink)}
.colo-row{margin-top:48px;padding-top:18px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--mute)}
.colo-row a{color:var(--mute);text-decoration:none}
.colo-row .fh{margin:0;color:var(--ink)}
.colo-base{margin-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;font-size:13px;color:var(--mute)}
@media (max-width:900px){.colo-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.colo-grid{grid-template-columns:1fr;gap:28px}}

/* ================= Homepage ================= */
.hero{padding:96px 0 0;text-align:center}
.hero h1{font-size:clamp(38px,5.6vw,72px);line-height:1.04;letter-spacing:-.035em;font-weight:700;max-width:1000px;margin:0 auto}
.hero .dek{font:400 21px/1.5 var(--serif);color:var(--ink-2);max-width:720px;margin:26px auto 0}
.hero .ctas{justify-content:center;margin-top:32px}
.hero .fine{margin-top:14px;font:400 13px/1.4 var(--sans);color:var(--mute)}
.hero-ex{margin-top:80px;text-align:left}
.byline-strip{margin-top:56px;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font:400 15px/1.6 var(--serif);color:var(--ink-2);text-align:center}
.byline-strip b{font-family:var(--sans);font-weight:600;color:var(--ink)}
/* Inline checker */
.icx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:48px;align-items:start}
.icx-h b{display:block;font:650 26px/1.2 var(--sans)}
.icx-h span{display:block;margin-top:10px;font:400 17px/1.55 var(--serif);color:var(--ink-2)}
.icx-box textarea{display:block;width:100%;min-height:132px;resize:vertical;padding:14px 16px;border:1px solid var(--rule-2);border-radius:6px;background:#fff;font:400 16px/1.55 var(--serif)}
.icx-box textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.icx-row{display:flex;gap:14px;align-items:center;margin-top:12px}
.icx-s{font:400 13px/1.4 var(--sans);color:var(--mute)}
.icx-out{margin-top:20px;border-top:1px solid var(--ink);padding-top:16px}
.icx-sc{display:flex;gap:16px;align-items:center}
.icx-n{font:700 40px/1 var(--sans);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.icx-n.g{color:var(--accent)}
.icx-v{font:600 16px/1.3 var(--sans)}
.icx-f{list-style:none;padding:0;margin:14px 0 0}
.icx-f li{padding:10px 0;border-top:1px solid var(--rule);font:400 15px/1.5 var(--serif);color:var(--ink-2)}
.icx-f strong{display:block;font:600 14px/1.4 var(--sans);color:var(--ink)}
.icx-l{display:flex;gap:18px;margin-top:12px;font:500 14px/1.4 var(--sans)}
.icx-l a{color:var(--accent);text-underline-offset:3px}
.icx-l a.more{color:var(--ink)}
/* Two-up: heading column and content column */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:48px;align-items:start}
.defs{margin:0;border-top:1px solid var(--rule)}
.defs>div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:24px;padding:16px 0;border-bottom:1px solid var(--rule)}
.defs dt{font:650 16px/1.35 var(--sans)}
.defs dd{margin:0;font:400 17px/1.55 var(--serif);color:var(--ink-2)}
.pullq{font:600 clamp(22px,2.4vw,30px)/1.25 var(--sans);letter-spacing:-.02em;margin-top:18px;max-width:420px}
.pullq::before{content:"";display:block;width:32px;height:2px;background:var(--accent);margin-bottom:16px}
/* Feature index: three lead entries + four columns */
.lead3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.lead3 article{padding:22px 28px 28px 0}
.lead3 article+article{padding-left:28px;border-left:1px solid var(--rule)}
.lead3 h3{font-size:22px;margin-bottom:10px}
.lead3 p{font:400 17px/1.55 var(--serif);color:var(--ink-2)}
.fi-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px}
.fi-h h3,.fi-h h4{margin:0}
.cols4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:56px}
.cols4 h3{font-size:15px;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.cols4 ul{list-style:none;margin:0;padding:0}
.cols4 li{padding:14px 0;border-bottom:1px solid var(--rule)}
.cols4 h4{font:650 15px/1.3 var(--sans)}
.cols4 p{font:400 15px/1.5 var(--serif);color:var(--ink-2)}
.cols4 a{color:var(--accent);text-underline-offset:3px}
/* Figures from the 500-post study */
.figs2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--ink)}
.figs2>div{padding:24px 32px 24px 0}
.figs2>div+div{padding-left:32px;border-left:1px solid var(--rule)}
.figs2 b{display:block;font:700 clamp(56px,7vw,96px)/1 var(--sans);letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.figs2 b small{font-size:.42em;font-weight:600;letter-spacing:-.01em;color:var(--mute)}
.figs2 p{margin-top:14px;font:400 18px/1.5 var(--serif);color:var(--ink-2);max-width:460px}
.figs-line{margin-top:28px;font:600 22px/1.3 var(--sans);letter-spacing:-.015em;max-width:760px}
.figs-note{margin-top:12px;font:400 14px/1.55 var(--sans);color:var(--mute);max-width:760px}
.figs-note a{color:var(--ink);text-underline-offset:3px}
/* Exhibit grid */
.ex-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.plan-rows{margin:0}
.plan-rows div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid var(--rule)}
.plan-rows dt{color:var(--mute)}
.plan-rows dd{margin:0}
.figrow{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:10px 0;border-bottom:1px solid var(--rule)}
.figrow b{font-variant-numeric:tabular-nums}
.figrow em{grid-column:1/-1;font-style:normal;font-size:12px;color:var(--mute)}
.figrow em.low{color:#8a4b16}
.samples{list-style:none;margin:0;padding:0}
.samples li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--rule)}
.samples span{color:var(--mute)}
.code{margin:22px 0 0;padding:16px 18px;border-radius:6px;background:var(--ink);color:#e9e7df;font:400 13px/1.65 var(--mono);white-space:pre;overflow-x:auto}
.code .c{color:#a9a69b}
.linkrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chat p{padding:10px 0;border-bottom:1px solid var(--rule)}
.chat .you{font-family:var(--serif);font-size:15px}
.chat .call{display:flex;justify-content:space-between;gap:12px;font-family:var(--mono);font-size:12px;color:var(--mute)}
.chat .call b{color:var(--ink);font-weight:500}
.chat .ai{border-bottom:0;font-family:var(--serif);font-size:15px}
/* Refusal exhibit */
.refuse .brief{padding:10px 0 14px;border-bottom:1px solid var(--rule);font-family:var(--serif);font-size:15px}
.refuse .brief>span{display:block;font:600 12px/1.3 var(--sans);color:var(--mute);margin-bottom:4px}
.refuse .state{padding-top:14px}
.refuse .state h4{font:650 15px/1.35 var(--sans)}
.refuse ul{margin:10px 0 0;padding-left:18px}
.refuse .foot{display:flex;gap:16px;margin-top:14px;font-size:12px;color:var(--mute)}
/* Pricing */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.plan{padding:24px 28px 28px 0;display:flex;flex-direction:column}
.plan+.plan{padding-left:28px;border-left:1px solid var(--rule)}
.plan.pick{box-shadow:inset 0 3px 0 var(--accent)}
.plan h3{font-size:16px}
.plan .price{margin-top:14px;font:700 44px/1 var(--sans);letter-spacing:-.035em}
.plan .price small{font-size:15px;font-weight:500;letter-spacing:0;color:var(--mute)}
.plan dl{margin:20px 0 22px;border-top:1px solid var(--rule)}
.plan dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--rule);font-size:14px}
.plan dt{color:var(--mute)}
.plan dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.plan .why{font:400 14px/1.5 var(--serif);color:var(--ink-2);margin:-8px 0 18px}
.plan .btn{margin-top:auto;align-self:flex-start}
.inc{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:28px;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font:400 14px/1.5 var(--sans)}
.inc b{width:100%;font-weight:600}
.inc span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:2px}
.price-note{margin-top:14px;font:400 15px/1.55 var(--serif);color:var(--ink-2);max-width:820px}
.price-note a{color:var(--accent);text-underline-offset:3px}
.more{margin-top:20px;border-bottom:1px solid var(--rule)}
.more>summary{cursor:pointer;list-style:none;padding:16px 0;font:600 16px/1.3 var(--sans);display:flex;justify-content:space-between}
.more>summary::-webkit-details-marker{display:none}
.more>summary::after{content:"+";font-weight:400;color:var(--mute)}
.more[open]>summary::after{content:"\2212"}
.more>div,.more>.compare-wrap{padding-bottom:22px}
.beta-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;padding-bottom:28px}
.beta-body p{font:400 17px/1.55 var(--serif);color:var(--ink-2)}
.beta-body ul{margin:14px 0 0;padding-left:18px;font-size:15px}
#wl{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#wl label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#wl input,#wl select{width:100%;min-height:46px;padding:10px 12px;border:1px solid var(--rule-2);border-radius:6px;background:#fff;font-size:15px}
#wl .full{grid-column:1/-1}
#wl .bad{border-color:#a3341f}
#note{grid-column:1/-1;font-size:14px;color:var(--ink-2);min-height:20px}
/* FAQ */
.faq-list{border-top:1px solid var(--ink)}
.faq-list details{border-bottom:1px solid var(--rule)}
.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:18px 0;font:600 18px/1.35 var(--sans)}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";color:var(--mute);font-weight:400}
.faq-list details[open] summary::after{content:"\2212"}
.faq-list .a{padding:0 0 20px;max-width:var(--measure);font:400 17px/1.6 var(--serif);color:var(--ink-2)}
.faq-list .a a{color:var(--accent);text-underline-offset:3px}

@media (max-width:900px){
  .ex-cols,.split,.icx,.ex-grid,.beta-body{grid-template-columns:minmax(0,1fr)}
  .ex-col{padding-right:0}
  .ex-col+.ex-col{padding:22px 0 26px;border-left:0;border-top:1px solid var(--rule)}
  .lead3,.plans{grid-template-columns:minmax(0,1fr)}
  .lead3 article,.lead3 article+article,.plan,.plan+.plan{padding:22px 0;border-left:0}
  .lead3 article+article,.plan+.plan{border-top:1px solid var(--rule)}
  .plan.pick{box-shadow:inset 0 3px 0 var(--accent);padding-top:26px}
  .cols4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .figs2{grid-template-columns:minmax(0,1fr)}
  .figs2>div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}
}
@media (max-width:600px){
  :root{--gut:16px}
  .hero{padding-top:52px;text-align:left}
  .hero .dek{margin-left:0;font-size:19px}
  .hero .ctas{justify-content:flex-start}
  .hero-ex{margin-top:52px}
  .byline-strip{text-align:left}
  .sec{padding-top:64px}
  .ex-brief{grid-template-columns:1fr;gap:4px}
  .cols4{grid-template-columns:minmax(0,1fr);gap:28px}
  .defs>div{grid-template-columns:minmax(0,1fr);gap:6px}
  .score dd{font-size:22px}
  #wl{grid-template-columns:1fr}
  .shead{flex-direction:column;gap:4px}
  .shead p{text-align:left}
}

/* ================= Partners and product ================= */
.cards-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}
.cards-list li{padding:14px 0;border-bottom:1px solid var(--rule)}
.cards-list h3{font-size:17px;margin:0 0 4px;display:flex;gap:12px;align-items:baseline;justify-content:space-between}
.cards-list p{font-size:17px;color:var(--ink-2)}
.reasons{counter-reset:r;list-style:none;padding:0!important}
.reasons li{counter-increment:r;display:grid;grid-template-columns:40px 1fr;padding:12px 0;border-top:1px solid var(--rule)}
.reasons li::before{content:counter(r,decimal-leading-zero);font:500 13px/1.9 var(--sans);color:var(--mute)}
.reasons h3{grid-column:2;font-size:17px;margin:0}
.reasons p{grid-column:2;margin-top:4px;color:var(--ink-2)}
.endcap{margin-top:56px;padding-top:22px;border-top:2px solid var(--ink)}
.endcap h2{margin-top:0}
.job-sec+.job-sec{margin-top:56px}
.job-sec>p{color:var(--ink-2)}

/* ================= Long-form pages (existing article markup) ================= */
body.ed-art{font-family:var(--sans)}
.ed-art .site-header{display:none}
.ed-art main.wrap{width:auto}
.ed-art .article-top{width:min(940px,calc(100% - 2*var(--gut)));margin:0 auto;padding:84px 0 48px;text-align:center;max-width:none}
.ed-art .article-top .crumb{display:inline-block;font:500 13px/1.4 var(--sans);color:var(--mute);text-decoration:none}
.ed-art .article-top .crumb:hover{text-decoration:underline;text-underline-offset:3px}
.ed-art .article-top h1{font-size:clamp(32px,4vw,46px);line-height:1.12;letter-spacing:-.02em;font-weight:700;margin:20px 0 0}
.ed-art .lead{font:400 20px/1.5 var(--serif);color:var(--ink-2);max-width:var(--measure);margin:22px auto 0}
.ed-art .canonical-note{max-width:var(--measure);margin:20px auto 0;font:400 14px/1.5 var(--sans);color:var(--mute)}
.ed-art .canonical-note a,.ed-alt .canonical-note a{color:var(--accent)}
.ed-art .article-top .metadata{display:none}
.ed-art .metadata{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;font:400 13px/1.5 var(--sans);color:var(--mute);margin-top:20px}
.ed-art .byline{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none}
.ed-art .byline img{width:24px;height:24px;border-radius:50%;object-fit:cover}
.ed-art .article-layout{width:min(var(--wide),calc(100% - 2*var(--gut)));margin:0 auto;display:grid;grid-template-columns:200px minmax(0,var(--measure)) 200px;justify-content:space-between;gap:48px;align-items:start;padding-bottom:96px}
.ed-art .contents{position:sticky;top:24px;max-height:calc(100vh - 48px);overflow:auto;border-top:1px solid var(--rule);counter-reset:ch;padding:0}
.ed-art .contents strong{display:block;padding:12px 0 8px;font:600 12px/1.3 var(--sans);color:var(--mute);text-transform:none;letter-spacing:0}
.ed-art .contents a{counter-increment:ch;display:grid;grid-template-columns:26px 1fr;gap:4px;padding:9px 0;border-top:1px solid var(--rule);font:500 13px/1.4 var(--sans);color:var(--ink);text-decoration:none}
.ed-art .contents a::before{content:counter(ch,decimal-leading-zero);color:var(--mute);font-variant-numeric:tabular-nums}
.ed-art .contents a:hover{color:var(--accent)}
.ed-art .a-side{position:sticky;top:24px;grid-column:3;grid-row:1}
.ed-art .article-copy{grid-column:2;grid-row:1;min-width:0;max-width:none;font:400 18px/1.62 var(--serif);color:var(--ink)}
.ed-art .article-copy>section,.ed-art .article-copy>p{margin:0}
.ed-art .article-copy p{margin:18px 0}
.ed-art .article-copy h2{font-size:26px;line-height:1.2;margin:56px 0 14px;color:var(--ink)}
.ed-art .article-copy h3{font-size:19px;margin:32px 0 8px;color:var(--ink)}
.ed-art .article-copy ul,.ed-art .article-copy ol{padding-left:22px}
.ed-art .article-copy li{margin:8px 0}
.ed-art .article-copy a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ed-art .article-copy .button,.ed-art .note-strip .button{display:inline-flex;align-items:center;min-height:42px;padding:9px 18px;border-radius:999px;background:var(--ink);color:var(--paper);border:0;font:600 14px/1.2 var(--sans);text-decoration:none}
.ed-art .answer{margin:0 0 28px!important;padding:18px 0 20px;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule);font-size:19px;line-height:1.58;background:none;border-radius:0}
.ed-art .tablewrap,.ed-art .data-table{overflow-x:auto;margin:24px 0;border:0;border-radius:0}
.ed-art table{width:100%;border-collapse:collapse;font:400 14px/1.45 var(--sans)}
.ed-art .data-table table{min-width:560px}
.ed-art th,.ed-art td{text-align:left;vertical-align:top;padding:11px 12px 11px 0;border-bottom:1px solid var(--rule);background:none;color:var(--ink)}
.ed-art thead th{font-weight:600;font-size:13px;color:var(--mute);border-bottom:1px solid var(--ink)}
.ed-art caption{caption-side:top;text-align:left;padding:0 0 10px;font:600 14px/1.4 var(--sans);color:var(--ink)}
.ed-art .src,.ed-art .capture-note,.ed-art .copy-status{font:400 13px/1.55 var(--sans)!important;color:var(--mute);opacity:1;border:0;padding:0}
.ed-art .cta-box,.ed-art .start-cta{margin:36px 0!important;padding:18px 0 4px!important;border:0!important;border-top:2px solid var(--ink)!important;border-radius:0!important;background:none!important;font:400 17px/1.55 var(--serif)}
.ed-art .cta-box strong{display:block;font:650 18px/1.3 var(--sans);margin-bottom:4px}
.ed-art .cta-box p{margin:8px 0 14px!important}
.ed-art .tip,.ed-art .result,.ed-art .pt-note{margin:28px 0;padding:2px 0 2px 18px;border-left:2px solid var(--accent);background:none;font-size:17px;color:var(--ink-2)}
.ed-art .tip strong,.ed-art .result b{color:var(--ink);font:600 14px/1.4 var(--sans)}
.ed-art .example,.ed-art .fixes,.ed-art .brief,.ed-art .sample,.ed-art .cite,.ed-art .source-box,.ed-art .pt-box,.ed-art .dt-box{margin:28px 0;border:1px solid var(--rule-2);border-radius:6px;background:#fff;overflow:hidden}
.ed-art .example-label{padding:10px 18px;border-bottom:1px solid var(--rule);font:600 12px/1.3 var(--sans);color:var(--mute);text-transform:none;letter-spacing:0;background:var(--paper-2)}
.ed-art .comparison{display:grid;grid-template-columns:1fr 1fr}
.ed-art .comparison>div{padding:18px}
.ed-art .comparison>div+div{border-left:1px solid var(--rule);background:var(--accent-wash)}
.ed-art .comparison small{font:600 12px/1.3 var(--sans);color:var(--mute)}
.ed-art .comparison>div+div small{color:var(--accent)}
.ed-art .comparison p{font-size:16px;margin:8px 0}
.ed-art .kit{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:18px 0 22px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.ed-art .kit strong{font:600 13px/1.3 var(--sans);color:var(--mute)}
.ed-art .kit p,.ed-art .kit li{font-size:15px;line-height:1.55}
.ed-art .screen-step{margin:36px 0}
.ed-art .screen-step h3 span{display:inline-block;min-width:28px;font:600 13px/1 var(--sans);color:var(--accent);border:0;width:auto;height:auto}
.ed-art .screen-shot{margin:20px 0;border:0;border-radius:0;background:none}
.ed-art .screen-shot img{border:1px solid var(--rule-2);border-radius:6px}
.ed-art .screen-shot figcaption,.ed-art .vz figcaption span{padding:10px 0 0;border-top:0;font:400 13px/1.55 var(--sans);color:var(--mute)}
.ed-art .brief,.ed-art .sample,.ed-art .cite,.ed-art .source-box{padding:18px 20px;font-size:16px}
.ed-art .brief-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font:600 12px/1.3 var(--sans);color:var(--mute)}
.ed-art .copy-button,.ed-art .dt-row button{min-height:38px;padding:6px 14px;border:1px solid var(--rule-2);border-radius:999px;background:var(--paper-2);color:var(--ink);font:500 13px/1 var(--sans);cursor:pointer}
.ed-art .fix-row{display:grid;grid-template-columns:1fr 1.4fr;gap:20px;padding:16px 18px;border-bottom:1px solid var(--rule);font-size:16px}
.ed-art .fix-row:last-child{border-bottom:0}
.ed-art .fix-row strong{font:600 15px/1.4 var(--sans)}
.ed-art .faq{margin-top:56px;border-top:2px solid var(--ink)}
.ed-art .faq h2{margin-top:18px}
.ed-art .faq h3{font-size:18px;margin-top:26px}
.ed-art .author-bio{display:flex;gap:16px;margin-top:48px;padding:20px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);font:400 15px/1.5 var(--sans)}
.ed-art .author-bio img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
.ed-art .author-bio strong{font-weight:650}
.ed-art .author-bio p{margin:4px 0;font-size:14px;color:var(--ink-2)}
.ed-art .vz{margin:32px 0;padding:0;border:0;background:none;border-radius:0}
.ed-art .vz figcaption{padding:0 0 12px;margin:0 0 14px;border-bottom:1px solid var(--ink)}
.ed-art .vz figcaption strong{font:650 16px/1.35 var(--sans)}
.ed-art .vz-grid{stroke:var(--rule)}
.ed-art .vz-ax{fill:var(--mute);font-family:var(--sans)}
.ed-art .vz-lab,.ed-art .vz-val{fill:var(--ink);font-family:var(--sans)}
.ed-art .vz-fill{fill:var(--accent)}
.ed-art .vz-bar:hover .vz-fill,.ed-art .vz-bar:focus .vz-fill{fill:var(--accent-ink)}
.ed-art .stat-list{list-style:none;padding:0;margin:14px 0 0;counter-reset:st;border-top:1px solid var(--ink)}
.ed-art .stat-list li{counter-increment:st;display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;padding:14px 0;margin:0;border-bottom:1px solid var(--rule);font-size:17px}
.ed-art .stat-list li::before{content:counter(st,decimal-leading-zero);font:500 13px/2 var(--sans);color:var(--mute)}
.ed-art .see{display:block;font:400 13px/1.5 var(--sans);color:var(--mute);margin-top:4px}
.ed-art .angles strong{font-weight:650}
.ed-art .pt-box,.ed-art .dt-box{padding:18px 20px}
.ed-art .pt-box label{display:block;font:600 13px/1.3 var(--sans);color:var(--mute);margin-bottom:8px;text-transform:none;letter-spacing:0}
.ed-art .pt-box textarea,.ed-art .dt-box textarea{width:100%;min-height:150px;padding:12px 14px;border:1px solid var(--rule-2);border-radius:6px;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--serif);resize:vertical}
.ed-art .pt-row,.ed-art .dt-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px;font-family:var(--sans)}
.ed-art .pt-row .button{background:var(--ink);color:var(--paper)}
.ed-art .pt-row a.small{font-size:13px;color:var(--mute)}
.ed-art .pt-flag{display:inline-block;font:500 12px/1 var(--sans);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;padding:5px 10px;margin:6px 8px 0 0}
.ed-art .dt-out{font:400 15px/1.55 var(--sans)}
.ed-art .dt-sc b{font:700 32px/1 var(--sans)}
.ed-art .dt-out li{list-style:none;border-top:1px solid var(--rule);padding:10px 0}
.ed-art .dt-out ul{padding:0}
.ed-art .dt-out li em{display:block;font-style:normal;font-weight:600}
.ed-art .pt-rel,.ed-art .roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:18px 0;border-top:1px solid var(--ink)}
.ed-art .pt-rel a,.ed-art .roles a{display:block;padding:14px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);font:400 14px/1.45 var(--sans)}
.ed-art .pt-rel a strong,.ed-art .roles a strong{display:block;font:650 16px/1.3 var(--sans);margin-bottom:4px}
.ed-art .pt-rel a span,.ed-art .roles a span{color:var(--mute)}
.ed-art .pt-rel a:hover strong,.ed-art .roles a:hover strong{color:var(--accent)}
/* Right rail on article pages: facts table and related reading */
.ed-art .related{margin-top:40px;border:0;padding:0}
.ed-art .related>strong{display:block;font:600 12px/1.3 var(--sans);color:var(--mute);margin:0 0 10px;text-transform:none;letter-spacing:0}
.ed-art .related a{display:block;padding:12px 0;border-top:1px solid var(--rule);font:600 14px/1.35 var(--sans);color:var(--ink);text-decoration:none}
.ed-art .related a:last-child{border-bottom:1px solid var(--rule)}
.ed-art .related a:hover{color:var(--accent)}
.ed-art .article-copy .related{display:none}
.ed-art .kl-cap{margin:40px 0;padding:18px 0 4px;border:0;border-top:1px solid var(--ink);border-radius:0;background:none;min-height:0}
.ed-art .a-side .kl-cap{margin-top:36px}
.kl-cap label.kl-cap-h{display:block;margin:0 0 12px;font:650 17px/1.3 var(--sans);color:var(--ink)}
.kl-cap-row{display:flex;gap:8px}
.kl-cap-row input{flex:1;min-width:0;min-height:44px;padding:10px 14px;border:1px solid var(--rule-2);border-radius:999px;background:#fff;color:var(--ink);font:400 15px var(--sans)}
.kl-cap-row button{min-height:44px;padding:10px 18px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font:600 14px var(--sans);cursor:pointer}
.kl-cap-row button:disabled{opacity:.6}
.kl-cap-msg{margin:8px 0 0;min-height:20px;font:400 13px/1.4 var(--sans);color:var(--mute)}
.kl-cap-err{color:#a3341f}
.kl-cap-done{margin:0;font:650 17px/1.3 var(--sans);color:var(--ink)}
.kl-cap-hp,.kl-lead .kl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.a-side .kl-cap-row{flex-direction:column}
@media (max-width:520px){.kl-cap-row{flex-direction:column}}
/* Talk-to-the-founder block */
.kl-lead{margin-top:40px;padding:72px 0;border-top:1px solid var(--rule);color:var(--ink)}
.kl-lead .kl-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.kl-lead h2{font-size:clamp(26px,3vw,34px);margin:0 0 14px}
.kl-lead .kl-copy p{margin:0 0 12px;font:400 18px/1.55 var(--serif);color:var(--ink-2);max-width:460px}
.kl-lead .kl-copy a{color:var(--accent);text-underline-offset:3px}
.kl-lead form{padding:0;border:0;background:none}
.kl-lead label{display:block;font:600 13px/1.3 var(--sans);margin:0 0 6px}
.kl-lead input,.kl-lead select,.kl-lead textarea{display:block;width:100%;margin:0 0 14px;padding:10px 12px;min-height:44px;border:1px solid var(--rule-2);border-radius:6px;background:#fff;color:var(--ink);font:400 15px var(--sans)}
.kl-lead textarea{min-height:110px;resize:vertical}
.kl-lead button{min-height:44px;padding:10px 22px;border:0;border-radius:999px;background:var(--ink);color:var(--paper);font:600 15px var(--sans);cursor:pointer}
.kl-lead button[disabled]{opacity:.6}
.kl-lead .kl-msg{margin-top:12px;font:600 14px var(--sans)}
.kl-lead .kl-err{color:#a3341f}
.kl-lead small{display:block;margin-top:12px;font:400 13px/1.5 var(--sans);color:var(--mute)}
@media (max-width:800px){.kl-lead{padding:48px 0}.kl-lead .kl-grid{grid-template-columns:1fr;gap:24px}}
/* Simple footer on long-form pages */
.ed-art>footer:not(.colo),.ed-alt footer:not(.colo){margin-top:0;border-top:1px solid var(--rule);font:400 13px/1.7 var(--sans);color:var(--mute)}
.ed-art .footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:28px 0 40px}
.ed-art .footer-inner a,.ed-alt footer:not(.colo) a{color:var(--ink);text-decoration:none;margin-right:10px}
.ed-art .footer-inner a:hover,.ed-alt footer:not(.colo) a:hover{color:var(--accent);text-decoration:underline}
/* Hubs: blog, patterns, roles and solutions indexes (magazine grid) */
.ed-art .masthead{padding:56px 0 0;background:none}
.ed-art .masthead .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);column-gap:40px;align-items:start}
.ed-art .masthead .eyebrow{grid-column:1/-1;display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid var(--rule);font:600 15px/1.3 var(--sans);color:var(--ink);text-transform:none;letter-spacing:0}
.ed-art .masthead-title{grid-column:1/-1;display:block;text-align:center;margin:56px auto 48px;max-width:860px}
.ed-art .masthead h1{font-size:clamp(34px,4.4vw,54px);font-weight:700;letter-spacing:-.025em;line-height:1.08}
.ed-art .masthead h1 span{color:inherit}
.ed-art .masthead-title p{margin:18px auto 0;max-width:620px;font:400 19px/1.5 var(--serif);color:var(--ink-2)}
.ed-art .feature-layout{grid-column:2;grid-row:3/span 3;display:block;border:0;border-radius:0;background:none;overflow:visible}
.ed-art .feature-image{display:block;padding:0;background:none;border:0}
.ed-art .feature-image img{border:1px solid var(--rule-2);border-radius:6px;box-shadow:none;aspect-ratio:16/10;object-fit:cover;object-position:top left;width:100%}
.ed-art .feature-copy{padding:20px 0 0;gap:10px;display:flex;flex-direction:column;align-items:flex-start}
.ed-art .feature-copy .eyebrow{font:500 12px/1 var(--sans);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;padding:6px 10px;text-transform:none;letter-spacing:0}
.ed-art .feature-copy h2{font-size:clamp(26px,2.4vw,32px);line-height:1.15}
.ed-art .feature-copy h2 a{text-decoration:none}
.ed-art .feature-copy p{font:400 17px/1.55 var(--serif);color:var(--ink-2)}
.ed-art .text-link{font:600 14px var(--sans);color:var(--accent);text-underline-offset:3px}
.ed-art .paths{display:contents}
.ed-art .paths a{grid-column:1;display:block;padding:0 0 22px;margin-bottom:22px;border-bottom:1px solid var(--rule);text-decoration:none}
.ed-art .paths a:nth-child(3){grid-column:3;grid-row:3}
.ed-art .paths a:nth-child(1){grid-row:3}
.ed-art .paths a:nth-child(2){grid-row:4}
.ed-art .paths b{display:inline-block;font:500 12px/1 var(--sans);color:var(--mute);margin-bottom:10px}
.ed-art .paths strong{display:block;font:650 20px/1.25 var(--sans)}
.ed-art .paths small{display:block;margin-top:8px;font:400 14px/1.5 var(--sans);color:var(--mute)}
.ed-art .paths a:hover strong{color:var(--accent)}
.ed-art .library{padding:88px 0 40px}
.ed-art .library-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:12px;border-bottom:1px solid var(--rule);margin-bottom:18px}
.ed-art .library h2{font-size:15px;font-weight:650;letter-spacing:0}
.ed-art .search{width:280px;max-width:100%;min-height:40px;padding:8px 16px;border:1px solid var(--rule-2);border-radius:999px;background:#fff;color:var(--ink);font:400 14px var(--sans)}
.ed-art .topics{display:flex;flex-wrap:wrap;gap:6px}
.ed-art .topics button{min-height:34px;padding:6px 13px;border:1px solid var(--rule);border-radius:999px;background:var(--paper-2);color:var(--ink);font:500 13px/1 var(--sans);cursor:pointer}
.ed-art .topics button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.ed-art #result-count{display:block;margin:20px 0 10px;font:400 13px var(--sans);color:var(--mute)}
.ed-art .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px}
.ed-art .card{display:flex;flex-direction:column;padding:22px 0;border:0;border-top:1px solid var(--rule);border-radius:0;background:none;transition:none;overflow:visible}
.ed-art .card:hover{transform:none}
.ed-art .thumb{display:none}
.ed-art .category,.ed-art .pcard b{align-self:flex-start;font:500 12px/1 var(--sans);color:var(--ink);background:var(--paper-2);border:1px solid var(--rule);border-radius:999px;padding:5px 10px;text-transform:none;letter-spacing:0}
.ed-art .card h3{font-size:20px;line-height:1.25;margin:14px 0 8px}
.ed-art .card h3 a{text-decoration:none}
.ed-art .card h3 a:hover{color:var(--accent)}
.ed-art .card p{font:400 15px/1.55 var(--sans);color:var(--ink-2);margin-bottom:12px}
.ed-art .card .metadata{justify-content:flex-start;margin-top:auto}
.ed-art .no-results{padding:28px 0;border-top:1px solid var(--rule);color:var(--mute)}
.ed-art .note-strip{margin:56px auto 0;padding:22px 0 0;border:0;border-top:2px solid var(--ink);border-radius:0;background:none;font:400 17px/1.55 var(--serif);color:var(--ink-2)}
.ed-art .note-strip strong{display:block;font:650 24px/1.25 var(--sans);color:var(--ink);margin-bottom:8px}
.ed-art .note-strip .button{margin-top:16px}
.ed-art main>section.wrap[style]{font:400 15px/1.7 var(--sans)}
.ed-art main>section.wrap[style] a{color:var(--accent)}
.ed-art .hub-top{width:min(940px,calc(100% - 2*var(--gut)));margin:0 auto;padding:84px 0 40px;text-align:center;max-width:none}
.ed-art .hub-top h1{font-size:clamp(32px,4vw,46px);font-weight:700;letter-spacing:-.02em;line-height:1.12;margin:18px 0 0}
.ed-art .hub-top p{margin:18px auto 0;max-width:var(--measure);font:400 19px/1.5 var(--serif);color:var(--ink-2)}
.ed-art .hub-top p a,.ed-art .hub-intro p a,.ed-art .hub-cta a{color:var(--accent);text-underline-offset:3px}
.ed-art .hub-intro{max-width:var(--measure);margin:0 auto 48px;font:400 18px/1.62 var(--serif);color:var(--ink)}
.ed-art .hub-intro p{margin:14px 0}
.ed-art .pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;padding-bottom:40px}
.ed-art .pcard{display:flex;flex-direction:column;gap:8px;padding:22px 0;border:0;border-top:1px solid var(--rule);border-radius:0;background:none;text-decoration:none;color:var(--ink)}
.ed-art .pcard h2{font-size:20px;line-height:1.25}
.ed-art .pcard:hover h2{color:var(--accent)}
.ed-art .pcard p{font:400 15px/1.55 var(--sans);color:var(--ink-2)}
.ed-art .pcard small{font:400 13px var(--sans);color:var(--mute)}
.ed-art .hub-cta{max-width:var(--measure);margin:24px auto 0;padding:18px 0 0;border:0;border-top:2px solid var(--ink);border-radius:0;background:none;font:400 17px/1.55 var(--serif)}
.ed-art .author-hero{width:min(var(--measure),calc(100% - 2*var(--gut)));margin:0 auto;padding:84px 0 40px}
.ed-art .author-hero img{width:84px;height:84px;border-radius:50%;object-fit:cover;margin-bottom:22px}
.ed-art .author-hero h1{font-size:clamp(32px,4vw,46px);font-weight:700;letter-spacing:-.02em;margin:10px 0 18px}
.ed-art .author-hero p,.ed-art .author-hero li{font:400 18px/1.62 var(--serif);color:var(--ink)}
.ed-art .author-hero a{color:var(--accent);text-underline-offset:3px}
.ed-art .eyebrow{font:500 13px/1.4 var(--sans);color:var(--mute);text-transform:none;letter-spacing:0}
@media (max-width:1099px){
  .ed-art .article-layout{grid-template-columns:minmax(0,1fr);max-width:var(--measure);gap:24px}
  .ed-art .contents,.ed-art .a-side{position:static;max-height:none;grid-column:auto;grid-row:auto}
  .ed-art .article-copy{grid-column:auto;grid-row:auto}
  .ed-art .contents{border:1px solid var(--rule);border-radius:6px;padding:0 14px}
  .ed-art .contents a:last-child{padding-bottom:12px}
  .ed-art .a-side .kl-cap{display:none}
  .ed-art .article-top{text-align:left;padding:48px 0 28px;max-width:var(--measure)}
  .ed-art .article-top .metadata{display:flex;justify-content:flex-start}
  .ed-art .lead,.ed-art .canonical-note{margin-left:0}
  .ed-art .a-side .facts{display:none}
  .ed-art .masthead .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ed-art .feature-layout{grid-column:1/-1;grid-row:auto;margin-bottom:28px}
  .ed-art .paths a,.ed-art .paths a:nth-child(n){grid-column:auto;grid-row:auto}
  .ed-art .grid,.ed-art .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .ed-art .masthead .wrap,.ed-art .grid,.ed-art .pgrid,.ed-art .pt-rel,.ed-art .roles,.ed-art .kit,.ed-art .comparison,.ed-art .fix-row{grid-template-columns:minmax(0,1fr)}
  .ed-art .comparison>div+div{border-left:0;border-top:1px solid var(--rule)}
  .ed-art .masthead-title{text-align:left;margin:36px 0 32px}
  .ed-art .masthead-title p{margin-left:0}
  .ed-art .library-top{flex-direction:column;align-items:stretch}
  .ed-art .search{width:100%}
  .ed-art .hub-top{text-align:left;padding-top:48px}
  .ed-art .hub-top p{margin-left:0}
  .ed-art .article-copy{font-size:17px;overflow-wrap:break-word}
  .ed-art .footer-inner{display:block}
}
/* The three /alternatives/ pages use a single-column layout of their own. */
body.ed-alt{font-family:var(--sans)}
.ed-alt>.wrap{width:auto}
.ed-alt>.wrap>nav{display:none}
.ed-alt main{width:min(var(--measure),calc(100% - 2*var(--gut)));margin:0 auto;padding:72px 0 80px}
.ed-alt .crumbs{font:500 13px/1.4 var(--sans);color:var(--mute);margin:0 0 20px}
.ed-alt .crumbs a{color:inherit;text-underline-offset:3px}
.ed-alt main>h1{font-size:clamp(32px,4vw,46px);line-height:1.12;letter-spacing:-.02em;font-weight:700}
.ed-alt .canonical-note{margin:20px 0 0;font:400 14px/1.5 var(--sans);color:var(--mute)}
.ed-alt .lede{margin:22px 0 0;font:400 20px/1.5 var(--serif);color:var(--ink-2)}
.ed-alt article{margin-top:40px;font:400 18px/1.62 var(--serif);color:var(--ink)}
.ed-alt article p,.ed-alt article li{color:var(--ink);max-width:none}
.ed-alt article p{margin:18px 0}
.ed-alt article h2{font-size:26px;margin:56px 0 12px}
.ed-alt article h3{font-size:19px;margin:32px 0 8px}
.ed-alt article a{color:var(--accent);text-underline-offset:3px}
.ed-alt .tbl{overflow-x:auto;margin:24px 0;border:0;border-radius:0}
.ed-alt .tbl table{width:100%;min-width:560px;border-collapse:collapse;font:400 14px/1.45 var(--sans)}
.ed-alt .tbl th,.ed-alt .tbl td{text-align:left;vertical-align:top;padding:11px 12px 11px 0;border:0;border-bottom:1px solid var(--rule);color:var(--ink);background:none}
.ed-alt .tbl thead th{font-size:13px;color:var(--mute);border-bottom:1px solid var(--ink)}
.ed-alt .pair{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:16px 0 24px;border-top:1px solid var(--ink)}
.ed-alt .pair div{padding:14px 18px 14px 0;font-size:16px;border:0;background:none;border-radius:0;color:var(--ink)}
.ed-alt .pair div+div{padding-left:18px;border-left:1px solid var(--rule)}
.ed-alt .pair b{display:block;font:600 12px/1.3 var(--sans);color:var(--mute);margin-bottom:4px;text-transform:none;letter-spacing:0}
.ed-alt .cta,.ed-alt .cta-box{margin:36px 0!important;padding:18px 0 4px!important;border:0!important;border-top:2px solid var(--ink)!important;border-radius:0!important;background:none!important}
.ed-alt .cta-box strong{display:block;font:650 18px/1.3 var(--sans)}
.ed-alt .btn,.ed-alt .button{display:inline-flex;align-items:center;min-height:42px;padding:9px 18px;border-radius:999px;background:var(--ink);color:var(--paper);border:0;font:600 14px/1.2 var(--sans);text-decoration:none}
.ed-alt .srcs,.ed-alt .srcs li{font:400 14px/1.55 var(--sans);color:var(--mute)}
.ed-alt .kl-cap{margin:40px 0;padding:18px 0 4px;border:0;border-top:1px solid var(--ink);background:none;border-radius:0}
.ed-alt details{border-bottom:1px solid var(--rule);padding:14px 0}
.ed-alt summary{cursor:pointer;font:600 17px/1.35 var(--sans)}
.ed-alt footer:not(.colo){width:min(var(--wide),calc(100% - 2*var(--gut)));margin:0 auto;padding:28px 0 40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
@media (max-width:600px){.ed-alt .pair{grid-template-columns:1fr}.ed-alt .pair div+div{padding-left:0;border-left:0;border-top:1px solid var(--rule)}.ed-alt main{padding-top:44px}}

@media print{
  .mast,.colo,.kl-lead,.kl-cap,.a-rail,.contents,.a-side{display:none!important}
  body{background:#fff}
  .a-band,.ed-art .article-layout{display:block}
}

/* Additions: section labels, comparison table column, minor */
.shead .lbl{font:650 15px/1.3 var(--sans);color:var(--ink);text-align:left}
.cmpx{min-width:900px}
.cmpx th:first-child{width:22%}
.xtable .kc,.xtable .col-k{background:var(--accent-wash);padding-left:12px;font-weight:500}
.xtable thead .kc{color:var(--accent)}
.figrow em.low{color:var(--ink-2)}
.tscroll,.compare-wrap,.tablewrap,.data-table,.tbl{position:relative}
.shead+.figs2,.shead+.lead3{border-top:0}
.cmpx th,.cmpx td{padding-left:12px}
.cmpx th:first-child{padding-left:0}
.xtable .kc,.xtable .col-k{background:#eff1f9}
.body a.btn,.body a.pill,.ed-art .article-copy a.button,.ed-art .article-copy .cta-box a.button{text-decoration:none;color:var(--paper)}
.body a.btn-line{color:var(--ink)}
.body a.btn-blue{color:#fff}
.body .cards-list,.body .reasons{padding-left:0}
.body .cards-list li+li,.body .reasons li+li{margin-top:0}
.body .cards-list h3{margin-top:0}
.job-sec h2{margin-top:0}
.job-sec{scroll-margin-top:24px}
.note h2{margin-top:0}
.job-sec>p{margin-bottom:16px}
.ed-art main>.article-copy{max-width:var(--measure);margin:0 auto;padding-bottom:80px}
.ed-art main>.article-copy>section h2 a{color:var(--ink);text-decoration:none}
.ed-art main>.article-copy>section h2 a:hover{color:var(--accent)}
.ed-art .hub-top .crumb{font:500 13px/1.4 var(--sans);color:var(--mute);text-decoration:none}
.ed-art .vz svg{display:block;width:100%;max-width:560px;height:auto;font-family:var(--sans);overflow:visible}
.ed-art .vz figcaption strong,.ed-art .vz figcaption span{display:block}
.ed-art .vz-hit{fill:transparent}
.ed-art .vz-ax{font-size:12px}
.ed-art .vz-lab,.ed-art .vz-val{font-size:14px}
.ed-art .vz-val{font-variant-numeric:tabular-nums}
.ed-art .vz-bar:focus{outline:none}
.ed-art .vz-bar:focus .vz-hit{stroke:var(--accent);stroke-width:1}
.ed-art .vz details{margin-top:10px;font:400 14px/1.5 var(--sans)}
.ed-art .vz summary{cursor:pointer;color:var(--mute)}
.ed-art .facts a,.ed-alt .facts a{text-decoration:none}
.ed-art .facts a:hover{color:var(--accent)}
.ed-art .stat-group{margin-top:40px}

/* ================= Interactive layer ================= */
/* Reveal on scroll (only once JS has opted in and motion is allowed) */
.rv-on .rv{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.rv-on .rv.in{opacity:1;transform:none}
/* Reading progress */
.readbar{position:fixed;left:0;right:0;top:0;height:3px;z-index:30;pointer-events:none}
.readbar i{display:block;height:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(0)}
/* Active chapter */
.chap a.is-active,.ed-art .contents a.is-active{color:var(--accent);font-weight:650}
.chap a.is-active::before,.ed-art .contents a.is-active::before{color:var(--accent)}
.chap a,.ed-art .contents a{transition:color .15s}
/* Hover on cards and rows */
.ed-art .card,.ed-art .pcard,.ed-art .pt-rel a,.ed-art .roles a,.ed-art .related a,.rel a,.ed-art .paths a{transition:background-color .15s,color .15s}
.ed-art .card:hover,.ed-art .pcard:hover{background:var(--paper-2);box-shadow:-12px 0 0 var(--paper-2),12px 0 0 var(--paper-2)}
.ed-art .card:hover h3 a{color:var(--accent)}
.plan,.cols4 li,.lead3 article{transition:background-color .15s}
.btn,.pill,.chip{transition:background-color .15s,border-color .15s,color .15s}

/* Segmented controls */
.seg,.bill{display:inline-flex;padding:3px;border:1px solid var(--rule);border-radius:999px;background:var(--paper-2);gap:2px}
.seg button,.bill button{min-height:36px;padding:6px 16px;border:0;border-radius:999px;background:transparent;font:500 14px/1.2 var(--sans);color:var(--ink-2);cursor:pointer}
.seg button[aria-pressed=true],.bill button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
.seg button:hover:not([aria-pressed=true]),.bill button:hover:not([aria-pressed=true]){background:var(--paper-3)}

/* Exhibit 1, interactive */
.exi-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 0 0}
.exi-kind{font:600 13px/1.3 var(--sans);color:var(--mute)}
.exi-nav{display:flex;gap:10px;align-items:center}
.exi-pos{font:400 13px/1 var(--sans);color:var(--mute);font-variant-numeric:tabular-nums}
.ex-on .seg{margin:18px 0 6px}
.exi-body{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:40px;align-items:start;padding-top:10px;min-height:300px}
.exi-draft{margin:0;font-size:17px}
.exi-draft p+p{margin-top:12px}
.exi-draft mark{background:transparent;text-decoration:none;transition:background-color .35s,box-shadow .35s;border-radius:2px}
.exi-draft mark sup{font:700 10px/1 var(--sans);margin-right:3px;vertical-align:4px;color:var(--mute)}
.exi-draft mark.lit.inv,.exi-draft mark.lit.fig{background:var(--mark);text-decoration:underline wavy #9a8f6c;text-decoration-thickness:1px;text-underline-offset:4px}
.exi-draft mark.lit.ok{background:var(--accent-wash)}
.exi-draft mark.lit sup{color:var(--ink)}
.exi-draft mark.cur{box-shadow:0 0 0 2px var(--ink)}
.exi-side{border-top:1px solid var(--ink);padding-top:12px;font-family:var(--sans)}
.exi-noteh{font:600 14px/1.3 var(--sans);margin-bottom:6px}
.exi-notes{margin:0 0 14px;padding:0;list-style:none;counter-reset:n}
.exi-notes li{counter-increment:n;display:grid;grid-template-columns:22px 1fr;gap:2px 6px;padding:10px 0;border-bottom:1px solid var(--rule);font:400 14px/1.45 var(--sans);color:var(--mute);transition:color .3s}
.exi-notes li::before{content:counter(n);grid-row:span 2;font:700 12px/1.6 var(--sans)}
.exi-notes li b{font-weight:600;font-size:12px}
.exi-notes li.lit{color:var(--ink-2)}
.exi-notes li.cur{color:var(--ink)}
.exi-notes li.cur::before{color:var(--accent)}
.exi-score{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 0 0;border-top:1px solid var(--rule)}
.exi-score>div{padding:12px 16px 0 0}
.exi-score dt{font:400 12px/1.35 var(--sans);color:var(--mute);min-height:32px}
.exi-score dt small{display:block;font-size:11px}
.exi-score dd{margin:6px 0 0;display:flex;gap:18px}
.exi-score dd span{display:flex;flex-direction:column}
.exi-score i{font:400 11px/1.3 var(--sans);font-style:normal;color:var(--mute)}
.exi-score b{font:700 26px/1.1 var(--sans);letter-spacing:-.02em;font-variant-numeric:tabular-nums;min-width:1.4em}
.exi-score .sk b{color:var(--accent)}
.ex-on:not(.arm-klype) .exi-score .sk b,.ex-on.arm-klype .exi-score .sm b{opacity:.45}

/* Context layer */
.ctx-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:48px;align-items:start;margin-bottom:40px}
.ctx-intro .pullq{margin-top:0}
.ctx{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,.9fr);gap:32px;align-items:start}
.ctx-chips{display:flex;flex-direction:column;gap:8px;position:sticky;top:24px}
.chip{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:8px 14px;border:1px solid var(--accent);border-radius:999px;background:var(--accent-wash);color:var(--ink);font:600 14px/1.2 var(--sans);cursor:pointer;text-align:left}
.chip::after{content:"On";font-weight:500;font-size:12px;color:var(--accent)}
.chip[aria-pressed=false]{border-color:var(--rule-2);background:var(--paper);color:var(--mute);text-decoration:line-through;text-decoration-thickness:1px}
.chip[aria-pressed=false]::after{content:"Off";color:var(--mute)}
.chip:hover{border-color:var(--ink)}
.ctx-draft{margin:0;border:1px solid var(--rule-2);border-radius:6px;background:#fff;overflow:hidden}
.ctx-cap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--rule);font:500 12px/1.4 var(--sans);color:var(--mute)}
.ctx-state{color:var(--ink)}
.ctx-lines{margin:0;padding:8px 18px 14px;list-style:none;font:400 17px/1.6 var(--serif)}
.ctx-lines li{padding:8px 0;border-bottom:1px solid var(--rule)}
.ctx-lines li:last-child{border-bottom:0}
.ctx-lines .off{display:none}
.ctx[data-ready="1"] .ctx-lines li.is-off .on{display:none}
.ctx[data-ready="1"] .ctx-lines li.is-off .off{display:inline;background:var(--mark);text-decoration:underline wavy #9a8f6c;text-decoration-thickness:1px;text-underline-offset:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ctx-notes{margin:0;border-top:1px solid var(--ink)}
.ctx-notes>div{padding:10px 0;border-bottom:1px solid var(--rule);font:400 14px/1.5 var(--sans);color:var(--ink-2)}
.ctx-notes dt{font:600 13px/1.3 var(--sans);color:var(--ink);margin-bottom:4px}
.ctx-notes dd{margin:0}
.ctx-notes q{display:block;font:400 15px/1.5 var(--serif);color:var(--ink);margin-bottom:4px}
.ctx-notes q::before{content:"Saved: "; font:600 12px var(--sans);color:var(--mute)}
.ctx-notes q::after{content:""}
.ctx[data-ready="1"] .ctx-notes>div{display:none}
.ctx[data-ready="1"] .ctx-notes>div.is-off{display:block}
.ctx[data-ready="1"] .ctx-notes::before{content:"Turn a source off to see what goes wrong without it.";display:block;padding:10px 0;font:400 14px/1.5 var(--sans);color:var(--mute)}
.ctx[data-ready="1"] .ctx-notes:has(.is-off)::before{content:none}
.ctx>.ex-cap{grid-column:1/-1}
.ctx[data-ready="0"] .ctx-lines .off{display:block;margin-top:4px;font-size:15px;color:var(--mute)}
.ctx[data-ready="0"] .ctx-lines .off::before{content:"Without it: ";font:600 12px var(--sans)}
.ctx[data-ready="0"] .chip{pointer-events:none}

/* Checker */
#check-now .icx{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr)}
.icx-lede{font:400 19px/1.5 var(--serif);color:var(--ink-2);margin-bottom:14px}
.icx-lede a{color:var(--accent);text-underline-offset:3px}
.icx-box{border:2px solid var(--ink);border-radius:8px;padding:16px;background:#fff}
.icx-box textarea{border:1px solid var(--rule-2);background:var(--paper)}
.icx-row{flex-wrap:wrap}
.icx-n small{font-size:14px;color:var(--mute);font-weight:500}
.icx-n.l{color:var(--ink)}
.icx-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:24px;margin-top:16px;align-items:start}
.icx-text{white-space:pre-wrap;font:400 15px/1.6 var(--serif);padding:12px 14px;border:1px solid var(--rule);border-radius:6px;background:var(--paper)}
.icx-text mark{background:var(--mark);text-decoration:underline wavy #9a8f6c;text-decoration-thickness:1px;text-underline-offset:4px}
.icx-text mark sup{font:700 10px/1 var(--sans);margin-right:2px;vertical-align:4px}
.icx-f{list-style:none;counter-reset:f;margin:0}
.icx-f li{counter-increment:f;padding:10px 0 10px 24px;position:relative}
.icx-f li::before{content:counter(f);position:absolute;left:0;top:11px;font:700 12px var(--sans);color:var(--ink)}
.icx-f li:first-child{border-top:0;padding-top:0}
.icx-f li:first-child::before{top:1px}

/* Tabs and terminals */
.tablist{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.tablist [role=tab]{min-height:38px;padding:7px 16px;border:1px solid var(--rule);border-radius:999px;background:var(--paper-2);font:500 14px/1.2 var(--sans);color:var(--ink);cursor:pointer}
.tablist [role=tab][aria-selected=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.tabs:not(.tabs-on) .tablist{display:none}
.tabs:not(.tabs-on) .tabpanel+.tabpanel{margin-top:40px}
.tabpanel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:40px;align-items:start}
.tabpanel[hidden]{display:none}
.tabpanel:focus-visible{outline-offset:8px}
.tp-steps h3{font-size:20px;margin-bottom:10px}
.tp-steps ol{margin:0 0 12px;padding-left:20px;font:400 16px/1.55 var(--serif);color:var(--ink-2)}
.tp-steps li+li{margin-top:6px}
.term{border-radius:8px;background:var(--ink);color:#e9e7df;overflow:hidden}
.term-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px 8px 16px;border-bottom:1px solid #2c2c2a;font:500 12px/1.3 var(--sans);color:#b9b6ab}
.copy{min-height:32px;padding:5px 12px;border:1px solid #4a4a46;border-radius:999px;background:transparent;color:#f1efe8;font:500 12px/1 var(--sans);cursor:pointer}
.copy:hover{background:#2c2c2a}
.term-body{margin:0;padding:16px;min-height:170px;font:400 13px/1.7 var(--mono);white-space:pre-wrap;word-break:break-word;color:#e9e7df}
.term-body.typing::after{content:"";display:inline-block;width:7px;height:14px;margin-left:2px;background:#e9e7df;vertical-align:-2px}

/* Comparison: sticky header and first column inside the scroll area */
.cmp-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:14px;min-height:20px}
.cmp-tools .pill[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.cmp-scroll{max-height:min(78vh,760px);overflow:auto;border-bottom:1px solid var(--rule)}
.cmpx thead th{position:sticky;top:0;z-index:2;background:var(--paper)}
.cmpx thead th.kc{background:#eff1f9}
.cmpx tbody th{position:sticky;left:0;z-index:1;background:var(--paper)}
.cmpx thead th:first-child{left:0;z-index:3}
.cmpx tbody tr:hover th,.cmpx tbody tr:hover td{background:var(--paper-2)}
.cmpx tbody tr:hover td.kc,.cmpx tbody tr:hover td.col-k{background:#e6e9f6}
.cmpx tr[hidden]{display:none}

/* Pricing: one plan at a time once the toggle is on */
.bill{margin-top:32px}
.plans-one{grid-template-columns:minmax(0,1fr)!important;max-width:760px}
.plans-one .plan{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:40px;padding:26px 0!important;border-left:0!important}
.plans-one .plan[hidden]{display:none!important}
.plans-one .plan h3,.plans-one .plan .price,.plans-one .plan .why,.plans-one .plan .btn{grid-column:1}
.plans-one .plan dl{grid-column:2;grid-row:1/span 4;margin:0}
.plans-one .plan .price{font-size:56px}
.plans-one .plan .btn{margin-top:18px}
.plans-one .plan.pick{box-shadow:none}

@media (max-width:900px){
  .exi-body,.ctx-intro,.tabpanel,#check-now .icx,.icx-grid{grid-template-columns:minmax(0,1fr)}
  .exi-body{gap:16px;min-height:0}
  .exi-score{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ctx{grid-template-columns:minmax(0,1fr)}
  .ctx-chips{position:static;flex-direction:row;flex-wrap:wrap}
  .chip{min-height:38px}
  .plans-one .plan{grid-template-columns:minmax(0,1fr)}
  .plans-one .plan dl{grid-column:1;grid-row:auto;margin:16px 0}
}
@media (max-width:600px){
  .exi-top{align-items:flex-start}
  .exi-score b{font-size:22px}
  .plans-one .plan .price{font-size:44px}
  .seg button,.bill button{padding:6px 12px}
}
@media (prefers-reduced-motion:reduce){
  .rv-on .rv{opacity:1;transform:none;transition:none}
  .exi-draft mark,.exi-notes li{transition:none}
}
.ill{font:500 11px/1 var(--sans);color:var(--mute);border:1px solid var(--rule-2);border-radius:999px;padding:3px 7px;vertical-align:2px;white-space:nowrap}
.plans-one .plan .btn{justify-self:start}
/* Without JavaScript: hide controls that need it; the content stays. */
html:not(.js) .ctx-chips,html:not(.js) .ctx-state,html:not(.js) .icx-row,html:not(.js) #icx-t,html:not(.js) .copy{display:none}
html:not(.js) .ctx{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}

/* ================= Meaningful colour =================
   One colour per context source, used the same way everywhere:
   voice blue, product facts green, buyer amber, positioning violet,
   GTM plan coral. Extra categories take the extra tints. Each has a
   base (text and borders), a tint (fills) and a deep shade (bands). */
.c-voice{--c:#2840c4;--ct:#e8ebf7;--cd:#1b2a8c}
.c-facts{--c:#1d7149;--ct:#e2f1e7;--cd:#0f4a2e}
.c-buyer{--c:#9a5b00;--ct:#fbefd8;--cd:#5e3800}
.c-positioning{--c:#6a3db5;--ct:#eee6f8;--cd:#3e2373}
.c-plan{--c:#ad371f;--ct:#fbe6e0;--cd:#7a2414}
.c-teal{--c:#0e6b80;--ct:#dff1f4;--cd:#0a4452}
.c-rose{--c:#a3326b;--ct:#f8e5ee;--cd:#651d42}
.c-olive{--c:#5b6a1c;--ct:#edf0db;--cd:#38420f}
.c-slate{--c:#4a5568;--ct:#e8eaef;--cd:#2b3240}

/* Tiles */
.tile{display:flex;flex-direction:column;justify-content:space-between;gap:10px;background:var(--ct);color:var(--cd);border-radius:6px;padding:18px 20px;text-decoration:none;overflow:hidden}
.tile b{font:700 clamp(28px,3vw,46px)/1.02 var(--sans);letter-spacing:-.035em;overflow-wrap:anywhere}
.tile i{font:500 12px/1.2 var(--sans);font-style:normal;color:var(--c)}
.ed-art .thumb.tile{display:flex;aspect-ratio:16/9;margin:0 0 14px;border:0}
.ed-art .card .thumb.tile b{font-size:clamp(30px,2.8vw,44px)}
.ed-art .feature-image.tile{display:flex;aspect-ratio:16/10;padding:28px}
.ed-art .feature-image.tile b{font-size:clamp(56px,7vw,110px)}
.tile-sm{aspect-ratio:auto;min-height:88px;padding:14px 16px;margin-bottom:12px}
.tile-sm b{font-size:24px}
.ed-art .roles a .tile-sm{margin:-2px 0 10px}
.ed-art .sol-item .tile-sm{display:inline-flex;margin:28px 0 0}
.ed-art .sol-item h2{margin-top:12px}
.rtile{display:flex;align-items:flex-end;min-height:56px;margin-bottom:8px;padding:8px 10px;border-radius:4px;background:var(--ct);color:var(--cd)}
.rtile b{font:700 20px/1 var(--sans);letter-spacing:-.02em}
/* Category tags */
.ed-art .category[class*=" c-"]{background:var(--ct);border-color:transparent;color:var(--cd)}
/* Title band behind the article head */
.ed-art .article-top.band,.ed-art .hub-top.band{background:var(--ct);box-shadow:0 0 0 100vmax var(--ct);clip-path:inset(0 -100vmax);margin-bottom:48px}
.ed-art .article-top.band .crumb,.ed-art .hub-top.band .crumb{color:var(--cd)}
.ed-art .article-top.band .canonical-note{color:var(--cd)}
@media (max-width:1099px){.ed-art .article-top.band{padding-bottom:32px;margin-bottom:32px}}

/* Context chips take their source colour */
.chip[data-src=voice]{--c:#2840c4;--ct:#e8ebf7}
.chip[data-src=facts]{--c:#1d7149;--ct:#e2f1e7}
.chip[data-src=buyer]{--c:#9a5b00;--ct:#fbefd8}
.chip[data-src=positioning]{--c:#6a3db5;--ct:#eee6f8}
.chip[data-src=plan]{--c:#ad371f;--ct:#fbe6e0}
.chip{border-color:var(--c);background:var(--ct)}
.chip::after{color:var(--c)}
.chip::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c);flex:none;margin-right:2px}
.chip[aria-pressed=false]::before{background:transparent;box-shadow:inset 0 0 0 1.5px var(--rule-2)}
.chip{justify-content:flex-start}
.chip::after{margin-left:auto}
.ctx-lines li[data-src=voice]{--c:#2840c4;--ct:#e8ebf7}
.ctx-lines li[data-src=facts]{--c:#1d7149;--ct:#e2f1e7}
.ctx-lines li[data-src=buyer]{--c:#9a5b00;--ct:#fbefd8}
.ctx-lines li[data-src=positioning]{--c:#6a3db5;--ct:#eee6f8}
.ctx-lines li[data-src=plan]{--c:#ad371f;--ct:#fbe6e0}
.ctx-lines li{border-left:3px solid var(--c);padding-left:12px}
.ctx[data-ready="1"] .ctx-lines li.is-off{border-left-style:dashed}
.ctx-notes>div[data-src=voice] dt{color:#2840c4}
.ctx-notes>div[data-src=facts] dt{color:#1d7149}
.ctx-notes>div[data-src=buyer] dt{color:#9a5b00}
.ctx-notes>div[data-src=positioning] dt{color:#6a3db5}
.ctx-notes>div[data-src=plan] dt{color:#ad371f}

/* Product page: each job section carries its colour */
.job-sec{border-top:4px solid var(--c);padding-top:18px}
.job-sec h2{color:var(--cd)}
.job-sec .cards-list{border-top-color:var(--ct)}
.job-sec .st.s-live::before{background:var(--c)}
.chap li.c-voice a::before,.chap li.c-facts a::before,.chap li.c-buyer a::before,.chap li.c-positioning a::before,.chap li.c-plan a::before,.chap li.c-slate a::before{color:var(--c);font-weight:700}

/* ================= Proof band (homepage hero exhibit) =================
   Soft pastel blue with ink text. Klype blue only for flag marks, the
   active toggle, links and the With Klype AI figures. */
.proof-band{background:#e6ebf8;color:#141413;padding:64px 0 60px;margin-top:72px}
.proof-band .hero-ex{margin-top:0}
.proof-band .ex-head{border-bottom-color:#141413}
.proof-band .ex-n{color:#2840c4}
.proof-band .ex-t,.proof-band h3{color:#141413}
.proof-band .ex-brief{border-bottom-color:#c9d3f2;color:#141413}
.proof-band .ex-brief>span:first-child,.proof-band .ex-brief small,.proof-band .ex-col h3 small,.proof-band .exi-kind,.proof-band .exi-pos{color:#4a4a46}
.proof-band .draft{color:#3d3d3a}
.proof-band .draft .gap{color:#4a4a46}
.proof-band mark.inv,.proof-band .exi-draft mark.lit.inv,.proof-band .exi-draft mark.lit.fig{background:#fff;color:#141413;text-decoration:underline wavy #2840c4;text-decoration-thickness:1px;text-underline-offset:4px}
.proof-band mark.ok,.proof-band .exi-draft mark.lit.ok{background:#fff;color:#141413;text-decoration:underline solid #2840c4;text-underline-offset:4px}
.proof-band .exi-draft mark sup{color:#4a4a46}
.proof-band .exi-draft mark.lit sup{color:#2840c4}
.proof-band .exi-draft mark.cur{box-shadow:0 0 0 2px #2840c4}
.proof-band .ex-col+.ex-col{border-left-color:#c9d3f2}
.proof-band .score,.proof-band .score div,.proof-band .exi-score{border-top-color:#c9d3f2}
.proof-band .score dt,.proof-band .exi-score dt,.proof-band .exi-score i{color:#4a4a46}
.proof-band .score dd,.proof-band .exi-score b{color:#141413;opacity:1!important}
.proof-band .ex-col.k .score dd,.proof-band .exi-score .sk b{color:#2840c4}
.proof-band .exi-side{border-top-color:#141413}
.proof-band .exi-noteh{color:#141413}
.proof-band .exi-notes li{color:#4a4a46;border-bottom-color:#c9d3f2}
.proof-band .exi-notes li.lit{color:#3d3d3a}
.proof-band .exi-notes li.cur{color:#141413}
.proof-band .exi-notes li.cur::before{color:#2840c4}
.proof-band .seg{background:#fff;border-color:#c9d3f2}
.proof-band .seg button{color:#3d3d3a}
.proof-band .seg button[aria-pressed=true]{background:#2840c4;color:#fff}
.proof-band .seg button:hover:not([aria-pressed=true]){background:#e6ebf8}
.proof-band .pill{background:#fff;border-color:#c9d3f2;color:#141413}
.proof-band .pill:hover{border-color:#141413}
.proof-band .ex-cap{border-top-color:#c9d3f2;color:#4a4a46}
.proof-band .ex-cap a{color:#2840c4}

/* ================= Dark footer with the KLYPE AI wordmark ================= */
footer.colo{background:#000;color:#fff;border-top:0;margin-top:120px;padding:64px 0 0;overflow:hidden;position:relative}
footer.colo .fbrand{color:#fff}
footer.colo .ftag{color:rgba(255,255,255,.66)}
footer.colo .fh{color:rgba(255,255,255,.66)}
footer.colo .colo-grid a{color:rgba(255,255,255,.78)}
footer.colo .colo-grid a:hover,footer.colo .colo-row a:hover{color:#fff}
footer.colo .fin{border-color:rgba(255,255,255,.2)}
footer.colo .fin svg{fill:#fff}
footer.colo .colo-row{border-top-color:rgba(255,255,255,.12);color:rgba(255,255,255,.66)}
footer.colo .colo-row a{color:rgba(255,255,255,.66)}
footer.colo .colo-row .fh{color:#fff}
footer.colo .colo-note{color:rgba(255,255,255,.66)}
footer.colo .colo-base{color:rgba(255,255,255,.66);padding:22px 0 26px;margin-top:0;border-top:1px solid rgba(255,255,255,.1)}
footer.colo .colo-base a{color:rgba(255,255,255,.78)}
footer.colo :focus-visible{outline-color:#fff}
.colo-word{margin:48px 0 0;text-align:center;line-height:.78;font:800 clamp(64px,17vw,250px)/.78 var(--sans);letter-spacing:-.055em;white-space:nowrap;background:linear-gradient(180deg,rgba(255,255,255,.92) 8%,rgba(255,255,255,.42) 46%,rgba(255,255,255,0) 88%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;user-select:none;pointer-events:none}

/* ================= Pricing ================= */
.bill .save,.rec-tag .save{display:inline-block;margin-left:6px;padding:2px 7px;border-radius:999px;background:#d9e0f6;color:#1e2f8f;font:600 11px/1.3 var(--sans)}
.bill button[aria-pressed=true] .save{background:#d9e0f6;color:#1e2f8f}
.plans3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px;align-items:stretch}
.plan3{display:flex;flex-direction:column;padding:26px 24px;border:1px solid var(--rule-2);border-radius:10px;background:#fff;transition:box-shadow .15s,border-color .15s}
.plan3.sel{box-shadow:0 0 0 2px var(--ink)}
.plan3 h3{font-size:16px}
.price3{margin-top:12px;display:flex;align-items:baseline;gap:4px}
.price3 b{font:700 56px/1 var(--sans);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.price3 small{font:500 16px/1 var(--sans);color:var(--mute)}
.billed{margin-top:8px;font:400 14px/1.45 var(--sans);color:var(--ink-2)}
.plan3 dl{margin:18px 0 20px;border-top:1px solid var(--rule)}
.plan3 dl div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--rule);font-size:14px}
.plan3 dt{color:var(--mute)}
.plan3 dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.plan3 .why{font:400 14px/1.5 var(--serif);margin:-6px 0 18px}
.plan3 .btn{margin-top:auto;align-self:stretch}
.plan3.rec{background:#e6ebf8;border:1px solid #c9d3f2;color:#141413}
.plan3.rec.sel{box-shadow:0 0 0 2px #2840c4}
.plan3.rec h3,.plan3.rec dd{color:#141413}
.plan3.rec .price3 b{color:#1e2f8f}
.plan3.rec .price3 small,.plan3.rec .billed,.plan3.rec dt,.plan3.rec .why{color:#3d3d3a}
.plan3.rec dl,.plan3.rec dl div{border-color:#c9d3f2}
.plan3.rec .btn{background:#2840c4;border-color:#2840c4;color:#fff}
.plan3.rec .btn:hover{background:#1e319e;border-color:#1e319e}

.rec-tag{display:flex;justify-content:space-between;align-items:center;margin:-8px 0 10px;font:600 12px/1 var(--sans);color:#1e2f8f}
.calc{margin-top:28px;padding:22px 24px;border:1px solid var(--rule-2);border-radius:10px;background:var(--paper-2);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px 40px;align-items:center}
.calc-l{font:600 15px/1.4 var(--sans)}
.calc-l b{font-variant-numeric:tabular-nums}
.calc input[type=range]{display:block;width:100%;margin-top:14px;accent-color:#2840c4}
.calc input[type=range][hidden]{display:none}
.calc-out{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.calc-out dt{font:400 13px/1.35 var(--sans);color:var(--mute)}
.calc-out dd{margin:6px 0 0;font:400 14px/1.2 var(--sans);color:var(--ink-2)}
.calc-out b{display:block;font:700 34px/1.05 var(--sans);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums}
.calc-out div:first-child b{color:#2840c4}
.calc-note{grid-column:1/-1;font:400 13px/1.55 var(--sans);color:var(--mute)}
.calc-note a{color:var(--ink);text-underline-offset:3px}
.team-line{margin-top:18px;font:400 15px/1.5 var(--sans);color:var(--mute)}
.team-line a{color:var(--ink);text-underline-offset:3px}
@media (max-width:900px){.plans3{grid-template-columns:minmax(0,1fr)}.calc{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.calc-out b{font-size:28px}.price3 b{font-size:48px}}
@media (max-width:900px){.plan3.rec{order:-1}}

/* ================= News-style indexes ================= */
.cat{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--ct,var(--paper-2));color:var(--cd,var(--ink));font:500 12px/1.25 var(--sans);white-space:nowrap}
.news{margin-top:24px}
.news-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--rule);margin-bottom:28px}
.ed-art .news-head h2,.news-head h2{font:650 15px/1.3 var(--sans);letter-spacing:0;margin:0;color:var(--ink)}
.news-head time,.news-head span{font:400 13px/1.3 var(--sans);color:var(--mute)}
.mag{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:40px;align-items:start}
.mag-col{display:flex;flex-direction:column}
.mag-item{padding:0 0 22px;margin:0 0 22px;border-bottom:1px solid var(--rule)}
.mag-item:last-child{border-bottom:0;margin-bottom:0}
.mi-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;font:400 13px/1.3 var(--sans);color:var(--mute)}
.ed-art .mag-item h3,.mag-item h3{font:650 20px/1.25 var(--sans);letter-spacing:-.01em;margin:0 0 8px;color:var(--ink)}
.ed-art .mag h3 a,.mag h3 a{text-decoration:none;color:inherit}
.mag h3 a:hover{color:var(--accent)}
.mi-dek{font:400 15px/1.5 var(--sans);color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.mag-feature .tile{aspect-ratio:16/10;padding:28px;margin-bottom:18px}
.mag-feature .tile b{font-size:clamp(56px,7vw,112px)}
.ed-art .mag-feature h3,.mag-feature h3{font:700 clamp(26px,2.4vw,34px)/1.15 var(--sans);letter-spacing:-.02em;margin:0 0 10px;color:var(--ink)}
.mf-dek{font:400 17px/1.55 var(--serif);color:var(--ink-2);margin:0}
.news-all{margin-top:72px}
.rows{border-top:0}
.ed-art .card.row,.row{display:grid;grid-template-columns:150px 190px minmax(0,1fr) auto;gap:20px;align-items:baseline;padding:20px 0;border:0;border-bottom:1px solid var(--rule);border-radius:0;background:none;box-shadow:none;transition:background-color .15s}
.ed-art .card.row:hover,.row:hover{background:var(--paper-2);box-shadow:-12px 0 0 var(--paper-2),12px 0 0 var(--paper-2)}
.ed-art .card.row h3,.row h3{font:600 20px/1.3 var(--sans);letter-spacing:-.01em;margin:0 0 6px;color:var(--ink)}
.ed-art .card.row h3 a,.row h3 a{text-decoration:none;color:inherit}
.row h3 a:hover{color:var(--accent)}
.ed-art .card.row p,.row p{font:400 15px/1.5 var(--sans);color:var(--ink-2);margin:0}
.ed-art .card.row .cat,.row .cat{justify-self:start}
.r-date,.r-read{font:400 13px/1.4 var(--sans);color:var(--mute);white-space:nowrap}
.r-read{text-align:right}
.ed-art .masthead .wrap{display:block}
.ed-art .masthead-title{margin:40px auto 40px}
.ed-art .library{padding-top:40px}
.ed-art .library-top{border-bottom:1px solid var(--rule)}
.ed-art .library h2{font-size:15px}
.news-wrap{width:min(var(--wide),calc(100% - 2*var(--gut)));margin:0 auto 40px}
.ed-art main.wrap .news-wrap{width:auto}
.ed-art .pgrid{display:none}
/* Related reading as compact rows */
.ed-art .related a.rrow,.rel a.rrow{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.rrow .rt{font:600 14px/1.35 var(--sans)}
@media (max-width:1099px){.mag{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.mag-feature{grid-column:1/-1;order:-1}}
@media (max-width:720px){
  .mag{grid-template-columns:minmax(0,1fr);gap:24px}
  .ed-art .card.row,.row{grid-template-columns:auto 1fr;gap:6px 12px;align-items:center}
  .row .cat{grid-row:1;grid-column:1}
  .row .r-date{grid-row:1;grid-column:2}
  .row .r-main{grid-column:1/-1}
  .row .r-read{display:none}
}

/* ================= Category palette: one distinct hue per category ================= */
.k-blue{--c:#1f3798;--ct:#eaedfb;--cm:#c0cbf6;--cd:#13225d}
.k-indigo{--c:#37298e;--ct:#edebf9;--cm:#cac4f3;--cd:#211957}
.k-violet{--c:#592e8a;--ct:#f2ecf9;--cm:#dac6f1;--cd:#361c54}
.k-fuchsia{--c:#823285;--ct:#f8edf8;--cm:#eec8ef;--cd:#501f51}
.k-rose{--c:#8e295c;--ct:#f9ebf2;--cm:#f3c4db;--cd:#571938}
.k-crimson{--c:#95232c;--ct:#faeaec;--cm:#f5c2c6;--cd:#5b151b}
.k-coral{--c:#973820;--ct:#fbedea;--cm:#f6cbc1;--cd:#5d2214}
.k-orange{--c:#a55212;--ct:#fcf1e8;--cm:#fbd7bb;--cd:#65320b}
.k-amber{--c:#aa710e;--ct:#fdf5e7;--cm:#fde4b9;--cd:#684508}
.k-gold{--c:#a18517;--ct:#fcf8e9;--cm:#faeebd;--cd:#62510e}
.k-olive{--c:#7a8a2e;--ct:#f6f9ec;--cm:#eaf1c6;--cd:#4b541c}
.k-lime{--c:#558532;--ct:#f1f8ed;--cm:#d8efc8;--cd:#34511f}
.k-green{--c:#2e8a54;--ct:#ecf9f1;--cm:#c6f1d8;--cd:#1c5433}
.k-teal{--c:#25938c;--ct:#ebfaf9;--cm:#c2f4f1;--cd:#165a55}
.k-cyan{--c:#1c829c;--ct:#e9f8fb;--cm:#bfecf8;--cd:#11505f}
.k-sky{--c:#206697;--ct:#eaf4fb;--cm:#c1e0f6;--cd:#143e5d}
.k-brown{--c:#7c533c;--ct:#f7f1ee;--cm:#ebd7cb;--cd:#4c3324}
.k-slate{--c:#4b596c;--ct:#f0f2f5;--cm:#d1dae5;--cd:#2e3642}
.cat[class*=" k-"]{background:var(--cm);color:var(--cd);font-weight:600}
/* A 3px category bar at the left edge of each list row */
.ed-art .card.row[class*=" k-"],.row[class*=" k-"]{box-shadow:inset 3px 0 0 var(--c);padding-left:16px}
.ed-art .card.row[class*=" k-"]:hover,.row[class*=" k-"]:hover{background:var(--paper-2);box-shadow:inset 3px 0 0 var(--c)}
/* Filter chips: a dot in each category colour; the active chip stays ink */
.ed-art .topics button[class*="k-"]::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:7px;vertical-align:1px}
.ed-art .topics button[aria-pressed=true]::before{box-shadow:0 0 0 1.5px var(--paper)}
/* Feature tile: wide and short, so the three columns end near one line */
.mag-feature .tile{aspect-ratio:16/7;max-height:260px;padding:22px 26px;margin-bottom:16px}
.mag-feature .tile b{font-size:clamp(48px,5vw,72px)}
.ed-art .mag-feature h3,.mag-feature h3{font-size:clamp(24px,2.2vw,30px)}
.mf-dek{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
@media (max-width:720px){.mag-feature .tile{aspect-ratio:16/9;max-height:200px}.mag-feature .tile b{font-size:52px}}
.mag-feature .tile{max-height:230px}
.mf-dek{-webkit-line-clamp:2}
.ed-art .mag-feature h3,.mag-feature h3{font-size:clamp(24px,2vw,28px)}
.mi-dek{-webkit-line-clamp:2}
.ed-art main.wrap>.news,.ed-art main.wrap>.news-all,.ed-art main.wrap .news-wrap{width:min(var(--wide),calc(100% - 2*var(--gut)));margin-left:auto;margin-right:auto}
