/* ════════════════════════════════════════════════════════════════
   PRESNSE — HOME (index-v2) · bespoke modules for the v2 content-sync
   ----------------------------------------------------------------
   Page-layer modules invented for the homepage v2 lean rebuild:
   softened market strip, compliant-vs-flagged render, HK Maps mock,
   why-specialist contrast, and the slimmed clinic→surface accent.
   Consumes tokens from foundation.css ONLY — no raw colour.
   ════════════════════════════════════════════════════════════════ */

/* ── HERO · H1 typographic break ── */
.hm-h1 .h1-sub{display:inline-block;color:var(--ink-soft);font-size:.78em;font-weight:600;}
.hm-h1 .h1-brand{color:var(--faint);font-weight:500;font-size:.72em;}
.hm-h1 .lo{font-weight:500;}

/* HERO · SERP search bar chrome (overrides hm-vis-top for this page) */
.hm-vis-top{display:block;padding:0;border-bottom:none;}
.serp-sbar{display:flex;align-items:center;gap:10px;padding:11px 18px;border-bottom:1px dashed var(--line-dash);}
.serp-g{font-family:var(--sans);font-size:1rem;font-weight:800;color:var(--serp-blue);padding-right:10px;border-right:1px solid var(--line-mid);line-height:1;}
.serp-sbar .q{flex:1;color:var(--ink);font-family:var(--sans);font-size:.82rem;font-weight:400;}
.serp-lens{color:var(--muted);font-size:.8rem;letter-spacing:-.02em;}
.serp-about{padding:6px 18px 7px;font-family:var(--mono);font-size:.57rem;color:var(--faint);letter-spacing:.04em;border-bottom:1px dashed var(--line-dash);display:flex;align-items:center;justify-content:space-between;}
.serp-about .st{display:inline-flex;align-items:center;gap:5px;color:var(--lime-ink);font-family:var(--mono);font-size:.57rem;}
.serp-about .d{width:5px;height:5px;border-radius:50%;background:var(--lime);animation:omnia-pulse 1.8s infinite;}

/* ── MODULE 01 · Diagnostics — split head + softened market strip ── */
.diag-head{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:start;}
@media(max-width:880px){.diag-head{grid-template-columns:1fr;gap:32px;}}
.diag-lede-2{margin-top:18px;color:var(--ink-soft);font-size:.95rem;max-width:52ch;line-height:1.6;}
.msub em,.diag-lede-2 em{font-family:var(--serif);font-style:italic;color:var(--ink);}
.market-strip{border:1px solid var(--line-mid);border-top:2px solid var(--ink);background:var(--paper-card);}
.market-strip .ms-cap{display:flex;align-items:center;gap:9px;padding:13px 18px;border-bottom:1px dashed var(--line-dash);
  font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.market-strip .ms-cap .dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow-2);}
.ms-stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px dashed var(--line-dash);}
.ms-stat{padding:18px 18px 16px;}
.ms-stat.ms-mid{border-left:1px dashed var(--line-dash);border-right:1px dashed var(--line-dash);}
.ms-big{font-family:var(--mono);font-size:1.85rem;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--ink);}
.ms-big b{font-weight:700;}
.ms-unit{font-size:.9rem;font-weight:500;color:var(--ink-soft);}
.ms-desc{font-size:.76rem;color:var(--ink-soft);line-height:1.45;margin-top:7px;max-width:22ch;}
.ms-foot{padding:10px 18px;}
.mono-note{font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;color:var(--muted);}
@media(max-width:520px){.ms-stats{grid-template-columns:1fr;}.ms-stat.ms-mid{border-left:none;border-right:none;border-top:1px dashed var(--line-dash);border-bottom:1px dashed var(--line-dash);}}

