/* ============================================================
   /models/ cluster: Quiet Black dossier
   Instrument-first: hairline structure, one-step elevation, data
   brighter than chrome. Terra-cotta is rationed to one event per view
   (the #1 rail fill, or the trust CTA), never decoration.

   This file also carries the shared component kit the /models pages
   consume: .ct tables, .ct-rank leaderboards with rail meters, .chip,
   .stat tiles. Class names are the contract.
   ============================================================ */

body[data-page="models"] .nav-link[data-navkey="models"]{
  color:var(--fg);background:var(--hover)
}

/* ============================================================
   Shared kit: tables (.ct)
   ============================================================ */
.ct-caption{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin:22px 0 10px;flex-wrap:wrap
}
.ct-caption .ct-cap-t{font-size:13px;line-height:1.55;color:var(--fg2);max-width:76ch}
.ct-stamp{
  flex:none;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--fg3);padding:3px 9px;border:1px solid var(--hair);border-radius:5px;white-space:nowrap;
  font-variant-numeric:tabular-nums
}

.ct-wrap{
  /* --ct-surface lets a table sit one step BELOW the panel that holds it
     (see .m-panel below) instead of matching it and flattening out. */
  --ct-surface:var(--s1);
  border:1px solid var(--hair);border-radius:8px;background:var(--ct-surface);
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  /* Right/left edge scrim: the `local` layers mask the shadow until the
     content is actually scrollable, so the cue only shows when it means
     something. */
  background-image:
    linear-gradient(to right,var(--ct-surface) 40%,transparent),
    linear-gradient(to left,var(--ct-surface) 40%,transparent),
    linear-gradient(to right,rgba(255,255,255,.16),rgba(255,255,255,0)),
    linear-gradient(to left,rgba(255,255,255,.16),rgba(255,255,255,0));
  background-position:left center,right center,left center,right center;
  background-size:36px 100%,36px 100%,22px 100%,22px 100%;
  background-repeat:no-repeat;
  background-attachment:local,local,scroll,scroll
}

.ct{
  width:100%;border-collapse:collapse;font-size:13.5px;
  background:transparent
}
.ct thead th{
  text-align:left;padding:10px 14px;white-space:nowrap;
  background:var(--s2);border-bottom:1px solid var(--hair3);
  font-family:var(--f-mono);font-size:10.5px;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;color:var(--fg3)
}
.ct thead th.num{text-align:right}
.ct tbody td{
  padding:11px 14px;border-top:1px solid var(--hair2);
  vertical-align:top;line-height:1.5;color:var(--fg2)
}
.ct tbody tr:first-child td{border-top:0}
.ct tbody tr{transition:background .14s ease-out}
.ct tbody tr:hover{background:rgba(255,255,255,.03)}
.ct td.num{
  font-family:var(--f-mono);font-size:12.5px;font-variant-numeric:tabular-nums;
  text-align:right;color:var(--fg);white-space:nowrap
}
.ct td.key{color:var(--fg);font-weight:600}
.ct td.key a{color:var(--fg);font-weight:600}
.ct td.key a:hover{color:var(--claude)}
.ct td.mono{font-family:var(--f-mono);font-size:11.5px;color:var(--fg3);white-space:nowrap}
.ct td.wrap{white-space:normal}
.ct code{font-size:11.5px;color:var(--fg)}
.ct a{color:var(--fg2)}
.ct a:hover{color:var(--fg)}
.ct .none{font-family:var(--f-mono);font-size:11px;color:var(--fg4)}

/* Leader row: a 2px terra edge and brighter numerals. One per table. */
.ct tr.win td{background:rgba(255,255,255,.022)}
.ct tr.win td:first-child{box-shadow:inset 2px 0 0 var(--claude)}
.ct tr.win td.num,.ct tr.win .ct-val-n{color:var(--fg)}

.ct-foot{
  margin-top:10px;font-size:12px;line-height:1.6;color:var(--fg3);max-width:82ch
}
.ct-foot a{color:var(--fg2)}
.ct-foot a:hover{color:var(--fg)}

/* ============================================================
   Shared kit: rank rows + rail meters (.ct-rank)
   ============================================================ */
.ct-rank td.rk{
  width:1%;white-space:nowrap;text-align:right;
  font-family:var(--f-mono);font-size:12.5px;font-variant-numeric:tabular-nums;
  color:var(--fg3);padding-right:4px
}
.ct-rank tr.top td.rk{color:var(--fg)}

