/* ═══════════════════════════════════════════════════════════════
   Ask West Palm Beach — civic design system (Archivo · light/dark)
   Ported patterns from Ask Downtown Dev: width-axis type, a11y,
   Focus/Full, retractable cover, drawers. Navy accents retained.
   ═══════════════════════════════════════════════════════════════ */

:root{
  --ink:#0F1012;
  --ink-2:#3D4147;
  --ink-3:#6A7079;
  --line:#E4E6E9;
  --line-2:#C9CDD3;
  /* Form field outlines (text inputs, textarea, select, ask boxes). WCAG 1.4.11 wants 3:1 against the
     field and what surrounds it: #80868F is 3.67 on #FFF, 3.45 on --canvas, 3.24 on --canvas-2. */
  --field-line:#80868F;
  --surface:#FFFFFF;
  --canvas:#F7F8F9;
  --canvas-2:#EFF1F3;
  --navy:#0A2A43;
  --blue:#0067B1;
  --core:#0F6E5C; --core-bg:#E8F2EF;
  --rom:#8A5300; --rom-bg:#F6EEE3; /* Concepts colour — do not show “ROM” to users */
  --allow:#5B4B8A; --allow-bg:#EEEBF4;
  --alert:#A31D1A; --alert-bg:#F8EAE9;
  --map-surface:#FFFFFF;
  --chrome:#0A2A43;
  --chrome-ink:#FFFFFF;
  --footer:#05070B;
  --footer-ink:#F2F4F6;
  --footer-muted:rgba(242,244,246,.84);
  --footer-line:rgba(255,255,255,.16);
  --bg:var(--canvas);
  --tint:var(--canvas-2);
  --on-accent:#FFFFFF;
  --on-blue:#FFFFFF;
  --status-red:#B42318;
  --status-amber:#B45309;
  --status-atl:#0F6B78;
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px;
  --sp-6:32px; --sp-7:48px; --sp-8:64px;
  /* App spacing scale aliases (prefer these in new UI) */
  --space-1:var(--sp-1); --space-2:var(--sp-2); --space-3:var(--sp-3);
  --space-4:var(--sp-4); --space-5:var(--sp-5); --space-6:var(--sp-6);
  /* Type scale */
  --text-xs:11px; --text-sm:12.5px; --text-md:14px; --text-base:15px;
  --text-lg:17px; --text-xl:22px; --text-2xl:28px;
  --r-sm:6px; --r-md:10px; --r-lg:14px; --r-control:12px; --r-pill:999px;
  --wdth-display-fvs:"wdth" 112;
  --wdth-head-fvs:"wdth" 106;
  --sans:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.3,1);
  --a11y-scale:1;
  --touch:44px;
  --max:1240px;
  --shadow:0 1px 2px rgba(15,16,18,.06);
}

html[data-theme="dark"]{
  --ink:#F2F3F4;
  --ink-2:#C5C9CE;
  --ink-3:#9AA0A6;
  --line:#2A2E34;
  --line-2:#3D4450;
  /* #6B7380: 3.69 on #15191E / #16191E, 4.01 on #0C0F13, 3.46 on #1A1F26, 3.38 on #1C2128 */
  --field-line:#6B7380;
  --surface:#16191E;
  --canvas:#0F1216;
  --canvas-2:#1C2128;
  --navy:#8EBBD9;
  --blue:#5BA3D9;
  --core:#3DB89A; --core-bg:#0F2A24;
  --rom:#E0A04A; --rom-bg:#2A1F0E;
  --allow:#A896D4; --allow-bg:#1E1A2A;
  --alert:#E0706C; --alert-bg:#2A1414;
  --map-surface:#1C2128;
  --chrome:#0A2A43;
  --chrome-ink:#FFFFFF;
  --footer:#030508;
  --footer-ink:#F2F4F6;
  --footer-muted:rgba(242,244,246,.84);
  --footer-line:rgba(255,255,255,.14);
  --bg:var(--canvas);
  --tint:var(--canvas-2);
  --on-accent:#FFFFFF;
  --on-blue:#0C0F13;
  --status-red:#E0706C;
  --status-amber:#E0A04A;
  --status-atl:#5BC4D4;
  color-scheme:dark;
}
html[data-theme="light"]{ color-scheme:light; }

html{ -webkit-text-size-adjust:100%; font-size:calc(100% * var(--a11y-scale)); }
html[data-type-scale="-1"]{ --a11y-scale:.9375; }
html[data-type-scale="1"]{ --a11y-scale:1.125; }
html[data-type-scale="2"]{ --a11y-scale:1.25; }
html[data-type-scale="3"]{ --a11y-scale:1.4; }

html[data-contrast="high"]{
  --ink:#000000; --ink-2:#000000; --ink-3:#1A1A1A;
  --line:#000000; --line-2:#000000; --field-line:#000000;
  --surface:#FFFFFF; --canvas:#FFFFFF; --canvas-2:#FFFFFF;
  --navy:#000000; --blue:#003D6B;
  --core:#004D3F; --rom:#5A3600; --allow:#3A2E60; --alert:#8B0000;
  --core-bg:#FFFFFF; --rom-bg:#FFFFFF; --allow-bg:#FFFFFF; --alert-bg:#FFFFFF;
  --map-surface:#FFFFFF;
}
html[data-theme="dark"][data-contrast="high"]{
  --ink:#FFFFFF; --ink-2:#FFFFFF; --ink-3:#E8E8E8;
  --line:#FFFFFF; --line-2:#FFFFFF; --field-line:#FFFFFF;
  --surface:#000000; --canvas:#000000; --canvas-2:#000000;
  --navy:#FFFFFF; --blue:#7EC8FF;
  --map-surface:#000000;
}

html[data-motion="reduce"] *,
html[data-motion="reduce"] *::before,
html[data-motion="reduce"] *::after{
  animation-duration:.001ms !important;
  animation-iteration-count:1 !important;
  transition-duration:.001ms !important;
  scroll-behavior:auto !important;
}
@media (prefers-reduced-motion:reduce){
  html:not([data-motion]) *,
  html:not([data-motion]) *::before,
  html:not([data-motion]) *::after{
    animation-duration:.001ms !important;
    transition-duration:.001ms !important;
  }
}

*,*::before,*::after{ box-sizing:border-box; }
body{
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.55;
  font-variation-settings:"wdth" 100;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
h1,h2,h3,p,ul,ol,figure{ margin:0; }
button{ font:inherit; color:inherit; }
img,svg,iframe,video{ max-width:100%; height:auto; }

a{ color:var(--blue); text-underline-offset:3px; text-decoration-color:var(--line-2); }
a:hover{ color:var(--navy); text-decoration-color:var(--navy); }

:focus:not(:focus-visible){ outline:none; }
:focus-visible{
  outline:2px solid var(--ink) !important;
  outline-offset:2px !important;
  border-radius:2px;
}

.mono{ font-family:var(--mono); font-variant-numeric:tabular-nums; }
.eyebrow{
  font-family:var(--mono); font-size:11px; font-weight:500;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3);
}

/* Force Archivo over any leftover Figtree inline font-family */
body, body *, input, textarea, button, select{
  font-family:var(--sans) !important;
}
.mono, .mono *, [style*="IBM Plex Mono"], .mw-titleblock dt, .mw-titleblock dd,
.mw-sources .sid, .mw-sources .sdate, code, kbd{
  font-family:var(--mono) !important;
}

/* Display / head voice */
h1, h2, [data-screen-label="Home"] h1{
  font-variation-settings:var(--wdth-display-fvs);
  letter-spacing:-.028em;
}
h2, h3{
  font-variation-settings:var(--wdth-head-fvs);
  letter-spacing:-.022em;
}

/* Remap common inline hex colors to theme tokens (civic chrome) */
body{ --_navy-inline:var(--navy); }

/* Prototype banner */
#movewpb-prototype-banner{
  font-family:var(--sans) !important;
  background:var(--rom) !important;
  color:#FFF8F0 !important;
  border-bottom:1px solid var(--rom) !important;
  font-size:13px; line-height:1.45; padding:10px 16px; text-align:center;
}
html[data-theme="dark"] #movewpb-prototype-banner{
  background:var(--rom-bg) !important;
  color:var(--rom) !important;
  border-bottom-color:var(--rom) !important;
}

/* Skip */
a.mw-skip, .mw-skip{
  position:absolute;
  left:16px;
  top:-80px;
  z-index:2000;
  background:var(--ink);
  color:var(--on-accent);
  font-family:var(--sans) !important;
  padding:10px 16px;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  min-height:var(--touch);
  display:inline-flex;
  align-items:center;
}
.mw-skip:focus, .mw-skip:focus-visible{ top:12px; outline-color:#fff !important; }

/* Offline banner */
.mw-offline-banner{
  background:var(--chrome);
  color:var(--chrome-ink);
  font-family:var(--sans);
  font-size:14px;
  line-height:1.45;
  padding:10px 16px;
  text-align:center;
  border-bottom:1px solid rgba(255,255,255,.18);
  z-index:200;
}
.mw-offline-banner[hidden]{ display:none !important; }

/* ── Masthead ── */
.mw-masthead,
header[data-screen-label="Header"]{
  position:sticky; top:0; z-index:50;
  background:var(--surface) !important;
  border-bottom:1px solid var(--line) !important;
}
.mw-masthead-in{
  max-width:var(--max); margin:0 auto;
  padding:0 clamp(16px,4vw,48px);
  min-height:60px; display:flex; align-items:center;
  gap:clamp(10px,2vw,28px); flex-wrap:wrap;
}
.svc-nav{ display:flex; align-items:center; gap:2px; flex-wrap:wrap; }
.svc-nav button, .svc-nav a{
  min-height:38px; padding:0 12px;
  font-size:13.5px; font-weight:600; color:var(--ink-2);
  display:inline-flex; align-items:center; text-decoration:none;
  border:none; background:none; cursor:pointer;
}
.svc-nav button:hover, .svc-nav a:hover{ color:var(--ink); background:var(--canvas-2); }
.svc-nav button[aria-current="page"], .svc-nav a[aria-current="page"]{
  color:var(--ink); background:var(--canvas-2);
}

.mw-toolbar{
  display:flex; align-items:center; gap:8px; margin-left:auto; flex-wrap:wrap;
}
.mw-icon-btn,
.mw-lang-btn,
.mw-theme-btn,
.layout-toggle{
  min-height:var(--touch); min-width:var(--touch);
  padding:0 12px; border:1px solid var(--line-2);
  background:var(--surface); color:var(--ink-2);
  font-size:12.5px; font-weight:600; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
}
.mw-icon-btn:hover, .mw-lang-btn:hover, .mw-theme-btn:hover, .layout-toggle:hover{
  border-color:var(--ink); color:var(--ink);
}
.mw-lang-btn[aria-pressed="true"],
body[data-layout="full"] .layout-toggle[data-layout-set="full"],
body[data-layout="focus"] .layout-toggle[data-layout-set="focus"]{
  background:var(--ink); color:var(--surface); border-color:var(--ink);
}

.readmode{
  display:inline-flex; padding:3px; background:var(--canvas-2); gap:2px;
}
.readmode button{
  min-height:var(--touch); padding:0 12px; font-size:12.5px; font-weight:600;
  color:var(--ink-2); border:none; background:transparent; cursor:pointer;
}
.readmode button[aria-pressed="true"]{
  background:var(--surface); color:var(--ink);
  box-shadow:0 1px 2px rgba(15,16,18,.1), 0 0 0 1px rgba(15,16,18,.06);
}
@media (max-width:759px){
  .readmode{ order:3; width:100%; }
  .readmode button{ flex:1; }
  .svc-nav{ display:none; }
  body.nav-open .svc-nav{
    display:flex; flex-direction:column; align-items:stretch;
    width:100%; order:4; padding:8px 0 12px; border-top:1px solid var(--line);
  }
  .svc-nav button{ justify-content:flex-start; min-height:var(--touch); }
}

.mw-nav-toggle{
  display:none; min-height:var(--touch); min-width:var(--touch);
  border:1px solid var(--line-2); background:var(--surface); color:var(--ink);
  cursor:pointer; align-items:center; justify-content:center;
}
@media (max-width:759px){ .mw-nav-toggle{ display:inline-flex; } }
.mw-nav-toggle svg{ width:20px; height:20px; }

/* ── Cover / retractable hero ── */
.cover, .ask-cover{
  position:relative;
  background:var(--chrome);
  color:var(--chrome-ink);
  overflow:hidden;
}
.cover-in{
  position:relative; z-index:1;
  max-width:var(--max); margin:0 auto;
  padding:clamp(40px,7vw,72px) clamp(16px,4vw,48px) clamp(28px,4vw,40px);
}
.cover h1, .ask-cover h1{
  color:#fff !important;
  font-size:clamp(34px,5.4vw,58px) !important;
  font-weight:700;
  line-height:1.04;
  font-variation-settings:var(--wdth-display-fvs);
  max-width:18ch;
}
.cover .sub, .ask-cover > div > p{
  color:rgba(255,255,255,.78) !important;
  max-width:48ch;
}
.cover :focus-visible, .ask-cover :focus-visible{ outline-color:#fff !important; }

/* Collapse cover when answering */
body.has-thread .cover h1,
body.has-thread .ask-cover h1,
body.has-thread .cover .sub,
body.has-thread .ask-cover > div > p,
body.has-thread .cover .chips,
body.has-thread .ask-cover [data-i18n="popular"],
body.has-thread .home-hero-extra{
  display:none !important;
}
body.has-thread .cover-in{
  padding:var(--sp-3) clamp(16px,4vw,48px) !important;
}
body.has-thread .cover #askbox,
body.has-thread .ask-cover #askbox{
  margin-top:0 !important;
  max-width:720px;
}
body.has-thread .home-extra{ display:none !important; }

/* Sticky slim ask bar (answer / detail / refusal) */
.mw-ask-sticky{
  display:none;
  position:sticky; top:60px; z-index:45;
  background:var(--surface);
  border-bottom:1px solid var(--line);
  padding:10px clamp(16px,4vw,48px);
}
body.has-thread .mw-ask-sticky{ display:block; }
.mw-ask-sticky-in{
  max-width:var(--max); margin:0 auto;
  display:flex; align-items:center; gap:10px;
}
.mw-ask-sticky #askbox-sticky,
.mw-ask-sticky .ask-field{
  flex:1; display:flex; align-items:center; gap:8px;
  background:var(--surface); border:1px solid var(--line-2);
  padding:4px 4px 4px 14px; min-height:48px;
}
.mw-ask-sticky input{
  flex:1; border:none; outline:none; background:none;
  font-size:16px; color:var(--ink); min-width:0; min-height:40px;
}
.mw-ask-sticky .send{
  width:44px; height:44px; flex:none; border:none; cursor:pointer;
  background:var(--ink); color:var(--surface);
  display:flex; align-items:center; justify-content:center;
}
.mw-ask-sticky .send:hover{ background:var(--navy); }

/* Ask field polish */
#askbox{
  background:var(--surface) !important;
  border-color:var(--line-2) !important;
  border-radius:0 !important;
}
#askbox:focus-within{
  border-color:var(--ink) !important;
  box-shadow:0 0 0 3px rgba(15,16,18,.09);
}
html[data-theme="dark"] #askbox:focus-within{
  box-shadow:0 0 0 3px rgba(255,255,255,.12);
}
.cover #askbox, .ask-cover #askbox{
  border-color:transparent !important;
  box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.cover #askbox input, .ask-cover #askbox input{ color:var(--ink) !important; }

