/* contact — the front counter (data-hero="counterfront"). Only what chrome.css lacks.
   Action-card hero, full-width visit band, same-day-quote checklist grid. */

/* ---------- hero: the front counter ---------- */
.chero{position:relative;overflow:clip;padding:72px 0 96px;background:
  radial-gradient(820px 480px at 70% 12%,rgba(29,130,198,.15),transparent 62%),
  radial-gradient(640px 420px at 8% 92%,rgba(34,75,133,.13),transparent 60%),
  var(--bg)}
.chero::before{content:"";position:absolute;inset:0;background-image:
  linear-gradient(rgba(96,168,232,.05) 1px,transparent 1px),
  linear-gradient(90deg,rgba(96,168,232,.05) 1px,transparent 1px);
  background-size:56px 56px;mask-image:radial-gradient(720px 480px at 50% 0%,#000 30%,transparent 72%)}
.chero .wrap{position:relative}
.chero .kicker{margin-bottom:20px}
.chero h1{max-width:20ch}
.chero .lede{margin:22px 0 0;color:var(--mut);font-size:15.5px;line-height:1.7;max-width:62ch}

.actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--g3);margin-top:52px}
.chcard{display:block;padding:30px 28px}
.alabel{display:inline-flex;align-items:center;gap:var(--g2);font:500 12px var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--cyan)}
.alabel::before{content:"";width:26px;height:1px;background:var(--cyan)}
/* The email card's whole job is to hand over an address, and `overflow-wrap:break-word`
   broke it at the least readable possible point -- 'enquiry@' / 'optimusdistributor.com'
   -- while the two phone cards held one line, so the row's baselines disagreed too.
   Sizing down to the longest of the three keeps it whole. (A-D9) */
.chcard b{display:block;margin-top:16px;font:600 clamp(15px,1.35vw,20px)/1.35 var(--disp);letter-spacing:-.01em;color:var(--ink);overflow-wrap:anywhere;hyphens:none}
.anote{display:block;margin-top:12px;font-size:13.5px;line-height:1.55;color:var(--mut)}
@media (max-width:900px){.actions{grid-template-columns:1fr;margin-top:40px}}

/* ---------- visit band ---------- */
.visitband{background:var(--bg2);border-block:1px solid var(--line)}
.vgrid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--g5);align-items:center}
.vfacts{display:grid;gap:var(--g2);margin-top:28px}
/* ADDRESS / HOURS / MAP produced three different left edges. (B-D9) */
.vfacts li{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--g2);align-items:baseline;border:1px solid var(--line2);border-radius:var(--rad-s);padding:16px 20px;background:rgba(12,24,48,.4)}
@media (max-width:520px){.vfacts li{grid-template-columns:1fr;gap:var(--g1)}}
.vfacts b{font:500 12px var(--mono);letter-spacing:.14em;color:var(--cyan);text-transform:uppercase;white-space:nowrap}
.vfacts span{color:var(--mut);font-size:14.5px}
.vfacts a{color:var(--cyan2);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(76,196,255,.4)}
.vfacts a:hover{text-decoration-color:var(--cyan2)}
.vph img{aspect-ratio:4/3.2}
@media (max-width:900px){.vgrid{grid-template-columns:1fr;gap:var(--g5)}}

/* ---------- quote checklist ---------- */
/* three columns, because the checklist is nine items: 4-up left the ninth card alone on
   its own row. (round 3, B R-3) */
.reqgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--g2);margin-bottom:30px}
/* Nine items never divide by two, so the two-column step left the ninth alone on its own
   row -- an orphan the render gate counts as a dead cell. The last one spans the pair
   instead, which reads as a deliberate wide row rather than a leftover. */
@media (max-width:900px){
  .reqgrid{grid-template-columns:repeat(2,1fr)}
  .reqgrid > :last-child{grid-column:1 / -1}
}
@media (max-width:520px){.reqgrid{grid-template-columns:1fr}}
.qitem{border:1px solid var(--line2);border-radius:var(--rad-s);background:rgba(12,24,48,.4);padding:18px 16px;transition:border-color .25s}
.qitem:hover{border-color:rgba(76,196,255,.4)}
.qitem b{display:block;font:500 12px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--cyan)}
.qitem span{display:block;margin-top:12px;font-size:13.5px;line-height:1.5;color:var(--mut)}
.prose{max-width:65ch}
/* removed: an explicit override that undid the --prose token */