.ct-val{min-width:104px}
.ct-val-n{font-family:var(--f-mono);font-size:13px;font-variant-numeric:tabular-nums;color:var(--fg)}
.ct-ci{
  margin-left:6px;font-family:var(--f-mono);font-size:11px;
  font-variant-numeric:tabular-nums;color:var(--fg3);white-space:nowrap
}

/* The rail meter is the app's signature instrument: a 3px track with a
   fill scaled to the printed value. Greyscale everywhere except the #1
   row, which is the page's single color event. */
.ct-bar{
  display:block;height:3px;width:100%;max-width:96px;margin:7px 0 1px auto;
  background:rgba(255,255,255,.075);border-radius:2px;overflow:hidden
}
.ct-bar i{
  display:block;height:100%;background:rgba(255,255,255,.40);border-radius:2px
}
.ct tr.win .ct-bar i{background:var(--claude)}

.ct-rank th:last-child,.ct-rank td:last-child{width:1%;white-space:nowrap}

.ct-note-inline{
  display:block;margin-top:4px;max-width:46ch;
  font-size:11.5px;font-style:italic;line-height:1.45;color:var(--fg3);
  white-space:normal;letter-spacing:0;text-transform:none
}

/* ============================================================
   Shared kit: chips
   ============================================================ */
.chip{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;
  padding:3px 8px;border:1px solid var(--hair);border-radius:5px;
  color:var(--fg2);white-space:nowrap;text-decoration:none
}
.chip + .chip{margin-left:6px}
.chip.independent{background:rgba(255,255,255,.055);border-color:var(--hair3);color:var(--fg)}
.chip.vendor{background:transparent;border-style:dashed;border-color:rgba(255,255,255,.16);color:var(--fg3)}
.chip.src{color:var(--fg3);min-height:26px}
.chip.src:hover{color:var(--fg);border-color:var(--hair3)}
.chip.src .ext{font-size:10px;color:var(--fg4)}
.chip.src:hover .ext{color:var(--fg3)}
.chip.ok{color:#9AD4B4;border-color:rgba(154,212,180,.28)}
.chip.warn{color:var(--warn);border-color:rgba(214,162,59,.30)}
.chip.now{color:var(--fg);border-color:var(--hair3);background:rgba(255,255,255,.055)}
.chip.past{color:var(--fg4)}
.chip.host{color:var(--claude);border-color:rgba(217,119,87,.35)}
.chip-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip-row .chip + .chip{margin-left:0}

/* ============================================================
   Shared kit: stat tiles
   ============================================================ */
.stat-row{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px
}
.stat{
  display:flex;flex-direction:column;justify-content:space-between;
  background:var(--s1);border:1px solid var(--hair);border-radius:8px;
  padding:15px 16px 13px;min-width:0
}
.stat .n{
  display:block;font-family:var(--f-disp);font-weight:700;
  font-size:clamp(22px,2.3vw,28px);line-height:1.05;letter-spacing:-.02em;
  color:var(--fg);font-variant-numeric:tabular-nums;overflow-wrap:anywhere
}
.stat .n.t{
  font-family:var(--f-ui);font-size:15px;font-weight:600;line-height:1.35;letter-spacing:0
}
.stat .n code{font-family:var(--f-mono);font-size:14px;color:var(--fg)}
.stat .l{
  display:block;margin-top:8px;
  font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fg4)
}
.stat .d{
  display:inline-block;margin-top:6px;font-family:var(--f-mono);font-size:11px;
  font-variant-numeric:tabular-nums;color:var(--fg3)
}

/* ============================================================
   Shared kit: note blocks
   ============================================================ */
.note{
  padding:2px 0 2px 18px;border-left:2px solid var(--hair3);
  color:var(--fg2)
}
.note-l{
  display:block;margin-bottom:8px;
  font-family:var(--f-mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--fg3)
}
.note.warn{border-left-color:rgba(214,162,59,.62)}
.note.warn .note-l{color:var(--warn)}

/* ── Hero ── */
.m-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:clamp(28px,4.5vw,56px);
  align-items:start
}
@media(max-width:860px){.m-hero-grid{grid-template-columns:1fr}}

