/* page styles: Strature GPS (/gps/ and /gps/<iso3>/), owner rulings W-21, W-22, W-27, W-49. Loaded after
   site.css from the page itself (the shared head partial is not edited). Tokens only; the map colours
   below are the house palette on navy: paper lit by count, coral for the one newest release
   (COMPONENTS.md: on navy the accent is coral). gps.js reads these custom properties for the canvas globe.
   Question focus: the primary country is FILLED, the affected countries are OUTLINED; no arcs. */
:root{
  --gps-sea:var(--navy);
  --gps-sea-edge:rgba(251,249,245,.28);
  --gps-grat:rgba(251,249,245,.07);
  --gps-l0:rgba(251,249,245,.12);
  --gps-l1:rgba(251,249,245,.42);
  --gps-l2:rgba(251,249,245,.64);
  --gps-l3:rgba(251,249,245,.9);
  --gps-new:var(--coral);
  --gps-border:rgba(19,35,56,.85);
  --gps-border0:rgba(251,249,245,.22);
  --gps-sel:var(--knockout);
  --gps-dim:rgba(251,249,245,.08);
  --gps-aff:rgba(251,249,245,.3);
}

/* ---------- hero: text beside the globe ---------- */
.gps-hero{padding:32px 0 40px}
.gps-hero .lbl{margin-bottom:16px}
.gps-hero h1{max-width:16ch}
.gps-hero .standfirst{margin-top:16px;max-width:44ch;color:rgba(251,249,245,.92)}
.gps-hero .gps-count{margin-top:16px}
.gps-hero .ctas{margin-top:24px}
.gps-hero-grid{display:grid;gap:32px}
.gps-globe{position:relative;display:grid;gap:12px;justify-items:center}
.gps-globe-stage{width:100%;max-width:560px;aspect-ratio:1/1;position:relative}
.gps-globe-stage:empty{display:none}
.gps-globe-stage canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none}
.gps-globe-stage canvas:active{cursor:grabbing}
.gps-globe-stage canvas:focus-visible{outline:2px solid var(--white);outline-offset:4px}
.gps-globe-wait{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin:16px 0 0}
.gps-globe-wait .micro{flex:1 1 20ch;color:rgba(251,249,245,.85)}
.gps-globe-wait[hidden]{display:none}
.gps-globe-hint{max-width:48ch;text-align:left}
/* phone and tablet: a short hero, so the flat map is on the first screen (375x667); the globe is opt-in and its
   block takes no room until it is asked for (gps.js adds .on). The standfirst stays; the hero buttons go,
   because the search button sits on the map itself. */
@media (max-width:899px){
  .gps-hero{padding:16px 0 20px}
  .gps-hero .lbl{margin-bottom:8px;font-size:11px}
  .gps-hero h1{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.08;letter-spacing:-.02em;max-width:none;text-wrap:balance}
  .gps-hero .standfirst{margin-top:10px;font-size:15.5px;line-height:1.45}
  .gps-hero .gps-count{margin-top:8px}
  .gps-hero-ctas{display:none}
  .gps-hero-grid{gap:0}
  .gps-globe{display:none}
  .gps-globe.on{display:grid;margin-top:20px}
}
@media (min-width:900px){
  .gps-hero{padding:64px 0 72px}
  .gps-hero-grid{grid-template-columns:5fr 7fr;gap:64px;align-items:center}
  .gps-globe-wait{display:none}
}

/* ---------- layout: map stack left, countries and panel right (no empty left area) ---------- */
.gps-layout{display:grid;gap:24px}
.gps-left{min-width:0}
.gps-side{min-width:0;display:grid;gap:24px;align-content:start}
@media (min-width:900px){
  .gps-layout{grid-template-columns:7fr 5fr;gap:48px;align-items:start}
  .gps-side{position:sticky;top:calc(var(--mh) + 16px);max-height:calc(100vh - var(--mh) - 32px);overflow:auto;overscroll-behavior:contain;padding-right:4px}
}

