/* Precision Workx: corporate pass (loads last). Navy and steel base, one blue accent,
   safety yellow for small details only. No scroll or load animation, square edges. */
:root, :root:not([data-theme="light"]), :root[data-theme="dark"] {
  --paper: #F4F5F7; --surface: #FFFFFF; --ink: #111C27; --ink-2: #4F5B67; --line: #D9DEE4;
  --steel: #0D2033; --steel-2: #15304A; --on-steel: #EEF2F6; --on-steel-2: #A9B6C4;
  --blue: #1F5FA6; --blue-ink: #1B5596; --blue-dk: #174B85; --signal: #F2B705;
  --amber: #1F5FA6; --amber-hi: #174B85; --amber-ink: #FFFFFF; --label-ink: #4F5B67; --sweep: #174B85;
  --display: "Barlow Semi Condensed", "Arial Narrow", Arial, sans-serif;
  --body: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  --mono: "Source Sans 3", "Segoe UI", Arial, sans-serif;
  --step-2: 1.625rem;
  --step-3: clamp(1.875rem, 1.5rem + 1.4vw, 2.5rem);
  --step-4: clamp(2.25rem, 1.6rem + 2.4vw, 3.5rem);
  color-scheme: light;
}

/* ---------- no motion ---------- */
*, *::before, *::after { animation: none !important; }
.rv, .rv-img, .rv-img img { opacity: 1 !important; transform: none !important; clip-path: none !important; }
.curtain, .blueprint, .scroll-cue, .cur, .cta::before, .svc-num, .sc-count, .tbc { display: none !important; }
.tile:hover img, .st-card:hover .st-img img, .proj:hover button img, .proj:hover .ph img, .proj button:hover img,
.case:hover .case-img img, .svc-row:hover .thumb img, .quote:hover, .figure img { transform: none !important; }
.svc-row:hover { padding-left: 0; }
.pb-img { inset: 0 !important; transform: none !important; }
.hero-img, .hero-img img { transform: none !important; }
.st-img img { filter: none !important; }

/* ---------- type ---------- */
body { font-family: var(--body); font-size: 1.0625rem; line-height: 1.6; }
h1, h2, h3, h4, .statement, .sx-t b, .tile b, .st-card b, .pager b, .case-body h3 { font-family: var(--display); font-stretch: normal !important; letter-spacing: 0 !important; }
h1, h2 { font-weight: 700; line-height: 1.08; }
h3 { font-weight: 600; line-height: 1.2; }
.hero-home h1 { font-size: clamp(2.5rem, 1.5rem + 3.6vw, 4.5rem); max-width: 17ch; line-height: 1.04; }
.page-hero h1 { font-size: var(--step-4); }
.hero h1 em { color: inherit; }
.statement { font-weight: 600; font-size: clamp(1.375rem, 1.1rem + .9vw, 1.875rem); line-height: 1.3; }
.cta h2, .pb-body h2, .cov-copy h2, .pin-head h2 { font-size: var(--step-3) !important; }
.sec-head h2, .capband h2, .band h2 { font-size: var(--step-3); }
.num { font-family: var(--body); }
.hero-facts b, .cov-stat b { font-family: var(--display); font-weight: 700; letter-spacing: 0; }

/* sub-heading labels that remain (eyebrows above headings were removed from the markup) */
.label { font: 600 .9375rem/1.3 var(--body) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--ink) !important; gap: 0; }
.label.light, .on-dark .label, .section.dark .label, .coverage .label, .band .label { color: var(--on-steel) !important; }
.label::before { display: none !important; }

/* former monospace "drawing" captions: plain text */
.st-meta, .proj .meta, .case-tag, .case-meta, .cs-meta dt, .contact-cards small, .pager small, .crumbs,
.figure figcaption, .sx-img figcaption, .cov-note, .creds-k, .trust-k, .copy, .nav-phone, .brand-word small {
  font-family: var(--body) !important; letter-spacing: 0 !important; text-transform: none !important;
}
.st-meta, .proj .meta { font-size: .875rem; font-weight: 400; color: var(--ink-2); }
.figure figcaption, .photo-tall figcaption, .pb-cap { font-size: .875rem; color: var(--ink-2); }
.crumbs { font-size: .875rem; }
.pager small { font-size: .875rem; color: var(--ink-2); }
.contact-cards small { font-size: .875rem; font-weight: 600; color: var(--ink-2); }
.nav-phone { font-size: .9375rem !important; opacity: 1; font-weight: 600 !important; }
.brand-word b { font-family: var(--display); font-stretch: normal; letter-spacing: .02em; font-weight: 700; }
.brand-word small { font-size: .6875rem !important; letter-spacing: .06em !important; text-transform: uppercase !important; font-weight: 600; }
.summary { font-family: ui-monospace, Menlo, Consolas, monospace; }
.usmap .ml, .usmap .hq-label text { font-family: var(--body) !important; letter-spacing: 0 !important; }