.m-kicker{
  font-size:15px;line-height:1.65;color:var(--fg3);max-width:58ch;margin:12px 0 0
}
.m-kicker strong{color:var(--fg2);font-weight:600}

.m-window{
  background:var(--s1);border:1px solid var(--hair);border-radius:8px;overflow:hidden
}
.m-window-h{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 14px;border-bottom:1px solid var(--hair3);background:var(--s2)
}
.m-window-h span{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--fg3)
}
.m-window-row{
  display:grid;grid-template-columns:1fr auto;gap:10px;
  padding:10px 14px;border-top:1px solid var(--hair2);align-items:baseline
}
.m-window-row:first-of-type{border-top:0}
.m-window-row .k{font-family:var(--f-mono);font-size:11px;color:var(--fg3)}
.m-window-row .v{font-family:var(--f-mono);font-size:12px;color:var(--fg);font-variant-numeric:tabular-nums}

/* ── Ranked vendor grid ── */
.m-rank{display:grid;gap:8px}
.m-rank-row{
  display:grid;
  /* Fixed trailing column: an `auto` track is measured per row, so the
     flagship column started at a different x on every line. */
  grid-template-columns:36px minmax(0,1.15fr) minmax(0,.85fr) 210px;
  gap:14px;align-items:center;
  padding:14px 16px;
  background:var(--s1);border:1px solid var(--hair);border-radius:8px;
  text-decoration:none;color:inherit;
  transition:background .14s ease-out,border-color .14s ease-out,transform .14s ease-out
}
.m-rank-row:hover{border-color:var(--hair3);background:var(--s2);transform:translateY(-1px)}
.m-rank-row:active{transform:translateY(0)}
.m-rank-n{
  font-family:var(--f-mono);font-size:13px;color:var(--fg4);font-variant-numeric:tabular-nums
}
.m-rank-row:hover .m-rank-n{color:var(--fg3)}
.m-rank-name{
  font-family:var(--f-disp);font-size:16px;font-weight:650;letter-spacing:-.015em;color:var(--fg);display:block
}
.m-rank-sub{font-size:12.5px;color:var(--fg3);margin-top:2px;display:block}
.m-rank-flag{font-size:13px;color:var(--fg2)}
.m-rank-tok{
  font-family:var(--f-mono);font-size:12px;color:var(--fg);font-variant-numeric:tabular-nums;text-align:right
}
.m-rank-tok .dim{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--fg4);margin-top:3px}

.m-surface{
  margin:14px 0 0;padding:0 0 0 18px;color:var(--fg2);font-size:13.5px;line-height:1.55
}
.m-surface li{margin:6px 0}
@media(max-width:720px){
  .m-rank-row{grid-template-columns:28px 1fr;row-gap:6px}
  .m-rank-flag,.m-rank-tok{grid-column:2}
  .m-rank-tok{text-align:left}
}

/* ── Request-share strip ── */
.m-ext{margin-top:14px;display:grid;gap:6px}
.m-ext-r{
  display:grid;grid-template-columns:minmax(0,1.4fr) 72px minmax(0,1fr);
  gap:10px;align-items:baseline;padding:8px 0;border-top:1px solid var(--hair2);font-size:13.5px;color:var(--fg2)
}
.m-ext-r:first-child{border-top:0}
.m-ext-r strong{color:var(--fg);font-weight:600}
.m-ext-r span:nth-child(2){font-family:var(--f-mono);font-variant-numeric:tabular-nums;text-align:right}
.m-ext-r span:nth-child(3){font-family:var(--f-mono);font-size:12px;color:var(--fg4)}
@media(max-width:720px){
  .m-ext-r{grid-template-columns:1fr auto}
  .m-ext-r span:nth-child(3){grid-column:1}
}

/* ── Breadcrumb strip ── */
.m-crumbs{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.04em;color:var(--fg4)
}
.m-crumbs a{color:var(--fg3);text-decoration:none}
.m-crumbs a:hover{color:var(--fg)}
.m-crumbs .sep{margin:0 .55em;color:var(--fg4)}