/* ── MODULE 02 · Compliant visibility — compliant-vs-flagged render ── */
.cvf{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(28px,4vw,60px);align-items:start;margin-top:44px;}
@media(max-width:880px){.cvf{grid-template-columns:1fr;gap:32px;}}
.cvf-lede{color:var(--ink-soft);font-size:.96rem;line-height:1.62;max-width:46ch;}
.cvf-lede + .cvf-lede{margin-top:16px;}
/* On dark entity background, override text colours */
.entity .cvf-lede{color:var(--tx-on-62);}
.entity .cvf-lede .sym{color:var(--tx-on);}
.entity .cvf-cap{color:var(--tx-on-40);}
/* cvf-render panels stay light — they are browser UI mockups (both legible) */
.entity .cvf-render{background:var(--paper-card);color:var(--ink);}
.entity .cvf-render.flag{background:var(--paper-card);border-color:var(--amber-line);}
.entity .cvf-pair{border:none;}
.cvf-lede .sym{font-family:var(--serif);font-style:italic;color:var(--ink);}
.cvf-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,22px);}
@media(max-width:520px){.cvf-pair{grid-template-columns:1fr;}}
.cvf-render{border:1px solid var(--line-mid);border-radius:var(--radius-md);overflow:hidden;background:var(--paper-card);display:flex;flex-direction:column;min-height:440px;}
.cvf-render .r-bar{display:flex;align-items:center;gap:5px;padding:9px 12px;border-bottom:1px dashed var(--line-dash);}
.cvf-render .r-bar .d{width:7px;height:7px;border-radius:50%;background:var(--line-mid);}
.cvf-render .r-bar .r-url{margin-left:8px;font-family:var(--mono);font-size:.56rem;color:var(--faint);letter-spacing:.04em;}
.cvf-screen{padding:13px;display:flex;flex-direction:column;gap:8px;flex:1;}
.r-h{height:9px;border-radius:3px;background:var(--ink);width:65%;}
.r-nav{height:6px;border-radius:3px;background:var(--wash-hair);width:88%;}
.r-img{border-radius:5px;background:var(--wash-hair);height:48px;}
.r-block{display:flex;flex-direction:column;gap:5px;}
.r-cta-row{display:flex;gap:6px;margin-top:2px;}
.r-cta-chip{font-family:var(--mono);font-size:.5rem;letter-spacing:.04em;border:1px solid var(--line-rule);border-radius:var(--radius-tag);padding:4px 8px;color:var(--ink-soft);}
.r-row{display:flex;gap:6px;}
.r-row .r-img{flex:1;height:32px;}
.r-img.tall{height:50px;}
.r-before-after{display:flex;justify-content:space-around;font-family:var(--mono);font-size:.5rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:2px;}
.r-line{height:5px;border-radius:3px;background:var(--wash-hair);}
.r-line.s{width:82%;}
.r-line.xs{width:54%;}
.r-claim{height:10px;border-radius:3px;width:88%;}
.r-tag{margin-top:11px;font-family:var(--mono);font-size:.54rem;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 9px;border-radius:var(--radius-tag);display:inline-flex;align-items:center;gap:5px;align-self:flex-start;}
.cvf-render.ok .r-tag{background:var(--green-veil);color:var(--lime-ink);}
.cvf-render.flag{border-color:var(--amber-line);background:var(--amber-veil);}
.cvf-render.flag .r-img{background:var(--amber-glow);}
.cvf-render.flag .r-claim{background:var(--amber-line);}
.cvf-render.flag .r-tag{background:var(--amber-glow);color:var(--ink-soft);}
.cvf-cap{display:flex;justify-content:space-between;gap:12px;margin-top:13px;font-family:var(--mono);font-size:.58rem;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);}
/* legible compliant/flagged detail */
.r-sub{font-family:var(--mono);font-size:.56rem;letter-spacing:.05em;color:var(--muted);text-transform:uppercase;}
.r-sub.flag-sub{color:var(--ink-soft);font-weight:600;background:var(--amber-glow);border-radius:var(--radius-tag);padding:4px 8px;align-self:flex-start;}
.r-price{font-family:var(--mono);font-size:.6rem;font-weight:600;letter-spacing:.06em;color:var(--ink-soft);background:var(--amber-glow);border:1px solid var(--amber-line);border-radius:var(--radius-tag);padding:4px 9px;align-self:flex-start;}
.r-cta-chip.flag-chip{border-color:var(--amber-line);color:var(--ink-soft);background:var(--amber-glow);}
.r-anno{margin-top:auto;display:flex;flex-direction:column;gap:5px;padding-top:11px;border-top:1px dashed var(--line-dash);}
.r-mk{display:flex;align-items:baseline;gap:7px;font-size:.66rem;line-height:1.35;color:var(--ink-soft);}
.r-mk i{font-style:normal;font-family:var(--mono);font-size:.7rem;flex:0 0 auto;}
.r-mk.ok i{color:var(--lime-deep);}
.r-mk.flag i{color:var(--amber);}
.cvf-render.flag .r-anno{border-top-color:var(--amber-line);}

