/* Mobile-only refinements — added 2026-08-20, revised same day after an A/B regression scan.
   Scoped entirely to (max-width:760px): desktop rendering is unchanged.
   Purely additive CSS — no page's own <style>, no js/<page>.js, and nothing inside
   <div id="root">, so the PRERENDER snapshots stay valid and need no regeneration.

   Fixes two measured defects at 390x844:
     1. label type rendering 8.6-10.9px (below the 12px legibility floor)
     2. tap targets of 15-27px (below the 44px minimum)

   Type rules match React's serialised inline styles BY VALUE, so they apply
   identically to the live React render and to the PRERENDER snapshot markup.
   Add a value to the lists below if a new small size appears in a js/<page>.js.

   ── HARD-WON CONSTRAINT, read before editing ─────────────────────────────────
   A blanket type increase breaks any box that CANNOT GROW. Two such boxes exist
   in this build and both are exempted below:
     - .proj-info  — homepage work grid: 2-up 164px-wide, 140px-tall cards inside
                     a position:absolute .overlay with a fixed 140px height.
     - [style*="position: absolute"] descendants — e.g. the "as featured in /
                     The Times" hero badge on the case-study pages.
   In both, a larger label wraps to an extra line and escapes the fixed box,
   landing on top of neighbouring text. Verified by A/B scan (overlap-scan.html).
   Rule of thumb: only bump type that sits in NORMAL FLOW.
   ─────────────────────────────────────────────────────────────────────────── */