/* ── Identity: headline tiles + hairline ledger ── */
.m-idlist{
  margin:16px 0 0;border-top:1px solid var(--hair2)
}
.m-idlist > div{
  display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;
  padding:9px 2px;border-bottom:1px solid var(--hair2);align-items:baseline
}
.m-idlist dt{
  margin:0;font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fg4)
}
.m-idlist dd{margin:0;font-size:13.5px;line-height:1.5;color:var(--fg2);overflow-wrap:anywhere}
.m-idlist dd code{font-family:var(--f-mono);font-size:12.5px;color:var(--fg)}
.m-idlist dd a{color:var(--fg2)}
.m-idlist dd a:hover{color:var(--fg)}
@media(max-width:640px){
  .m-idlist > div{grid-template-columns:1fr;gap:4px;padding:10px 2px}
}

.m-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}
.m-pill{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 8px;border:1px solid var(--hair);border-radius:5px;color:var(--fg3);background:var(--s1)
}
.m-pill.open{color:#9ad4b4;border-color:rgba(154,212,180,.28)}
.m-pill.closed{color:var(--fg3)}
.m-pill.host{color:var(--claude);border-color:rgba(217,119,87,.35)}

/* ── Eval tiles ── */
.m-eval{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px
}
@media(max-width:900px){.m-eval{grid-template-columns:1fr}}
.m-tile{
  background:var(--s1);border:1px solid var(--hair);border-radius:8px;padding:16px 16px 14px;
  display:flex;flex-direction:column;gap:10px;min-height:100%
}
.m-tile.omit{background:transparent;border-style:dashed;border-color:rgba(255,255,255,.10)}
.m-tile-h{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--fg3)
}
.m-tile-val{
  font-family:var(--f-disp);font-size:34px;letter-spacing:-.03em;line-height:.95;color:var(--fg);
  font-variant-numeric:tabular-nums
}
.m-tile-val .ci{font-size:15px;color:var(--fg4);margin-left:7px;letter-spacing:0;font-family:var(--f-mono)}
.m-tile-omit{font-size:14px;line-height:1.5;color:var(--fg3);margin:0}
.m-struct{margin:0;display:grid;gap:5px}
.m-struct div{
  display:grid;grid-template-columns:92px 1fr;gap:8px;font-size:12px;line-height:1.45
}
.m-struct dt{font-family:var(--f-mono);font-size:10.5px;color:var(--fg4);margin:0}
.m-struct dd{margin:0;color:var(--fg2);font-family:var(--f-mono);font-size:11.5px;font-variant-numeric:tabular-nums}
.m-tile-foot{
  margin-top:auto;padding-top:11px;border-top:1px solid var(--hair2);
  display:flex;flex-wrap:wrap;gap:6px;align-items:center
}
.m-tile-src{
  margin-top:auto;font-family:var(--f-mono);font-size:10.5px;color:var(--fg4);line-height:1.45
}
.m-tile-src a{color:var(--fg3)}

/* ── Trust / when not ── */
.m-trust{padding:2px 0 2px 20px;border-left:2px solid rgba(214,162,59,.62)}
.m-trust h3{
  font-family:var(--f-mono);font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  color:var(--warn);margin:0 0 12px
}
.m-trust ul{margin:0 0 18px;padding:0 0 0 18px;color:var(--fg2);font-size:14.5px;line-height:1.6}
.m-trust li+li{margin-top:8px}
.m-trust li::marker{color:var(--fg4)}
.m-trust .cta-row{margin-top:4px}

/* ── Artifact ── */
.m-art{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px
}
@media(max-width:800px){.m-art{grid-template-columns:1fr}}
.m-panel{
  background:var(--s1);border:1px solid var(--hair);border-radius:8px;padding:16px
}
.m-panel h3{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);margin:0 0 12px
}
.m-dl{margin:0;display:grid;gap:8px}
.m-dl div{display:grid;grid-template-columns:140px 1fr;gap:10px;font-size:13px;align-items:baseline}
.m-dl dt{font-family:var(--f-mono);font-size:11px;color:var(--fg4);margin:0}
.m-dl dd{margin:0;color:var(--fg2)}
.m-weights{display:flex;flex-direction:column;gap:10px}
.m-weights a.btn{align-self:flex-start}
.m-closed{font-size:14.5px;line-height:1.6;color:var(--fg2);margin:0}
.m-note{
  font-size:12.5px;color:var(--fg3);line-height:1.6;margin:10px 0 0;max-width:82ch
}
.m-note code{font-family:var(--f-mono);font-size:11.5px;color:var(--fg2)}
.m-note a{color:var(--fg2)}
.m-note a:hover{color:var(--fg)}
.m-art .m-files,.m-art .m-social{grid-column:1/-1}
.m-files .ct-wrap{margin-top:12px}
/* A table inside a panel is a recessed well, not a second panel at the
   same value: keep the elevation step perceptible. */