/* M02 text rail — lead + labeled principle fragments */
.cvf-lead{font-size:1.01rem;line-height:1.6;}
.cvf-principle{margin-top:22px;padding-top:18px;border-top:1px dashed var(--line-on-dash);}
.cvf-principle .seg-lbl{color:var(--tx-on-40);margin-bottom:8px;display:block;}
.cvf-principle .cvf-lede{font-size:.9rem;line-height:1.6;}

/* ── MODULE 03 · Maps-first reality — stylised HK map + vertical local pack ── */
.maps-wrap{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);gap:clamp(24px,3vw,38px);align-items:start;margin-top:30px;}
@media(max-width:980px){.maps-wrap{grid-template-columns:1fr;gap:32px;}}
.maps-text{display:flex;flex-direction:column;align-items:stretch;max-width:64ch;}
.maps-text .mh{margin-top:0;max-width:11.5em;}
.maps-lede{color:var(--ink-soft);font-size:.96rem;line-height:1.62;max-width:58ch;}
.maps-lede + .maps-lede{margin-top:16px;}
.maps-lede-2{margin-top:22px;}
.maps-districts{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.maps-districts .dchip{font-family:var(--mono);font-size:.64rem;letter-spacing:.04em;color:var(--ink-soft);
  border:1px dashed var(--line-rule);border-radius:var(--radius-tag);padding:5px 10px;background:var(--bg);}
.maps-districts .dchip .zh{color:var(--muted);}
.maps-hint{margin-top:18px;padding-top:18px;font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;color:var(--faint);}
.maps-hint::before{content:"↳ ";color:var(--lime-deep);}
/* map container — deliberately narrower than the text rail; Google-like list stays vertical */
.maps-vis{min-height:clamp(520px,41vw,580px);}
.mapfig{position:relative;height:100%;border:1px solid var(--map-bldg-line);border-radius:var(--radius-md);overflow:hidden;background:var(--map-bg);display:flex;flex-direction:column;box-shadow:var(--shadow-card);}
/* map area — compact canvas above a real vertical local-pack drawer */
.map-area{position:relative;flex:1 1 auto;min-height:clamp(320px,28vw,390px);overflow:hidden;}
.map-area .map-svg{position:absolute;inset:0;width:100%;height:100%;display:block;}
.map-badge{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:7px;
  font-family:var(--mono);font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  background:var(--paper-card);border:1px solid var(--line-mid);border-radius:var(--radius-tag);padding:5px 9px;box-shadow:var(--shadow-card);z-index:2;}
.map-badge .dot{width:5px;height:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow);}
/* GMaps-style listing panel: bottom drawer, vertical rows, scrolls like the real local pack */
.lp-panel{flex:0 0 clamp(186px,15vw,210px);border-left:none;border-top:1px solid var(--line-dash);background:var(--bg);display:flex;flex-direction:column;overflow:hidden;width:100%;}
.lp-panel .lp-cap{font-family:var(--mono);font-size:.54rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);
  padding:8px 12px;border-bottom:1px dashed var(--line-dash);display:flex;align-items:center;gap:6px;flex:0 0 auto;background:var(--paper-card);}
.lp-panel .lp-cap .dot{width:5px;height:5px;border-radius:50%;background:var(--lime);}
.lp-scroll{flex:1;display:block;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;}
.lp-foot{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:8px 12px;border-top:1px dashed var(--line-dash);background:var(--paper-card);
  font-family:var(--mono);font-size:.5rem;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);}
.lp-foot-mk{color:var(--lime-deep);text-transform:none;}
.lp-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:10px 12px;border-bottom:1px dashed var(--line-dash);border-right:none;cursor:pointer;
  transition:background .2s var(--ease),padding-left .2s var(--ease);}
.lp-row:last-child{border-bottom:none;}
.lp-row:hover,.lp-row.active{background:var(--wash-soft);padding-left:15px;}
.lp-row.active{box-shadow:inset 3px 0 0 var(--lime);}
.lp-pin{width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:.52rem;
  font-weight:600;color:var(--white);flex:0 0 auto;}