/* ---------- filters: a bar above the map on desktop, a full-screen sheet on the phone ---------- */
.gps-tools{display:grid;gap:16px;margin-bottom:16px}
.gps-sheet-head,.gps-sheet-foot,.gps-tools .gps-sheet-close{display:none}
.gps-sheet-body{display:grid;gap:16px}
.gps-fs{border:0;padding:0;margin:0;min-width:0;display:grid;gap:4px;align-content:start}
.gps-fs legend,.gps-fs > .lbl{margin-bottom:6px;padding:0}
.gps-fs label{font-family:var(--sans);font-size:14.5px;line-height:1.3;display:flex;align-items:center;gap:8px;min-height:32px;color:var(--ink);cursor:pointer}
.gps-fs label .num{color:var(--graphite);font-size:12px}
.gps-fs input[type="checkbox"]{width:18px;height:18px;margin:0;accent-color:var(--ink);flex:0 0 auto}
.gps-time-row{display:flex;align-items:center;gap:12px}
.gps-time-row input[type="range"]{flex:1 1 auto;min-width:0;accent-color:var(--ink);height:32px;margin:0}
.gps-time-row output{font-size:14px;min-width:8ch;text-align:right}
@media (min-width:600px){
  .gps-sheet-body{grid-template-columns:1fr 1fr 1fr;gap:24px}
  .gps-sheet-find{display:none}
}
@media (max-width:899px){
  /* the map section starts with the map: its opener is kept for screen readers only */
  .gps-main{padding-top:0}
  .gps-main .gps-opener{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  /* the search-and-filters button sits in the map's own bar, in the flow: it floats over nothing */
  .gps-fab{order:-1;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;font:600 14px/1 var(--sans);background:var(--white);color:var(--navy);border:1px solid var(--white);border-radius:0;cursor:pointer;white-space:nowrap}
  .gps-fab .num{color:var(--navy)}
  .gps-fab:focus-visible{outline:2px solid var(--white);outline-offset:2px}
  .gps-proj{order:1;width:100%;margin:0}
  .gps-tools{display:none}
  .gps-tools.open{display:grid;position:fixed;inset:0;z-index:40;background:var(--paper);grid-template-rows:auto 1fr auto;gap:0;margin:0}
  .gps-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:12px var(--g);border-bottom:1px solid var(--hair);min-height:56px}
  .gps-tools .gps-sheet-close{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:400 24px/1 var(--sans);cursor:pointer}
  .gps-tools .gps-sheet-close:hover{background:var(--ink);color:var(--paper)}
  .gps-tools .gps-sheet-close:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
  .gps-sheet-body{overflow:auto;overscroll-behavior:contain;padding:16px var(--g) 24px;gap:24px;align-content:start}
  .gps-sheet-find{display:block}
  .gps-sheet-foot{display:flex;gap:12px;padding:12px var(--g);border-top:1px solid var(--hair);background:var(--paper)}
  .gps-sheet-foot .btn{flex:1 1 auto}
  body.gps-sheet-open{overflow:hidden}
}
@media (min-width:900px){.gps-fab{display:none}}

