/* Editorial pages use the same typography and spacing as the homepage. */
:root {
  --bg:#05070c; --surface:#0a0e17; --surface-2:#101622;
  --amber:#f0a51e; --text:#f2f5f8; --text-mid:#abb4c2; --text-dim:#98a3b3;
  --border:rgba(255,255,255,.12);
  --ff-d:'DM Sans',system-ui,sans-serif; --ff-b:'DM Sans',system-ui,sans-serif;
}
*, *::before, *::after { cursor:auto; }
a, button, summary { cursor:pointer; }
.c-dot,.c-ring,.c-glow,.cs-hero-bg-n { display:none; }
.rv { opacity:1; transform:none; transition:none; }
.cs-hero { padding-top:150px; }
.cs-title { font-size:clamp(2.3rem,5vw,4.6rem); max-width:24ch; text-transform:none; letter-spacing:-.035em; font-weight:600; line-height:1.1; overflow-wrap:break-word; }
.cs-deck { max-width:68ch; border-left:0; padding-left:0; line-height:1.8; }
.cs-back,.cs-eyebrow { letter-spacing:.1em; }
.cs-entry-ttl,.cs-card .cs-card-ttl,.cs-article h2,.cs-article h3,.cs-pager-link h3 { text-transform:none; font-weight:600; letter-spacing:-.02em; line-height:1.25; overflow-wrap:break-word; }
.cs-entry { padding:36px; background:#0a0e17; }
.cs-entry:hover { background:#101622; }
.cs-entry-num { font-size:1.4rem; color:var(--text-dim); }
.cs-list { padding-top:48px; }
.cs-article { font-size:1.05rem; }
.cs-article h2 { margin-top:58px; }
.cs-article a { text-decoration:underline; text-underline-offset:4px; }
.cs-verdict p { font-size:1.2rem; font-weight:500; }
.cs-cta { padding:90px 6%; }
.cs-cta-ttl { font:600 clamp(2rem,4vw,3.5rem)/1.15 var(--ff-d); letter-spacing:-.03em; text-transform:none; max-width:24ch; margin:20px auto; }
.cs-cta-sub { max-width:65ch; margin:0 auto 30px; }
.cs-cta-links { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.btn-primary,.btn-ghost { clip-path:none; font-size:.75rem; letter-spacing:.08em; min-height:48px; padding:14px 24px; }
.cs-meta-k,.cs-toc-ttl,.cs-entry-ctx { letter-spacing:.1em; }
.cs-toc a { font-size:.78rem; min-height:36px; }
.cs-layout,.cs-list-grid,.cs-entry>*,.cs-hero-inner { min-width:0; }
.cs-code,.cs-table-wrap,.cs-figure-scroll { max-width:100%; }
@media(max-width:780px) {
  .cs-hero { padding:124px 22px 42px; }
  .cs-title { font-size:clamp(2rem,8vw,3rem); }
  .cs-entry { padding:24px; }
  .cs-meta { gap:14px; }
  .cs-meta-item { width:auto; flex:1 1 140px; }
  .cs-article { font-size:1rem; }
  .cs-cards { grid-template-columns:minmax(0,1fr); }
  .cs-toc { padding:20px; }
  .cs-cta { padding:70px 22px; }
}
@media print { .rv{opacity:1} .cs-article p{color:#222} }