.m-panel .ct-wrap{--ct-surface:var(--bg);border-color:var(--hair2)}

/* ── Family / lineage ── */
.m-lineage{
  border-top:1px solid var(--hair2)
}
.m-lin{
  display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start;
  padding:11px 2px;border-bottom:1px solid var(--hair2)
}
.m-lin .st{padding-top:1px}
.m-lin .nm{font-size:15px;font-weight:600;color:var(--fg)}
.m-lin a.nm{text-decoration:none}
.m-lin a.nm:hover{color:var(--claude)}
.m-lin p{margin:4px 0 0;font-size:13px;color:var(--fg3);line-height:1.55}
.m-lin p code{font-family:var(--f-mono);font-size:12px;color:var(--fg2)}
@media(max-width:640px){
  .m-lin{grid-template-columns:1fr;gap:7px}
}

/* ── Provenance ledger ── */
.m-benches{margin-top:22px}
.m-benches h3{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg3);margin:0 0 8px;font-weight:600
}

/* ── Compare chips ── */
.m-cmp{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px
}
.m-cmp a{
  display:block;padding:14px 14px 12px;background:var(--s1);border:1px solid var(--hair);border-radius:8px;
  text-decoration:none;color:inherit;
  transition:background .14s ease-out,border-color .14s ease-out,transform .14s ease-out
}
.m-cmp a:hover{border-color:var(--hair3);background:var(--s2);transform:translateY(-1px)}
.m-cmp .n{font-family:var(--f-disp);font-size:15px;font-weight:650;color:var(--fg)}
.m-cmp .m{
  font-family:var(--f-mono);font-size:12px;color:var(--fg3);margin-top:6px;font-variant-numeric:tabular-nums
}

/* ── FAQ ── */
.m-faq details{border-top:1px solid var(--hair2);padding:12px 0}
.m-faq summary{
  cursor:pointer;font-size:15px;font-weight:600;color:var(--fg);list-style:none;
  display:flex;align-items:baseline;gap:10px
}
.m-faq summary::-webkit-details-marker{display:none}
.m-faq summary::before{
  content:"+";font-family:var(--f-mono);font-size:12px;color:var(--fg4);flex:none;line-height:1.5
}
.m-faq details[open] summary::before{content:"\2212"}
.m-faq p{margin:8px 0 0 22px;font-size:14.5px;line-height:1.65;color:var(--fg2)}

/* ── Snippet ── */
.m-snip{
  background:#07080a;border:1px solid var(--hair);border-radius:8px;padding:14px 16px;
  font-family:var(--f-mono);font-size:12px;line-height:1.55;color:var(--fg2);overflow:auto
}

/* ── Continuum serving ── */
.m-serve{
  margin-top:16px;max-width:760px;background:var(--s1);border:1px solid var(--hair);
  border-radius:8px;padding:16px 18px
}
.m-serve-l{
  display:block;font-family:var(--f-mono);font-size:10px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fg4);margin-bottom:9px
}
.m-serve-id{
  display:inline-block;background:#07080a;border:1px solid var(--hair2);border-radius:6px;
  padding:11px 14px;font-family:var(--f-mono);font-size:14px;color:var(--fg);
  user-select:all;-webkit-user-select:all;overflow-wrap:anywhere
}
.m-serve-hint{margin:9px 0 0;font-family:var(--f-mono);font-size:10.5px;color:var(--fg4)}
.m-serve .cta-row{margin-top:14px}

/* A full sentence set in etched uppercase is a shout, not a label. The
   Get Plus closing note keeps the class and drops the treatment. */
.final-note.etch{
  font-family:var(--f-ui);font-size:12.5px;font-weight:400;letter-spacing:0;
  text-transform:none;color:var(--fg3);line-height:1.6;max-width:74ch
}

/* ── Hub cards ── */
.m-hubgrid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px
}
.m-hubcard{
  display:block;padding:16px;background:var(--s1);border:1px solid var(--hair);border-radius:8px;
  text-decoration:none;color:inherit;
  transition:background .14s ease-out,border-color .14s ease-out,transform .14s ease-out
}
.m-hubcard:hover{border-color:var(--hair3);background:var(--s2);transform:translateY(-1px)}
.m-hubcard h3{margin:0 0 6px;font-family:var(--f-disp);font-size:17px;letter-spacing:-.015em}
.m-hubcard p{margin:0;font-size:13px;color:var(--fg3);line-height:1.5}