/* ---------- find: search + A-Z list ---------- */
.gps-find{display:grid;gap:8px}
.gps-find[hidden]{display:none}
.gps-find input[type="search"]{width:100%;box-sizing:border-box;font:16px/1.3 var(--sans);padding:10px 12px;border:1px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:0;-webkit-appearance:none;appearance:none;min-height:44px}
.gps-find input[type="search"]:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.gps-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink);max-height:420px;overflow:auto;overscroll-behavior:contain}
.gps-sheet-find .gps-list{max-height:40vh}
.gps-list li{margin:0}
.gps-list button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:8px 6px 8px 0;min-height:40px;border:0;border-bottom:1px solid var(--hair);background:transparent;color:var(--ink);font:15px/1.3 var(--sans);text-align:left;cursor:pointer;border-radius:0}
.gps-list button:hover{background:var(--tint)}
.gps-list button:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}
.gps-list button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.gps-list button .num{font-size:13px;color:var(--graphite);flex:0 0 auto}
.gps-list button[aria-pressed="true"] .num{color:var(--paper)}
.gps-list button.has .nm{font-weight:600}
.gps-list button .nd{font-size:11px;color:var(--graphite);letter-spacing:.06em;text-transform:uppercase;font-weight:600;margin-left:auto}
.gps-list-n{margin:0;min-height:1.4em}
.gps-list .grp{padding:14px 0 6px;font:600 11px/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);border-bottom:1px solid var(--ink)}
.gps-list .grp[hidden]{display:none}
.gps-list .none{padding:12px 0;font-style:italic;color:var(--graphite);font-size:14.5px}

