:root{--bg:#ffffff;--surface:#f4f4f2;--ink:#1a1a1a;--ink-70:rgba(26,26,26,.7);--ink-50:rgba(26,26,26,.5);--ink-12:rgba(26,26,26,.12);--accent:#cc2200;--highlight:#f5c000;--font-display:'Archivo Black','Arial Black',Impact,sans-serif;--font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--font-mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,monospace;--measure:64ch}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:17px;line-height:1.62;font-weight:400}
img{max-width:100%;height:auto;display:block}

a:focus-visible,button:focus-visible,[role="button"]:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* ---------- publisher chrome ---------- */
.publisher-header{border-bottom:2px solid var(--ink);background:var(--bg)}
.publisher-header__inner{max-width:1220px;margin:0 auto;padding:.9rem 1.25rem;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem}
.publisher-mark{text-decoration:none;color:inherit;display:flex;flex-direction:column;gap:.15rem}
.publisher-mark__name{font-family:var(--font-display);font-size:1.45rem;letter-spacing:-.02em;line-height:1}
.publisher-mark__tag{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-50)}
.publisher-nav ul{display:flex;flex-wrap:wrap;gap:1.15rem;list-style:none;margin:0;padding:0}
.publisher-nav a{font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ink-70);text-decoration:none}
.publisher-nav a:hover{color:var(--ink)}

.publisher-layout{max-width:1220px;margin:0 auto;padding:2rem 1.25rem 3rem;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:3rem;align-items:start}
.article-main{min-width:0}

.publisher-sidebar{border-left:1px solid var(--ink-12);padding-left:1.5rem;position:sticky;top:1.5rem}
.sidebar-title{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50);margin:0 0 .9rem}
.sidebar-list{list-style:none;margin:0;padding:0;display:grid;gap:1.05rem}
.sidebar-list a{display:grid;grid-template-columns:56px 1fr;gap:.7rem;align-items:start;text-decoration:none;color:var(--ink);font-size:.86rem;line-height:1.38;font-weight:500}
.sidebar-list a:hover span{text-decoration:underline}
.sidebar-thumb{width:56px;aspect-ratio:1/1;background:var(--surface);border:1px solid var(--ink-12)}
.sidebar-thumb--1{background:#e8e6e1}
.sidebar-thumb--2{background:#dedcd6}
.sidebar-thumb--3{background:#e4e2dc}
.sidebar-thumb--4{background:#d9d7d1}

.publisher-footer{border-top:2px solid var(--ink);background:var(--surface);margin-top:2rem}
.publisher-footer__inner{max-width:1220px;margin:0 auto;padding:2rem 1.25rem 2.5rem;display:grid;gap:1.15rem}
.publisher-footer__brand{display:flex;flex-direction:column;gap:.15rem}
.publisher-footer__name{font-family:var(--font-display);font-size:1.15rem;letter-spacing:-.01em}
.publisher-footer__tag{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-50)}
.publisher-footer__nav ul{display:flex;flex-wrap:wrap;gap:1.1rem;list-style:none;margin:0;padding:0}
.publisher-footer__nav a{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--ink-70);text-decoration:none}
.publisher-footer__nav a:hover{color:var(--ink);text-decoration:underline}
.disclosures{display:grid;gap:.5rem;border-top:1px solid var(--ink-12);padding-top:1rem;max-width:var(--measure)}
.disclosure{margin:0;font-size:.8rem;line-height:1.55;color:var(--ink-70)}
.disclosure--small{font-size:.75rem;color:var(--ink-50)}
.copyright{margin:0;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;color:var(--ink-50)}

/* ---------- article scaffolding ---------- */
.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;padding:0;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-50)}
.breadcrumbs li+li::before{content:"/";margin-right:.4rem;color:var(--ink-12)}
.breadcrumbs a{color:var(--ink-50);text-decoration:none}
.breadcrumbs a:hover{color:var(--ink)}
.breadcrumbs [aria-current="page"]{color:var(--ink)}

.byline-card{border-top:1px solid var(--ink-12);border-bottom:1px solid var(--ink-12);padding:.7rem 0;margin-bottom:1.1rem;display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:baseline}
.byline-card__name{font-weight:700;font-size:.9rem}
.byline-card__meta{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-50)}

.ad-label{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin:0 0 1.4rem;padding:.3rem 0;border-bottom:1px solid var(--ink-12)}

.kicker{display:inline-block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:.65rem}

/* ---------- hero (copy_dominant) ---------- */
.hero{margin:0 0 2.75rem}
.hero__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2.25rem;align-items:start}
.hero__h1{font-family:var(--font-display);font-size:clamp(2.5rem,5.2vw,4.1rem);line-height:1.02;letter-spacing:-.025em;margin:0 0 .8rem;max-width:17ch}
.subhead{font-size:1.06rem;font-weight:600;line-height:1.5;margin:0 0 1.4rem;max-width:46ch;color:var(--ink)}
.hero-body p{margin:0 0 1rem;max-width:var(--measure)}

.hero__panel{border:2px solid var(--ink);padding:1.25rem;background:var(--bg);position:sticky;top:1.5rem}
.panel-title{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-50);margin:0 0 .85rem}
.check-list{list-style:none;margin:0 0 .95rem;padding:0;display:grid}
.check-list__row{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:baseline;padding:.6rem 0;border-top:1px solid var(--ink-12)}
.check-list__row:first-child{border-top:0;padding-top:0}
.check-list__val{font-size:.9rem;line-height:1.45}
.panel-note{font-size:.78rem;color:var(--ink-50);margin:0 0 .95rem;line-height:1.45}