/* Home sections — cleaner whitespace, fewer competing borders */
.home-extra section,
main[data-screen-label="Home"] > section:not(.ask-cover):not(.cover){
  max-width:var(--max);
  margin-left:auto; margin-right:auto;
  padding-top:clamp(40px,6vw,64px) !important;
}
.home-extra h2,
main[data-screen-label="Home"] h2{
  color:var(--navy) !important;
  font-variation-settings:var(--wdth-head-fvs);
}
.mw-act-row{
  border-bottom:1px solid var(--line) !important;
  padding:16px 0 !important;
}
.mw-act-row button{ color:var(--ink) !important; }
.mw-act-row button:hover{ color:var(--blue) !important; }

/* Map surface panel (readable in dark) */
.map-surface, a[aria-label="Open the activity map"],
.stage #map, #map:not(.mw-fast-section){
  background:var(--map-surface) !important;
  border:1px solid var(--line) !important;
  border-radius:0 !important;
}
html[data-theme="dark"] #map:not(.mw-fast-section),
html[data-theme="dark"] .leaflet-container{
  background:var(--map-surface);
  filter:none;
}
html[data-theme="dark"] .mapcol,
html[data-theme="dark"] .panel{
  background:var(--surface);
  padding:12px;
  border:1px solid var(--line);
}

/* Drawers / details modules */
.mw-drawer, details.mw-drawer{
  border-top:1px solid var(--line);
  margin-top:var(--sp-5);
  padding:0;
}
.mw-drawer > summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; gap:10px;
  min-height:52px; padding:12px 0;
  font-size:15px; font-weight:700;
  letter-spacing:-.012em;
  font-variation-settings:var(--wdth-head-fvs);
  color:var(--ink);
}
.mw-drawer > summary::-webkit-details-marker{ display:none; }
.mw-drawer > summary::before{
  content:""; width:8px; height:8px; flex:none;
  border-right:2px solid var(--ink); border-bottom:2px solid var(--ink);
  transform:rotate(-45deg); transition:transform .16s var(--ease);
}
.mw-drawer[open] > summary::before{ transform:rotate(45deg); }
.mw-drawer-body{
  padding:0 0 var(--sp-5);
  font-size:14.5px; color:var(--ink-2); line-height:1.55; max-width:70ch;
}

/* Status kick pills (tokenized — no inline hex) */
.mw-kick{
  font-size:11.5px; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; color:var(--ink-3);
}
.mw-kick--red, .mw-kick[data-st="red"]{ color:var(--status-red); }
.mw-kick--amber, .mw-kick[data-st="amber"]{ color:var(--status-amber); }
.mw-kick--blue, .mw-kick[data-st="blue"]{ color:var(--blue); }
.mw-kick--navy, .mw-kick[data-st="navy"]{ color:var(--navy); }
.mw-kick--slate, .mw-kick[data-st="slate"]{ color:var(--ink-3); }
.mw-kick--atl, .mw-kick[data-st="atl"]{ color:var(--status-atl); }

/* Cost band chip classes (semantic — meaningful in both themes) */
.mw-band-lab .chip-c{ background:var(--rom); }
.mw-band-lab .chip-c.core, .chip-c[data-cls="core"]{ background:var(--core); }
.mw-band-lab .chip-c.rom, .chip-c[data-cls="rom"]{ background:var(--rom); }
.mw-band-lab .chip-c.allow, .chip-c[data-cls="allow"]{ background:var(--allow); }
.mw-band-track .fill.core, .fill[data-cls="core"]{ background:var(--core); }
.mw-band-track .fill.rom, .fill[data-cls="rom"]{ background:var(--rom); }
.mw-band-track .fill.allow, .fill[data-cls="allow"]{ background:var(--allow); }
.mw-band-track .mid.core, .mid[data-cls="core"]{ background:var(--core); }
.mw-band-track .mid.rom, .mid[data-cls="rom"]{ background:var(--rom); }
.mw-band-track .mid.allow, .mid[data-cls="allow"]{ background:var(--allow); }

/* Structural utility classes (prefer over inline hex) */
.t-ink{ color:var(--ink) !important; }
.t-ink-2{ color:var(--ink-2) !important; }
.t-ink-3{ color:var(--ink-3) !important; }
.t-navy{ color:var(--navy) !important; }
.t-blue{ color:var(--blue) !important; }
.bg-surface{ background:var(--surface) !important; }
.bg-tint{ background:var(--tint) !important; }
.bg-canvas{ background:var(--bg) !important; }
.bd-line{ border-color:var(--line) !important; }
.bd-line-2{ border-color:var(--line-2) !important; }

.mw-link-btn{
  border:none; background:none; cursor:pointer;
  font-size:15.5px; font-weight:600; color:var(--blue);
  padding:6px 0; text-decoration:underline; text-underline-offset:4px;
  text-decoration-color:var(--line-2);
}
.mw-link-btn:hover{ color:var(--navy); text-decoration-color:var(--navy); }
.mw-text-btn{
  border:none; background:none; cursor:pointer;
  font-size:14px; color:var(--ink-2); padding:8px 0;
}
.mw-text-btn:hover{ color:var(--ink); }
.mw-brand-tag{
  font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-3); border-left:1px solid var(--line-2); padding-left:12px;
  text-align:left; line-height:1.35;
}
.mw-section-rule{ border-top:1px solid var(--ink); }
.mw-map-frame{
  position:relative; flex:2.2 1 420px; min-width:300px;
  border:1px solid var(--line); overflow:hidden;
  background:var(--map-surface); display:block; text-decoration:none;
}
.mw-map-frame:hover{ border-color:var(--blue); }
.mw-map-frame iframe{ display:block; width:100%; height:420px; border:none; pointer-events:none; }
.mw-map-frame .mw-map-cta{
  position:absolute; left:14px; bottom:14px;
  background:var(--chrome); color:var(--chrome-ink);
  font-size:13.5px; font-weight:600; padding:9px 16px;
}
.mw-ask-field{
  background:var(--surface); border:1.5px solid var(--line-2);
  display:flex; align-items:center; gap:10px;
  padding:6px 6px 6px 20px; transition:border-color .15s;
}
.mw-ask-field input{
  flex:1; border:none; outline:none; background:none;
  font-family:var(--sans); font-size:17px; color:var(--ink);
  min-height:50px; min-width:0;
}
.mw-ask-send{
  width:50px; height:50px; flex:none; border:none; cursor:pointer;
  background:var(--blue); color:var(--on-accent);
  display:flex; align-items:center; justify-content:center;
}
.mw-ask-send:hover{ background:var(--navy); }
.mw-btn-primary{
  min-height:44px; padding:0 18px; border:none; cursor:pointer;
  background:var(--blue); color:var(--on-accent);
  font-size:var(--text-md); font-weight:600; border-radius:var(--r-control);
}
.mw-btn-primary:hover{ background:var(--navy); }
.mw-h2{
  margin:0; font-size:var(--text-xl); font-weight:700;
  letter-spacing:-.02em; line-height:1.15; color:var(--ink);
  font-variation-settings:var(--wdth-head-fvs);
}
body.mw-app[data-view="ask"] .mw-title-screen,
body.mw-app main[data-screen-label="Home"] .mw-title-screen{
  font-size:var(--text-2xl) !important;
}
.mw-body{ font-size:16px; color:var(--ink-2); }
.mw-muted{ font-size:14.5px; color:var(--ink-3); }
.mw-dialog{
  width:420px; max-width:100%; background:var(--surface);
  box-shadow:0 20px 50px rgba(10,42,67,.3); padding:26px;
}
.mw-dialog h2{ color:var(--navy); }
.mw-dialog-close{
  width:44px; height:44px; flex:none; border:none;
  background:var(--tint); cursor:pointer; color:var(--navy); font-size:22px; line-height:1;
}
.mw-org-btn{
  display:flex; align-items:center; gap:12px; width:100%; min-height:50px;
  padding:8px 14px; border:1px solid var(--line-2); background:var(--surface);
  cursor:pointer; text-align:left;
}
.mw-org-btn:hover{ border-color:var(--blue); background:var(--tint); }

/* Expandable activity rows */
details.mw-act-expand{
  border-bottom:1px solid var(--line);
}
details.mw-act-expand > summary{
  list-style:none; cursor:pointer; padding:16px 0;
  display:grid; grid-template-columns:minmax(0,2.2fr) minmax(0,1.1fr);
  gap:8px 18px; align-items:baseline;
}
details.mw-act-expand > summary::-webkit-details-marker{ display:none; }
details.mw-act-expand > summary .mw-act-title{
  display:block; border:none; background:none; padding:0; cursor:pointer;
  font-size:19px; font-weight:700; letter-spacing:-.015em; color:var(--ink);
  margin-top:3px; line-height:1.25; text-align:left; font-family:var(--sans);
}
details.mw-act-expand > summary .mw-act-title:hover{ color:var(--blue); }
details.mw-act-expand > summary .mw-act-impact{
  display:block; font-size:15px; color:var(--ink-2); margin-top:2px;
}
details.mw-act-expand > summary .mw-act-loc{
  font-size:14.5px; color:var(--ink-2);
}
details.mw-act-expand > summary .mw-act-loc span{ display:block; color:var(--ink-3); margin-top:2px; }
details.mw-act-expand > summary::after{
  content:""; width:8px; height:8px; justify-self:end; align-self:center;
  border-right:2px solid var(--ink-3); border-bottom:2px solid var(--ink-3);
  transform:rotate(-45deg); transition:transform .16s var(--ease);
  grid-column:2; grid-row:1 / span 2;
}
details.mw-act-expand[open] > summary::after{ transform:rotate(45deg); }
details.mw-act-expand .mw-act-more{
  padding:0 0 18px; font-size:14px; color:var(--ink-2);
  display:grid; gap:10px; max-width:70ch;
}
details.mw-act-expand .mw-act-more .lab{
  display:block; font-size:11px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-3);
}
details.mw-act-expand .mw-act-more a{ font-weight:600; }
@media (max-width:720px){
  details.mw-act-expand > summary{
    grid-template-columns:1fr auto; gap:6px;
  }
  details.mw-act-expand > summary::after{ grid-column:2; grid-row:1; }
  details.mw-act-expand > summary .mw-act-loc{ grid-column:1; }
}

/* Evidence drawers on CIP answer / detail */
details.mw-ev-drawer{
  margin-top:28px; border-top:1px solid var(--line);
}
details.mw-ev-drawer > summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; gap:10px;
  min-height:52px; padding:12px 0;
  font-size:clamp(20px,2.2vw,26px); font-weight:600;
  letter-spacing:-.02em; color:var(--navy);
  font-variation-settings:var(--wdth-head-fvs);
}
details.mw-ev-drawer > summary::-webkit-details-marker{ display:none; }
details.mw-ev-drawer > summary::before{
  content:""; width:8px; height:8px; flex:none;
  border-right:2px solid var(--navy); border-bottom:2px solid var(--navy);
  transform:rotate(-45deg); transition:transform .16s var(--ease);
}
details.mw-ev-drawer[open] > summary::before{ transform:rotate(45deg); }
details.mw-ev-drawer .mw-ev-note{ display:block; margin:0 0 8px; font-size:13.5px; color:var(--ink-3); }

/* Focus vs Full — aggressive chrome hide (Dev reference) */
body[data-layout="focus"] .mw-focus-hide{ display:none !important; }
body[data-layout="full"] .mw-focus-only{ display:none !important; }
body[data-layout="focus"][data-view="ask"] .home-extra{ display:none !important; }
body[data-layout="focus"][data-view="ask"] .home-hero-extra{ display:none !important; }
body[data-layout="focus"] #about,
body[data-layout="focus"] #accessibility{ display:none !important; }
body[data-layout="focus"][data-view="answer"] .mw-ev-drawer:not([open]) .mw-drawer-hint,
body[data-layout="focus"] footer .mw-focus-hide{ display:none !important; }
body[data-layout="focus"] .mw-masthead .svc-nav{ opacity:.72; }
body[data-layout="focus"][data-view="answer"] .mw-ask-sticky,
body[data-layout="focus"][data-view="detail"] .mw-ask-sticky,
body[data-layout="focus"][data-view="refusal"] .mw-ask-sticky{ top:0; }
body[data-layout="focus"][data-view="answer"] .mw-masthead,
body[data-layout="focus"][data-view="detail"] .mw-masthead,
body[data-layout="focus"][data-view="refusal"] .mw-masthead{
  /* slim masthead in focus answer flows */
}
body[data-layout="focus"][data-view="answer"] .mw-masthead .readmode,
body[data-layout="focus"][data-view="detail"] .mw-masthead .svc-nav,
body[data-layout="focus"][data-view="refusal"] .mw-masthead .svc-nav{
  /* keep layout toggle; hide secondary nav on answer */
}
body[data-layout="focus"][data-view="answer"] .svc-nav,
body[data-layout="focus"][data-view="detail"] .svc-nav,
body[data-layout="focus"][data-view="refusal"] .svc-nav{
  display:none !important;
}
body[data-layout="focus"][data-view="answer"] .mw-brand-tag,
body[data-layout="focus"][data-view="detail"] .mw-brand-tag,
body[data-layout="focus"][data-view="refusal"] .mw-brand-tag{
  display:none !important;
}

