/* r14c · hero two column layout: copy left ~55, estimator right ~45 (desktop).
   The early-round single-column lock on .hero_grid carries !important, so
   these declarations must too. */
@media (min-width:1024px){
  .section_hero .hero_grid{display:grid!important;grid-template-columns:minmax(0,55fr) minmax(0,45fr)!important;
    gap:40px!important;align-items:start!important;max-width:none!important;width:100%!important}
  .section_hero .hero_form-card{width:100%!important;max-width:none!important;margin:0!important}
  .hero_copy .section_trust{padding:22px 0 0!important}
  .hero_copy .trust_wrap{padding:0!important}
}
@media (max-width:767px){
  .hero_copy .section_trust{display:none}
}

/* r14d · sticky bar height cap */
@media (max-width:767px){
  .mobile_bar{max-height:56px!important;padding-top:6px!important;padding-bottom:6px!important;align-items:center}
  .mobile_bar .btn_primary{margin:0!important}
}

/* r14e · Round 12 form revisions */
/* the answer summary is a single collapsed line everywhere; Edit expands it */
.hv_sumrows,.hv_sumhead{display:none}
.hv_sumline{display:block}
.hv_sumwrap.hv_sumopen .hv_sumrows{display:block}
.hv_sumwrap.hv_sumopen .hv_sumhead{display:block}
/* rating line: legible white */
.hv_s_contact .hv_rate_line,.section_final .hv_rate_line{color:#FCFBF8!important}
/* roof structure two-up on mobile, and clear air before the privacy line */
@media (max-width:767px){
  .hv_roofgrid{grid-template-columns:1fr 1fr!important}
  .fs15_pick .pill_grid{grid-template-columns:1fr 1fr!important}
  .fs15 .roof_pill,.hv_roofgrid .roof_pill{font-size:14px}
  .hv_priv{margin-top:16px!important}
}
/* step 1 overflow: grid items must be allowed to shrink inside the card */
.section_hero .hero_form-card{min-width:0!important}
.hero_form-card .fs1 .pill_grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.hero_form-card .fs1 .type_pill{min-width:0}

/* r14f · container step 2: sizes two up at every width, quantity on its own
   full width row underneath. Overrides the earlier <768 single column rule. */
.hv_s_sizeqty .hv_agrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.hv_s_sizeqty .hv_apill{min-width:0}
.hv_s_sizeqty .hv_qty{width:100%;margin-top:12px}
.hv_s_sizeqty .hv_qty input{width:100%}

/* ============ r16 · diagnostic section v2, text led ============ */
/* typography comes from the page's own classes (iv2_eyebrow, iv2_h2,
   iv2_h3, nx_lead, mt2_node); this block is layout, rhythm and motion */
.hvdg_sec{background:#FCFBF8;padding:92px 0}
.hvdg_wrap{max-width:1168px;margin:0 auto;padding:0 24px}
.hvdg_h2{margin:6px 0 14px;max-width:760px}
.hvdg_intro{max-width:700px;margin:0 0 6px}
.hvdg_q{margin:34px 0 24px}
.hvdg_grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 60px;max-width:1020px}
.hvdg_head{display:flex;align-items:baseline;gap:12px}
.hvdg_sym{font-family:Geist,Arial,sans-serif;font-size:16.64px;font-weight:600;color:#16181B;line-height:1.4}
.hvdg_ex{margin:6px 0 0;padding-left:32px}
.hvdg_p2label{margin-top:40px}
.hvdg_p2{margin:0 0 4px}
.hvdg_res{max-width:760px;margin:38px 0 12px}
.hvdg_limit{max-width:760px;margin:0 0 26px}
.hvdg_cta{display:inline-block}

/* one signature motion: items fade and rise once, 60ms apart */
.hvdg_item{opacity:0;transform:translateY(14px)}
.hvdg_on .hvdg_item{opacity:1;transform:translateY(0);
  transition:opacity .5s cubic-bezier(.19,1,.22,1),transform .5s cubic-bezier(.19,1,.22,1)}
.hvdg_on .hvdg_item:nth-child(2){transition-delay:.06s}
.hvdg_on .hvdg_item:nth-child(3){transition-delay:.12s}
.hvdg_on .hvdg_item:nth-child(4){transition-delay:.18s}
.hvdg_on .hvdg_item:nth-child(5){transition-delay:.24s}
.hvdg_on .hvdg_item:nth-child(6){transition-delay:.3s}
@media (prefers-reduced-motion:reduce){
  .hvdg_item{opacity:1!important;transform:none!important;transition:none!important}
}

@media (max-width:767px){
  .hvdg_sec{padding:64px 0}
  .hvdg_grid{grid-template-columns:1fr;gap:26px}
  .hvdg_q{margin:28px 0 20px}
}

/* ============ r17 · diagnostic v3, commercial redesign ============ */
/* checklist left with hairline rules, answer column right; the whole
   section reads in one desktop viewport */
.hvdg3{padding:48px 0}
.hvdg3 .hvdg_h2{margin:8px 0 10px;max-width:820px}
.hvdg3 .hvdg_intro{max-width:780px;margin:0 0 20px}
.hvdg3_cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4.6fr);gap:56px;align-items:start}
.hvdg3 .hvdg_q{margin:0 0 4px}
.hvdg3_items{margin-top:8px}
.hvdg3_item{display:flex;gap:16px;align-items:baseline;padding:11px 0;border-bottom:1px solid #E6E2D8}
.hvdg3_item:first-child{border-top:1px solid #E6E2D8}
.hvdg3_body{min-width:0}
.hvdg3 .hvdg_sym{display:block}
.hvdg3_ex{font-family:Geist,Arial,sans-serif;font-size:14px;line-height:1.5;color:#5C6066;margin:3px 0 0}
.hvdg3_side{border-left:1px solid #E6E2D8;padding-left:40px}
.hvdg3_res{margin:4px 0 14px}
.hvdg3_limit{font-family:Geist,Arial,sans-serif;font-size:14px;line-height:1.55;color:#5C6066;margin:0 0 24px}

@media (max-width:767px){
  .hvdg3{padding:56px 0}
  .hvdg3 .hvdg_intro{margin:0 0 26px}
  .hvdg3_cols{grid-template-columns:1fr;gap:32px}
  .hvdg3_item{padding:15px 0;gap:13px}
  .hvdg3_ex{margin:5px 0 0;font-size:14px;line-height:1.55}
  .hvdg3_side{border-left:none;padding-left:0;border-top:1px solid #E6E2D8;padding-top:26px}
}

/* r18 · metal costs block sits full width beneath the columns */
.hvdg3 .hvdg_p2label{margin:36px 0 14px}
.hvdg3 .hvdg_p2{margin:0}

/* r19 · the number circles must never be squeezed by long symptom lines */
.hvdg3_item .hvdg_no{flex:0 0 auto}

/* r20 · flow v1: section reorder merges.
   Evidence keeps its shell (its type rules are ancestor scoped) but loses
   its standalone section padding once inside the material section; its H2
   demotes to a subheading scale. The benefit card grid lives inside the
   what-you-get wrap, between the head and the numbered rail. */
.nx_sec .section_evidence{padding:72px 0 0}
.nx_sec .section_evidence h2{font-size:28px;line-height:1.25}
.mt2_wrap>.hero_points{margin:30px 0 44px}

@media (max-width:767px){
  .nx_sec .section_evidence{padding:52px 0 0}
  .nx_sec .section_evidence h2{font-size:24px}
  .mt2_wrap>.hero_points{margin:24px 0 34px}
}
