/* =====================================================================
   Twitter / X Ban Service — bespoke "enforcement console" design.
   Brutalist, editorial, monospace-driven. Pure black + white, X-blue as the
   single functional accent. Sharp corners, hairline rules, terminal log.
   Deliberately unlike the sister sites (no rounded cards / no soft theme).
   ===================================================================== */
@font-face{ font-family:"Inter"; font-style:normal; font-weight:400 600; font-display:swap; src:url("/assets/fonts/inter-latin.woff2") format("woff2"); }
@font-face{ font-family:"Space Grotesk"; font-style:normal; font-weight:500 700; font-display:swap; src:url("/assets/fonts/space-grotesk-latin.woff2") format("woff2"); }

:root{
  --bg:#000; --bg2:#070708; --panel:#0c0c0e; --panel2:#101013;
  --line:rgba(255,255,255,.17); --line2:rgba(255,255,255,.08); --line3:rgba(255,255,255,.045);
  --ink:#f7f9f9; --text:#d9dde0; --muted:#71767b; --faint:#54585c;
  --blue:#1d9bf0; --blue2:#4db5ff; --blue-ink:#0e4f7a; --blue-soft:rgba(29,155,240,.13);
  --ok:#00ba7c;
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --disp:"Space Grotesk","Inter",system-ui,sans-serif;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --maxw:1240px; --ease:cubic-bezier(.2,.6,.3,1); --vh:1vh;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important} }
body{ margin:0; background:var(--bg); color:var(--text); font-family:var(--sans); font-size:1.02rem; line-height:1.65; overflow-x:clip; -webkit-font-smoothing:antialiased; }
/* faint engineering grid */
body::before{ content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background-image:linear-gradient(var(--line3) 1px,transparent 1px),linear-gradient(90deg,var(--line3) 1px,transparent 1px);
  background-size:64px 64px; -webkit-mask-image:radial-gradient(120% 80% at 50% 0%,#000 30%,transparent 80%); mask-image:radial-gradient(120% 80% at 50% 0%,#000 30%,transparent 80%); }
img,svg{ max-width:100%; height:auto; display:block; }
a{ color:var(--blue); text-decoration:none; }
::selection{ background:var(--blue); color:#000; }
strong{ color:var(--ink); font-weight:600; }
h1,h2,h3,h4{ font-family:var(--disp); color:var(--ink); margin:0; line-height:1.02; letter-spacing:-.03em; font-weight:700; }

.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2.4rem); }
.mono{ font-family:var(--mono); }
.kicker{ font-family:var(--mono); font-size:.74rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); display:inline-flex; align-items:center; gap:.6rem; }
.kicker::before{ content:""; width:8px; height:8px; background:var(--blue); box-shadow:0 0 10px 1px var(--blue); }
:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; }
.skip-link{ position:absolute; left:8px; top:-50px; z-index:1000; background:var(--blue); color:#000; padding:.6rem 1rem; font-family:var(--mono); transition:top .15s; }
.skip-link:focus{ top:8px; }

/* system status strip */
.topbar{ background:#000; border-bottom:1px solid var(--line2); font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); }
.topbar .wrap{ display:flex; justify-content:space-between; gap:1rem; padding-block:.5rem; }
.topbar .ok{ color:var(--ok); }
.topbar .ok::before{ content:"\25CF"; margin-right:.4rem; }
@media (max-width:640px){ .topbar .hidesm{ display:none; } }

/* header */
.header{ position:sticky; top:0; z-index:100; background:rgba(0,0,0,.82); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.nav{ display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:62px; }
.brand{ display:inline-flex; align-items:center; gap:.65rem; font-family:var(--mono); font-weight:600; font-size:.98rem; letter-spacing:.02em; text-transform:uppercase; color:var(--ink); }
.brand b{ color:var(--blue); font-weight:600; }
.brand__mark{ width:26px; height:26px; flex:0 0 auto; }
.nav__toggle{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; background:transparent; border:1px solid var(--line); color:var(--ink); cursor:pointer; }
.nav__toggle svg{ width:22px; height:22px; } .nav__toggle .x{ display:none; }
body.nav-open .nav__toggle .m{ display:none; } body.nav-open .nav__toggle .x{ display:block; }
.nav__menu{ list-style:none; margin:0; padding:0; }
.nav__link{ display:flex; align-items:center; min-height:44px; padding:.5rem .9rem; font-family:var(--mono); font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); }
.nav__link:hover,.nav__link[aria-current="page"]{ color:var(--ink); }
.nav__link--cta{ border:1px solid var(--line); color:var(--ink); }
.nav__link--cta:hover{ border-color:var(--blue); background:var(--blue-soft); }
.nav__menu{ position:fixed; inset:62px 0 auto 0; display:grid; gap:.1rem; padding:1rem clamp(1.1rem,4vw,2.4rem) 1.4rem; background:var(--bg); border-bottom:1px solid var(--line); transform:translateY(-130%); opacity:0; visibility:hidden; transition:transform .28s var(--ease),opacity .28s,visibility .28s; }
body.nav-open .nav__menu{ transform:none; opacity:1; visibility:visible; }
@media (min-width:860px){ .nav__toggle{display:none} .nav__menu{position:static;inset:auto;display:flex;align-items:center;gap:.3rem;padding:0;background:none;border:0;transform:none;opacity:1;visibility:visible} }

/* buttons (squared) */
.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.55rem; min-height:50px; padding:.8rem 1.4rem; border:1px solid var(--line); background:transparent; color:var(--ink); font-family:var(--mono); font-weight:600; font-size:.86rem; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; border-radius:2px; transition:background .15s,border-color .15s,transform .12s; }
.btn:hover{ transform:translateY(-1px); }
.btn svg{ width:18px; height:18px; }
.btn--primary{ background:var(--blue); border-color:var(--blue); color:#000; }
.btn--primary:hover{ background:var(--blue2); border-color:var(--blue2); }
.btn--line:hover{ border-color:var(--blue); background:var(--blue-soft); }
.btn--lg{ min-height:56px; padding:.95rem 1.7rem; font-size:.92rem; }
.btn-row{ display:flex; flex-wrap:wrap; gap:.7rem; }
.btn--tg{ background:#229ED9; border-color:#229ED9; color:#fff; } .btn--tg:hover{ filter:brightness(1.08); }
.btn--wa{ background:#25D366; border-color:#25D366; color:#062b14; } .btn--wa:hover{ filter:brightness(1.06); }

/* HERO — manifesto */
.hero{ padding-block:clamp(3rem,9vw,7rem) clamp(2.4rem,6vw,4.5rem); position:relative; }
.hero h1{ font-size:clamp(2.6rem,9vw,6.4rem); margin:.5rem 0 0; max-width:16ch; }
.hero h1 .accent{ color:var(--blue); }
.hero__sub{ margin:1.6rem 0 0; max-width:60ch; font-size:clamp(1.05rem,1.8vw,1.25rem); color:var(--muted); }
.def{ margin:1.6rem 0 0; max-width:64ch; padding:0 0 0 1.1rem; border-left:2px solid var(--blue); color:var(--text); }
.hero__grid{ display:grid; gap:clamp(2rem,5vw,3.5rem); align-items:end; }
@media (min-width:1000px){ .hero__grid{ grid-template-columns:1.15fr .85fr; } }

/* console / log widget */
.console{ border:1px solid var(--line); background:linear-gradient(180deg,var(--panel2),var(--panel)); font-family:var(--mono); font-size:.82rem; }
.console__bar{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.6rem .9rem; border-bottom:1px solid var(--line2); color:var(--faint); letter-spacing:.1em; text-transform:uppercase; font-size:.68rem; }
.console__bar .state{ color:var(--blue); }
.console__body{ padding:1.1rem .9rem 1.2rem; display:grid; gap:.42rem; }
.cl{ display:flex; gap:.6rem; color:var(--text); white-space:pre-wrap; }
.cl .p{ color:var(--blue); } .cl .k{ color:var(--muted); } .cl .v{ color:var(--ink); }
.cl--ok .v{ color:var(--blue); }
.cl--steps{ color:var(--muted); } .cl--steps b{ color:var(--ink); font-weight:600; } .cl--steps .now{ color:var(--blue); }
.cursor{ display:inline-block; width:.62ch; height:1.05em; background:var(--blue); margin-left:.1rem; vertical-align:-.18em; animation:blink 1.1s steps(1) infinite; }
@keyframes blink{ 50%{opacity:0} }
@media (prefers-reduced-motion:reduce){ .cursor{ animation:none; } }

/* sections — numbered editorial */
.sec{ border-top:1px solid var(--line2); padding-block:clamp(3rem,7vw,6rem); }
.sec__grid{ display:grid; gap:clamp(1.2rem,3vw,2.6rem); }
@media (min-width:880px){ .sec__grid{ grid-template-columns:minmax(0,230px) 1fr; } }
.sec__num{ font-family:var(--mono); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--blue); }
.sec__num b{ display:block; color:var(--muted); font-weight:400; margin-top:.4rem; }
.sec h2{ font-size:clamp(1.8rem,4vw,2.9rem); max-width:18ch; }
.sec__lead{ color:var(--muted); max-width:64ch; margin:1rem 0 0; }
.prose{ color:var(--text); max-width:66ch; } .prose a{ text-decoration:underline; text-underline-offset:3px; }

/* violation ledger (ruled rows) */
.vio{ margin-top:clamp(1.4rem,3vw,2.2rem); border-top:1px solid var(--line2); }
.row{ display:grid; gap:.3rem 1.3rem; padding:1.3rem .2rem; border-bottom:1px solid var(--line2); position:relative; transition:background .15s; }
@media (min-width:680px){ .row{ grid-template-columns:54px 1fr; align-items:start; } }
.row::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--blue); transform:scaleY(0); transform-origin:top; transition:transform .2s var(--ease); }
.row:hover::before{ transform:scaleY(1); }
.row:hover{ background:linear-gradient(90deg,var(--blue-soft),transparent 55%); }
.row__no{ font-family:var(--mono); font-size:.9rem; color:var(--blue); padding-top:.15rem; }
.row h3{ font-size:1.12rem; margin:0 0 .25rem; }
.row p{ margin:0; color:var(--muted); font-size:.97rem; }

/* ledger / comparison table */
.ledger{ width:100%; border-collapse:collapse; border:1px solid var(--line); margin-top:1.4rem; font-size:.95rem; }
.ledger th,.ledger td{ text-align:left; padding:.95rem 1rem; border-bottom:1px solid var(--line2); vertical-align:top; }
.ledger thead th{ font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); background:var(--panel); }
.ledger td:first-child{ color:var(--muted); }
.ledger tbody tr:last-child td{ border-bottom:0; }
.ledger .yes{ color:var(--blue); font-weight:600; }
.ledger .no{ color:var(--faint); }
@media (max-width:600px){ .ledger{ display:block; overflow-x:auto; white-space:nowrap; } .ledger th,.ledger td{ padding:.7rem; } }