/* Access panel (Dev pattern) */
.access{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px;
}
.access .lbl{
  font-family:var(--mono) !important; font-size:10.5px; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.55);
}
.access .grp{ display:inline-flex; gap:4px; }
.access button{
  display:inline-flex; align-items:center; justify-content:center; gap:5px;
  min-height:36px; min-width:36px; padding:0 10px;
  border:1px solid rgba(255,255,255,.26); background:transparent;
  color:rgba(255,255,255,.84); font-family:var(--mono) !important;
  font-size:11px; font-weight:500; letter-spacing:.06em; text-transform:uppercase;
  cursor:pointer;
}
.access button:hover{ border-color:rgba(255,255,255,.6); color:#fff; }
.access button[aria-pressed="true"]{ background:#fff; border-color:#fff; color:#0F1012; }
.access .sep{ width:1px; height:16px; background:rgba(255,255,255,.26); }
.access .sw{
  width:11px; height:11px; flex:none;
  background:linear-gradient(135deg,#fff 50%, #0F1012 50%);
  border:1px solid rgba(255,255,255,.5);
}
.access button[aria-pressed="true"] .sw{ border-color:#0F1012; }
.access .a-sm{ font-size:10px; } .access .a-lg{ font-size:14px; }

.access-fab{
  position:fixed; right:14px; bottom:14px; z-index:120;
  display:inline-flex; align-items:center; gap:8px;
  min-height:44px; padding:0 14px;
  background:var(--ink); color:var(--surface); border:1px solid var(--ink);
  font-family:var(--mono) !important; font-size:11px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase;
  box-shadow:0 6px 20px rgba(15,16,18,.26); cursor:pointer;
}
.access-fab:hover{ filter:brightness(1.08); }
.access-fab svg{ width:17px; height:17px; }
@media (max-width:759px){
  .access-fab{ bottom:calc(16px + env(safe-area-inset-bottom,0px)); }
}

.access-panel[hidden]{ display:none; }
.access-panel{
  position:fixed; right:14px; z-index:121;
  bottom:66px; width:min(320px, calc(100vw - 28px));
  background:var(--ink); color:#fff; border:1px solid var(--ink);
  box-shadow:0 18px 48px rgba(15,16,18,.4);
  padding:18px 18px 16px;
}
@media (max-width:759px){
  .access-panel{ bottom:calc(72px + env(safe-area-inset-bottom,0px)); }
}
.access-panel h2{
  font-size:14px; font-weight:700; letter-spacing:-.01em; color:#fff;
  font-variation-settings:var(--wdth-head-fvs);
}
.access-panel p{ margin-top:6px; font-size:12.5px; color:rgba(255,255,255,.66); line-height:1.5; }
.access-panel .access{ margin-top:14px; flex-direction:column; align-items:stretch; gap:10px; }
.access-panel .access .row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.access-panel .access .sep{ display:none; }
.access-panel .access .grp{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:4px; }
.access-panel .access .row > span{
  font-size:12.5px; color:rgba(255,255,255,.84); text-transform:none;
  font-family:var(--sans) !important; letter-spacing:0;
}
.access-panel .close{
  position:absolute; top:10px; right:10px; width:32px; height:32px;
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.7); border:none; background:none; cursor:pointer;
}
.access-panel .close:hover{ color:#fff; }
.access-panel :focus-visible{ outline-color:#fff !important; }

/* Footer */
footer, .sitefoot{
  background:var(--chrome) !important;
  color:var(--chrome-ink) !important;
  margin-top:var(--sp-8);
}
footer a{ color:rgba(255,255,255,.85) !important; }
footer :focus-visible{ outline-color:#fff !important; }

/* Trust chrome theme hooks */
.mw-titleblock{
  background:var(--canvas-2) !important;
  border-top-color:var(--line-2) !important;
}
.mw-titleblock > div{ border-left-color:var(--line) !important; }
.mw-titleblock dt{ color:var(--ink-3) !important; }
.mw-titleblock dd{ color:var(--ink) !important; }
.mw-refusal, .mw-answer-lede, .mw-answer-sub{ color:var(--ink-2); }
.mw-refusal .lede{ color:var(--ink); }
.mw-sources{ border-color:var(--line) !important; background:var(--surface) !important; }
.mw-callout{ border-color:var(--line-2) !important; }
.mw-ev h2{ color:var(--navy) !important; }

/* Empty / loading */
.mw-empty{
  padding:28px 20px; border:1px dashed var(--line-2);
  background:var(--canvas-2); color:var(--ink-2);
  font-size:15px; line-height:1.5; text-align:center;
}
.mw-empty strong{ display:block; color:var(--navy); margin-bottom:6px; font-size:16px; }
.mw-loading{
  display:flex; align-items:center; gap:10px; padding:16px 0;
  color:var(--ink-3); font-size:14.5px;
}
.mw-loading::before{
  content:""; width:16px; height:16px;
  border:2px solid var(--line-2); border-top-color:var(--blue);
  border-radius:50%; animation:mw-spin .7s linear infinite;
}
@keyframes mw-spin{ to{ transform:rotate(360deg); } }
@keyframes rise{ from{ opacity:0; transform:translateY(7px); } to{ opacity:1; transform:none; } }

/* CTAs */
.mw-cta-primary{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:50px; padding:0 26px;
  background:var(--blue); color:#fff !important;
  font-size:16px; font-weight:600; text-decoration:none !important;
  border:none; cursor:pointer;
}
.mw-cta-primary:hover{ background:var(--navy); color:#fff !important; }
.mw-cta-secondary{
  display:inline-flex; align-items:center; min-height:var(--touch);
  font-size:15.5px; font-weight:600; color:var(--blue);
  text-decoration:underline; text-underline-offset:4px;
  text-decoration-color:var(--line-2); background:none; border:none; cursor:pointer;
}

/* Page shell for companions */
.mw-page-header{
  background:var(--surface) !important;
  border-bottom:1px solid var(--line) !important;
  position:sticky; top:0; z-index:1200;
}

/* Responsive */
@media (max-width:720px){
  .mw-act-row{
    grid-template-columns:1fr !important;
    gap:6px !important;
  }
  iframe[title*="Map preview"],
  a[aria-label="Open the activity map"] iframe{ height:280px !important; }
  #askbox{
    position:sticky; bottom:max(12px, env(safe-area-inset-bottom));
    z-index:40; box-shadow:0 8px 24px rgba(15,16,18,.14) !important;
  }
  main[data-screen-label="Home"] .ask-cover #askbox,
  main[data-screen-label="Home"] .cover #askbox{
    position:static; box-shadow:0 8px 28px rgba(0,0,0,.22) !important;
  }
  .stage{ flex-direction:column; }
  #map:not(.mw-fast-section){ min-height:320px !important; }
  .panel{ max-width:none; min-width:0 !important; }
}
@media (max-width:480px){
  #map:not(.mw-fast-section){ min-height:260px !important; }
  h1{ font-size:clamp(26px,8vw,36px) !important; }
}

@supports (padding:env(safe-area-inset-bottom)){
  body{
    padding-left:env(safe-area-inset-left);
    padding-right:env(safe-area-inset-right);
  }
  footer{ padding-bottom:env(safe-area-inset-bottom); }
}

/* High contrast borders */
html[data-contrast="high"] #askbox,
html[data-contrast="high"] .mw-titleblock,
html[data-contrast="high"] .card,
html[data-contrast="high"] .sbox{ border-width:2px !important; }

/* Kill glass / gradient AI chrome if any slipped in */
.glass, .gradient-text, [class*="sparkle"]{
  background:var(--surface) !important;
  backdrop-filter:none !important;
  -webkit-background-clip:initial !important;
  color:var(--ink) !important;
}

/* Safety-net remaps for any remaining inline hex (prefer tokenized markup) */
html[data-theme="dark"] h1[style*="#0A2A43"],
html[data-theme="dark"] h2[style*="#0A2A43"],
html[data-theme="dark"] [style*="color:#0A2A43"]{
  color:var(--navy) !important;
}
html[data-theme="dark"] [style*="color:#111827"],
html[data-theme="dark"] [style*="color:#0F1012"]{
  color:var(--ink) !important;
}
html[data-theme="dark"] [style*="color:#334155"]{
  color:var(--ink-2) !important;
}
html[data-theme="dark"] [style*="color:#64748B"]{
  color:var(--ink-3) !important;
}
html[data-theme="dark"] [style*="background:#FFFFFF"],
html[data-theme="dark"] [style*="background:#FFF"]{
  background:var(--surface) !important;
}
html[data-theme="dark"] [style*="border:1px solid #E2E8EE"],
html[data-theme="dark"] [style*="border-bottom:1px solid #E2E8EE"],
html[data-theme="dark"] [style*="border-top:1px solid #E2E8EE"],
html[data-theme="dark"] [style*="border:1.5px solid #C9D4DD"],
html[data-theme="dark"] [style*="border-top:1px solid #111827"]{
  border-color:var(--line) !important;
}
html[data-theme="dark"] header[data-screen-label="Header"],
html[data-theme="dark"] .mw-page-header,
html[data-theme="dark"] header{
  background:var(--surface) !important;
  border-bottom-color:var(--line) !important;
}
/* Cover actions: light links on chrome navy (both themes) */
.cover a, .ask-cover a,
.cover .mw-link-btn, .ask-cover .mw-link-btn,
.cover button.mw-link-btn, .ask-cover button.mw-link-btn{
  color:#B8D4EA !important;
  text-decoration-color:rgba(255,255,255,.35) !important;
}
.cover .home-hero-extra button,
.ask-cover .home-hero-extra button{
  color:#D6E8F5 !important;
  text-decoration-color:rgba(255,255,255,.35) !important;
}
.cover h1, .ask-cover h1{ color:var(--chrome-ink) !important; }


/* ═══════════════════════════════════════════════════════════════
   WOW pass — editorial cover, magazine answer, featured density
   ═══════════════════════════════════════════════════════════════ */

/* Editorial photographic cover */
.cover, .ask-cover{
  position:relative;
  background:#0A2A43;
  color:#fff;
  overflow:hidden;
  min-height:clamp(420px, 68vh, 640px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  transition:min-height .42s var(--ease), background-color .3s var(--ease);
}
.cover-photo{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center 42%;
  opacity:.92;
  filter:grayscale(.18) contrast(.98) saturate(.92);
  transform:scale(1.02);
  transition:opacity .42s var(--ease), filter .42s var(--ease);
}
.cover::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    linear-gradient(105deg, rgba(10,42,67,.96) 0%, rgba(10,42,67,.9) 34%, rgba(10,42,67,.62) 52%, rgba(10,42,67,.28) 72%, rgba(10,42,67,.18) 100%),
    linear-gradient(180deg, rgba(10,42,67,.35) 0%, rgba(10,42,67,.18) 38%, rgba(10,42,67,.88) 100%);
}
.cover-in, .ask-cover > .cover-in{
  position:relative; z-index:2;
  max-width:var(--max); width:100%; margin:0 auto;
  padding:clamp(56px,9vw,96px) clamp(16px,4vw,48px) clamp(28px,4vw,40px);
  transition:padding .36s var(--ease);
}
.cover h1, .ask-cover h1{
  color:#fff !important;
  font-size:clamp(36px,6vw,64px) !important;
  font-weight:750;
  line-height:1.02 !important;
  letter-spacing:-.032em !important;
  font-variation-settings:var(--wdth-display-fvs);
  max-width:14ch;
  text-shadow:0 1px 22px rgba(10,42,67,.55);
  text-wrap:balance;
}
.cover .sub, .ask-cover .cover-sub{
  margin-top:18px !important;
  font-size:clamp(16px,1.55vw,19px) !important;
  color:rgba(255,255,255,.92) !important;
  max-width:44ch;
  line-height:1.5;
  text-shadow:0 1px 14px rgba(10,42,67,.65);
}
.cover-credit{
  position:relative; z-index:2;
  max-width:var(--max); width:100%; margin:0 auto;
  padding:0 clamp(16px,4vw,48px) 14px;
  font-family:var(--mono) !important;
  font-size:10.5px; letter-spacing:.07em; text-transform:uppercase;
  color:rgba(255,255,255,.48);
  transition:opacity .28s var(--ease);
}
.cover-credit .what{ color:rgba(255,255,255,.62); letter-spacing:.04em; text-transform:none; font-size:11px; }
.cover .cover-actions button,
.ask-cover .cover-actions button{
  color:#D6E8F5 !important;
}
.cover .cover-actions button:hover,
.ask-cover .cover-actions button:hover{
  color:#fff !important;
}

/* Cover collapse → sticky ask */
body.has-thread .cover,
body.has-thread .ask-cover{
  min-height:0;
}
body.has-thread .cover-photo{ opacity:.22; filter:grayscale(.4) contrast(.9); }
body.has-thread .cover h1,
body.has-thread .ask-cover h1,
body.has-thread .cover .sub,
body.has-thread .ask-cover .cover-sub,
body.has-thread .cover .chips,
body.has-thread .ask-cover [data-i18n="popular"],
body.has-thread .home-hero-extra,
body.has-thread .cover-credit,
body.has-thread .cover-actions{
  display:none !important;
}
body.has-thread .cover-in,
body.has-thread .ask-cover > .cover-in{
  padding:12px clamp(16px,4vw,48px) !important;
}
body.has-thread .cover #askbox,
body.has-thread .ask-cover #askbox{
  margin-top:0 !important;
  max-width:760px;
  box-shadow:none !important;
}

/* Sticky ask — dark editorial bar matching collapsed cover */
.mw-ask-sticky{
  background:var(--chrome) !important;
  border-bottom:1px solid rgba(255,255,255,.12) !important;
  padding:10px clamp(16px,4vw,48px);
  animation:mw-sticky-in .32s var(--ease) both;
}
@keyframes mw-sticky-in{
  from{ opacity:0; transform:translateY(-6px); }
  to{ opacity:1; transform:none; }
}
.mw-ask-sticky #askbox-sticky,
.mw-ask-sticky .ask-field{
  background:rgba(255,255,255,.96) !important;
  border:1px solid transparent !important;
}
.mw-ask-sticky .send{
  background:var(--blue) !important;
  color:#fff !important;
}
.mw-ask-sticky .send:hover{ background:#fff !important; color:var(--chrome) !important; }
html[data-theme="dark"] .mw-ask-sticky .ask-field{
  background:var(--surface) !important;
  border-color:var(--line-2) !important;
}

/* Answer / refusal / detail enter */
main[data-screen-label="CIP answer"],
main[data-screen-label="Refusal"],
main[data-screen-label="Project detail"]{
  animation:mw-doc-rise .36s var(--ease) both;
}
@keyframes mw-doc-rise{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:none; }
}

/* Drawer open motion — height via grid 0fr/1fr pattern on details content */
details.mw-ev-drawer,
details.mw-drawer,
details.mw-act-expand{
  transition:border-color .2s var(--ease);
}
details.mw-ev-drawer[open] > summary::before,
details.mw-drawer[open] > summary::before,
details.mw-act-expand[open] > summary::after{
  transition:transform .22s var(--ease);
}
details.mw-ev-drawer .mw-tl,
details.mw-ev-drawer .mw-impact,
details.mw-ev-drawer .mw-facts,
details.mw-drawer-body,
details.mw-act-expand .mw-act-more{
  animation:mw-pane-fade .28s var(--ease) both;
}
@keyframes mw-pane-fade{
  from{ opacity:0; transform:translateY(4px); }
  to{ opacity:1; transform:none; }
}

/* Magazine answer panes */
.mw-answer-doc{
  max-width:820px;
  margin-top:22px;
}
.mw-answer-kicker{
  font-size:12.5px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--ink-3);
}
.mw-answer-asked{
  margin:8px 0 0; font-size:17px; font-weight:600;
  color:var(--navy); letter-spacing:-.014em; line-height:1.35;
}
.mw-answer-doc > h1{
  margin:20px 0 0;
  font-size:clamp(30px,3.8vw,44px);
  font-weight:750; letter-spacing:-.032em; line-height:1.06;
  color:var(--navy); font-variation-settings:var(--wdth-display-fvs);
  max-width:22ch;
}
.mw-pane-tabs{
  display:flex; gap:2px; flex-wrap:wrap;
  margin:22px 0 0; padding:3px;
  background:var(--canvas-2); border:1px solid var(--line);
}
.mw-pane-tab{
  min-height:40px; padding:0 14px; border:none; cursor:pointer;
  background:transparent; color:var(--ink-2);
  font-size:13.5px; font-weight:600; letter-spacing:-.01em;
  font-family:var(--sans) !important;
}
.mw-pane-tab:hover{ color:var(--ink); }
.mw-pane-tab[aria-selected="true"]{
  background:var(--surface); color:var(--ink);
  box-shadow:0 1px 2px rgba(15,16,18,.08), 0 0 0 1px rgba(15,16,18,.06);
}
html[data-theme="dark"] .mw-pane-tab[aria-selected="true"]{
  box-shadow:0 0 0 1px var(--line-2);
}
.mw-card-pane{
  padding:8px 0 4px;
  animation:mw-pane-fade .26s var(--ease) both;
}
.mw-card-pane[hidden]{ display:none !important; }
body[data-layout="full"] .mw-pane-tabs{ display:none; }
body[data-layout="full"] .mw-card-pane{
  border-top:1px solid var(--line);
  padding-top:22px; margin-top:18px;
  animation:none;
}
body[data-layout="full"] .mw-card-pane:first-of-type{
  border-top:none; margin-top:0; padding-top:8px;
}
body[data-layout="full"] .mw-card-pane .mw-pane-heading{
  display:block;
  font-size:clamp(20px,2.2vw,26px); font-weight:600;
  letter-spacing:-.02em; color:var(--navy);
  margin:0 0 12px; font-variation-settings:var(--wdth-head-fvs);
}
body[data-layout="focus"] .mw-card-pane .mw-pane-heading{ display:none; }

/* In pane mode, evidence drawers lose chevron chrome — content is the pane */
.mw-card-pane details.mw-ev-drawer{
  margin-top:0; border-top:none;
}
.mw-card-pane details.mw-ev-drawer > summary{
  display:none;
}
.mw-card-pane details.mw-ev-drawer[open] > *:not(summary),
.mw-card-pane details.mw-ev-drawer > *:not(summary){
  display:block;
}
/* Force open content visible even if details not open attribute in focus tabs */
.mw-card-pane .mw-pane-body{ display:block; }

/* Featured happening */
.mw-featured{
  max-width:var(--max); margin:0 auto;
  padding:clamp(36px,5vw,56px) clamp(16px,4vw,48px) 0;
}
.mw-featured-head{
  display:flex; align-items:baseline; gap:16px; flex-wrap:wrap;
  margin-bottom:18px;
}
.mw-featured-head h2{
  margin:0; font-size:clamp(27px,3vw,38px); font-weight:600;
  letter-spacing:-.024em; color:var(--navy);
  font-variation-settings:var(--wdth-head-fvs);
}
.mw-feat-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(14px,2vw,22px);
}
@media (max-width:820px){
  .mw-feat-grid{ grid-template-columns:1fr; }
}
.mw-feat-lead, .mw-feat-card{
  position:relative; display:block; text-decoration:none; color:inherit;
  background:var(--surface); border:1px solid var(--line);
  overflow:hidden; cursor:pointer;
  transition:border-color .18s var(--ease), transform .22s var(--ease);
}
.mw-feat-lead:hover, .mw-feat-card:hover{
  border-color:var(--ink);
}
.mw-feat-lead .plate, .mw-feat-card .plate{ margin:0; }
.mw-feat-lead img, .mw-feat-card img{
  display:block; width:100%; height:auto;
  aspect-ratio:16/10; object-fit:cover;
  background:var(--canvas-2);
  filter:grayscale(.08) contrast(.97);
}
.mw-feat-card img{ aspect-ratio:16/11; }
.mw-feat-lead .body, .mw-feat-card .body{
  padding:16px 18px 18px;
}
.mw-feat-lead .k, .mw-feat-card .k{
  font-family:var(--mono) !important;
  font-size:10.5px; font-weight:500; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-3);
}
.mw-feat-lead strong, .mw-feat-card strong{
  display:block; margin-top:6px;
  font-size:clamp(18px,2vw,22px); font-weight:700;
  letter-spacing:-.02em; line-height:1.2; color:var(--ink);
}
.mw-feat-lead p, .mw-feat-card p{
  margin:8px 0 0; font-size:14.5px; color:var(--ink-2); line-height:1.45;
  max-width:48ch;
}
.mw-feat-stack{ display:grid; gap:clamp(14px,2vw,22px); }
.plate figcaption{
  display:flex; flex-wrap:wrap; gap:6px 14px; align-items:baseline;
  padding:8px 12px; font-size:11px; color:var(--ink-3);
  border-top:1px solid var(--line); background:var(--canvas);
  font-family:var(--mono) !important; letter-spacing:.04em;
}
.plate figcaption .what{ color:var(--ink-2); letter-spacing:0; font-family:var(--sans) !important; font-size:12px; }

/* Premium expandable rows */
details.mw-act-expand{
  border-bottom:1px solid var(--line);
  transition:background .18s var(--ease);
}
details.mw-act-expand:hover{ background:var(--canvas-2); }
details.mw-act-expand > summary{ padding:18px 8px 18px 0; }
details.mw-act-expand > summary .mw-act-title{
  font-size:clamp(17px,1.7vw,20px);
  font-variation-settings:var(--wdth-head-fvs);
}
details.mw-act-expand[open]{
  background:var(--surface);
  box-shadow:inset 3px 0 0 var(--blue);
  padding-left:10px;
}
details.mw-act-expand .mw-act-more{
  padding:4px 0 22px 0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:14px 20px; max-width:none;
}

/* Elevated refusal */
.mw-refusal{
  max-width:720px; margin-top:28px;
  padding:28px 0 8px;
  border-top:3px solid var(--ink);
}
.mw-refusal .mw-asked{
  font-size:12px; font-weight:700; letter-spacing:.09em;
  text-transform:uppercase; color:var(--ink-3); margin:0;
}
.mw-refusal .mw-asked-q{
  margin:10px 0 0;
  font-size:clamp(22px,2.8vw,30px); font-weight:700;
  letter-spacing:-.024em; line-height:1.2; color:var(--navy);
  font-variation-settings:var(--wdth-head-fvs);
}
.mw-refusal .lede{
  margin:22px 0 0;
  font-size:clamp(18px,1.8vw,21px); font-weight:600;
  letter-spacing:-.016em; line-height:1.35; color:var(--ink) !important;
  max-width:36ch;
}
.mw-refusal .sub{
  margin:14px 0 0; font-size:15.5px; color:var(--ink-2);
  line-height:1.55; max-width:58ch;
}
.mw-refusal .mw-titleblock{ margin-top:28px; }
.mw-empty{
  padding:40px 28px; border:1px solid var(--line);
  background:var(--surface); text-align:left;
  position:relative;
}
.mw-empty::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--navy);
}
.mw-empty strong{
  font-size:clamp(18px,2vw,22px); letter-spacing:-.02em;
  font-variation-settings:var(--wdth-head-fvs);
}