.lp-pin.win{background:var(--rk-strong);box-shadow:0 0 0 3px var(--lime-glow);}
.lp-pin.rival{background:var(--rival);}
.lp-name{font-size:.78rem;color:var(--ink);font-weight:500;letter-spacing:-.01em;line-height:1.25;min-width:0;}
.lp-row.rival .lp-name{color:var(--muted);font-weight:400;}
.lp-rate{display:flex;flex-direction:column;align-items:flex-end;gap:1px;white-space:nowrap;}
.lp-stars{color:var(--star);font-size:.58rem;letter-spacing:.3px;}
.lp-row.win .lp-stars{color:var(--lime-deep);}
.lp-rev{font-family:var(--mono);font-size:.5rem;color:var(--faint);}
/* hover listing detail popup — floats over map-area */
.lp-detail{position:absolute;left:10px;right:10px;top:40px;z-index:4;background:var(--paper-card);border:1px solid var(--ink);
  border-radius:var(--radius-sm);padding:14px 14px 13px;box-shadow:var(--shadow-card);}
.lp-detail[hidden]{display:none;}
.lpd-head{display:flex;align-items:center;gap:10px;}
.lpd-rank{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:.6rem;font-weight:600;color:var(--white);background:var(--rival);flex:0 0 auto;}
.lp-detail.win .lpd-rank{background:var(--rk-strong);box-shadow:0 0 0 3px var(--lime-glow);}
.lpd-name{font-size:.86rem;font-weight:600;color:var(--ink);letter-spacing:-.01em;}
.lpd-cat{font-family:var(--mono);font-size:.56rem;letter-spacing:.04em;color:var(--muted);margin-top:2px;}
.lpd-rate{display:flex;align-items:baseline;gap:8px;margin-top:11px;padding-top:10px;border-top:1px dashed var(--line-dash);}
.lpd-score{font-size:1.2rem;font-weight:700;letter-spacing:-.03em;color:var(--ink);font-family:var(--mono);}
.lpd-stars{color:var(--star);font-size:.72rem;letter-spacing:1px;}
.lp-detail.win .lpd-stars{color:var(--lime-deep);}
.lpd-rev{font-family:var(--mono);font-size:.56rem;color:var(--faint);margin-left:auto;}
.lpd-meta{font-family:var(--mono);font-size:.58rem;color:var(--ink-soft);margin-top:8px;letter-spacing:.02em;}
.lpd-attrs{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;}
.lpd-attr{font-family:var(--mono);font-size:.52rem;letter-spacing:.04em;border-radius:var(--radius-tag);padding:3px 7px;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line-rule);color:var(--ink-soft);}
.lpd-attr.ok{border-color:var(--green-line);color:var(--lime-ink);background:var(--green-veil);}
.lpd-attr.warn{border-color:var(--amber-line);color:var(--ink-soft);background:var(--amber-veil);}
.lpd-note{font-size:.75rem;line-height:1.5;color:var(--ink-soft);margin-top:10px;}
/* mobile: keep map above a compact listing panel */
@media(max-width:580px){
  .mapfig{flex-direction:column;}
  .maps-vis{min-height:520px;}
  .map-area{min-height:330px;}
  .lp-panel{flex:0 0 auto;border-left:none;border-top:1px solid var(--line-dash);width:100%;max-height:188px;}
  .lp-scroll{grid-template-columns:1fr;overflow-y:auto;overflow-x:hidden;}
  .lp-row{border-right:none;border-bottom:1px dashed var(--line-dash);}
  .lp-row.active{box-shadow:inset 2px 0 0 var(--lime);}
  .lp-panel .lp-cap{padding:7px 12px;}
}
/* map SVG primitives */
.map-svg .road{fill:none;stroke:var(--map-road);stroke-linecap:round;}
.map-svg .road-c{fill:none;stroke:var(--map-road-line);stroke-linecap:round;}
.map-svg .bldg{fill:var(--map-bldg);stroke:var(--map-bldg-line);stroke-width:.5;}
.map-svg .bldg-sm{fill:var(--map-bldg);opacity:.7;}
.map-svg .grid-l{stroke:var(--map-grid);stroke-width:1;}
.map-svg .water{fill:var(--map-water);opacity:.75;}
.map-svg .water-hatch line{stroke:var(--map-water-line);stroke-width:1;}
.map-svg .map-dlbl{font-family:var(--mono);font-size:7.5px;letter-spacing:.11em;fill:var(--muted);text-transform:uppercase;}
/* teardrop pin — tip at transform origin, body extends upward */
.map-svg .mp-g{cursor:pointer;}
.map-svg .mp-hit{fill:transparent;pointer-events:all;}
.map-svg .mp{stroke:var(--white);stroke-width:1.5;transition:filter .2s var(--ease);}
.map-svg .mp.win{fill:var(--rk-strong);}
.map-svg .mp.rival{fill:var(--rival);}
.map-svg .mp-num{font-family:var(--mono);font-size:7.5px;font-weight:700;fill:var(--white);text-anchor:middle;dominant-baseline:middle;pointer-events:none;}
.map-svg .mp-ring{fill:none;stroke:var(--rk-strong);stroke-width:1.5;opacity:0;}
.mapfig.drawn .map-svg .mp-ring{animation:hubPulse 3s ease-out infinite;}
.map-svg .mp-g.active .mp,.map-svg .mp-g:hover .mp{filter:brightness(1.15) drop-shadow(0 2px 5px rgb(var(--ink-rgb) / .25));}
.map-svg .mp-g.active.win .mp,.map-svg .mp-g:hover.win .mp{filter:brightness(1.1) drop-shadow(0 0 6px var(--lime-glow));}
.map-svg .mp-g:focus{outline:none;}
.map-svg .mp-g:focus .mp{stroke:var(--lime);}