/* principles */
.cols3{ display:grid; gap:clamp(1.4rem,3vw,2.2rem); margin-top:clamp(1.2rem,3vw,2rem); }
@media (min-width:760px){ .cols3{ grid-template-columns:repeat(3,1fr); } }
.pri{ border-top:2px solid var(--blue); padding-top:1rem; }
.pri h3{ font-size:1.1rem; margin:0 0 .4rem; }
.pri p{ margin:0; color:var(--muted); font-size:.96rem; }

/* FAQ — ruled */
.qa{ border-top:1px solid var(--line2); margin-top:1.2rem; }
.qa details{ border-bottom:1px solid var(--line2); }
.qa summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1.15rem .2rem; font-family:var(--disp); font-weight:600; font-size:1.08rem; color:var(--ink); min-height:48px; }
.qa summary::-webkit-details-marker{ display:none; }
.qa summary::after{ content:"+"; font-family:var(--mono); color:var(--blue); font-size:1.3rem; }
.qa details[open] summary::after{ content:"\2013"; }
.qa details>p{ margin:0; padding:0 .2rem 1.2rem; color:var(--muted); max-width:74ch; }

/* CTA */
.cta{ border:1px solid var(--line); border-left:3px solid var(--blue); padding:clamp(1.8rem,5vw,3.2rem); background:linear-gradient(120deg,var(--blue-soft),transparent 60%),var(--panel); }
.cta h2{ font-size:clamp(1.8rem,4vw,2.8rem); max-width:18ch; }
.cta p{ color:var(--muted); max-width:60ch; margin:.7rem 0 1.5rem; }