/* Companion hero strip */
.mw-companion-hero{
  position:relative; overflow:hidden;
  background:var(--chrome); color:#fff;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.mw-companion-hero img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; opacity:.35; filter:grayscale(.25);
}
.mw-companion-hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(10,42,67,.94) 0%, rgba(10,42,67,.78) 55%, rgba(10,42,67,.45) 100%);
}
.mw-companion-hero-in{
  position:relative; z-index:1;
  max-width:1360px; margin:0 auto;
  padding:28px clamp(20px,4vw,48px) 26px;
}
.mw-companion-hero h1{
  margin:0; color:#fff !important;
  font-size:clamp(26px,3.2vw,38px); font-weight:700;
  letter-spacing:-.028em; line-height:1.05;
  font-variation-settings:var(--wdth-display-fvs);
  max-width:18ch;
}
.mw-companion-hero .sub{
  margin:8px 0 0; color:rgba(255,255,255,.82) !important;
  font-size:15.5px; max-width:52ch;
}

/* High contrast: no photo reliance */
html[data-contrast="high"] .cover-photo,
html[data-contrast="high"] .mw-companion-hero img,
html[data-contrast="high"] .mw-feat-lead img,
html[data-contrast="high"] .mw-feat-card img{
  opacity:0 !important;
}
html[data-contrast="high"] .cover::after,
html[data-contrast="high"] .mw-companion-hero::after{
  background:var(--ink) !important;
}
html[data-contrast="high"] .cover,
html[data-contrast="high"] .ask-cover,
html[data-contrast="high"] .mw-companion-hero{
  background:var(--ink) !important;
}

/* Reduced motion — kill wow animations */
@media (prefers-reduced-motion:reduce){
  .cover, .ask-cover, .cover-photo, .cover-in,
  .mw-ask-sticky, main[data-screen-label="CIP answer"],
  main[data-screen-label="Refusal"], main[data-screen-label="Project detail"],
  .mw-card-pane, details.mw-ev-drawer .mw-tl,
  details.mw-act-expand .mw-act-more{
    animation:none !important; transition:none !important;
  }
}
html[data-motion="reduce"] .cover,
html[data-motion="reduce"] .ask-cover,
html[data-motion="reduce"] .cover-photo,
html[data-motion="reduce"] .mw-ask-sticky,
html[data-motion="reduce"] main[data-screen-label="CIP answer"],
html[data-motion="reduce"] main[data-screen-label="Refusal"],
html[data-motion="reduce"] main[data-screen-label="Project detail"],
html[data-motion="reduce"] .mw-card-pane{
  animation:none !important; transition:none !important;
}


/* ═══════════════════════════════════════════════════════════════
   APP SHELL — modern webapp chrome (not a marketing site)
   ═══════════════════════════════════════════════════════════════ */

:root{
  --app-top:56px;
  --app-tab:64px;
  /* Inner screens: tight app type (one strong home title only) */
  --title-screen:var(--text-xl);
  --title-section:var(--text-lg);
  --title-card:var(--text-base);
  --body:var(--text-base);
  --caption:var(--text-sm);
  --row-h:56px;
  --card-pad:var(--space-4);
  --section-gap:var(--space-5);
}

body.mw-app{
  background:var(--canvas);
  padding-bottom:calc(var(--app-tab) + env(safe-area-inset-bottom,0px));
  min-height:100dvh;
}
body.mw-app #movewpb-prototype-banner{
  font-size:12px; padding:8px 12px; text-align:left;
}

/* Fixed app top bar */
body.mw-app .mw-appbar,
body.mw-app .mw-masthead{
  position:sticky; top:0; z-index:80;
  background:var(--surface) !important;
  border-bottom:1px solid var(--line) !important;
  backdrop-filter:none;
}
.mw-appbar-in, body.mw-app .mw-masthead-in{
  max-width:720px; margin:0 auto;
  min-height:var(--app-top);
  padding:0 12px;
  display:flex; align-items:center; gap:8px;
  flex-wrap:nowrap;
}
.mw-brand-btn{
  display:inline-flex; align-items:center; gap:8px;
  border:none; background:none; padding:8px 4px; cursor:pointer;
  min-height:44px; flex:none;
  text-decoration:none; color:inherit;
}
.mw-brand-btn img{ height:26px; width:auto; display:block; }
body.mw-app .mw-brand-tag{
  font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-3); border-left:1px solid var(--line); padding-left:8px;
  line-height:1.2; display:none;
}
@media (min-width:560px){ body.mw-app .mw-brand-tag{ display:block; } }

/* Desktop top tabs (hide on small — bottom tabbar owns nav) */
.mw-top-tabs, body.mw-app .svc-nav{
  display:none; align-items:center; gap:2px; flex:1; min-width:0;
}
@media (min-width:900px){
  body.mw-app .mw-top-tabs, body.mw-app .svc-nav{ display:flex; }
}
.mw-top-tab, body.mw-app .svc-nav button{
  min-height:36px; padding:0 12px; border:none; border-radius:var(--r-pill);
  background:transparent; color:var(--ink-2); font-size:13px; font-weight:600;
  cursor:pointer;
}
.mw-top-tab:hover, body.mw-app .svc-nav button:hover{
  background:var(--canvas-2); color:var(--ink);
}
.mw-top-tab[aria-current="page"], body.mw-app .svc-nav button[aria-current="page"]{
  background:var(--canvas-2); color:var(--ink);
  box-shadow:inset 0 0 0 1px var(--line);
}
body.mw-app .mw-nav-toggle{ display:none !important; }

body.mw-app .mw-toolbar{
  margin-left:auto; gap:6px; flex-wrap:nowrap;
}
body.mw-app .readmode{
  display:none; padding:2px; border-radius:var(--r-md); background:var(--canvas-2);
}
@media (min-width:720px){ body.mw-app .readmode{ display:inline-flex; } }
body.mw-app .readmode button{
  min-height:var(--touch); border-radius:var(--r-sm); font-size:12px;
}
body.mw-app .mw-theme-btn,
body.mw-app .mw-lang-btn{
  min-height:40px; min-width:40px; padding:0 10px;
  border-radius:var(--r-control); font-size:12px;
  background:var(--canvas-2); border:1px solid var(--line);
  color:var(--ink-2);
}
body.mw-app .mw-theme-btn:hover,
body.mw-app .mw-lang-btn:hover{
  border-color:var(--line-2); color:var(--ink); background:var(--surface);
}

/* Bottom tab bar — always on phones; also show on tablet */
.mw-tabbar{
  position:fixed; left:0; right:0; bottom:0; z-index:90;
  display:grid; grid-template-columns:repeat(4,1fr);
  height:calc(var(--app-tab) + env(safe-area-inset-bottom,0px));
  padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));
  background:var(--surface);
  border-top:1px solid var(--line);
  box-shadow:0 -8px 24px rgba(15,16,18,.06);
}
html[data-theme="dark"] .mw-tabbar{
  box-shadow:0 -8px 24px rgba(0,0,0,.35);
}
.mw-tab{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:2px; min-height:44px; text-decoration:none;
  color:var(--ink-3); font-size:11px; font-weight:600; letter-spacing:.01em;
  border-radius:var(--r-md); padding:4px 2px;
}
.mw-tab svg{ width:22px; height:22px; }
.mw-tab[aria-current="page"], .mw-tab.is-active{
  color:var(--blue); background:var(--canvas-2);
}
@media (min-width:900px){
  /* Keep tabbar for app feel even on desktop, but compact */
  .mw-tabbar{ max-width:720px; margin:0 auto; left:50%; right:auto; transform:translateX(-50%);
    border:1px solid var(--line); border-bottom:none; border-radius:var(--r-lg) var(--r-lg) 0 0; }
}

/* Screen canvas */
body.mw-app main[data-screen-label],
body.mw-app #main{
  max-width:720px !important;
  margin:0 auto !important;
  padding:12px 12px 28px !important;
}
body.mw-app main[data-screen-label="Home"]{
  padding-top:12px !important;
}

/* Hero card INSIDE the app (not full-bleed marketing) */
body.mw-app .cover,
body.mw-app .ask-cover,
.mw-screen-home{
  min-height:0 !important;
  background:transparent !important;
  color:var(--ink) !important;
  overflow:visible;
  display:block;
}
body.mw-app .cover::after,
body.mw-app .ask-cover::after,
body.mw-app .cover-photo,
body.mw-app .cover-credit{ display:none !important; }

