/* ============================================================
   atlas-ui.css — shared interaction & accent layer
   Moderate refresh: stronger ochre CTAs, unified hovers.
   Loads AFTER each template's inline <style>, so it wins on
   equal-specificity selectors. Bump ?v= in the <link> when changed.
   ============================================================ */
:root{
  --acc:#9c3b1b; --acc-d:#7a2d14; --glt:#e8c97e; --gold:#b8893b;
  --ui-ease:.18s cubic-bezier(.4,0,.2,1);
  --ui-lift:0 6px 20px rgba(23,18,15,.12);
}

/* one transition curve across interactive elements */
a.chip,.cta-btn,.cta-link,.init,.metric,.person,.gate-badge,.sec-link,.disc-card,.coll-card{
  transition:all var(--ui-ease);
}

/* ---- Primary CTA: stronger presence + hover lift ---- */
.cta-btn{box-shadow:0 1px 3px rgba(0,0,0,.14);font-weight:700;letter-spacing:.01em}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.26)}
.cta-link:hover{opacity:1;text-decoration:underline}

/* ---- Link-chips: clearly clickable, ochre, slightly bolder ---- */
a.chip{font-weight:500;border:1px solid rgba(156,59,27,.30)}

/* ---- Inline prose links: ochre with hover underline ---- */
section p a:not(.chip):not(.cta-btn){
  color:var(--acc);text-decoration:none;
  border-bottom:1px solid rgba(156,59,27,.35);
}
section p a:not(.chip):hover{border-bottom-color:var(--acc)}

/* ---- Initiative cards: subtle hover lift + ochre edge ---- */
.init:hover{transform:translateY(-2px);box-shadow:var(--ui-lift);border-left-color:var(--acc)}

/* ---- Metric cards: ochre edge on hover ---- */
.metric:hover{border-color:rgba(156,59,27,.40)}

/* ---- Score / intensity bars: richer gold gradient ---- */
.sbar-fill{background:linear-gradient(90deg,var(--gold),var(--glt))}

/* ---- Section headings: ochre accent tick on the rule ---- */
h2.sh{position:relative}
h2.sh::after{content:"";position:absolute;left:0;bottom:-2px;width:46px;height:2px;background:var(--acc)}

/* ---- 'All X →' style section links (where present) ---- */
.sec-link:hover{background:var(--acc);color:#fff;border-color:var(--acc)}

/* ============================================================
   MOBILE TYPE FLOOR (v2) — sitewide readability pass.
   The design system leans on IBM Plex Mono at 9-11px with wide
   tracking. Fine at desktop distance; illegible at phone distance,
   especially for FUNCTIONAL text (values, links, labels, tables).
   This block enforces a floor on phones only. It loads after every
   template's inline <style>, so it wins; selectors that a given
   page doesn't use are harmless no-ops.
   Tiers: reading prose untouched (already 15px+) · functional text
   >= 12px · decorative mono micro-labels >= 11px with tracking
   capped (wide letterspacing at small sizes is the real killer).
   ============================================================ */
@media (max-width: 640px){

  /* iOS: any input under 16px force-zooms the page on focus,
     panning the viewport sideways. Global guarantee. */
  input, select, textarea{font-size:16px !important}

  /* ---- Tier A: FUNCTIONAL text — people read these to act ---- */
  /* buttons, links, CTAs */
  .btn, .readmore-btn, .rm-btn, .cta-btn, .cta-link, .sec-link,
  .rep .lk, .ca-mob-cta{font-size:13px !important}
  .soc{font-size:12px !important; min-width:40px; min-height:40px}
  .ca-mob-social a{font-size:12px !important}
  /* fact/meta keys and values, table headers, rail facts */
  .fact .k, .prov-k, .mf-k, .qf-l,
  table.idx th, .meta-row .mi b, .railfacts .rf b,
  .cred .ck, .init .yr, .metric .my, .metric .mu,
  .timeline .tt, .hood .hc, .reg .rt, .gapitem .gd,
  .prac .pd, .row .re, .li .r, .seti .sf,
  .person-rl, .ritem .rl, .vlbl, .rep .meta,
  .relc .rd, .press-item .po{font-size:12px !important; letter-spacing:.04em !important}
  /* small headings that were styled as micro-labels */
  .blk h3, .side h3, .score-tier-tag, .csr-badge,
  .badge-verified{font-size:12.5px !important}
  /* provenance / disclaimer blocks — legal-ish but still meant to be read */
  .prov, .railsub, .modal label,
  .ca-foot-disclaimer, .ca-foot-base{font-size:12px !important; letter-spacing:.02em !important}
  /* score bar labels + values (functional: they carry the numbers) */
  .sbar-lbl, .sbar-val, .bar .bl, .score-lbl,
  .scorebadge span, .score-rank{font-size:11.5px !important; letter-spacing:.04em !important}

  /* ---- Tier B: DECORATIVE mono micro-labels — floor + tracking cap ---- */
  .tag-lbl, .rc-lbl, .sec-badge, .ac-lbl, .ac-meta, .pc-lbl,
  .metric .ml, .ic-lbl, .community-sub, .kicker, .mono,
  .cov, .rtag, .commentary .lab, .scope b, .init .ty,
  .nl, .ca-hdr-nl, .flag, .sec-num, .badge,
  .hero-eyebrow .badge-secondary, .scorebox .of,
  .ca-foot-h{font-size:11px !important; letter-spacing:.06em !important}

  /* header autocomplete (shared search) */
  .ca-hdr-ac .ac-group-label{font-size:10.5px !important}
  .ca-hdr-ac .ac-item-meta{font-size:11.5px !important}
  .ca-hdr-ac .ac-viewall{font-size:11.5px !important}

  /* light-weight serif on dark surfaces erodes legibility a step
     further — normalise 300-weight body text up on phones */
  .hero-sub, .hero p, .ew-desc{font-weight:400 !important}
}