/* footer */
.footer{ border-top:1px solid var(--line); padding-block:clamp(2.4rem,6vw,3.6rem) 2rem; margin-top:clamp(2rem,5vw,3rem); }
.footer__grid{ display:grid; gap:2rem; }
@media (min-width:760px){ .footer__grid{ grid-template-columns:2fr 1fr 1.4fr; } }
.footer h4{ font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--faint); margin:0 0 1rem; }
.footer__links{ list-style:none; margin:0; padding:0; display:grid; gap:.55rem; }
.footer__links a{ color:var(--muted); font-size:.95rem; } .footer__links a:hover{ color:var(--ink); }
.footer__note{ color:var(--muted); font-size:.9rem; max-width:44ch; margin:1rem 0 0; }
.footer__bottom{ border-top:1px solid var(--line2); margin-top:2.4rem; padding-top:1.4rem; display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; justify-content:space-between; font-family:var(--mono); font-size:.74rem; letter-spacing:.04em; color:var(--faint); }

/* ===== contact page ===== */
.cpage{ padding-block:clamp(2.4rem,6vw,4.5rem); }
.cpage h1{ font-size:clamp(2.4rem,7vw,4.6rem); margin:.6rem 0 0; }
.cpage__lead{ color:var(--muted); max-width:60ch; margin:1.2rem 0 0; }
.channels{ display:grid; gap:1px; background:var(--line2); border:1px solid var(--line); margin-top:clamp(2rem,4vw,3rem); }
@media (min-width:720px){ .channels{ grid-template-columns:1fr 1fr; } }
.chan{ background:var(--bg); padding:clamp(1.6rem,3vw,2.2rem); }
.chan__label{ font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); }
.chan__id{ font-family:var(--disp); font-size:clamp(1.2rem,2.6vw,1.6rem); color:var(--ink); margin:.5rem 0 1.1rem; word-break:break-word; }
.chan__actions{ display:flex; flex-wrap:wrap; gap:.6rem; }
.copy{ display:inline-flex; align-items:center; gap:.4rem; min-height:50px; padding:.6rem 1.1rem; border:1px solid var(--line); background:transparent; color:var(--muted); font-family:var(--mono); font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; border-radius:2px; }
.copy:hover{ border-color:var(--blue); color:var(--ink); } .copy.copied{ color:var(--blue); border-color:var(--blue); }
.copy svg{ width:15px; height:15px; }
.panels{ display:grid; gap:1px; background:var(--line2); border:1px solid var(--line); border-top:0; }
@media (min-width:720px){ .panels{ grid-template-columns:1fr 1fr; } }
.panel{ background:var(--bg); padding:clamp(1.6rem,3vw,2.2rem); }
.panel h2{ font-family:var(--mono); font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink); margin:0 0 1.1rem; }
.checklist,.steps-list{ list-style:none; margin:0; padding:0; display:grid; gap:.8rem; }
.checklist li{ display:flex; gap:.7rem; color:var(--muted); font-size:.95rem; }
.checklist li::before{ content:"\2713"; color:var(--blue); font-family:var(--mono); }
.steps-list{ counter-reset:s; }
.steps-list li{ display:flex; gap:.8rem; color:var(--muted); font-size:.95rem; }
.steps-list li::before{ counter-increment:s; content:"0" counter(s); font-family:var(--mono); color:var(--blue); }
.reassure{ margin-top:1.2rem; color:var(--faint); font-size:.86rem; }