.mw-hero-card{
  display:grid; gap:0;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  overflow:hidden;
}
.mw-hero-media{
  position:relative; height:132px; background:var(--chrome);
}
.mw-hero-media img{
  width:100%; height:100%; object-fit:cover; object-position:center 40%;
  filter:grayscale(.12) contrast(.98); display:block;
}
.mw-hero-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 20%, rgba(10,42,67,.55) 100%);
}
.mw-hero-body{ padding:14px 14px 16px; }
.mw-eyebrow{
  margin:0; font-family:var(--mono) !important;
  font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3);
}
.mw-title-screen{
  margin:6px 0 0 !important;
  font-size:var(--title-screen) !important;
  font-weight:700; letter-spacing:-.022em; line-height:1.15 !important;
  color:var(--ink) !important;
  font-variation-settings:var(--wdth-head-fvs);
  max-width:none !important;
  text-shadow:none !important;
}
.mw-lede{
  margin:8px 0 0; font-size:var(--body); color:var(--ink-2); line-height:1.45; max-width:46ch;
}
.mw-hero-body .mw-ask-field{ margin-top:14px; }
.mw-hero-actions{
  display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;
}
.mw-photo-credit{
  margin:12px 0 0; font-family:var(--mono) !important;
  font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3);
}
.mw-chip-row{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:14px;
}
.mw-chip-label{
  font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3);
}
.mw-chip{
  min-height:32px; padding:0 12px; border-radius:var(--r-pill);
  border:1px solid var(--line); background:var(--canvas-2);
  color:var(--ink); font-size:12.5px; font-weight:600; cursor:pointer;
}
.mw-chip:hover{ border-color:var(--line-2); background:var(--surface); }

/* Button system — unified radii 12px, heights 40–44 */
.mw-btn,
button.mw-btn,
a.mw-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:var(--space-2);
  min-height:44px; padding:0 var(--space-4); border-radius:var(--r-control);
  border:1px solid transparent; font-size:var(--text-md); font-weight:600;
  cursor:pointer; text-decoration:none; font-family:var(--sans) !important;
  line-height:1.2; box-sizing:border-box; transition:background .12s var(--ease), border-color .12s var(--ease), color .12s var(--ease);
}
.mw-btn-sm{ min-height:40px; padding:0 var(--space-3); font-size:13px; border-radius:10px; }
.mw-btn-icon, .mw-icon-btn{
  width:44px; height:44px; min-height:44px; padding:0;
  border-radius:var(--r-control); border:1px solid transparent;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--blue); color:var(--on-blue); cursor:pointer;
}
.mw-btn-icon:hover, .mw-icon-btn:hover{ background:var(--navy); color:var(--on-accent); }
.mw-btn-primary, a.mw-btn-primary{
  background:var(--blue); color:var(--on-blue) !important; border-color:var(--blue);
}
.mw-btn-primary:hover, a.mw-btn-primary:hover{
  background:var(--navy); border-color:var(--navy); color:var(--on-accent) !important;
}
.mw-btn-secondary, a.mw-btn-secondary, .mw-btn.is-filter-on{
  background:var(--surface); color:var(--ink); border-color:var(--line-2);
}
.mw-btn-secondary:hover, .mw-btn.is-filter-on:hover{ border-color:var(--ink); background:var(--canvas-2); }
.mw-btn-ghost, a.mw-btn-ghost{
  background:transparent; color:var(--blue); border-color:transparent;
}
.mw-btn-ghost:hover{ background:var(--canvas-2); color:var(--navy); }
.mw-btn-danger{ background:var(--alert); color:var(--on-accent); border-color:var(--alert); }

/* Companion page aliases → button system */
body.mw-app .primary,
body.mw-app a.primary{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:0 18px; border-radius:var(--r-control);
  border:1px solid var(--blue); cursor:pointer;
  background:var(--blue); color:var(--on-blue) !important;
  font-size:var(--text-md); font-weight:600; text-decoration:none;
}
body.mw-app .primary:hover{ background:var(--navy); border-color:var(--navy); color:var(--on-blue) !important; }
body.mw-app .ghost,
body.mw-app a.ghost{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:0 16px; border-radius:var(--r-control);
  border:1px solid var(--line-2); cursor:pointer;
  background:var(--surface); color:var(--ink); font-size:var(--text-md); font-weight:600;
}
body.mw-app .ghost:hover{ border-color:var(--ink); color:var(--ink); }
body.mw-app .textbtn{
  border:none; background:transparent; cursor:pointer;
  min-height:40px; padding:0 8px; border-radius:10px;
  font-size:var(--text-md); font-weight:600; color:var(--blue);
}
body.mw-app .textbtn:hover{ background:var(--canvas-2); color:var(--navy); }
body.mw-app .sbox button,
body.mw-app .mw-ask-send,
body.mw-app .mw-ask-sticky .send{
  width:44px; height:44px; min-height:44px; border-radius:var(--r-control);
  border:none; background:var(--blue); color:var(--on-blue);
}

body.mw-app .mw-ask-field,
body.mw-app #askbox{
  border-radius:var(--r-control) !important;
  border:1px solid var(--line-2) !important;
  background:var(--canvas) !important;
  box-shadow:none !important;
  padding:4px 4px 4px 14px !important;
}
body.mw-app .mw-ask-field:focus-within,
body.mw-app #askbox:focus-within{
  border-color:var(--blue) !important;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 22%, transparent) !important;
}
body.mw-app .mw-ask-send{
  border-radius:var(--r-sm); width:44px; height:44px;
  background:var(--blue); color:var(--on-blue);
}
body.mw-app .mw-ask-send:hover{ background:var(--navy); }

/* Sections as app lists */
body.mw-app .home-extra section,
body.mw-app .mw-section,
body.mw-app .mw-featured{
  max-width:none !important;
  padding:20px 0 0 !important;
  margin:0 !important;
}
.mw-section-head, .mw-featured-head{
  display:flex; align-items:baseline; gap:12px; margin-bottom:10px;
}
.mw-title-section, body.mw-app .home-extra h2, body.mw-app .mw-featured h2{
  margin:0 !important;
  font-size:var(--title-section) !important;
  font-weight:700; letter-spacing:-.018em; color:var(--ink) !important;
  font-variation-settings:var(--wdth-head-fvs);
}
body.mw-app .mw-feat-grid{
  grid-template-columns:1fr;
  gap:10px;
}
@media (min-width:640px){
  body.mw-app .mw-feat-grid{ grid-template-columns:1.2fr 1fr; }
}
body.mw-app .mw-feat-lead,
body.mw-app .mw-feat-card{
  border-radius:var(--r-md); border-color:var(--line);
  background:var(--surface); text-align:left; width:100%;
  font:inherit; padding:0; cursor:pointer;
}
body.mw-app .mw-feat-lead img,
body.mw-app .mw-feat-card img{ aspect-ratio:16/9; height:auto; max-height:140px; }
body.mw-app .mw-feat-lead .body,
body.mw-app .mw-feat-card .body{ padding:12px 14px 14px; }
body.mw-app .mw-feat-lead strong,
body.mw-app .mw-feat-card strong{
  font-size:var(--title-card); margin-top:4px;
}
body.mw-app .mw-feat-lead p,
body.mw-app .mw-feat-card p{ font-size:13px; margin-top:4px; }

/* Compact expandable rows */
body.mw-app details.mw-act-expand > summary{
  padding:12px 4px; gap:8px;
  grid-template-columns:minmax(0,1fr) auto;
}
body.mw-app details.mw-act-expand > summary .mw-act-title{
  font-size:15px; font-weight:650; letter-spacing:-.012em;
}
body.mw-app details.mw-act-expand > summary .mw-act-impact{ font-size:13px; }
body.mw-app details.mw-act-expand > summary .mw-act-loc{ font-size:12.5px; }
body.mw-app details.mw-act-expand[open]{
  border-radius:var(--r-md); box-shadow:inset 3px 0 0 var(--blue);
  background:var(--surface); padding-left:8px; margin:4px 0;
  border:1px solid var(--line);
}
body.mw-app details.mw-act-expand{ border-bottom-color:var(--line); }
body.mw-app details.mw-act-expand:hover{ background:var(--canvas-2); }

/* Answer / refusal / detail as app screens */
body.mw-app .mw-answer-doc{ max-width:none; margin-top:8px; }
body.mw-app .mw-answer-doc > h1,
body.mw-app main[data-screen-label="Project detail"] h1{
  font-size:clamp(22px,4vw,28px) !important;
  letter-spacing:-.022em !important;
  max-width:none;
}
body.mw-app .mw-pane-tabs{
  border-radius:var(--r-md); margin-top:14px;
  background:var(--canvas-2); border-color:var(--line);
}
body.mw-app .mw-pane-tab{
  border-radius:var(--r-sm); min-height:40px; font-size:13px;
}
body.mw-app .mw-titleblock{
  border-radius:var(--r-md); overflow:hidden; margin-top:14px;
}
body.mw-app .mw-refusal{
  border-top-width:2px; padding-top:16px; margin-top:12px;
}
body.mw-app .mw-refusal .mw-asked-q{
  font-size:clamp(18px,3.4vw,22px);
}
body.mw-app .mw-refusal .lede{ font-size:16px; max-width:40ch; }
body.mw-app .mw-empty{
  border-radius:var(--r-md); padding:18px 16px 18px 20px;
}

/* Sticky ask — app surface, above tabbar */
body.mw-app .mw-ask-sticky{
  position:sticky; top:var(--app-top); z-index:70;
  background:var(--surface) !important;
  border-bottom:1px solid var(--line) !important;
  padding:8px 12px;
  animation:none;
}
body.mw-app .mw-ask-sticky-in{ max-width:720px; }
body.mw-app .mw-ask-sticky .ask-field{
  background:var(--canvas) !important;
  border:1px solid var(--line-2) !important;
  border-radius:var(--r-control);
}
body.mw-app .mw-ask-sticky .send{
  background:var(--blue) !important; color:#fff !important;
  border-radius:var(--r-sm);
}
body.has-thread.mw-app{ /* keep tabbar */ }

/* Access FAB above tabbar */
body.mw-app .access-fab{
  bottom:calc(var(--app-tab) + 12px + env(safe-area-inset-bottom,0px)) !important;
}
body.mw-app .access-panel{
  bottom:calc(var(--app-tab) + 64px + env(safe-area-inset-bottom,0px)) !important;
}

/* Footer demoted in app */
body.mw-app .sitefoot, body.mw-app footer.sitefoot{
  margin-top:24px !important;
  padding-bottom:12px;
  font-size:13px;
}
body.mw-app .sitefoot > div:first-child{ padding-top:20px !important; padding-bottom:16px !important; }

/* Hide brochure-scale sections spacing / giant map preview on focus home already hidden */
body.mw-app .mw-map-frame iframe{ height:220px !important; }
body.mw-app .mw-companion-hero{
  border-radius:0; min-height:0;
}
body.mw-app .mw-companion-hero-in{ padding:16px 12px; }
body.mw-app .mw-companion-hero h1{ font-size:22px; max-width:none; }
body.mw-app .mw-companion-hero img{ opacity:.28; }

/* ── Dark mode complete app skin ── */
html[data-theme="dark"]{
  --ink:#E8EAED;
  --ink-2:#B8BEC6;
  --ink-3:#8B929A;
  --line:#2C3138;
  --line-2:#3D4450;
  --surface:#15191E;
  --canvas:#0C0F13;
  --canvas-2:#1A1F26;
  --navy:#9EC5E0;
  --blue:#6BB0E0;
  --chrome:#0A2A43;
  --footer:#030508;
  --footer-ink:#F2F4F6;
  --map-surface:#1A1F26;
  --bg:var(--canvas);
  --tint:var(--canvas-2);
  --on-blue:var(--canvas);
}
html[data-theme="dark"] body.mw-app .mw-hero-card,
html[data-theme="dark"] body.mw-app .mw-feat-lead,
html[data-theme="dark"] body.mw-app .mw-feat-card,
html[data-theme="dark"] body.mw-app details.mw-act-expand[open],
html[data-theme="dark"] body.mw-app .mw-ask-field,
html[data-theme="dark"] body.mw-app #askbox,
html[data-theme="dark"] body.mw-app .mw-empty,
html[data-theme="dark"] body.mw-app .mw-pane-tabs,
html[data-theme="dark"] body.mw-app .mw-dialog,
html[data-theme="dark"] body.mw-app .mw-sources,
html[data-theme="dark"] .mw-tabbar{
  background:var(--surface);
  border-color:var(--line);
}
html[data-theme="dark"] body.mw-app .mw-chip,
html[data-theme="dark"] body.mw-app .mw-theme-btn,
html[data-theme="dark"] body.mw-app .mw-lang-btn,
html[data-theme="dark"] body.mw-app .readmode,
html[data-theme="dark"] body.mw-app .mw-ask-field,
html[data-theme="dark"] body.mw-app #askbox,
html[data-theme="dark"] body.mw-app .mw-ask-sticky .ask-field{
  background:var(--canvas-2);
  border-color:var(--line);
  color:var(--ink);
}
html[data-theme="dark"] body.mw-app .mw-title-screen,
html[data-theme="dark"] body.mw-app .mw-title-section,
html[data-theme="dark"] body.mw-app h1,
html[data-theme="dark"] body.mw-app h2{
  color:var(--ink) !important;
}
html[data-theme="dark"] body.mw-app .mw-ask-send,
html[data-theme="dark"] body.mw-app .mw-btn-primary,
html[data-theme="dark"] body.mw-app .mw-btn-icon,
html[data-theme="dark"] body.mw-app .mw-icon-btn,
html[data-theme="dark"] body.mw-app .mw-ask-sticky .send{
  background:var(--blue) !important; color:var(--on-blue) !important;
}
html[data-theme="dark"] body.mw-app .mw-btn-secondary{
  background:var(--canvas-2); color:var(--ink); border-color:var(--line-2);
}
html[data-theme="dark"] .mw-tab[aria-current="page"],
html[data-theme="dark"] .mw-tab.is-active{
  color:var(--blue); background:var(--canvas-2);
}
html[data-theme="dark"] body.mw-app .mw-titleblock{
  background:var(--canvas-2) !important;
}
html[data-theme="dark"] body.mw-app .mw-callout{
  background:var(--canvas-2); border-color:var(--line-2);
}
html[data-theme="dark"] #movewpb-prototype-banner{
  background:var(--rom-bg) !important; color:var(--rom) !important;
}
html[data-theme="dark"] meta, /* noop */
html[data-theme="dark"] body.mw-app .sitefoot,
html[data-theme="dark"] body.mw-app footer.sitefoot,
html[data-theme="dark"] body.mw-app footer{
  background:var(--chrome) !important;
  color:var(--chrome-ink);
}

/* Kill leftover light hex on common inline patterns via token remap helpers */
html[data-theme="dark"] [style*="background:#fff"],
html[data-theme="dark"] [style*="background: #fff"],
html[data-theme="dark"] [style*="background:#FFF"],
html[data-theme="dark"] [style*="background:white"]{
  background:var(--surface) !important;
}
html[data-theme="dark"] [style*="color:#0A2A43"],
html[data-theme="dark"] [style*="color: #0A2A43"]{
  color:var(--navy) !important;
}