.m-lead{font-size:15.5px;line-height:1.7;color:var(--fg2);max-width:68ch}
.m-lead + .m-lead{margin-top:14px}
.m-dense .m-lead{font-size:15px}
.m-dense .m-trust{padding-left:20px}

.m-footnote{
  font-size:13px;line-height:1.6;color:var(--fg3);max-width:78ch
}
.m-footnote a{color:var(--fg2)}
.m-footnote a:hover{color:var(--fg)}

/* ── Board wrapper widths (coding leaderboard + index boards) ── */
.m-lb-deep{min-width:960px}
.m-lb-mid{min-width:640px}
.m-lb-narrow{min-width:520px}

/* ── Leaderboard call-out on the index ── */
.m-lbcta{
  display:grid;gap:8px;padding:22px 24px;text-decoration:none;color:inherit;
  background:var(--s1);border:1px solid var(--hair);border-left:2px solid var(--claude);
  border-radius:8px;transition:background .14s ease-out,border-color .14s ease-out
}
.m-lbcta:hover{background:var(--s2);border-color:var(--hair3);border-left-color:var(--claude)}
.m-lbcta-eyebrow{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg4)
}
.m-lbcta-h{
  font-family:var(--f-disp);font-size:clamp(20px,2.6vw,26px);letter-spacing:-.02em;color:var(--fg)
}
.m-lbcta-p{font-size:14.5px;line-height:1.65;color:var(--fg2);max-width:74ch}
.m-lbcta-go{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg3);margin-top:2px
}
.m-lbcta:hover .m-lbcta-go{color:var(--fg)}

/* ── No-independent-row block on a card ── */
.m-noboard{
  margin-top:20px;padding:2px 0 2px 18px;border-left:2px solid var(--hair3)
}
.m-noboard h3{
  font-family:var(--f-mono);font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--fg3);margin:0 0 10px;font-weight:600
}
.m-noboard-lead{margin:0;font-size:14.5px;line-height:1.6;color:var(--fg)}
.m-noboard-sib{margin:8px 0 0;font-size:14px;line-height:1.6;color:var(--fg2)}
.m-noboard-sib a{color:var(--fg);font-weight:600}
.m-noboard .m-note{margin-top:10px}

/* ── Calculator deep-link under Economics ── */
.m-calc{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:20px;
  padding:14px 16px;background:var(--s1);border:1px solid var(--hair);border-radius:8px
}
.m-calc-link{
  display:inline-flex;align-items:center;min-height:34px;
  font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  padding:7px 12px;border:1px solid rgba(217,119,87,.35);border-radius:5px;
  color:var(--claude);text-decoration:none;white-space:nowrap;transition:background .14s ease-out
}
.m-calc-link:hover{background:rgba(217,119,87,.08)}
.m-calc-note{font-size:13px;line-height:1.5;color:var(--fg3)}
.m-calc-plan{flex:1 1 100%;margin:0;font-size:13px;line-height:1.55;color:var(--fg3)}
.m-calc-plan a{color:var(--fg2)}

/* ── Focus rings: every interactive element ── */
.m-rank-row:focus-visible,
.m-hubcard:focus-visible,
.m-cmp a:focus-visible,
.m-lbcta:focus-visible,
.m-calc-link:focus-visible,
.chip.src:focus-visible,
.ct a:focus-visible,
.m-faq summary:focus-visible,
.m-idlist a:focus-visible,
.m-lin a:focus-visible{
  outline:2px solid rgba(255,255,255,.28);outline-offset:2px;border-radius:6px
}

@media(max-width:720px){
  .chip{min-height:32px;padding:6px 10px}
  .ct thead th,.ct tbody td{padding:10px 12px}
  .ct-note-inline{max-width:34ch}
  .stat .n{font-size:22px}
}

@media (prefers-reduced-motion:reduce){
  .m-rank-row,.m-hubcard,.m-cmp a,.m-lbcta,.m-calc-link,.ct tbody tr{transition:none}
  .m-rank-row:hover,.m-hubcard:hover,.m-cmp a:hover{transform:none}
}
