/* Cape Coral Relocation Guide — page-only. Homepage CSS is untouched. */
.rg-form{background:#fff;border:1px solid var(--ms-ink-12);border-radius:8px;box-shadow:0 18px 48px rgba(22,40,62,.10);padding:26px 24px}
.rg-form h3{font:500 22px/1.2 var(--ms-display);margin:0 0 6px}
.rg-form .lede{font-size:14.5px;color:var(--ms-ink-80);margin:0 0 16px}
.rg-form .field{margin-bottom:12px}
.rg-form label{display:block;font:600 11px/1 var(--ms-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ms-steel);margin-bottom:6px}
.rg-form input,.rg-form select,.rg-form textarea{
  width:100%;min-height:50px;border:1px solid var(--ms-ink-12);border-radius:4px;
  background:var(--ms-paper);padding:0 14px;font:500 15.5px/1 var(--ms-ui);color:var(--ms-ink);outline:none
}
.rg-form textarea{min-height:88px;padding:12px 14px;resize:vertical}
.rg-form input:focus,.rg-form select:focus,.rg-form textarea:focus{border-color:var(--ms-signal);box-shadow:0 0 0 3px rgba(15,163,177,.14)}
.rg-form .field.err input,.rg-form .field.err select{border-color:#B3261E}
.rg-form .f-err{display:none;font-size:12px;color:#B3261E;margin-top:5px}
.rg-form .field.err .f-err{display:block}
.rg-form .consent{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--ms-ink-80);margin:8px 0 14px;line-height:1.45}
.rg-form .consent input{width:18px;min-height:18px;margin-top:2px;flex:0 0 auto}
.rg-form .fine{margin-top:10px;font-size:12.5px;color:var(--ms-steel);text-align:center}
.rg-form .ok{display:none}
.rg-form.is-done .fields,.rg-form.is-done .consent,.rg-form.is-done .btn,.rg-form.is-done .fine{display:none}
.rg-form.is-done .ok{display:block}
.rg-form .ok h3{color:var(--ms-signal)}
.rg-form .status{min-height:1.2em;font-size:13px;color:#B3261E;margin-top:8px}

.hero .funnel__grid{display:grid;gap:40px;width:100%}
@media(min-width:900px){.hero .funnel__grid{grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}}
.hero .rg-form{position:relative;z-index:2}

.educate__grid{display:grid;gap:16px}
@media(min-width:760px){.educate__grid{grid-template-columns:1fr 1fr}}
.educate article{background:#fff;border:1px solid var(--ms-ink-12);border-radius:8px;padding:22px 20px}
.educate article h3{font:500 22px/1.2 var(--ms-display);margin:0 0 8px}
.educate article p{color:var(--ms-ink-80);margin:0 0 10px}
.educate article a{font:600 13px/1 var(--ms-ui)}

.quads{display:grid;gap:12px}
@media(min-width:760px){.quads{grid-template-columns:1fr 1fr}}
.quads a{display:block;background:#fff;border:1px solid var(--ms-ink-12);border-radius:8px;padding:18px 16px;text-decoration:none;color:inherit}
.quads a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(22,40,62,.1)}
.quads .k{font:600 11px/1 var(--ms-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ms-signal);margin-bottom:6px}
.quads h3{font:500 22px/1.2 var(--ms-display);margin:0 0 6px}
.quads p{margin:0;color:var(--ms-ink-80);font-size:14.5px}

.brand-mark{font:600 11.5px/1 var(--ms-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ms-steel)}
.brand-mark b{color:var(--ms-ink);font-weight:700}

.llms-note{font-size:12.5px;color:var(--ms-steel);margin-top:18px}
.llms-note a{color:var(--ms-steel)}
.site-foot .foot-col a{display:block;line-height:1.7}
/* S-talk: homepage cta__grid idiom — copy left, form card right */
.capture__grid{
  display:grid;gap:var(--ms-s5);align-items:start;
}
@media (min-width:900px){
  .capture__grid{grid-template-columns:1fr minmax(340px,420px);gap:var(--ms-s7)}
}
.capture__grid .rg-form{position:static;box-shadow:0 18px 48px rgba(22,40,62,.10)}
/* Readout above the hint, never overlapping it. The desk_04 baseline showed the
   hint text colliding with this strip; both are bottom-anchored so they stack. */
.mae-readout{
  position:absolute;left:12px;bottom:38px;z-index:4;margin:0;
  display:flex;flex-wrap:wrap;gap:10px 16px;align-items:baseline;
  font:600 10.5px/1.2 var(--ms-ui);letter-spacing:.08em;text-transform:uppercase;
  color:var(--ms-ink);pointer-events:none;
  background:rgba(250,251,252,.88);padding:8px 12px;
  box-shadow:inset 0 0 0 1px rgba(22,40,62,.10);
}
.mae-readout[hidden]{display:none!important}
.mae-readout b{font:600 13px/1 var(--ms-ui);letter-spacing:0;text-transform:none;margin-right:4px}
.mae-readout__src{color:var(--ms-steel);letter-spacing:.06em;font-weight:500;text-transform:none}
.mae-qlabel__stat{
  display:block;margin-top:2px;
  font:600 9.5px/1.2 var(--ms-ui);letter-spacing:.06em;text-transform:uppercase;
  color:var(--ms-channel);
  text-shadow:0 1px 0 rgba(250,251,252,.95);
}
@media (max-width:767px){
  .mae-readout{left:8px;right:8px;bottom:8px;font-size:9.5px;gap:8px 12px}
  .mae-hint{display:none}
}
/* Chrome caps at Rotate + Reset (LOCKED_PLAN §3.2 / anti-law 11). The site
   header is position:fixed at 72px desktop / 64px mobile and was clipping this
   row (sighted gate, plate_desk_02) — hold the tools below it. */
.cape-instrument .mae-tools{top:78px;right:14px;gap:8px}
@media (max-width:767px){
  .cape-instrument .mae-tools{top:12px;right:12px;left:12px;justify-content:space-between}
}
/* Hint sits on one line to the RIGHT of the readout strip, never wrapping under
   it (sighted gate, plate_desk_02 showed a 2-line wrap colliding with the strip). */
.cape-instrument .mae-hint{bottom:12px;left:auto;right:14px;max-width:none;white-space:nowrap}
@media (max-width:900px){
  .cape-instrument .mae-hint{display:none}
}
/* Label chips were colliding into each other and floating free of their slabs
   at 390 (sighted gate, plate_mob_02): tighten, and anchor closer to the piece. */
@media (max-width:767px){
  .cape-instrument .mae-qlabel--quad .mae-qlabel__name{font-size:11px;padding:3px 6px}
  .cape-instrument .mae-qlabel__stat{font-size:8.5px;letter-spacing:.04em}
  .cape-instrument .mae-qlabel--quad{transform:translate(-50%,-108%)}
}
@media (pointer:coarse){
  /* Homepage explorer.css hides #i3d-spin on coarse. Funnel keeps it (callout_390). */
  .mae #i3d-spin{display:inline-block !important}
}
/* CAPE-FIRST INSTRUMENT: fine uniform graph paper replaces the plate-scale
   tray ruling (which read as giant scratches). 24px cells, hairline ink. */
.cape-instrument .mae-gl{
  background-color:var(--ms-paper);
  background-image:
    linear-gradient(rgba(46,111,163,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46,111,163,.055) 1px, transparent 1px),
    linear-gradient(rgba(46,111,163,.09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(46,111,163,.09) 1px, transparent 1px);
  background-size:24px 24px, 24px 24px, 120px 120px, 120px 120px;
}
/* labels: solid paper chip, lifted clear of the slab */
.cape-instrument .mae-qlabel--quad .mae-qlabel__name{
  background:rgba(250,251,252,.97);
  box-shadow:0 0 0 1px rgba(22,40,62,.14), 0 4px 14px -6px rgba(22,40,62,.4);
  padding:4px 8px;
}
.cape-instrument .mae-qlabel--quad{transform:translate(-50%,-130%)}