/* Focus home: still show featured + happening (app density), hide long brochure blocks */
body.mw-app[data-layout="focus"][data-view="ask"] .home-extra{ display:block !important; }
body.mw-app[data-layout="focus"][data-view="ask"] .home-hero-extra{ display:flex !important; }
body.mw-app[data-layout="focus"][data-view="ask"] .mw-focus-hide{ display:none !important; }
body.mw-app[data-layout="focus"][data-view="ask"] .mw-featured{ display:block !important; }
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Happening now"]{ display:block !important; }
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Around you"],
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Coming soon"],
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Report a problem"],
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Explore"]{
  display:none !important;
}

@media (prefers-reduced-motion:reduce){
  .mw-tabbar, .mw-hero-card{ transition:none !important; animation:none !important; }
}




/* ═══════════════════════════════════════════════════════════════
   Ask map filters + activity cards + explore/nearby (tokenized)
   ═══════════════════════════════════════════════════════════════ */

.mw-time-tab{
  min-height:44px; padding:0 2px; border:none; cursor:pointer;
  background:none; font-size:13px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-3); font-family:var(--sans);
}
.mw-time-tab[aria-pressed="true"]{
  color:var(--navy);
  box-shadow:inset 0 -2.5px 0 var(--blue);
}
.mw-filter-pill{
  border-radius:var(--r-pill) !important;
}
.mw-btn.mw-filter-pill[aria-pressed="true"],
.mw-filter-pill[aria-pressed="true"]{
  background:var(--surface);
  color:var(--ink);
  border-color:var(--line-2);
  font-weight:700;
}
html[data-theme="dark"] .mw-btn.mw-filter-pill[aria-pressed="true"],
html[data-theme="dark"] .mw-filter-pill[aria-pressed="true"]{
  background:var(--canvas-2);
  border-color:var(--line-2);
  color:var(--ink);
}

.mw-act-card{
  border:1px solid var(--line);
  border-radius:var(--r-md);
  padding:16px;
  background:var(--surface);
}
.mw-act-card[data-selected="true"]{ border-color:var(--blue); }
.mw-act-card-head{ display:flex; align-items:baseline; gap:10px; }
.mw-act-num{
  display:inline-flex; width:22px; height:22px; border-radius:50%;
  align-items:center; justify-content:center; font-size:12px; font-weight:700;
  flex:none; box-sizing:border-box; background:var(--surface); color:var(--blue);
  border:2.5px solid var(--blue);
}
.mw-act-num[data-time="now"]{
  background:var(--blue); color:var(--on-blue); border:none;
}
.mw-act-num[data-time="future"]{
  color:var(--status-amber); border:2px dashed var(--status-amber);
  background:var(--surface);
}
.mw-act-card-title{
  font-size:17px; font-weight:700; letter-spacing:-.014em; line-height:1.3; margin-top:6px; color:var(--ink);
}
.mw-act-card-desc{
  margin:4px 0 0; font-size:14.5px; color:var(--ink-2); line-height:1.45;
}
.mw-act-card-meta{ font-size:13.5px; color:var(--ink-2); margin-top:8px; }
.mw-act-impact-line{
  font-size:13.5px; font-weight:600; margin-top:5px; color:var(--ink-2);
}
.mw-act-impact-line[data-kind="closure"]{ color:var(--status-red); }
.mw-act-card-note{ font-size:13px; color:var(--status-amber); margin-top:5px; }
.mw-act-card-src{
  margin-top:12px; border-top:1px solid var(--line); padding-top:10px;
}
.mw-src-lab{
  display:block; font-size:11px; font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-3);
}
.mw-src-link{
  display:inline-block; font-size:14px; font-weight:600; margin-top:3px;
  text-decoration:underline; color:var(--ink);
}
.mw-src-rec{
  display:block; font-family:var(--mono); font-size:11.5px; color:var(--ink-3); margin-top:3px;
}
.mw-src-when{ display:block; font-size:12.5px; color:var(--ink-3); margin-top:2px; }
.mw-src-cta{
  display:inline-block; font-size:14px; font-weight:600; margin-top:6px;
  text-decoration:underline; color:var(--blue);
}
.mw-act-card-actions{ display:flex; gap:18px; margin-top:10px; }

.mw-explore-row{
  display:flex; align-items:baseline; gap:12px; width:100%; min-height:50px;
  padding:0; border:none; border-bottom:1px solid var(--line); background:none;
  cursor:pointer; font-size:17px; font-weight:600; color:var(--ink); text-align:left;
  font-family:var(--sans);
}
.mw-explore-row:hover{ color:var(--blue); }
.mw-explore-t{ flex:1; }
.mw-explore-n{ font-size:14px; font-weight:400; color:var(--ink-3); }

.mw-nearby-row{
  display:grid; grid-template-columns:minmax(0,1.8fr) minmax(0,1fr); gap:16px;
  width:100%; padding:14px 0; border:none; border-bottom:1px solid var(--line);
  background:none; cursor:pointer; text-align:left; align-items:baseline;
  color:var(--ink); font-family:var(--sans);
}
.mw-nearby-row:hover{ color:var(--blue); }
.mw-nearby-main{ min-width:0; }
.mw-nearby-title{
  display:block; font-size:16.5px; font-weight:700; letter-spacing:-.012em;
  margin-top:2px; color:inherit;
}
.mw-nearby-meta{ font-size:13.5px; color:var(--ink-3); }

.mw-stats{
  display:flex; margin-top:32px; border-top:1px solid var(--ink);
  border-bottom:1px solid var(--line); flex-wrap:wrap;
}
.mw-stat{ flex:1 1 160px; padding:18px 24px 18px 0; min-width:0; }
.mw-stat + .mw-stat{ border-left:1px solid var(--line); padding-left:24px; }
.mw-stat-v{
  font-size:clamp(30px,3.4vw,42px); font-weight:700; letter-spacing:-.03em;
  color:var(--navy); font-variant-numeric:tabular-nums;
}
.mw-stat-l{ font-size:14.5px; color:var(--ink-2); margin-top:2px; }

.mw-kick-lg{ font-size:12.5px; }

.mw-foot-link{
  border:none; background:none; cursor:pointer; font-size:14px;
  color:var(--on-accent); opacity:.85; padding:0; text-align:left;
  text-decoration:underline; text-underline-offset:3px; font-family:var(--sans);
}
a.mw-foot-link{ display:inline-block; }
.mw-foot-link:hover{ opacity:1; }

html[data-theme="dark"] body.mw-app .mw-act-card,
html[data-theme="dark"] body.mw-app .mw-act-card[data-selected="true"]{
  background:var(--surface);
  border-color:var(--line);
}
html[data-theme="dark"] body.mw-app .mw-act-card[data-selected="true"]{
  border-color:var(--blue);
}
html[data-theme="dark"] body.mw-app .mw-time-tab[aria-pressed="true"]{
  color:var(--navy);
}

/* ═══════════════════════════════════════════════════════════════
   UPDATES SCREEN + companion token cleanup
   ═══════════════════════════════════════════════════════════════ */

.mw-updates{ width:100%; max-width:none; margin:0; }
.mw-updates-head{ padding:var(--space-2) 0 var(--space-4); }
.mw-updates-head .mw-title-screen{ margin-top:var(--space-2) !important; }
.mw-updates-filters{
  display:flex; flex-wrap:wrap; gap:var(--space-2);
  padding:0 0 var(--space-4); position:sticky; top:var(--app-top);
  z-index:40; background:var(--canvas); padding-top:var(--space-2);
  margin:0 -2px; padding-left:2px; padding-right:2px;
}
.mw-updates-status{
  margin:0 0 var(--space-3); font-size:var(--text-sm); color:var(--ink-3);
  font-family:var(--mono) !important; letter-spacing:.04em; text-transform:uppercase;
}
.mw-updates-list{
  list-style:none; margin:0; padding:0;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--surface); overflow:hidden;
}
.mw-updates-item{
  padding:var(--space-4); border-bottom:1px solid var(--line);
  min-height:var(--row-h);
}
.mw-updates-item:last-child{ border-bottom:none; }
.mw-updates-meta{
  display:flex; flex-wrap:wrap; gap:var(--space-2) var(--space-3);
  font-family:var(--mono) !important; font-size:var(--text-xs);
  letter-spacing:.06em; text-transform:uppercase; color:var(--ink-3);
}
.mw-updates-title{
  margin:var(--space-2) 0 0 !important;
  font-size:var(--text-lg) !important; font-weight:700;
  letter-spacing:-.018em; line-height:1.25; color:var(--ink) !important;
  font-variation-settings:var(--wdth-head-fvs);
}
.mw-updates-sum{
  margin:var(--space-2) 0 0; font-size:var(--text-base);
  color:var(--ink-2); line-height:1.45; max-width:54ch;
}
.mw-updates-actions{ margin-top:var(--space-3); display:flex; flex-wrap:wrap; gap:var(--space-2); }

/* Companion pages: kill light-only panels in dark */
html[data-theme="dark"] body.mw-app .emg{
  background:var(--alert-bg) !important; border-color:var(--alert) !important; color:var(--alert) !important;
}
html[data-theme="dark"] body.mw-app .notice{
  background:var(--canvas-2) !important; color:var(--ink-2) !important; border-color:var(--line) !important;
}
html[data-theme="dark"] body.mw-app .notice.warn{
  background:var(--rom-bg) !important; color:var(--rom) !important; border-color:var(--rom) !important;
}
html[data-theme="dark"] body.mw-app .status,
html[data-theme="dark"] body.mw-app .st{
  background:var(--canvas-2) !important; color:var(--navy) !important;
}
html[data-theme="dark"] body.mw-app .st.routed{ background:color-mix(in srgb, var(--status-atl) 18%, var(--canvas-2)) !important; color:var(--status-atl) !important; }
html[data-theme="dark"] body.mw-app .st.needs{ background:var(--rom-bg) !important; color:var(--rom) !important; }
html[data-theme="dark"] body.mw-app .st.over{ background:var(--alert-bg) !important; color:var(--alert) !important; }
html[data-theme="dark"] body.mw-app .note{
  background:var(--canvas-2) !important; color:var(--ink-2) !important; border-color:var(--line) !important;
}
html[data-theme="dark"] body.mw-app .mapcol,
html[data-theme="dark"] body.mw-app .panel,
html[data-theme="dark"] body.mw-app .reqcard,
html[data-theme="dark"] body.mw-app .phone,
html[data-theme="dark"] body.mw-app .card,
html[data-theme="dark"] body.mw-app .chrome{
  background:var(--surface) !important; border-color:var(--line) !important; color:var(--ink);
}
html[data-theme="dark"] body.mw-app header:not(.mw-appbar):not(.mw-masthead){
  background:var(--surface) !important; border-color:var(--line) !important;
}
html[data-theme="dark"] body.mw-app .opts button,
html[data-theme="dark"] body.mw-app .short button,
html[data-theme="dark"] body.mw-app .radius button,
html[data-theme="dark"] body.mw-app .fbtn,
html[data-theme="dark"] body.mw-app select,
html[data-theme="dark"] body.mw-app textarea,
html[data-theme="dark"] body.mw-app input[type=text],
html[data-theme="dark"] body.mw-app input[type=email],
html[data-theme="dark"] body.mw-app input[type=tel],
html[data-theme="dark"] body.mw-app .sbox input{
  background:var(--canvas-2) !important; color:var(--ink) !important; border-color:var(--line) !important;
}
html[data-theme="dark"] body.mw-app .ttab[aria-pressed="true"],
html[data-theme="dark"] body.mw-app .tabs button[aria-pressed="true"]{
  color:var(--navy) !important;
}

/* Top tabs as anchors on companion pages */
body.mw-app .mw-top-tabs a.mw-top-tab{
  display:inline-flex; align-items:center; text-decoration:none;
}
body.mw-app .mw-link-btn{
  border:none; background:none; cursor:pointer;
  font-size:var(--text-md); font-weight:600; color:var(--blue);
  padding:6px 0; text-decoration:underline; text-underline-offset:4px;
  text-decoration-color:var(--line-2);
}
body.mw-app .mw-link-btn:hover{ color:var(--navy); }

/* Consistent section / card padding in app */
body.mw-app .mw-section,
body.mw-app .home-extra section,
body.mw-app .mw-featured{
  padding-top:var(--section-gap) !important;
}
body.mw-app .mw-feat-lead .mw-feat-body,
body.mw-app .mw-feat-card .mw-feat-body,
body.mw-app .mw-hero-body{
  padding:var(--card-pad) !important;
}
body.mw-app details.mw-act-expand > summary{
  min-height:var(--row-h); padding:var(--space-3) 0;
}
body.mw-app details.mw-act-expand > summary .mw-act-title{
  font-size:var(--text-lg) !important;
}

/* Reduce marketing clamp headlines on companions */
body.mw-app .mw-companion-hero h1,
body.mw-app main h1{
  font-size:var(--text-xl) !important;
  letter-spacing:-.02em; line-height:1.15;
  max-width:none;
}
body.mw-app main[data-screen-label="Home"] .mw-title-screen{
  font-size:var(--text-2xl) !important;
}
body.mw-app .mw-companion-hero .sub,
body.mw-app main .sub{
  font-size:var(--text-base); color:var(--ink-2);
}

/* Prototype banner: token on-accent instead of raw hex */
#movewpb-prototype-banner{ color:var(--on-accent) !important; }
html[data-theme="dark"] #movewpb-prototype-banner{ color:var(--rom) !important; }
.mw-skip{ color:var(--on-accent); }

.mw-official-note{
  margin:14px 0 0;
  padding:10px 14px;
  border:1px solid var(--line-2);
  background:var(--tint);
  font-size:13.5px;
  line-height:1.5;
  color:var(--ink-2);
}
.mw-official-note strong{ color:var(--ink); font-weight:700; }
.mw-console-link{
  font-size:13px;
  color:var(--ink-2);
  text-decoration:none;
  margin-left:8px;
}
.mw-console-link:hover{ color:var(--navy); text-decoration:underline; }

.mw-staff-gate{
  position:fixed; inset:0; z-index:80;
  background:rgba(10,42,67,.55);
  display:flex; align-items:center; justify-content:center;
  padding:24px;
}
.mw-staff-gate-card{
  max-width:420px; width:100%;
  background:var(--surface); color:var(--ink);
  border:1px solid var(--line);
  padding:28px 24px;
}
.mw-staff-gate-card h1{
  margin:0; font-size:var(--text-xl); letter-spacing:-.02em;
}
.mw-staff-gate-card p{ margin:12px 0 0; font-size:14.5px; line-height:1.5; color:var(--ink-2); }
.mw-staff-gate-roles{ display:flex; flex-direction:column; gap:8px; margin-top:18px; }
.mw-staff-gate-roles button{
  display:flex; flex-direction:column; align-items:flex-start;
  min-height:52px; padding:10px 14px; text-align:left; cursor:pointer;
}
.mw-staff-gate-org{ font-weight:600; font-size:15px; color:var(--ink); }
.mw-staff-gate-role{ font-size:13px; color:var(--ink-3); }
.mw-staff-gate-note{ font-size:12.5px !important; color:var(--ink-3) !important; }
.mw-staff-who{ font-size:12.5px; opacity:.85; margin-left:auto; }