/* M03 — ranking factors data-ornament list */
.rank-factors{margin-top:22px;border-top:1px dashed var(--line-dash);}
.rank-factor{display:grid;grid-template-columns:28px 90px 1fr;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line-dash);align-items:baseline;}
.rank-factor:last-child{border-bottom:none;}
.rf-n{font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;color:var(--faint);}
.rf-lbl{font-family:var(--mono);font-size:.72rem;font-weight:600;letter-spacing:.04em;color:var(--ink);}
.rf-desc{font-size:.78rem;color:var(--ink-soft);}

/* ── MODULE 06 · Method — run-list with activity tags ── */
.runlist{list-style:none;margin-top:40px;border-top:1px dashed var(--line-mid);}
.run{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(16px,2.4vw,30px);padding:24px 0;
  border-bottom:1px dashed var(--line-dash);align-items:start;transition:padding-left .3s var(--ease);}
.run:hover{padding-left:6px;}
.run .run-c{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--faint);padding-top:5px;}
.run h3{font-size:1.12rem;font-weight:600;letter-spacing:-.01em;margin-bottom:7px;}
.run p{font-size:.92rem;color:var(--ink-soft);line-height:1.6;max-width:60ch;}
.run-tags{display:flex;flex-direction:column;gap:6px;align-self:center;min-width:108px;}
.run-tags span{font-family:var(--mono);font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);
  border:1px dashed var(--line-rule);border-radius:var(--radius-tag);padding:4px 9px;white-space:nowrap;text-align:center;}
@media(max-width:880px){.run{grid-template-columns:auto 1fr;}.run-tags{grid-column:2;flex-direction:row;flex-wrap:wrap;padding-bottom:4px;}}

/* M07 — mono stat annotation above contrast ledger */
.why-note{display:flex;align-items:center;gap:clamp(14px,2.5vw,28px);flex-wrap:wrap;margin-top:32px;
  padding:12px 18px;border-left:2px solid var(--ink);border:1px dashed var(--line-rule);border-left:2px solid var(--ink);background:var(--paper-card);}
.wn-lbl{font-family:var(--mono);font-size:.62rem;letter-spacing:.08em;color:var(--muted);white-space:nowrap;}
.wn-stats{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-family:var(--mono);font-size:.76rem;color:var(--ink-soft);}
.wn-stats b{color:var(--ink);font-weight:700;}
.wn-stats .sep{color:var(--line-mid);}