/* ---------- square edges ---------- */
*, *::before, *::after { border-radius: 0 !important; }

/* ---------- header: solid and fixed in place ---------- */
.site-header, .site-header:not(.solid), .site-header.solid {
  background: var(--surface) !important; border-bottom: 1px solid var(--line) !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important; transform: none !important;
}
.site-header .brand, .site-header .nav > a, .site-header .nav .dd > button, .site-header .menu-btn { color: var(--ink) !important; }
.site-header .brand-word small { color: var(--ink-2) !important; }
.site-header .brand .mk-dark { display: block !important; }
.site-header .brand .mk-light { display: none !important; }
.site-header .menu-btn { border-color: var(--line) !important; }
.site-header .nav a[aria-current="page"], .site-header .nav .dd.current > button { color: var(--blue-ink) !important; box-shadow: inset 0 -3px 0 var(--blue) !important; }
.site-header .nav > a:hover, .site-header .nav .dd > button:hover { color: var(--blue-ink) !important; }
.dd-panel a { grid-template-columns: 1fr; }
.site-header .nav > a.btn-primary { color: #fff !important; }

/* ---------- buttons: simple darken on hover ---------- */
.btn { transition: background-color .15s, color .15s, border-color .15s; font-weight: 600; letter-spacing: 0; }
.btn::after { display: none !important; }
.btn:hover svg { transform: none; }
.btn-primary, .nav > a.btn-primary, .site-header .nav > a.btn-primary, .cta .btn-white { background: var(--blue) !important; color: #fff !important; }
.btn-primary:hover, .nav > a.btn-primary:hover, .site-header .nav > a.btn-primary:hover, .cta .btn-white:hover { background: var(--blue-dk) !important; color: #fff !important; }
.btn-ghost { color: var(--ink); border-color: var(--ink); }
.btn-ghost:hover { background: var(--ink) !important; color: #fff !important; }
.on-dark .btn-ghost, .cta .btn-ghost { color: #fff; border-color: rgba(255,255,255,.7); }
.on-dark .btn-ghost:hover, .cta .btn-ghost:hover { background: #fff !important; color: var(--steel) !important; border-color: #fff; }
.textlink, .textlink.light { font-weight: 600; }
.textlink.light { color: #BFD6F2; }

/* ---------- colour: navy, steel, one blue ---------- */
.hero, .page-hero, .coverage, .pin, .band, .pbanner, .creds { background: var(--steel); }
.site-footer { background: #08182A; }
.cta { background: var(--steel); border-top: 4px solid var(--blue); }
.hero-facts { border-top: 1px solid rgba(255,255,255,.28); }
.hero-facts > div:first-child { box-shadow: inset 0 3px 0 var(--signal); }
.hero-facts b { color: #fff; }
.svc-row .tag-new { color: var(--blue-ink); border-color: var(--blue-ink); font-family: var(--body); letter-spacing: .04em; }
.tile .tag-new, .sx-t .tag-new { background: var(--signal) !important; color: #111 !important; font-family: var(--body); }
.ticklist li::before { background: var(--blue); }
.section.dark .ticklist li::before, .band .ticklist li::before { background: var(--signal); }
.strip-bar span { background: var(--blue); }
.rfq-steps li[aria-current="step"]::before { background: var(--blue); }
.nav a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--blue); }

/* ---------- photography first ---------- */
.hero::after { background: linear-gradient(90deg, rgba(9,22,36,.86) 0%, rgba(9,22,36,.62) 45%, rgba(9,22,36,.15) 80%), linear-gradient(0deg, rgba(9,22,36,.7), rgba(9,22,36,0) 38%); }
.page-hero .hero-img img { opacity: .7; }
.page-hero::after { background: linear-gradient(90deg, rgba(9,22,36,.9) 10%, rgba(9,22,36,.45) 80%); }
.tile::after, .tile:hover::after { background: linear-gradient(0deg, rgba(9,22,36,.85) 0%, rgba(9,22,36,.35) 45%, rgba(9,22,36,0) 72%) !important; }
.tile small, .tile-more { max-height: none !important; opacity: 1 !important; }
.tile-more { color: #fff; }
.tile .num { display: none; }
.tile b { font-weight: 700; }

/* ---------- coverage map: static ---------- */
.usmap .arc, .usmap .pulse, .usmap .ring { display: none !important; }
.usmap .site { opacity: 1 !important; transform: none !important; }
.usmap .mdots { opacity: 1 !important; }
.usmap .hq { fill: var(--signal); }
.usmap .hq-label path, .usmap .hq-x { stroke: var(--signal); }
.usmap .hq-label text, .usmap .hq-label .ml2 { fill: var(--signal); }
.cov-note { font-size: .875rem; color: var(--on-steel-2); }

/* ---------- recent installations row ---------- */
.strip-ctl button { border-radius: 0 !important; width: 48px; height: 48px; }
.strip { cursor: auto; }

/* ---------- service list without numbers ---------- */
.svc-row { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.4fr) 180px 28px; }
@media (max-width: 900px) {
  .svc-row { grid-template-columns: minmax(0, 1fr) 96px; }
  .svc-row h3, .svc-row p { grid-column: 1 / 2; }
  .svc-row .thumb { grid-column: 2; grid-row: 1 / span 2; }
}
.cg-head .num, .sx-row .num, .pin-nav .num { display: none; }

/* ---------- project phases: plain five-step row ---------- */
.phases { border-top: 2px solid var(--ink); }
.phases::after { display: none !important; }
.phases li { padding-right: 24px; }
.phases li::before { background: var(--surface) !important; border-color: var(--ink) !important; }
.section:not(.alt) .phases li::before { background: var(--paper) !important; }
.phases .step-n { font: 600 .875rem/1 var(--body); color: var(--blue-ink); }
.phases ul { list-style: none; display: grid; gap: 6px; margin-top: 4px; }
.phases ul li { padding: 0 0 0 16px; position: relative; font-size: .9375rem; color: var(--ink-2); }
.phases ul li::before { content: ""; position: absolute; left: 0; top: .7em; width: 8px; height: 2px; background: var(--blue) !important; border: 0 !important; }

/* ---------- footer ---------- */
.f-top h4 { font: 600 1rem/1.2 var(--body) !important; letter-spacing: 0 !important; text-transform: none !important; color: #fff !important; }
.f-legal { border-top: 1px solid rgba(255,255,255,.14); }
@media (max-width: 900px) {
  .phases { border-top: 0 !important; border-left: 2px solid var(--ink) !important; }
}

/* ---------- project phases: tabs with CAD drawings, restyled ---------- */
:root { --blue-lt: #5B9BE0; }
.pin { background: var(--steel); }
.pin-sticky { padding-block: clamp(72px, 8vw, 112px); }
.pin-head h2 { color: #fff; }
.pin-intro { max-width: 44ch; color: var(--on-steel-2); }
.pin-nav { border-left-color: rgba(255,255,255,.16); }
.pin-nav li { color: rgba(238,242,246,.55); font-weight: 600; font-size: 1.0625rem; gap: 0; }
.pin-nav li:hover, .pin-nav li.on { color: #fff; }
.pin-nav li::before { background: rgba(255,255,255,.18) !important; transition: none !important; }
.pin-nav li.done::before { background: rgba(91,155,224,.5) !important; }
.pin-nav li.on::after { content: ""; position: absolute; left: -1px; top: 0; bottom: 0; width: 3px; background: var(--blue-lt); transform-origin: top; transform: scaleY(1); transition: none; }
.cad-motion .pin:not(.paused) .pin-nav li.on::after { transform: scaleY(0); }
.cad-motion .pin:not(.paused) .pin-nav li.run::after { transform: scaleY(1); transition: transform 6.5s linear; }
.pin-progress { background: rgba(255,255,255,.14); }
.pin-progress span { background: var(--blue-lt) !important; }
.pin-copy .step-n { font: 600 .875rem/1 var(--body); color: var(--blue-lt); }
.pin-copy h3 { color: #fff; font-size: clamp(1.6rem, 1.2rem + 1vw, 2.125rem); font-weight: 700; }
.pin-copy p { color: var(--on-steel-2); }
.pin-copy ul { border-top-color: rgba(255,255,255,.14); }
.pin-copy li { border-bottom-color: rgba(255,255,255,.14); color: #E3EAF1; }
.pin-copy li::before { background: var(--signal) !important; height: 2px; }

/* drawing palette: navy sheet, white linework, blue accents, safety yellow dimensions */
.cad-panel { --bp: #0A1A2B; --bp-line: #DCE6F1; --bp-thin: rgba(220,230,241,.5); --bp-acc: #5B9BE0; --bp-amb: #F2B705;
  border: 1px solid rgba(255,255,255,.16); }
.cad { font-family: var(--display) !important; }
.cad text { letter-spacing: .04em; font-weight: 500; }
.cad .c-grid { stroke: rgba(91,155,224,.3); }
.cad .c-hatch { stroke: rgba(91,155,224,.45); }
.cad .c-load { stroke: rgba(242,183,5,.75); }
.cad .f-done { fill: rgba(91,155,224,.35); stroke: #5B9BE0; }
.cad .f-prog { fill: rgba(242,183,5,.26); stroke: #F2B705; }
.cad .stamp rect { stroke: var(--signal); }
.cad .stamp text { fill: var(--signal); }
.cad .tb rect { fill: rgba(10,26,43,.92); }

/* draw-on: lines trace in, then text and fills appear (runs each time a phase opens) */
.cad-motion .pin .cad-panel .ln:not(.c-grid) { stroke-dashoffset: 1; transition: stroke-dashoffset 2.2s cubic-bezier(.45, .05, .2, 1); transition-delay: calc(var(--i, 0) * .18s); }
.cad-motion .pin .cad-panel .tx, .cad-motion .pin .cad-panel .tb, .cad-motion .pin .cad-panel .f-done,
.cad-motion .pin .cad-panel .f-prog, .cad-motion .pin .cad-panel .f-pend { opacity: 0; transition: opacity .8s ease 1.1s; }
.cad-motion .pin .cad-panel .stamp { opacity: 0; transition: opacity .5s ease 2s; }
.cad-motion .pin .cad-panel.is-on .ln { stroke-dashoffset: 0; }
.cad-motion .pin .cad-panel.is-on .tx, .cad-motion .pin .cad-panel.is-on .tb, .cad-motion .pin .cad-panel.is-on .stamp,
.cad-motion .pin .cad-panel.is-on [class^="f-"] { opacity: 1; }

/* =========================================================
   Home page, premium pass: full-screen hero, stats band,
   lighter middle, more space, bigger headings
   ========================================================= */
.home .hero-home { min-height: 100svh; }
.home .hero-home .wrap { padding-block: calc(var(--header-h) + 96px) clamp(80px, 12vh, 140px); }
.home .hero-home h1 { font-size: clamp(2.75rem, 1.5rem + 4.6vw, 5.75rem); max-width: 14ch; line-height: 1.0; }
.home .hero .lede { max-width: 46ch; margin-top: 28px; font-size: clamp(1.125rem, 1rem + .5vw, 1.375rem); color: #DCE4EC; }
.home .hero .cta-row { margin-top: 40px; align-items: center; gap: 28px; }
.home .hero .btn { min-height: 54px; padding: 0 28px; font-size: 1rem; }
.home .hero-img img { object-position: 45% 40%; }
.home .hero::after { background: linear-gradient(90deg, rgba(9,22,36,.9) 0%, rgba(9,22,36,.7) 40%, rgba(9,22,36,.2) 78%), linear-gradient(0deg, rgba(9,22,36,.75), rgba(9,22,36,0) 45%); }
.hero-cap { position: absolute; right: max(var(--gutter), calc((100vw - var(--wrap)) / 2 + var(--gutter))); bottom: 22px; margin: 0; font-size: .8125rem; color: rgba(255,255,255,.72); }

/* stats band under the hero */
.stats-band { background: var(--surface); border-bottom: 1px solid var(--line); }
.stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; }
.stats > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 6px; padding: 34px 28px 34px 0; }
.stats > div + div { padding-left: 28px; border-left: 1px solid var(--line); }
.stats dd { margin: 0; font: 700 clamp(2.25rem, 1.8rem + 1.4vw, 3rem)/1 var(--display); color: var(--steel); }
.stats dt { font-size: .9375rem; color: var(--ink-2); }
@media (max-width: 760px) {
  .stats { grid-template-columns: 1fr 1fr; }
  .stats > div { padding: 22px 16px 22px 0; }
  .stats > div + div { padding-left: 0; border-left: 0; }
  .stats > div:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--line); }
  .stats > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .home .hero-home h1 { font-size: clamp(2.5rem, 9vw, 3.25rem); }
  .hero-cap { display: none; }
}

/* more space, bigger headings, same heading layout everywhere */
.home .section { padding-block: clamp(88px, 11vw, 168px); }
.home .pin-sticky { padding-block: clamp(96px, 11vw, 160px); }
.home .coverage { padding-block: clamp(96px, 11vw, 168px); }
.home .capband { padding-block: clamp(80px, 9vw, 136px); }
.home .sec-head { margin-bottom: clamp(44px, 6vw, 80px); }
.home .sec-head h2, .home .pin-head h2, .home .cov-copy h2, .home .capband h2, .home .cta h2, .home .fs-body h2 {
  font-size: clamp(2.25rem, 1.5rem + 2.4vw, 3.5rem) !important; line-height: 1.04; }
.home .sec-head > p, .home .pin-intro { font-size: 1.125rem; }

/* crane, conveyor and ASRS: light split with a captioned photo */
.feature-split { background: var(--surface); }
.fs-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; }
.fs-img { margin: 0; display: grid; gap: 12px; }
.fs-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.fs-img figcaption { font-size: .875rem; color: var(--ink-2); }
.fs-body { display: grid; gap: 22px; align-content: center; }
.fs-body p { color: var(--ink-2); font-size: 1.125rem; max-width: 46ch; }
@media (max-width: 900px) { .fs-grid { grid-template-columns: 1fr; } }

/* coverage on a light ground */
.home .coverage { background: var(--paper); color: var(--ink); border-top: 1px solid var(--line); }
.home .cov-copy > p { color: var(--ink-2); font-size: 1.125rem; }
.home .coverage .textlink.light { color: var(--blue-ink); }
.home .usmap .mdots { stroke: rgba(13,32,51,.2); }
.home .usmap .site .pt { fill: var(--blue); }
.home .usmap .ml { fill: var(--ink-2); }
.home .usmap .hq { fill: var(--steel); }
.home .usmap .hq-x, .home .usmap .hq-label path { stroke: var(--steel); }
.home .usmap .hq-label text, .home .usmap .hq-label .ml2 { fill: var(--steel); }
.home .cov-note { color: var(--ink-2); }

/* real capabilities statement pages */
.cap-real { position: relative; display: block; height: auto; width: 100%; max-width: 300px; padding: 0 0 6% 0; }
.cap-real img { display: block; width: 84%; height: auto; border: 1px solid var(--line); background: #fff; }
.cap-real .cap-p1 { position: relative; z-index: 1; box-shadow: 0 30px 50px -28px rgba(13,32,51,.5); }
.cap-real .cap-p2 { position: absolute; left: 16%; top: 6%; box-shadow: 0 20px 40px -28px rgba(13,32,51,.35); }
.cap-real:hover .cap-p1 { border-color: var(--blue); }

/* call to action on a light ground */
.home .cta { background: var(--paper); color: var(--ink); border-top: 1px solid var(--line); }
.home .cta p { color: var(--ink-2); }
.home .cta .cta-contact, .home .cta .cta-contact a { color: var(--ink); }

/* =========================================================
   Safety-yellow tags: hero tags, service tiles, case tags,
   content labels and active filters
   ========================================================= */
.tag, .tile .tag, .case-tag, span.label {
  display: inline-block !important; width: max-content; max-width: 100%;
  background: var(--signal) !important; color: #111 !important;
  font: 700 .8125rem/1 var(--display) !important; letter-spacing: .12em !important; text-transform: uppercase !important;
  padding: 7px 10px 6px !important; border: 0 !important; border-radius: 0; backdrop-filter: none;
}
span.label::before { display: none !important; }
.hero .tag, .page-hero .tag { font-size: .9375rem !important; padding: 8px 12px 7px !important; margin-bottom: 18px; }
.page-hero .tag + h1 { margin-top: 0; }
.page-hero .crumbs { margin-bottom: 24px; }
.tile-top { min-height: 0; }
.svc-detail span.label, .cp span.label { margin-bottom: 10px; justify-self: start; }
.chip[aria-pressed="true"] { background: var(--signal) !important; color: #111 !important; border-color: var(--signal) !important; }
.home .hero-home h1 { max-width: 24ch; }

/* =========================================================
   Phases: pinned, scroll steps through each phase (wide screens)
   ========================================================= */
@media (min-width: 1001px) {
  .pin.scrolly { height: calc(var(--n, 5) * 70vh + 100vh); }
  .pin.scrolly .pin-sticky, .home .pin.scrolly .pin-sticky {
    position: sticky !important; top: 0; height: 100vh; height: 100svh; min-height: 0 !important;
    display: flex; align-items: center; overflow: hidden;
    padding-block: calc(var(--header-h) + 16px) 24px !important;
  }
  .pin.scrolly .pin-sticky > .wrap { width: 100%; max-width: 1640px; }
  .pin.scrolly .cad text { font-weight: 600; }
  .pin.scrolly .pin-head { margin-bottom: clamp(16px, 3vh, 32px); }
  .pin.scrolly .pin-nav li { cursor: pointer; }
  .pin.scrolly .pin-nav li.on::after { transform: scaleY(1) !important; background: var(--signal) !important; transition: none !important; }
  .pin.scrolly .pin-nav li.done::before { background: rgba(242,183,5,.45) !important; }
  .pin.scrolly .pin-progress span { background: var(--signal) !important; transition: none !important; }
  .pin.scrolly .pin-copy .step-n { color: var(--signal); }
  .pin.scrolly .pin-head h2 { font-size: clamp(1.875rem, 1.2rem + 1.6vw, 2.75rem) !important; }
  .pin.scrolly .pin-body { grid-template-columns: 170px minmax(0, 1fr); gap: clamp(20px, 3vw, 40px); }
  .pin.scrolly .pin-step { grid-template-columns: minmax(250px, .62fr) minmax(0, 1.7fr); gap: clamp(20px, 3vw, 40px); }
  .pin.scrolly .cad-panel { display: flex; justify-content: center; }
  .pin.scrolly .cad-panel svg { width: 100%; height: auto; max-height: calc(100svh - var(--header-h) - 150px); }
  .pin-scroll-hint { display: block; margin-top: 14px; font: 600 .8125rem/1.3 var(--body); color: var(--on-steel-2); letter-spacing: .04em; }
}
@media (max-width: 1000px) { .pin-scroll-hint { display: none; } }
@media (min-width: 1001px) and (max-height: 820px) {
  .pin.scrolly .pin-intro, .pin.scrolly .pin-scroll-hint { display: none; }
  .pin.scrolly .pin-head { margin-bottom: 12px; }
  .pin.scrolly .pin-copy { gap: 10px; }
  .pin.scrolly .pin-copy li { padding-block: 7px; }
  .pin.scrolly .cad-panel svg { max-height: calc(100svh - var(--header-h) - 110px); }
}

/* ===== Mobile fixes (Nov 2026) ===== */
@media (max-width: 960px) {
  /* coverage map: stack copy and map (later rule was overriding the 1-column layout) */
  .cov-grid { grid-template-columns: 1fr !important; }
  .cov-map { margin-right: 0; }
  .cov-note { margin-top: 10px; }
}
@media (max-width: 600px) {
  /* bigger tap targets */
  .crumbs a { display: inline-block; padding: 10px 0; margin: -10px 0; }
  .crumbs { gap: 10px; }
  .copy { padding: 10px 12px; min-height: 36px; }
  /* footer columns: let long link labels wrap instead of clipping */
  .f-top > * { min-width: 0; }
  .f-top a { overflow-wrap: break-word; }
  .f-top > :last-child { grid-column: 1 / -1; }
  .f-top { column-gap: 20px; }
  /* case study figures: keep large numbers inside their cell */
  .case-figs.big b { font-size: clamp(1.45rem, 6.2vw, 2rem); }
  .case-figs > div { padding-right: 8px; }
  .case-figs > div + div { padding-left: 10px; }
}
@media (max-width: 400px) {
  /* header: keep the menu button on screen on small phones (iPhone SE) */
  .site-header .wrap { gap: 12px; padding-inline: 14px; }
  .brand { gap: 8px; min-width: 0; flex: 1 1 auto; }
  .brand img { width: 30px; height: auto; }
  .brand-word b { font-size: 1rem; }
  .brand-word small { font-size: .5625rem !important; letter-spacing: .03em !important; }
  .menu-btn { flex: none; }
  .hero-facts b, .cov-stat b { font-size: 2rem; }
}