.tag{font-family:var(--font-mono);font-size:.6rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:.16rem .42rem;white-space:nowrap;border:1px solid currentColor}
.tag--yes{color:var(--accent)}
.tag--no{color:var(--ink-50)}

.num{font-family:var(--font-display);font-size:1.06em;letter-spacing:-.01em}

/* ---------- sections ---------- */
.section{border-top:1px solid var(--ink-12);padding-top:1.9rem;margin-bottom:2.6rem}
.section h2{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 .75rem;max-width:22ch}
.section p{margin:0 0 1rem;max-width:var(--measure)}
.section-subhead{font-weight:600;color:var(--ink-70);margin:0 0 1.15rem;max-width:52ch}
.pull{font-family:var(--font-display);font-size:clamp(1.12rem,2vw,1.45rem);line-height:1.28;letter-spacing:-.01em;border-left:3px solid var(--accent);padding-left:1rem;margin:1.4rem 0;max-width:44ch}

.fact-list{list-style:none;margin:0 0 1.15rem;padding:0;display:grid}
.fact-list li{display:grid;grid-template-columns:auto 1fr;gap:.75rem;align-items:baseline;padding:.75rem 0;border-top:1px solid var(--ink-12)}
.fact-list li span:last-child{font-size:.95rem;line-height:1.5}

.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink-12);border:1px solid var(--ink-12);margin:1.5rem 0}
.stat{background:var(--bg);padding:1rem .75rem;display:flex;flex-direction:column;gap:.3rem}
.stat__num{font-family:var(--font-display);font-size:clamp(1.5rem,3vw,2.1rem);line-height:1;letter-spacing:-.03em;color:var(--accent)}
.stat__label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-50)}

.table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.88rem}
.table caption{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-50);text-align:left;padding-bottom:.6rem}
.table th,.table td{text-align:left;padding:.7rem .65rem;border-bottom:1px solid var(--ink-12);vertical-align:top}
.table thead th{font-family:var(--font-mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-50);border-bottom:1px solid var(--ink)}
.table tbody tr:nth-child(odd) td,.table tbody tr:nth-child(odd) th{background:var(--surface)}
.table tbody th{font-weight:600}

.price-list{list-style:none;margin:0 0 1.15rem;padding:0;display:grid}
.price-list li{padding:.7rem 0;border-top:1px solid var(--ink-12);font-size:1rem}
.price-list strong{font-family:var(--font-display);font-size:1.12rem;letter-spacing:-.01em}

.commit-list{margin:0 0 1.1rem;display:grid}
.commit-list>div{padding:.85rem 0;border-top:1px solid var(--ink-12)}
.commit-list dt{font-family:var(--font-display);font-size:1rem;letter-spacing:-.01em;margin-bottom:.25rem}
.commit-list dd{margin:0;font-size:.95rem;line-height:1.55;max-width:var(--measure)}

/* ---------- CTA ---------- */
.inline-cta{border:1px solid var(--ink-12);background:var(--surface);padding:1.25rem;margin:1.75rem 0 .5rem;display:grid;gap:.7rem;justify-items:start}
.cta{display:inline-block;font-family:var(--font-body);font-weight:700;font-size:.95rem;letter-spacing:.01em;text-decoration:none;border-radius:999px;padding:.85rem 1.6rem;transition:transform .18s ease-out,box-shadow .18s ease-out}
.cta--primary{background:var(--highlight);color:var(--ink);box-shadow:0 2px 10px rgba(26,26,26,.16)}
.cta--primary:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(26,26,26,.2)}
.cta--secondary{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.cta--secondary:hover{transform:translateY(-1px)}
.cta-anchor{margin:0;font-family:var(--font-mono);font-size:.66rem;letter-spacing:.06em;color:var(--ink-50);line-height:1.6}
.hero__panel .cta{width:100%;text-align:center}
.hero__panel .cta-anchor{margin-top:.6rem}

.sticky-cta{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:20;display:none;text-align:center;background:var(--highlight);color:var(--ink);font-weight:700;font-size:.95rem;text-decoration:none;border-radius:999px;padding:.9rem 1.25rem;box-shadow:0 4px 18px rgba(26,26,26,.25)}
.sticky-cta.is-visible{display:block}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(8px);transition:opacity .4s ease-out,transform .4s ease-out}
.reveal.is-in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .publisher-layout{grid-template-columns:1fr;gap:2.25rem}
  .publisher-sidebar{position:static;border-left:0;border-top:1px solid var(--ink-12);padding-left:0;padding-top:1.25rem}
  .sidebar-list{grid-template-columns:repeat(2,1fr)}
  .hero__grid{grid-template-columns:1fr;gap:1.6rem}
  .hero__panel{position:static}
}
@media (max-width:768px){
  body{font-size:16px}
  .stat-strip{grid-template-columns:repeat(2,1fr)}
  .sidebar-list{grid-template-columns:1fr}
  .publisher-header__inner{flex-direction:column;align-items:flex-start}
  .table{font-size:.82rem}
  .table th,.table td{padding:.6rem .45rem}
}
@media (max-width:520px){
  .publisher-layout{padding:1.5rem 1rem 6rem}
  .hero__h1{font-size:clamp(2.1rem,9vw,2.9rem)}
  .cta{width:100%;text-align:center}
  .inline-cta{justify-items:stretch}
}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .cta{transition:none}
}