/* ===== solutions page ===== */
.crumbs{ font-family:var(--mono); font-size:.76rem; letter-spacing:.06em; color:var(--faint); }
.crumbs a{ color:var(--muted); }
.svc{ border-top:1px solid var(--line2); padding-block:clamp(1.8rem,4vw,2.6rem); }
.svc h2{ font-size:clamp(1.4rem,3vw,2rem); }
.svc__ans{ border-left:2px solid var(--blue); padding-left:1rem; color:var(--text); margin:.7rem 0 1rem; max-width:68ch; }
.svc ul{ margin:0; padding-left:1.1rem; color:var(--muted); } .svc li{ margin-bottom:.4rem; } .svc li::marker{ color:var(--blue); }
.note{ border:1px solid var(--line); border-left:3px solid var(--blue); padding:1.1rem 1.3rem; color:var(--text); background:var(--panel); margin-top:2rem; }
.note strong{ color:var(--ink); }

/* reveal */
@keyframes rise{ from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
@media (prefers-reduced-motion:no-preference){ .reveal{ animation:rise .6s var(--ease) both; } .reveal--d1{animation-delay:.08s} .reveal--d2{animation-delay:.16s} }

/* mobile hardening */
body{ overflow-wrap:break-word; }
.def,.prose a,.footer__links a,.chan__id,.crumbs{ overflow-wrap:anywhere; }
.btn{ overflow-wrap:normal; word-break:keep-all; }
@supports (padding:max(0px)){ .wrap{ padding-left:max(clamp(1.1rem,4vw,2.4rem),env(safe-area-inset-left)); padding-right:max(clamp(1.1rem,4vw,2.4rem),env(safe-area-inset-right)); } }
@media (max-width:560px){ .btn-row .btn{ flex:1 1 100%; } .hero h1{ font-size:clamp(2.2rem,11vw,3rem); } }

/* compact hero — keep contact buttons above the fold (desktop + mobile) */
.hero{ padding-top:clamp(1.3rem,3vw,2.1rem)!important; }
.hero h1{ font-size:clamp(2.1rem,5vw,3.6rem)!important; }

/* fix: let grid columns shrink so the comparison ledger scrolls internally (no page overflow on mobile) */
.sec__grid>*{ min-width:0; }
.ledger{ max-width:100%; }

/* =====================================================================
   Solution sub-pages / generated guides (/solutions/<slug>/).
   Same brutalist enforcement-console language: hairline rules, mono labels,
   X-blue accent, sharp corners. Maps the generator's required class hooks
   (.answer / .inline-cta / .faq / .table-wrap) onto the site's own look.
   ===================================================================== */
.article-sec{ border-top:0; padding-block:clamp(1.6rem,4vw,3rem); }
.article{ max-width:760px; margin-inline:auto; }
.article .meta{ font-family:var(--mono); font-size:.73rem; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); margin:.9rem 0 0; }
.article h1{ font-size:clamp(2rem,5vw,3.3rem); max-width:20ch; margin:1rem 0 0; }
.article h2{ font-size:clamp(1.45rem,3.2vw,2.05rem); max-width:26ch; margin:2.6rem 0 .3rem; letter-spacing:-.02em; }
.article h3{ font-size:1.16rem; margin:1.7rem 0 .35rem; }
.article p{ color:var(--text); margin:.95rem 0; max-width:72ch; }
.article ul,.article ol{ color:var(--muted); max-width:72ch; padding-left:1.25rem; margin:1rem 0; }
.article li{ margin-bottom:.5rem; } .article li::marker{ color:var(--blue); }
.article strong{ color:var(--ink); }
.article a{ color:var(--blue); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.article img{ width:100%; height:auto; border:1px solid var(--line2); margin:1.7rem 0; background:var(--panel); }

/* lead answer — mirrors .def */
.answer{ font-size:1.13rem; line-height:1.6; color:var(--ink); border-left:2px solid var(--blue); padding:.15rem 0 .15rem 1.15rem; margin:1.5rem 0; max-width:70ch; }

/* inline takedown-offer CTA — boxed */
.inline-cta{ border:1px solid var(--line); border-left:3px solid var(--blue); background:linear-gradient(120deg,var(--blue-soft),transparent 60%),var(--panel); padding:clamp(1.25rem,3vw,1.8rem); margin:1.9rem 0; }
.inline-cta h3{ font-size:1.22rem; margin:0 0 .55rem; }
.inline-cta p{ color:var(--muted); margin:0 0 1.1rem; max-width:64ch; }
.inline-cta__btns{ display:flex; flex-wrap:wrap; gap:.7rem; }
@media (max-width:520px){ .inline-cta__btns .btn{ flex:1 1 100%; } }

/* comparison table — mirrors .ledger */
.table-wrap{ overflow-x:auto; margin:1.5rem 0; border:1px solid var(--line); }
.table-wrap table{ width:100%; border-collapse:collapse; font-size:.94rem; }
.table-wrap th,.table-wrap td{ text-align:left; padding:.9rem 1rem; border-bottom:1px solid var(--line2); vertical-align:top; }
.table-wrap thead th{ font-family:var(--mono); font-size:.71rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); background:var(--panel); }
.table-wrap td:first-child{ color:var(--muted); }
.table-wrap tbody tr:last-child td{ border-bottom:0; }

