/* ============================================================================
   ZENITH INSTANT ESTIMATOR — narrow single-column funnel skin.
   Layers on top of site.css. Same tokens, same class names.
   ========================================================================= */
body{background:var(--bg);padding-bottom:0}
.wrap{max-width:600px;margin:0 auto;padding:16px 20px 90px}

header.top{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  max-width:600px;margin:0 auto;padding:18px 20px 6px;
}
header.top .brand img{height:36px;width:auto;display:block}
.hdr-phone{
  font-family:var(--z-mono);font-weight:500;letter-spacing:.04em;
  color:var(--accent);font-size:15px;white-space:nowrap;
}

.progress{display:flex;gap:6px;margin:18px 0 22px}
h1{font-size:29px;line-height:1.15;margin:6px 0 10px}
h1 .hl{color:var(--accent)}
h2{font-size:23px;margin:2px 0 8px}
p.sub{color:var(--text-2);margin:0 0 22px;font-size:16px;line-height:1.6}
.card{
  background:var(--card);border:1px solid var(--line);border-top:3px solid var(--accent-lg);
  border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow);padding:22px;
}
label.fld:first-child{margin-top:0}

.btn{display:block;width:100%;margin-top:20px}
.btn-primary:disabled{opacity:.45;cursor:not-allowed}
.btn-ghost{background:transparent;border:none;color:var(--text-3);font-weight:500;font-size:14px;margin-top:12px}
.btn-ghost:hover{color:var(--heading);border:none}

.trust{
  display:flex;justify-content:center;gap:8px 18px;margin-top:20px;
  color:var(--text-3);font-size:12.5px;flex-wrap:wrap;
  font-family:var(--z-mono);font-weight:500;letter-spacing:.08em;text-transform:uppercase;
}
.trust b{color:var(--text-2)}
.small{font-size:13px;color:var(--text-3);line-height:1.55}
.center{text-align:center}

/* pitch / layers selectors — the two questions that buy the most accuracy */
.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.qopt{
  padding:14px 12px;border:1.5px solid var(--line-strong);border-radius:var(--radius-sm);
  background:var(--card);cursor:pointer;text-align:center;font-family:var(--z-body);
  font-size:14.5px;color:var(--text);min-height:var(--tap);line-height:1.35;
}
.qopt b{display:block;font-weight:600;color:var(--heading);font-size:15px}
.qopt span{display:block;font-size:12.5px;color:var(--text-3);margin-top:3px}
.qopt.on{border-color:var(--accent-lg);background:var(--accent-soft)}
.qopt.on b{color:var(--accent)}

.spin{
  width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--accent-lg);
  border-radius:50%;margin:8px auto 4px;animation:sp .8s linear infinite;
}
@keyframes sp{to{transform:rotate(360deg)}}

/* the result — a range and a mid-point, never a single number */
.range-hero .amt{font-size:36px}
@media(max-width:420px){.range-hero .amt{font-size:29px}}

.cta-final{
  display:block;width:100%;text-align:center;background:var(--band);
  color:var(--band-text);font-family:var(--z-body);font-weight:600;font-size:17px;
  padding:17px;border-radius:var(--radius-sm);text-decoration:none;margin-top:18px;
  border-top:3px solid var(--accent-lg);
}
.cta-final:hover{background:var(--band-2);color:var(--band-accent)}

/* the guarantee, restated at the decision moment */
.gmini{margin-top:22px;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.gmini .h{
  background:var(--band);color:var(--band-text);padding:14px 18px;
  font-family:var(--z-mono);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
}
.gmini ul{list-style:none;margin:0;padding:6px 18px 14px;background:var(--card)}
.gmini li{
  padding:11px 0 11px 26px;position:relative;font-size:14.5px;color:var(--text-2);
  border-bottom:1px solid var(--line);line-height:1.5;
}
.gmini li:last-child{border-bottom:none}
.gmini li:before{content:"✔";position:absolute;left:0;top:11px;color:var(--ok);font-weight:700}
.gmini li b{color:var(--heading);font-weight:600}

.foot{
  max-width:600px;margin:30px auto 0;text-align:center;color:var(--text-3);
  font-size:12.5px;line-height:1.7;
}
.foot a{color:var(--text-3);text-decoration:underline}
.foot .lic{font-family:var(--z-mono);font-weight:500;letter-spacing:.12em;font-size:11px}

/* ═══════════  BOOKING (canonical-only feature, retokenised)  ═══════════
   These rules lived in the page's inline <style>, which the brand skin
   replaced. Same class names and same behaviour — brand tokens instead of
   the old raw hexes, and a 44px tap target on every slot. */
.book-card{margin-top:18px;padding:20px}
.book-head b{display:block;font-family:var(--z-disp);font-weight:800;letter-spacing:-.02em;
  font-size:17px;color:var(--heading);margin-bottom:4px}
.book-head span{display:block;margin-top:2px;color:var(--text-2)}
.daygrid{display:flex;flex-direction:column;gap:16px;margin-top:18px}
.day .dayh{font-family:var(--z-mono);font-weight:500;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-3);margin-bottom:9px}
.times{display:flex;flex-wrap:wrap;gap:8px}
.slot{
  border:1.5px solid var(--line-strong);background:var(--card);border-radius:var(--radius-sm);
  padding:11px 16px;font-family:var(--z-mono);font-weight:500;font-size:14px;letter-spacing:.04em;
  color:var(--text);cursor:pointer;transition:.12s;min-height:var(--tap);
}
.slot:hover{border-color:var(--accent-lg);background:var(--accent-soft)}
.slot.sel{background:var(--accent-lg);color:var(--z-rainier-white);border-color:var(--accent-lg)}

/* the satellite-mismatch banner — honest warning, so it reads as one */
.warn{
  font-size:14px;line-height:1.55;color:var(--warn);background:var(--warn-bg);
  border:1px solid var(--accent-lg);border-left:3px solid var(--accent-lg);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:14px 16px;margin-bottom:16px;
}
.warn b{color:var(--warn);font-weight:600}