/* ── MODULE 07 · Why a specialist — Omnius contrast ledger ── */
.why-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-mid);border-top:2px solid var(--ink);margin-top:40px;background:var(--bg);}
@media(max-width:760px){.why-grid{grid-template-columns:1fr;}}
.why-col{padding:clamp(22px,3vw,36px);}
.why-col.us{border-right:1px solid var(--line-mid);background:var(--wash-soft);}
@media(max-width:760px){.why-col.us{border-right:none;border-bottom:1px solid var(--line-mid);}}
.why-tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:8px;}
.why-col.us .why-tag{color:var(--ink);}
.why-col.us .why-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow-2);}
.why-col.them .why-tag{color:var(--faint);}
.why-col h3{font-size:1.04rem;font-weight:600;letter-spacing:-.01em;margin:14px 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line-mid);}
.why-col.us h3{color:var(--ink);}
.why-col.them h3{color:var(--muted);}
.why-row{display:grid;grid-template-columns:18px 1fr;gap:8px;padding:12px 0;border-bottom:1px dashed var(--line-dash);font-size:.9rem;line-height:1.5;color:var(--ink-soft);align-items:baseline;}
.why-row:last-child{border-bottom:none;}
.why-row .mk{font-family:var(--mono);font-size:.8rem;line-height:1.5;text-align:center;}
.why-col.us .why-row .mk{color:var(--lime-ink);}
.why-col.them .why-row{color:var(--muted);}
.why-col.them .why-row .mk{color:var(--faint);}


/* ── M08 Evidence — verify-grid overrides (component base in components.css) ── */
/* .verify-grid / .vproof / .vrow / .apanel all inherit from components.css */
@media(max-width:760px){.rank-factor{grid-template-columns:22px 80px 1fr;}}

@media(prefers-reduced-motion:reduce){
  .mapfig.drawn .map-svg .mp-ring{animation:none;}
}

/* ── MODULE 10 · CTA — blueprint intake, flat brutalist on dark substrate ── */
/* tie the CTA bookend to the other dark bands with the dotted substrate */
.foot-cta{background-image:radial-gradient(var(--wash-on) 1px,transparent 1px);background-size:32px 32px;}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,80px);align-items:start;}
@media(max-width:900px){.cta-grid{grid-template-columns:1fr;gap:40px;}}
.cta-h2{max-width:none;}
.cta-across{margin-top:8px;font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:500;letter-spacing:-.02em;line-height:1.05;color:var(--tx-on-50);}
.cta-across .brot-lg{color:var(--lime);min-width:7em;height:1.05em;line-height:1.05;}
.cta-prooflist{list-style:none;margin-top:30px;display:flex;flex-direction:column;gap:0;border-top:1px dashed var(--line-on-dash);}
.cta-prooflist li{display:flex;align-items:baseline;gap:11px;font-size:.9rem;color:var(--tx-on-62);line-height:1.45;
  padding:13px 0;border-bottom:1px dashed var(--line-on-dash);}
.cpl-mk{font-family:var(--mono);font-size:.78rem;color:var(--lime);flex:0 0 auto;}
/* flat intake card — dashed hairline frame, no bevel, no radius */
.cta-form-wrap{border:1px dashed var(--line-on-mid);background:var(--wash-on-min);}
.cta-form-head{display:flex;align-items:center;gap:8px;padding:13px 20px;border-bottom:1px dashed var(--line-on-dash);}
.cta-form-head::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 3px var(--lime-glow);}
.cta-form{padding:22px 20px;}
.cf-row{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;}
.cf-lbl{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-on-55);}
.cf-in{width:100%;padding:10px 0;background:none;border:none;border-bottom:1px solid var(--line-on-mid);
  font-size:.9rem;color:var(--tx-on);outline:none;transition:border-color .2s var(--ease);font-family:var(--sans);}
.cf-in:focus{border-bottom-color:var(--lime);}
.cf-in::placeholder{color:var(--tx-on-40);}
.cf-in option{background:var(--inverse-bg);color:var(--tx-on);}
.cf-ta{resize:vertical;min-height:60px;border:1px solid var(--line-on-mid);padding:10px 12px;}
.cf-ta:focus{border-color:var(--lime);}
.cf-sub{width:100%;justify-content:center;margin-top:8px;background:var(--lime);color:var(--ink);border-color:var(--lime);font-weight:600;}
.cf-sub:hover{background:var(--lime-deep);border-color:var(--lime-deep);}
.cf-note{margin-top:12px;font-family:var(--mono);font-size:.58rem;letter-spacing:.06em;color:var(--tx-on-40);text-align:center;}