/* FAQ — mirrors .qa */
.faq{ border-top:1px solid var(--line2); margin-top:1.3rem; }
.faq details{ border-bottom:1px solid var(--line2); }
.faq summary{ cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:center; padding:1.1rem .2rem; font-family:var(--disp); font-weight:600; font-size:1.04rem; color:var(--ink); min-height:48px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-family:var(--mono); color:var(--blue); font-size:1.3rem; }
.faq details[open] summary::after{ content:"\2013"; }
.faq details>p{ margin:0; padding:0 .2rem 1.2rem; color:var(--muted); max-width:74ch; }

/* in-depth guide cards (solutions hub) */
.post-grid{ display:grid; gap:1px; background:var(--line2); border:1px solid var(--line); margin-top:1.4rem; }
@media (min-width:680px){ .post-grid{ grid-template-columns:repeat(2,1fr); } }
.post-card{ background:var(--bg); padding:1.4rem 1.5rem; }
.post-card__meta{ font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin:0 0 .5rem; }
.post-card h3{ font-size:1.16rem; margin:0 0 .5rem; line-height:1.2; }
.post-card h3 a{ color:var(--ink); } .post-card h3 a:hover{ color:var(--blue); }
.post-card p{ color:var(--muted); font-size:.95rem; margin:0 0 .7rem; }
.post-card__more{ font-family:var(--mono); font-size:.74rem; letter-spacing:.06em; text-transform:uppercase; color:var(--blue); }

/* article: keep both inline-CTA contact buttons above the fold on small screens */
@media (max-width:560px){
  .article-sec{ padding-block:.6rem; }
  .article .meta{ margin-top:.6rem; font-size:.7rem; }
  .article h1{ font-size:1.5rem; line-height:1.08; margin-top:.7rem; }
  .answer{ font-size:.96rem; line-height:1.5; margin:.9rem 0; padding-left:.85rem; }
  .inline-cta{ padding:.9rem 1rem; margin:1rem 0; }
  .inline-cta h3{ font-size:1.05rem; margin-bottom:.4rem; }
  .inline-cta p{ font-size:.92rem; margin-bottom:.8rem; }
  .inline-cta__btns{ flex-wrap:nowrap; gap:.5rem; }
  .inline-cta__btns .btn{ flex:1 1 0; min-width:0; padding-inline:.6rem; }
}