/* ---------- the flat map ---------- */
.gps-map{padding:16px;position:relative}
.gps-map-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.gps-zoom{display:flex;gap:4px}
.gps-zb{min-width:36px;min-height:36px;padding:0 10px;border:1px solid rgba(255,255,255,.55);background:transparent;color:var(--white);font:600 15px/1 var(--sans);cursor:pointer;border-radius:0}
.gps-zb:hover{background:var(--white);color:var(--navy)}
.gps-zb:focus-visible{outline:2px solid var(--white);outline-offset:2px}
.gps-zr{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase}
.gps-svg-wrap{position:relative;width:100%;aspect-ratio:960/470;overflow:hidden;background:var(--gps-sea);touch-action:none}
@media (max-width:899px){
  .gps-map{margin:0 calc(-1 * var(--g));padding:12px var(--g) 16px}
  .gps-map-bar{margin-bottom:8px;gap:8px}
  .gps-svg-wrap{width:auto;margin:0 calc(-1 * var(--g))}
}
.gps-svg-wrap svg{display:block;width:100%;height:100%;cursor:grab}
.gps-svg-wrap.dragging svg{cursor:grabbing}
.gps-map-loading{position:absolute;left:0;right:0;top:45%;text-align:center;margin:0}
.gps-map-loading[hidden]{display:none}
.gps-svg-wrap .sphere{fill:var(--gps-sea);stroke:var(--gps-sea-edge);stroke-width:1;vector-effect:non-scaling-stroke}
.gps-svg-wrap .grat{fill:none;stroke:var(--gps-grat);stroke-width:1;vector-effect:non-scaling-stroke}
.gps-svg-wrap .cty{fill:var(--gps-l0);stroke:var(--gps-border0);stroke-width:.5;vector-effect:non-scaling-stroke}
.gps-svg-wrap .cty.c1{fill:var(--gps-l1);stroke:var(--gps-border)}
.gps-svg-wrap .cty.c2{fill:var(--gps-l2);stroke:var(--gps-border)}
.gps-svg-wrap .cty.c3{fill:var(--gps-l3);stroke:var(--gps-border)}
/* the newest release: a coral outline over its count shading (several same-day releases are all outlined) */
.gps-svg-wrap .cty.new{stroke:var(--gps-new);stroke-width:2}
.gps-svg-wrap .cty.sel{stroke:var(--gps-sel);stroke-width:2}
.gps-svg-wrap .sel-ring path{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.gps-svg-wrap .sel-halo{stroke:var(--gps-sel);stroke-width:4.5}
.gps-svg-wrap .sel-line{stroke:var(--navy);stroke-width:1.6}
/* a focused question: primary filled, affected outlined (hatched), the rest dimmed */
.gps-svg-wrap.focus .cty{fill:var(--gps-dim);stroke:var(--gps-border0)}
.gps-svg-wrap.focus .cty.pri{fill:var(--gps-l3);stroke:var(--gps-sel);stroke-width:1.5}
.gps-svg-wrap.focus .cty.aff{fill:url(#gps-hatch);stroke:var(--gps-sel);stroke-width:1.2;stroke-dasharray:4 3}
.gps-svg-wrap .cty.pick{cursor:pointer}
.gps-svg-wrap .cty.pick:hover{stroke:var(--gps-sel);stroke-width:1.5}
.gps-svg-wrap .cty:focus{outline:none}
.gps-svg-wrap .cty:focus-visible{stroke:var(--gps-sel);stroke-width:2.5;stroke-dasharray:4 2}
.gps-key{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:12px}
.gps-key .lbl{display:inline;margin-right:4px}
.gps-k{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:12px;color:rgba(251,249,245,.85)}
.gps-k i{width:14px;height:14px;display:inline-block;border:1px solid var(--gps-border0)}
.gps-k0 i{background:var(--gps-l0)}
.gps-k1 i{background:var(--gps-l1)}
.gps-k2 i{background:var(--gps-l2)}
.gps-k3 i{background:var(--gps-l3)}
.gps-kn i{background:var(--gps-l1);border:2px solid var(--gps-new)}
.gps-kp i.p{background:var(--gps-l3);border-color:var(--gps-sel)}
.gps-kp i.a{background:repeating-linear-gradient(135deg,transparent 0 3px,var(--gps-aff) 3px 5px);border:1px dashed var(--gps-sel)}
.gps-kp[hidden]{display:none}

/* ---------- the country panel ---------- */
.gps-panel{border-top:1px solid var(--ink);padding-top:12px;display:grid;gap:12px;align-content:start;min-width:0}
.gps-panel[hidden]{display:none}
.gps-panel:focus{outline:none}
.gps-panel:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
.gps-panel-head{display:grid;gap:6px}
.gps-back{justify-self:start;font:600 13px/1 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);padding:0 0 2px;cursor:pointer;min-height:32px;display:inline-flex;align-items:center;gap:6px}
.gps-back:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.gps-panel h3{font-family:var(--serif);font-weight:600;font-size:26px;line-height:1.15;letter-spacing:-.01em;margin:0}
.gps-dchips{display:flex;flex-wrap:wrap;gap:6px}
.gps-dchips:empty{display:none}
.gps-panel-page{margin:4px 0 0}
.gps-panel-page:empty{display:none}
.gps-panel-page a{font:600 14px/1.4 var(--sans);text-decoration:none;border-bottom:1px solid var(--ink)}
.gps-grp{margin:12px 0 0;padding-bottom:6px;border-bottom:1px solid var(--ink);color:var(--ink)}
.gps-panel .empty{font-style:italic}
.gps-briefs{display:grid;gap:8px}
.gps-briefs:empty{display:none}
.gps-briefs h4{font-family:var(--serif);font-weight:600;font-size:17px;line-height:1.3;margin:0}
.gps-briefs li{list-style:none;padding:10px 0;border-top:1px solid var(--hair);display:grid;gap:4px}
.gps-briefs ul{margin:0;padding:0}
@media (max-width:899px){
  .gps-panel.sheet{position:fixed;left:0;right:0;bottom:0;z-index:35;max-height:78vh;overflow:auto;overscroll-behavior:contain;background:var(--paper);border-top:2px solid var(--ink);padding:12px var(--g) 24px;box-sizing:border-box}
  .gps-panel.sheet .gps-back{position:sticky;top:0;background:var(--paper);z-index:1;padding-top:4px}
}

/* ---------- the question card (the same grammar in the panel and on country pages) ---------- */
.qcards{display:grid;gap:0}
.qcard{padding:16px 0;border-top:1px solid var(--hair);display:grid;gap:8px;min-width:0}
.qcard:first-child{border-top:0}
.qcards .qcard:first-child{border-top:1px solid var(--hair)}
.qcard.focus{background:var(--tint);margin:0 calc(-1 * var(--g));padding-left:var(--g);padding-right:var(--g);border-top-color:var(--ink)}
.qc-meta{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;min-width:0}
.qc-meta .tag{display:inline-block;color:var(--graphite);white-space:normal;max-width:100%;line-height:1.35;padding:3px 6px}
.qcard{overflow-wrap:anywhere}
.qcard[hidden]{display:none}
.qc-meta .qc-date{margin-left:auto;font-size:12.5px;color:var(--graphite)}
.qcard :is(h4,h5){font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.3;margin:0;text-wrap:pretty}
.qc-ans{margin:0;font-size:16px;line-height:1.5;max-width:60ch}
.qc-lab{color:var(--graphite)}
.qc-fc{margin:0;font:13.5px/1.5 var(--sans);color:var(--ink);max-width:60ch}
.qc-fc a{color:var(--graphite)}
.qc-cty{margin:0;font:13.5px/1.5 var(--sans);color:var(--ink)}
.qc-k{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--graphite);margin-right:6px}
.qc-cty .qc-k ~ .qc-k{margin-left:10px}
.qc-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chip{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;font:600 13px/1 var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--hair);text-decoration:none;cursor:pointer;border-radius:0}
.chip:hover{border-color:var(--ink)}
.chip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.chip[aria-pressed="true"],.fchip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.qc-foot{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;margin-top:2px}
.qc-read{font:600 14px/1.4 var(--sans);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:1px;margin-left:auto}
.qc-read:hover{color:var(--graphite);border-bottom-color:currentColor}
.qc-read .ar{font-family:var(--serif)}
.qc-focus{font:600 13px/1 var(--sans);color:var(--ink);background:transparent;border:1px solid var(--ink);min-height:32px;padding:0 10px;cursor:pointer;border-radius:0}
.qc-focus[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.qc-focus:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.qcard .gps-links,.gps-briefs .gps-links,.dls .gps-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.gps-links a{font:600 13.5px/1.4 var(--sans);color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:1px}
.gps-links a:hover{color:var(--graphite);border-bottom-color:currentColor}
.gps-chips{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- country pages ---------- */
.gps-cty-hero .standfirst{max-width:60ch}
.gps-cty-hero .gps-regions{margin-top:8px}
.gps-fchips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.gps-fchips .lbl{margin-right:4px}
.gps-fchips .lbl + .fchip{margin-left:0}
.fchip{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;font:600 13px/1 var(--sans);color:var(--ink);background:var(--paper);border:1px solid var(--hair);cursor:pointer;border-radius:0}
.fchip:hover{border-color:var(--ink)}
.fchip:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.gps-fchips-n{width:100%;margin:0}
.sec.tinted .qcard.focus{background:var(--paper)}
.sec.tinted .chip,.sec.tinted .fchip{background:var(--paper)}
.sec.tinted .chip[aria-pressed="true"],.sec.tinted .fchip[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.tbl{overflow:auto}
.tbl[hidden]{display:none}
.cat.reg{min-width:0}
@media (min-width:600px){.cat.reg{min-width:720px}}
#briefs .tiles:empty{display:none}
.gps-cty-q .gps-grp[hidden],.gps-cty-q .gps-bgroups[hidden]{display:none}
.gps-cty-note{margin-top:16px}
/* the filters: one compact control above the cards (a disclosure), opened to the chips */
.gps-fdet{border-top:1px solid var(--ink);border-bottom:1px solid var(--hair);margin-bottom:4px}
.gps-fdet summary{display:flex;align-items:center;gap:8px;min-height:44px;font:600 14.5px/1.3 var(--sans);color:var(--ink);cursor:pointer;list-style:none}
.gps-fdet summary::-webkit-details-marker{display:none}
.gps-fdet summary::before{content:"+";font-family:var(--mono);font-weight:500;width:12px}
.gps-fdet[open] summary::before{content:"\2212"}
.gps-fdet summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.gps-fdet-k{font-weight:400;font-size:13px;color:var(--graphite);margin-left:auto}
.gps-fdet .gps-fchips{padding:4px 0 12px;margin:0}
.gps-fchips-n:empty{display:none}
/* phone: a compact header (name, one count line, the map button), then the questions at once; the first
   card's question is on the first screen at 375x667 (verify.py measures it on every country page) */
@media (max-width:899px){
  .gps-cty-hero{padding:14px 0 16px}
  .gps-cty-hero .lbl{margin-bottom:6px;font-size:11px}
  .gps-cty-hero h1{font-size:28px;line-height:1.08;max-width:none}
  .gps-cty-hero .standfirst{margin-top:6px;font-size:15px;line-height:1.4}
  .gps-cty-hero .ctas{margin-top:12px}
  .gps-cty-q{padding-top:12px}
  /* the section opener repeats the page's own name: on the phone it is kept for screen readers only, so the
     first question stays on the first screen for long names ("Taiwan, Province of China") and heavy countries */
  .gps-cty-qop{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
  .gps-cty-q .gps-grp{margin-top:8px}
  .gps-cty-q .qcard h5{order:-1}
}
@media (min-width:900px){.gps-cty-hero{padding:48px 0}.gps-cty-q{padding-top:56px}}

/* ---------- a brief's group of question cards (country panel and country pages): heavy countries stay readable ---------- */
.gps-bgroup{margin-top:12px;min-width:0}
.gps-bgroup[hidden]{display:none}
.gps-bgh{display:grid;gap:2px;margin:0;padding:8px 0 6px;font:inherit}
.gps-bgh .lbl{margin:0;color:var(--graphite)}
.gps-bgt{font-family:var(--serif);font-weight:500;font-style:italic;font-size:15px;line-height:1.35;color:var(--ink);text-wrap:pretty}
.gps-bgroup .qcards .qcard:first-child{border-top:1px solid var(--hair)}
.gps-bgroup.collapsed:not(.filtering) .qcard.more{display:none}
.gps-bgroup.filtering .gps-more{display:none}
.gps-more{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin:4px 0 8px;padding:0 12px;font:600 13.5px/1.2 var(--sans);color:var(--ink);background:transparent;border:1px solid var(--ink);cursor:pointer;border-radius:0}
.gps-more:hover{background:var(--ink);color:var(--paper)}
.gps-more:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.gps-more[hidden]{display:none}
.gps-panel .gps-bgroup + .gps-grp,.gps-cty-q .gps-bgroups + div .gps-grp{margin-top:24px}
.qcard h4:focus,.qcard h5:focus{outline:none}
@media (max-width:899px){
  .gps-cty-q .gps-bgroup:first-child{margin-top:4px}
  .gps-cty-q .gps-bgroup:first-child .gps-bgh{padding-top:4px}
}

/* ---------- table view ---------- */
.gps-tbl{margin-top:24px;border-top:1px solid var(--ink)}
.gps-tbl summary{font:600 14.5px/1.4 var(--sans);color:var(--ink);cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;list-style:none}
.gps-tbl summary::-webkit-details-marker{display:none}
.gps-tbl summary::before{content:"+";font-family:var(--mono);font-weight:500;width:12px}
.gps-tbl[open] summary::before{content:"\2212"}
.gps-tbl .cat td{font-size:15px}
@media (min-width:600px){.gps-tbl .cat{min-width:720px}}
.gps-tbl .c-cty{white-space:nowrap}

/* ---------- brief pages: the questions the brief answers, one anchored block per section (build.py, W-49) ---------- */
.gps-qsec + .sec.tinted{border-top:1px solid var(--hair)}
.gps-qanchor{margin-top:24px;scroll-margin-top:calc(var(--mh) + 16px)}
.gps-qanchor:focus{outline:none}
.gps-qanchor:target{box-shadow:inset 4px 0 0 var(--ink);background:var(--paper);padding:4px 0 4px 16px}
.gps-qanchor:target .qcard{background:transparent}