@media (max-width:760px){
  /* 1 — small-label type floor -> 0.84rem (~13.4px), tracking relaxed. */
  [style*="font-size: 0.5rem"],[style*="font-size: 0.52rem"],[style*="font-size: 0.54rem"],
  [style*="font-size: 0.56rem"],[style*="font-size: 0.58rem"],[style*="font-size: 0.6rem"],
  [style*="font-size: 0.62rem"],[style*="font-size: 0.63rem"],[style*="font-size: 0.64rem"],
  [style*="font-size: 0.65rem"],[style*="font-size: 0.66rem"],[style*="font-size: 0.67rem"],
  [style*="font-size: 0.68rem"],[style*="font-size: 0.69rem"],[style*="font-size: 0.7rem"],
  [style*="font-size: 0.71rem"],[style*="font-size: 0.72rem"],[style*="font-size: 0.73rem"],
  [style*="font-size: 0.74rem"],[style*="font-size: 0.75rem"],[style*="font-size: 0.76rem"],
  [style*="font-size: 0.78rem"]{ font-size:0.84rem !important; }
  [style*="font-size: 0.5rem"][style*="letter-spacing: 0.1"],[style*="font-size: 0.54rem"][style*="letter-spacing: 0.1"],
  [style*="font-size: 0.6rem"][style*="letter-spacing: 0.1"],[style*="font-size: 0.62rem"][style*="letter-spacing: 0.1"],
  [style*="font-size: 0.66rem"][style*="letter-spacing: 0.1"],[style*="font-size: 0.68rem"][style*="letter-spacing: 0.1"],
  [style*="font-size: 0.72rem"][style*="letter-spacing: 0.1"]{ letter-spacing:0.06em !important; }
  /* body copy that dips under 14px */
  [style*="font-size: 0.8rem"],[style*="font-size: 0.82rem"],[style*="font-size: 0.85rem"]{ font-size:0.9rem !important; }

  /* EXEMPTION A — homepage work-grid captions (fixed 140px absolute overlay). */
  .proj-info [style*="font-size: 0.5rem"]{ font-size:0.5rem !important; }
  .proj-info [style*="font-size: 0.52rem"]{ font-size:0.52rem !important; }
  .proj-info [style*="font-size: 0.54rem"]{ font-size:0.54rem !important; }
  .proj-info [style*="font-size: 0.56rem"]{ font-size:0.56rem !important; }
  .proj-info [style*="font-size: 0.58rem"]{ font-size:0.58rem !important; }
  .proj-info [style*="font-size: 0.6rem"]{ font-size:0.6rem !important; }
  .proj-info [style*="font-size: 0.62rem"]{ font-size:0.62rem !important; }
  .proj-info [style*="font-size: 0.63rem"]{ font-size:0.63rem !important; }
  .proj-info [style*="font-size: 0.64rem"]{ font-size:0.64rem !important; }
  .proj-info [style*="font-size: 0.65rem"]{ font-size:0.65rem !important; }
  .proj-info [style*="font-size: 0.66rem"]{ font-size:0.66rem !important; }
  .proj-info [style*="font-size: 0.67rem"]{ font-size:0.67rem !important; }
  .proj-info [style*="font-size: 0.68rem"]{ font-size:0.68rem !important; }
  .proj-info [style*="font-size: 0.69rem"]{ font-size:0.69rem !important; }
  .proj-info [style*="font-size: 0.7rem"]{ font-size:0.7rem !important; }
  .proj-info [style*="font-size: 0.71rem"]{ font-size:0.71rem !important; }
  .proj-info [style*="font-size: 0.72rem"]{ font-size:0.72rem !important; }
  .proj-info [style*="font-size: 0.73rem"]{ font-size:0.73rem !important; }
  .proj-info [style*="font-size: 0.74rem"]{ font-size:0.74rem !important; }
  .proj-info [style*="font-size: 0.75rem"]{ font-size:0.75rem !important; }
  .proj-info [style*="font-size: 0.76rem"]{ font-size:0.76rem !important; }
  .proj-info [style*="font-size: 0.78rem"]{ font-size:0.78rem !important; }
  .proj-info [style*="font-size: 0.8rem"]{ font-size:0.8rem !important; }
  .proj-info [style*="font-size: 0.82rem"]{ font-size:0.82rem !important; }
  .proj-info [style*="font-size: 0.85rem"]{ font-size:0.85rem !important; }
  .proj-info [style*="letter-spacing: 0.1"]{ letter-spacing:0.1em !important; }

  /* EXEMPTION B — anything inside an absolutely-positioned box, which is sized
     to its authored type and cannot take an extra line. */
  [style*="position: absolute"] [style*="font-size: 0.5rem"]{ font-size:0.5rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.52rem"]{ font-size:0.52rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.54rem"]{ font-size:0.54rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.56rem"]{ font-size:0.56rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.58rem"]{ font-size:0.58rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.6rem"]{ font-size:0.6rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.62rem"]{ font-size:0.62rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.63rem"]{ font-size:0.63rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.64rem"]{ font-size:0.64rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.65rem"]{ font-size:0.65rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.66rem"]{ font-size:0.66rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.67rem"]{ font-size:0.67rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.68rem"]{ font-size:0.68rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.69rem"]{ font-size:0.69rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.7rem"]{ font-size:0.7rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.71rem"]{ font-size:0.71rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.72rem"]{ font-size:0.72rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.73rem"]{ font-size:0.73rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.74rem"]{ font-size:0.74rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.75rem"]{ font-size:0.75rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.76rem"]{ font-size:0.76rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.78rem"]{ font-size:0.78rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.8rem"]{ font-size:0.8rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.82rem"]{ font-size:0.82rem !important; }
  [style*="position: absolute"] [style*="font-size: 0.85rem"]{ font-size:0.85rem !important; }
  [style*="position: absolute"] [style*="letter-spacing: 0.1"]{ letter-spacing:0.1em !important; }

  /* 2 — 44px tap targets, only where the element is a block/flex box. inline-flex
         keeps the visual width identical; only the touchable height grows. */
  .nav-links a{ min-height:44px; display:flex; align-items:center; }
  .site-nav > a:first-child{ min-height:44px; display:inline-flex; align-items:center; }
  .nav-burger{ width:44px !important; height:44px !important; margin-right:-5px; }
  .review-toggle,button[class*="review"]{ min-height:44px; }
  button[style*="font-size: 0.73rem"]{ min-height:44px; }
  footer > a{ min-height:44px; display:inline-flex; align-items:center; }
  /* merch.html footer is a flex row of 5 links (gap:2rem) that overflowed 390px
     at the larger type (387->396). Let it wrap rather than shrink the type. */
  footer [style*="display: flex"]{ flex-wrap:wrap !important; }
  footer [style*="gap: 2rem"]{ gap:12px 20px !important; }
  footer [style*="display: flex"] a{ min-height:44px; display:inline-flex; align-items:center; }

  /* DELIBERATELY NOT ENLARGED — the footer email/phone/journal links are INLINE
     inside a flowing <p> separated by "·". Neither min-height (a 44px box inside
     an 18px line box) nor padding-block (padding on an inline box bleeds over
     adjacent lines) can grow them without their hit areas overlapping each
     other, which is worse than a small target: it mis-routes taps. Measured 48px
     of overlap on 20 pages. They keep their authored size; the real fix is a tel:
     CTA in the page body, which is a content change, not a CSS one.
     DO NOT re-add a min-height or padding here. */
}
