/* ---------- Mobile fixes, 19 Oct 2026 ----------
   1. The hero grid track grew to the min-content width of the nowrap
      highlight line, so the headline and price box were clipped on phones.
   2. Logo, CTA and burger wrapped onto two rows on 375px screens. The menu
      panel is absolutely positioned below 900px, so no wrap is needed. */
@media(max-width:1000px){
  .hero-in{grid-template-columns:minmax(0,1fr)}
  .hero-in>*{min-width:0}
}
@media(max-width:560px){
  .hero h1 .hl{white-space:normal}
  .hero h1{font-size:clamp(30px,8.4vw,36px);overflow-wrap:break-word}
}
@media(max-width:900px){
  .top-in{flex-wrap:nowrap;gap:var(--x3)}
}
@media(max-width:400px){
  .top-in{padding-left:var(--x4);padding-right:var(--x4)}
  .top-act .btn{padding-left:14px;padding-right:14px;font-size:14.5px}
}

/* ---------- Lead form, full field set (19 Oct 2026) ---------- */
.lf-f label em{color:#B3261E;font-style:normal}
.lf-opt{font-weight:400;color:var(--ink-3)}
.lf-f textarea{
  font-family:var(--sans);font-size:15.5px;color:var(--ink);
  padding:12px 13px;border:1px solid var(--rule);border-radius:var(--r2);
  background:var(--paper);outline:none;width:100%;resize:vertical;min-height:84px;
  transition:border-color .2s,background .2s,box-shadow .2s}
.lf-f textarea:focus{border-color:var(--brand);background:var(--card);box-shadow:0 0 0 3px var(--brand-veil)}
.lf-consent{display:flex;gap:10px;align-items:flex-start}
.lf-consent input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--brand)}
.lf-consent label{font-size:13px;line-height:1.55;color:var(--ink-2)}
.lf-consent label em{color:#B3261E;font-style:normal}
.lf-consent a{color:inherit;text-decoration:underline}
@media(max-width:560px){
  .lf-row,.cf-row{grid-template-columns:1fr}
  .cf-row .cf-f{margin-bottom:var(--x4)}
  .cf-row{margin-bottom:0}
}