/* ═══════════════════════════════════════════════════════════════
   PWA finish — fluid desktop, full-bleed heroes, uniform chrome
   ═══════════════════════════════════════════════════════════════ */

:root{
  --shell-max:1180px;
  --prose:72ch;
  --r-app:10px;
}
/* wide screens use the width they have (review 67); prose keeps its measure through --prose */
@media (min-width:1600px){ :root{ --shell-max:1400px; } }
@media (min-width:2200px){ :root{ --shell-max:1600px; } }

.mw-logo{
  display:inline-flex; align-items:center; height:28px;
}
.mw-logo img{
  height:22px; width:auto; max-height:22px; display:block;
}
.mw-logo-dark{ display:none !important; }
html[data-theme="dark"] .mw-logo-light{ display:none !important; }
html[data-theme="dark"] .mw-logo-dark{ display:block !important; }
html[data-theme="dark"] .mw-brand-btn > img:not(.mw-logo-light):not(.mw-logo-dark),
html[data-theme="dark"] .brand > img:not(.mw-logo-light):not(.mw-logo-dark),
html[data-theme="dark"] a.brand img:not(.mw-logo-light):not(.mw-logo-dark){
  filter: invert(1) brightness(1.08);
}
html[data-theme="dark"] .mw-sitefoot .mw-logo-light{ display:none !important; }
html[data-theme="light"] .mw-fast-mark-dark{ display:none; }
html[data-theme="dark"] .mw-fast-mark-light{ display:none; }
html[data-theme="dark"] .mw-fast-mark-dark{ display:block; }

/* Fluid app chrome — stop the 720px phone-column on desktop */
body.mw-app .mw-appbar-in,
body.mw-app .mw-masthead-in{
  max-width:var(--shell-max);
  width:100%;
  margin:0 auto;
  padding:0 clamp(16px,3.2vw,40px);
  min-height:var(--app-top);
  gap:10px 16px;
  flex-wrap:nowrap;
}
body.mw-app .mw-toolbar{
  flex-wrap:nowrap;
  gap:6px;
  min-width:0;
}
body.mw-app .mw-lang-btn,
body.mw-app .mw-theme-btn{
  white-space:nowrap;
  flex:none;
  min-width:44px;
}
body.mw-app .readmode{
  display:inline-flex !important;
  flex:none;
  white-space:nowrap;
}
@media (max-width:759px){
  body.mw-app .mw-appbar-in,
  body.mw-app .mw-masthead-in{
    flex-wrap:wrap;
    padding:4px 12px;
  }
  body.mw-app .readmode{
    order:3;
    width:100%;
  }
  body.mw-app .readmode button{ flex:1; }
}

/* Top tabs: Map · Updates · FAST · Report — desktop */
@media (min-width:760px){
  body.mw-app .mw-top-tabs,
  body.mw-app .svc-nav{
    display:flex !important;
    flex:1;
    min-width:0;
    overflow-x:auto;
    scrollbar-width:none;
  }
  body.mw-app .mw-top-tabs::-webkit-scrollbar{ display:none; }
}
body.mw-app .mw-top-tab,
body.mw-app .svc-nav button,
body.mw-app .svc-nav a.mw-top-tab{
  border-radius:var(--r-app);
  white-space:nowrap;
}

/* Bottom dock: phones only; 5 tabs */
.mw-tabbar{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
/* "Atualizações" is the longest dock label in any language: on the narrowest phones it stays inside its tab */
@media (max-width:359px){
  html[lang="pt"] .mw-tabbar .mw-tab{ font-size:10.5px; letter-spacing:0; }
}
@media (min-width:900px){
  .mw-tabbar{
    display:none !important;
    max-width:none;
    left:0; right:0; transform:none;
    border:none; border-radius:0;
  }
  body.mw-app{
    padding-bottom:0;
  }
  body.mw-app .access-fab{
    bottom:16px !important;
  }
  body.mw-app .access-panel{
    bottom:72px !important;
  }
}

/* Main uses the screen width; text stays readable */
body.mw-app main[data-screen-label],
body.mw-app #main{
  max-width:none !important;
  width:100% !important;
  margin:0 auto !important;
  padding:0 0 48px !important;
}
body.mw-app main[data-screen-label="CIP answer"],
body.mw-app main[data-screen-label="Refusal"],
body.mw-app main[data-screen-label="Project detail"],
body.mw-app main[data-screen-label="Detail"]{
  max-width:var(--shell-max) !important;
  padding:16px clamp(16px,3.2vw,40px) 48px !important;
}
body.mw-app .mw-wrap,
body.mw-app #main > .chrome,
body.mw-app #main > .col,
body.mw-app #main > .emg,
body.mw-app #main > #view,
body.mw-app #main > h1,
body.mw-app #main > .tabs,
body.mw-app #main > .stat,
body.mw-app #main > .bar,
body.mw-app .mw-updates-filters,
body.mw-app .mw-updates-status,
body.mw-app .mw-updates-list,
body.mw-app #main > section:not(.mw-bleed):not(.mw-bleed-hero):not(.mw-companion-hero):not(.mw-screen-home):not(.mw-fast-section){
  max-width:var(--shell-max);
  margin-left:auto;
  margin-right:auto;
  padding-left:clamp(16px,3.2vw,40px);
  padding-right:clamp(16px,3.2vw,40px);
}
body.mw-app .mw-lede,
body.mw-app .mw-prose,
body.mw-app .mw-refusal .lede{
  max-width:var(--prose);
}
body.mw-app .mw-ask-sticky-in{
  max-width:var(--shell-max);
  margin:0 auto;
  padding:0 clamp(16px,3.2vw,40px);
}
body.mw-app .mw-ask-sticky{ padding:8px 0; }

/* Full-bleed heroes on every device */
.mw-bleed,
.mw-bleed-hero,
body.mw-app .mw-companion-hero,
body.mw-app .mw-screen-home{
  width:100%;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  display:block;
}
.mw-bleed-hero,
body.mw-app .mw-companion-hero{
  position:relative;
  min-height:clamp(280px,42vw,520px);
  overflow:hidden;
  background:var(--chrome);
  color:var(--chrome-ink);
  border-radius:0 !important;
}
.mw-bleed-hero img,
body.mw-app .mw-companion-hero img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center 42%;
  filter:grayscale(.18) contrast(1.02) brightness(.92);
  opacity:1 !important;
  max-height:none;
}
.mw-bleed-hero::after,
body.mw-app .mw-companion-hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(10,42,67,.88) 0%, rgba(10,42,67,.55) 48%, rgba(10,42,67,.28) 100%);
  pointer-events:none;
}
.mw-bleed-hero-in,
body.mw-app .mw-companion-hero-in{
  position:relative; z-index:1;
  max-width:var(--shell-max);
  margin:0 auto;
  padding:clamp(28px,6vw,72px) clamp(16px,3.2vw,40px) clamp(24px,4vw,48px);
}
.mw-bleed-hero .mw-title-screen,
.mw-bleed-hero h1,
body.mw-app .mw-companion-hero h1{
  color:#fff !important;
  font-size:clamp(28px,4.6vw,52px) !important;
  line-height:1.05 !important;
  letter-spacing:-.03em;
  font-variation-settings:var(--wdth-display-fvs);
  max-width:16ch;
  text-shadow:none;
}
.mw-bleed-hero .mw-lede,
.mw-bleed-hero .sub,
body.mw-app .mw-companion-hero .sub,
body.mw-app .mw-companion-hero p{
  color:rgba(255,255,255,.82) !important;
  max-width:58ch;
  font-size:clamp(15px,1.6vw,18px);
}
.mw-bleed-hero .mw-eyebrow,
.mw-bleed-hero .mw-photo-credit{
  color:rgba(255,255,255,.62);
}
.mw-bleed-hero .mw-ask-field,
.mw-bleed-hero #askbox{
  margin-top:18px;
  max-width:min(640px,100%);
  background:var(--surface) !important;
}
.mw-bleed-hero .mw-hero-actions{ margin-top:14px; }
.mw-bleed-hero .mw-chip{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.28);
  color:#fff;
}
.mw-bleed-hero .mw-chip:hover{ background:rgba(255,255,255,.2); }
.mw-bleed-hero .mw-chip-label{ color:rgba(255,255,255,.7); }
.mw-bleed-hero .mw-btn-secondary{
  background:rgba(255,255,255,.12);
  color:#fff;
  border-color:rgba(255,255,255,.35);
}
.mw-bleed-hero .mw-btn-ghost{ color:#fff; }

/* Stacked full-bleed image bands (one idea from civic long-pages) */
.mw-bleed-band{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  min-height:clamp(240px,36vw,420px);
  width:100%;
  background:var(--chrome);
  color:var(--chrome-ink);
  text-decoration:none;
  border:none;
  padding:0;
  cursor:pointer;
  text-align:left;
  font:inherit;
}
.mw-bleed-band + .mw-bleed-band{ border-top:1px solid rgba(255,255,255,.12); }
.mw-bleed-band figure{
  margin:0; min-height:220px; overflow:hidden;
}
.mw-bleed-band img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:grayscale(.1) contrast(.98);
  max-height:none;
}
.mw-bleed-band .body{
  padding:clamp(22px,4vw,48px) clamp(16px,3.2vw,40px);
  display:flex; flex-direction:column; justify-content:center;
  background:var(--chrome);
  color:var(--chrome-ink);
}
.mw-bleed-band .k,
.mw-bleed-band .mw-eyebrow{
  font-family:var(--mono) !important;
  font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.mw-bleed-band strong,
.mw-bleed-band h2{
  display:block; margin:8px 0 0;
  font-size:clamp(22px,3vw,34px); font-weight:700;
  letter-spacing:-.024em; color:#fff;
  font-variation-settings:var(--wdth-head-fvs);
}
.mw-bleed-band p{
  margin:10px 0 0; max-width:46ch;
  color:rgba(255,255,255,.78); font-size:15.5px; line-height:1.5;
}
.mw-bleed-band:nth-child(even){ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.mw-bleed-band:nth-child(even) figure{ order:2; }
@media (max-width:760px){
  .mw-bleed-band,
  .mw-bleed-band:nth-child(even){
    grid-template-columns:1fr;
  }
  .mw-bleed-band:nth-child(even) figure{ order:0; }
  .mw-bleed-hero,
  body.mw-app .mw-companion-hero{ min-height:320px; }
}

body.mw-app .mw-feat-grid{ display:none; } /* replaced by stacked bands */
body.mw-app .mw-featured .mw-section-head{
  max-width:var(--shell-max);
  margin:0 auto;
  padding:28px clamp(16px,3.2vw,40px) 12px;
}
body.mw-app .mw-featured{
  padding:0 !important;
  max-width:none !important;
  margin:0 !important;
}
body.mw-app .home-extra > section:not(.mw-featured){
  max-width:var(--shell-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:28px clamp(16px,3.2vw,40px) 0 !important;
}

/* Restore Focus / Full as a real density switch */
body.mw-app[data-layout="focus"][data-view="ask"] .home-extra{ display:block !important; }
body.mw-app[data-layout="focus"][data-view="ask"] .home-hero-extra{ display:flex !important; }
body.mw-app[data-layout="focus"] .mw-focus-hide{ display:none !important; }
body.mw-app[data-layout="full"] .mw-focus-only{ display:none !important; }
body.mw-app[data-layout="focus"][data-view="ask"] .mw-featured,
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Happening now"],
body.mw-app[data-layout="focus"][data-view="ask"] .mw-fast-band{
  display:block !important;
}
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Around you"],
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Coming soon"],
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Report a problem"],
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Explore"]{
  display:none !important;
}
body.mw-app[data-layout="focus"][data-view="answer"] .svc-nav,
body.mw-app[data-layout="focus"][data-view="detail"] .svc-nav,
body.mw-app[data-layout="focus"][data-view="refusal"] .svc-nav,
body.mw-app[data-layout="focus"][data-view="answer"] .mw-brand-tag,
body.mw-app[data-layout="focus"][data-view="detail"] .mw-brand-tag,
body.mw-app[data-layout="focus"][data-view="refusal"] .mw-brand-tag{
  display:flex;
}
@media (min-width:760px){
  body.mw-app[data-layout="focus"][data-view="answer"] .svc-nav,
  body.mw-app[data-layout="focus"][data-view="detail"] .svc-nav,
  body.mw-app[data-layout="focus"][data-view="refusal"] .svc-nav{
    display:flex !important;
    opacity:1;
  }
}

/* Civic footer — quiet, useful, one logo */
body.mw-app .mw-sitefoot,
body.mw-app footer.mw-sitefoot,
body.mw-app footer.sitefoot,
body.mw-app footer{
  background:var(--chrome) !important;
  color:var(--chrome-ink);
  margin-top:48px !important;
  padding:0 !important;
  border-top:1px solid rgba(255,255,255,.12);
}
.mw-sitefoot-in{
  max-width:var(--shell-max);
  margin:0 auto;
  padding:28px clamp(16px,3.2vw,40px) 20px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(0,40%);
  gap:20px 32px;
  align-items:start;
}
.mw-sitefoot-brand{
  display:inline-flex; align-items:center; gap:12px;
  text-decoration:none; color:inherit;
}
.mw-sitefoot-brand img{ width:40px; height:40px; display:block; }
.mw-sitefoot-brand b{
  display:block; font-size:15px; font-weight:700; letter-spacing:-.02em;
}
.mw-sitefoot-brand small{
  display:block; font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  opacity:.65; font-family:var(--mono) !important;
}
.mw-sitefoot-lede{
  margin:0; min-width:0; max-width:none; font-size:14px; line-height:1.5; opacity:.78;
}
.mw-sitefoot-nav{
  display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center;
  justify-content:flex-end; font-size:13.5px;
}
.mw-sitefoot-nav a,
.mw-sitefoot-nav button,
.mw-foot-link{
  color:var(--chrome-ink) !important;
  background:none; border:none; cursor:pointer;
  font:inherit; font-weight:600; text-decoration:none;
  min-height:40px; padding:0; opacity:.88;
}
.mw-sitefoot-nav a:hover,
.mw-sitefoot-nav button:hover{ opacity:1; text-decoration:underline; }
.mw-install{
  border:1px solid rgba(255,255,255,.28) !important;
  padding:0 12px !important;
  border-radius:var(--r-app);
}
.mw-sitefoot-note{
  max-width:var(--shell-max);
  margin:0 auto;
  padding:12px clamp(16px,3.2vw,40px) 24px;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:12.5px; line-height:1.55; opacity:.62;
}
@media (max-width:760px){
  .mw-sitefoot-in{ grid-template-columns:1fr; }
  .mw-sitefoot-nav{ justify-content:flex-start; }
}

/* FAST in-shell */
.mw-fast-page .mw-fast-statgrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}
.mw-fast-stat{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  padding:14px 16px;
}
.mw-fast-stat b{
  display:block; font-family:var(--mono) !important;
  font-size:1.35rem; font-variant-numeric:tabular-nums;
}
.mw-fast-stat span{ font-size:13px; opacity:.8; }
.mw-fast-pillars{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:28px 0 0;
}
.mw-fast-pillar{ border-top:4px solid var(--c, var(--blue)); padding-top:10px; }
.mw-fast-pillar b{ display:block; font-size:1.05rem; }
.mw-fast-pillar span{ display:block; margin-top:6px; color:var(--ink-2); font-size:.95rem; }
.mw-fast-board{ overflow-x:auto; margin-top:22px; border-top:4px solid var(--ink); }
.mw-fast-board table{ width:100%; border-collapse:collapse; min-width:720px; }
.mw-fast-board th{
  text-align:left; font-family:var(--mono) !important;
  font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-3); padding:12px 10px 8px; border-bottom:1px solid var(--line); font-weight:500;
}
.mw-fast-board td{
  padding:12px 10px; border-bottom:1px solid var(--line); vertical-align:top; font-size:.95rem;
}
.mw-fast-board td.num{ font-family:var(--mono) !important; font-variant-numeric:tabular-nums; color:var(--ink-3); }
.mw-fast-mode{
  display:inline-block; padding:3px 9px; border-radius:var(--r-pill);
  font-family:var(--mono) !important; font-size:11.5px; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; color:#fff;
  border:1px solid rgba(15,16,18,.22);
}
.mw-fast-cards{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:22px;
}
.mw-fast-card{
  background:var(--surface); border:1px solid var(--line); padding:20px;
}
.mw-fast-card .big{
  font-family:var(--mono) !important; font-size:1.6rem; font-weight:600;
  font-variant-numeric:tabular-nums; color:var(--ink);
}
.mw-fast-card p{ margin-top:8px; color:var(--ink-2); font-size:.92rem; max-width:none; }
.mw-fast-split{ list-style:none; padding:0; margin:16px 0 0; }
.mw-fast-split li{
  display:grid; grid-template-columns:1fr auto; gap:16px;
  padding:9px 0; border-bottom:1px solid var(--line);
}
.mw-fast-mapframe{
  margin-top:22px; background:var(--map-surface); border:1px solid var(--line); padding:8px; overflow:auto;
}
.mw-fast-mapframe img, .mw-fast-mapframe object, .mw-fast-mapframe svg{
  width:100%; height:auto; display:block; min-width:640px;
}
.mw-fast-faq details{ border-bottom:1px solid var(--line); padding:12px 0; }
.mw-fast-faq summary{ cursor:pointer; font-weight:700; }
.mw-fast-faq p{ margin-top:8px; color:var(--ink-2); max-width:var(--prose); }
.mw-fast-section{
  max-width:var(--shell-max);
  margin:0 auto;
  padding:clamp(36px,5vw,64px) clamp(16px,3.2vw,40px);
  border-bottom:1px solid var(--line);
}
.mw-fast-section h2{
  font-size:clamp(1.4rem,2.6vw,1.85rem);
  letter-spacing:-.022em;
}
.mw-fast-section .lead{ margin-top:12px; color:var(--ink-2); max-width:var(--prose); }
@media (max-width:760px){
  .mw-fast-statgrid, .mw-fast-pillars, .mw-fast-cards{ grid-template-columns:1fr 1fr; }
}
@media (max-width:520px){
  .mw-fast-statgrid, .mw-fast-pillars, .mw-fast-cards{ grid-template-columns:1fr; }
}

html[data-theme="dark"] .mw-bleed-hero .mw-ask-field,
html[data-theme="dark"] .mw-bleed-hero #askbox{
  background:var(--surface) !important;
}
html[data-theme="dark"] .mw-fast-card,
html[data-theme="dark"] .mw-fast-mapframe{
  background:var(--surface); border-color:var(--line);
}

/* ═══════════════════════════════════════════════════════════════
   QA finish — darker civic footer, hit targets, overlap, gate
   ═══════════════════════════════════════════════════════════════ */

body.mw-app footer,
body.mw-app footer.mw-sitefoot,
body.mw-app footer.sitefoot,
body.mw-app .mw-sitefoot,
html[data-theme="dark"] body.mw-app footer,
html[data-theme="dark"] body.mw-app .sitefoot,
html[data-theme="dark"] body.mw-app footer.sitefoot{
  background:var(--footer) !important;
  color:var(--footer-ink) !important;
  border-top:1px solid var(--footer-line);
}
.mw-sitefoot-in{
  color:var(--footer-ink);
}
.mw-sitefoot-brand b{ color:var(--footer-ink); }
.mw-sitefoot-brand small{
  opacity:1;
  color:var(--footer-muted);
}
.mw-sitefoot-lede{
  color:var(--footer-muted);
  opacity:1;
  font-size:14.5px;
}
.mw-sitefoot-nav a,
.mw-sitefoot-nav button,
.mw-foot-link{
  color:var(--footer-ink) !important;
  opacity:1;
  min-height:var(--touch);
  display:inline-flex;
  align-items:center;
}
.mw-install{
  border-color:var(--footer-line) !important;
}
.mw-sitefoot-note{
  color:var(--footer-muted);
  opacity:1;
  font-size:13.5px;
  border-top-color:var(--footer-line);
}
.mw-sitefoot-brand img{
  border-radius:10px;
  box-shadow:0 0 0 1px var(--footer-line);
}
.mw-sitefoot .mw-drawer{
  border-top-color:var(--footer-line);
  color:var(--footer-ink);
}
.mw-sitefoot .mw-drawer > summary{
  color:var(--footer-ink);
  min-height:var(--touch);
}
.mw-sitefoot .mw-drawer > summary::before{
  border-color:var(--footer-ink);
}
.mw-sitefoot .mw-drawer-body{
  color:var(--footer-muted);
}
.mw-sitefoot .mw-drawer-body a{
  color:#B8D4EA !important;
}
.mw-sitefoot-drawers{
  max-width:var(--shell-max);
  margin:0 auto;
  padding:0 clamp(16px,3.2vw,40px) 8px;
}

/* Hit targets ≥44px */
.mw-chip{ min-height:var(--touch); }
.mw-pane-tab{ min-height:var(--touch); }
.mw-btn-sm{ min-height:var(--touch); }
.access button{ min-height:var(--touch); min-width:var(--touch); }
.access-panel .close{
  width:var(--touch); height:var(--touch); top:6px; right:6px;
}
body.mw-app .sbox button{ width:44px; height:44px; min-height:44px; }
body.mw-app .frow button,
body.mw-app .radius button,
body.mw-app .opts button,
body.mw-app .short button{
  min-height:var(--touch);
  min-width:44px;
  padding:0 12px;
}
body.mw-app textarea:focus-visible,
body.mw-app input:focus-visible,
body.mw-app select:focus-visible{
  outline:2px solid var(--ink) !important;
  outline-offset:2px;
}

/* Mobile toolbar stays one row so sticky ask does not slide under wrapped Focus/Full */
@media (max-width:759px){
  body.mw-app .readmode{
    order:unset;
    width:auto;
  }
  body.mw-app .readmode button{ flex:none; padding:0 10px; }
}

/* Dock vs footer: keep last civic line above the tab bar */
@media (max-width:899px){
  body.mw-app footer.mw-sitefoot,
  body.mw-app .mw-sitefoot{
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px)) !important;
  }
}

/* Staff demo gate above dock / Access */
.mw-staff-gate{ z-index:220; }
body:has(#mw-staff-gate) .access-fab,
body:has(#mw-staff-gate) .access-panel,
body:has(#mw-staff-gate) .mw-tabbar,
body:has(#mw-staff-gate) .mw-skip{
  display:none !important;
}

.mw-field-err{
  margin:8px 0 0;
  font-size:14px;
  font-weight:600;
  color:var(--alert);
}
input[aria-invalid="true"],
textarea[aria-invalid="true"]{
  border-color:var(--alert) !important;
}

html[data-theme="dark"] .mw-fast-mode[style*="#0F1012"]{
  color:#F2F4F6;
}

/* ═══════════════════════════════════════════════════════════════
   Finish pass — Lane A (11 Sep 2026)
   D-01 sr-only · D-04 pill · D-05 dock/FAB · D-06 header · D-07 footer
   D-09 home full · D-17 44px · D-19 type · photo-dim
   ═══════════════════════════════════════════════════════════════ */

.mw-sr-live{
  position:absolute !important;
  width:1px; height:1px;
  padding:0; margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

:root{
  --title-hero:clamp(34px,4.2vw,56px);
  --title-section:clamp(22px,2.2vw,30px);
  --photo-dim:1;
  --dock-h:calc(var(--app-tab) + env(safe-area-inset-bottom,0px));
}
html[data-theme="dark"]{ --photo-dim:.72; }

.mw-bleed-hero > img,
.mw-bleed-hero > picture > img,
.mw-companion-hero > img,
.mw-photo-strip img{
  filter:brightness(var(--photo-dim));
}

body.mw-app .mw-title-screen,
body.mw-app .mw-bleed-hero h1,
body.mw-app .mw-companion-hero h1{
  font-size:var(--title-hero) !important;
  line-height:1.08 !important;
}
body.mw-app .mw-title-section,
body.mw-app h2{
  font-size:var(--title-section);
}

/* Prototype pill in the app bar (replaces the orange banner) */
#movewpb-prototype-banner{ display:none !important; }
.mw-proto-pill{
  margin-left:8px;
  min-height:var(--touch);
  min-width:var(--touch);
  padding:0 12px;
  border:1px solid var(--line-2);
  border-radius:var(--r-pill);
  background:var(--canvas-2);
  color:var(--ink-2);
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  white-space:nowrap;
  flex:none;
}
.mw-proto-pill:hover{ color:var(--ink); border-color:var(--ink-3); }

/* R-02: on phones the pill is a 28px strip under the bar, never over Dark/EN */
@media (max-width:899px){
  body.mw-app .mw-appbar-in,
  body.mw-app .mw-masthead-in{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:56px;
    align-items:center;
    min-height:56px;
    padding:0 12px;
  }
  body.mw-app .mw-appbar-in:has(.mw-proto-pill),
  body.mw-app .mw-masthead-in:has(.mw-proto-pill){
    grid-template-rows:56px 28px;
    min-height:84px;
  }
  body.mw-app:has(.mw-proto-pill){ --app-top:84px; }
  body.mw-app .mw-brand-btn{ grid-column:1; grid-row:1; }
  body.mw-app .mw-toolbar{ grid-column:2; grid-row:1; margin-left:0; justify-self:end; }
  body.mw-app .mw-proto-pill{
    grid-column:1 / -1;
    grid-row:2;
    width:100%;
    max-width:none;
    margin:0;
    min-height:28px;
    height:28px;
    min-width:0;
    border-radius:0;
    border-left:none;
    border-right:none;
    border-bottom:none;
    letter-spacing:.06em;
    font-size:10px;
  }
}

/* Type + buttons: 44×44 hit area */
body.mw-app .mw-top-tab,
body.mw-app .svc-nav a,
body.mw-app .svc-nav button,
body.mw-app .mw-lang-btn,
body.mw-app .mw-theme-btn,
.mw-link-btn,
.mw-sitefoot-nav a,
.mw-sitefoot-nav button{
  min-height:var(--touch);
  min-width:var(--touch);
}
.mw-sitefoot-nav a,
.mw-sitefoot-nav button{
  display:inline-flex;
  align-items:center;
  padding:0 8px;
}

/* Header: tabs only ≥900px; no wrap; Focus/Full only when scoped */
body:not([data-readmode-scope]) .readmode{ display:none !important; }
body[data-readmode-scope] .readmode{ display:inline-flex !important; }
@media (max-width:899px){
  body.mw-app .mw-top-tabs,
  body.mw-app .svc-nav{ display:none !important; }
  body.mw-app .mw-appbar-in,
  body.mw-app .mw-masthead-in{
    flex-wrap:nowrap !important;
    padding:0 12px;
  }
  body.mw-app .mw-brand-tag{ display:none !important; }
  body.mw-app .readmode{ order:unset; width:auto; }
  body.mw-app .readmode button{ flex:none; }
  body.mw-app{ padding-bottom:var(--dock-h); }
  body.mw-app .access-fab{ display:none !important; }
  .mw-tabbar{
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr));
  }
  body.mw-app .access-panel{
    bottom:calc(var(--dock-h) + 8px) !important;
  }
}
@media (min-width:900px){
  body.mw-app{ padding-bottom:0; }
  .mw-tabbar{ display:none !important; }
  .mw-tab-access{ display:none !important; }
  body.mw-app .access-fab{ display:inline-flex; bottom:16px !important; }
}

/* R-07: nav wraps under the lede before it squeezes to ~14 characters */
@media (max-width:1099px){
  .mw-sitefoot-in{
    grid-template-columns:auto minmax(0,1fr);
  }
  .mw-sitefoot-lede{ max-width:none; min-width:0; }
  .mw-sitefoot-nav{
    grid-column:1 / -1;
    justify-content:flex-start;
    max-width:none;
  }
}
@media (max-width:760px){
  .mw-sitefoot-in{ grid-template-columns:1fr; }
}
.mw-corpus-note{
  max-width:var(--shell-max);
  margin:0 auto;
  padding:0 clamp(16px,3.2vw,40px) 20px;
  font-size:12px;
  opacity:.55;
}

/* D-09: home always shows every section. Focus/Full is a reading toggle
   on answer / detail / refusal / FAST only. */
body.mw-app[data-view="ask"] .home-extra,
body.mw-app[data-layout="focus"][data-view="ask"] .home-extra{
  display:block !important;
}
body.mw-app[data-view="ask"] .home-hero-extra,
body.mw-app[data-layout="focus"][data-view="ask"] .home-hero-extra{
  display:flex !important;
}
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Around you"],
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Coming soon"],
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Report a problem"],
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Explore"],
body.mw-app[data-layout="focus"][data-view="ask"] .mw-featured,
body.mw-app[data-layout="focus"][data-view="ask"] section[data-screen-label="Happening now"]{
  display:block !important;
}
body.mw-app[data-view="ask"] .mw-focus-hide{ display:revert !important; }
body[data-readmode-scope][data-layout="focus"] .mw-focus-hide{ display:none !important; }

/* Install card + iOS hint */
.mw-install-card{
  position:fixed; left:12px; right:12px; bottom:calc(var(--dock-h) + 12px);
  z-index:95; max-width:420px; margin:0 auto;
  background:var(--surface); color:var(--ink);
  border:1px solid var(--line); padding:16px 16px 14px;
  box-shadow:0 12px 32px rgba(15,16,18,.18);
}
@media (min-width:900px){
  .mw-install-card{ bottom:24px; left:auto; right:24px; margin:0; }
}
.mw-install-card[hidden]{ display:none !important; }
.mw-install-card h2{ margin:0; font-size:16px; }
.mw-install-card p{ margin:8px 0 0; font-size:14px; color:var(--ink-2); line-height:1.45; }
.mw-install-card .mw-hero-actions{ margin-top:12px; }

.mw-offline-page{
  min-height:100dvh; display:flex; align-items:center; justify-content:center;
  padding:32px 20px; padding-bottom:32px !important;
}
.mw-offline-card{ max-width:44ch; }
.mw-offline-card h1{ margin:8px 0 14px; }

.map-surface{ background:var(--map-surface); }


