/* =====================================================================
   Warm Homes Finance (page-templates/warm-homes.php + homepage section)
   Light, consumer-friendly conversion pages. Scoped under main.wh and
   .wh-home so nothing leaks into the rest of the site.
   ===================================================================== */

.wh, .wh-home {
  --wh-ink: #0f1a14;
  --wh-text: #2b3530;
  --wh-muted: #5b6660;
  --wh-line: #e2eadc;
  --wh-tint: #f4f8f1;
  --wh-green: #6ab544;
  --wh-green-700: #3e7a24;
  --wh-green-800: #2f5f1b;
  --wh-soft: #e8f4df;
  --wh-radius: 24px;
  --wh-shadow: 0 1px 2px rgba(15, 26, 20, .04), 0 14px 32px -20px rgba(15, 26, 20, .22);
  --wh-shadow-lg: 0 2px 6px rgba(15, 26, 20, .04), 0 40px 80px -42px rgba(15, 26, 20, .38);
  color: var(--wh-text);
}
.wh { background: #ffffff; }
.wh *, .wh *::before, .wh *::after, .wh-home *, .wh-home *::before, .wh-home *::after { box-sizing: border-box; }

/* ---------- Shared type and layout ---------- */
.wh-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; font-family: var(--sp-serif); font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--wh-green-700); }
.wh-eyebrow::before { content: ""; width: 24px; height: 2px; border-radius: 2px; background: var(--wh-green); }
.wh-h2 { margin: 0; font-family: var(--sp-serif); font-size: clamp(28px, 3vw, 44px); line-height: 1.15 !important; letter-spacing: -.02em; color: var(--wh-ink); text-wrap: balance; }
.wh-h2 em { font-style: normal; color: var(--sp-green-text, #6ab544); }
.wh-intro { margin: 16px 0 0; max-width: 620px; font-size: 17.5px; line-height: 1.7; color: var(--wh-muted); }
.wh-head { margin-bottom: 44px; }
.wh-head--split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 16px 64px; align-items: end; }
.wh-head--split .wh-intro { margin: 0; justify-self: end; }
.wh-head--center { text-align: center; }
.wh-head--center .wh-eyebrow { justify-content: center; }
.wh-head--center .wh-intro { margin-left: auto; margin-right: auto; }
.wh-section { position: relative; padding: 104px 0; }
.wh-section--tint { background: var(--wh-tint); }
.wh-center { margin-top: 44px; text-align: center; }
.wh-btn { box-shadow: 0 14px 28px -14px rgba(62, 122, 36, .7); }
.wh-btn--block { width: 100%; justify-content: center; }
.wh-btn--ghost { box-shadow: none; background: #ffffff; }
.wh .sp-btn, .wh-home .sp-btn { white-space: normal; text-align: center; }
.wh-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14.5px; font-weight: 600; color: var(--wh-green-700); text-decoration: none; }
.wh-link:hover { color: var(--wh-green-800); }
.wh-link i { transition: transform .3s var(--sp-ease); }
.wh-link:hover i { transform: translateX(3px); }
.wh-footnote { margin: 22px 0 0; font-size: 12.5px; line-height: 1.6; color: var(--wh-muted); }
.wh-legal { margin: 0 auto; padding-top: 28px; padding-bottom: 36px; font-size: 12.5px; line-height: 1.6; color: var(--wh-muted); border-top: 1px solid var(--wh-line); }

/* ---------- Hero ---------- */
.wh-hero { position: relative; padding: 32px 0 72px; overflow: hidden; }
.wh-hero__bg { position: absolute; inset: 0; z-index: 0; background:
  radial-gradient(900px 520px at 88% 8%, rgba(106, 181, 68, .16), transparent 62%),
  radial-gradient(700px 480px at 0% 100%, rgba(106, 181, 68, .1), transparent 60%),
  linear-gradient(180deg, #f6faf3 0%, #ffffff 78%); }
.wh-hero .container-xxl { position: relative; z-index: 1; }
.wh-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 56px; align-items: center; }
.wh-badge { display: inline-flex; align-items: center; gap: 10px; padding: 8px 16px 8px 12px; border-radius: 999px; background: #ffffff; border: 1px solid #d6e8c9; box-shadow: var(--wh-shadow); font-size: 13.5px; font-weight: 600; color: var(--wh-green-800); }
.wh-badge__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--wh-green); box-shadow: 0 0 0 4px rgba(106, 181, 68, .2); }
.wh-hero__title { margin: 20px 0 0; font-family: var(--sp-serif); font-size: clamp(36px, 4.3vw, 60px); line-height: 1.06 !important; letter-spacing: -.03em; color: var(--wh-ink); text-wrap: balance; }
.wh-hero__title em { font-style: normal; color: var(--sp-green-text, #6ab544); }
.wh-hero__lede { margin: 20px 0 0; max-width: 580px; font-size: 18.5px; line-height: 1.65; color: var(--wh-muted); }
.wh-ticks { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 10px; }
.wh-ticks li { display: flex; align-items: flex-start; gap: 12px; font-size: 15.5px; font-weight: 500; color: var(--wh-text); }
.wh-ticks__icon { flex: none; width: 24px; height: 24px; margin-top: 1px; border-radius: 50%; display: grid; place-items: center; background: var(--wh-soft); color: var(--wh-green-700); font-size: 13px; }
.wh-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.wh-hero__call { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; font-size: 14.5px; color: var(--wh-muted); text-decoration: none; }
.wh-hero__call i { color: var(--wh-green-700); }
.wh-hero__call strong { color: var(--wh-ink); }
.wh-hero__call:hover strong { color: var(--wh-green-700); }

.wh-hero__media { position: relative; padding: 18px 24px 40px 30px; }
.wh-hero__ring { position: absolute; inset: 0 0 18px 8px; border-radius: 36px; border: 2px dashed rgba(106, 181, 68, .35); }
.wh-hero__photo { position: relative; margin: 0; aspect-ratio: 5 / 4.4; border-radius: 28px; overflow: hidden; box-shadow: var(--wh-shadow-lg); background: linear-gradient(160deg, #f4faef, #e3efd9); }
.wh-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wh-hero__photo--cutout img { object-fit: contain; padding: 9% 12% 6%; filter: drop-shadow(0 30px 34px rgba(15, 26, 20, .22)); }
.wh-float { position: absolute; z-index: 2; display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 18px; background: #ffffff; box-shadow: var(--wh-shadow-lg); border: 1px solid #edf2e8; max-width: 290px; }
.wh-float__icon { flex: none; width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: var(--wh-soft); color: var(--wh-green-700); font-size: 20px; }
.wh-float strong { display: block; font-family: var(--sp-serif); font-size: 17px; line-height: 1.2; color: var(--wh-ink); }
.wh-float em { display: block; margin-top: 2px; font-style: normal; font-size: 12.5px; color: var(--wh-muted); }
.wh-float--a { left: 0; bottom: 8px; }
.wh-float--b { right: 0; top: 36px; }
.wh-float--chip { right: 18px; bottom: 0; padding: 9px 14px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--wh-green-800); gap: 8px; }
.wh-float--chip i { color: var(--wh-green); }

.wh-hero__card { padding: 30px; border-radius: 28px; background: #ffffff; border: 1px solid var(--wh-line); box-shadow: var(--wh-shadow-lg); }
.wh-hero__card-title { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; font-family: var(--sp-serif); font-size: 18px; font-weight: 600; color: var(--wh-ink); }
.wh-hero__card-title i { color: var(--wh-green-700); }
.wh-checklist { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 12px; }
.wh-checklist li { display: flex; gap: 14px; padding: 14px 16px; border-radius: 16px; background: var(--wh-tint); }
.wh-checklist__icon { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: #ffffff; color: var(--wh-green-700); font-size: 18px; box-shadow: var(--wh-shadow); }
.wh-checklist strong { display: block; font-size: 15.5px; color: var(--wh-ink); }
.wh-checklist em { display: block; font-style: normal; font-size: 13.5px; color: var(--wh-muted); }

.wh-hero--compact { padding-bottom: 56px; }
.wh-hero--compact .wh-hero__grid { grid-template-columns: minmax(0, 1fr); max-width: 860px; }
.wh-hero--compact .wh-hero__title { font-size: clamp(34px, 3.8vw, 52px); }

.wh-claims { list-style: none; margin: 56px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.wh-claims li { display: flex; align-items: flex-start; gap: 14px; padding: 18px 20px; border-radius: 18px; background: #ffffff; border: 1px solid var(--wh-line); box-shadow: var(--wh-shadow); }
.wh-claims__icon { flex: none; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--wh-soft); color: var(--wh-green-700); font-size: 19px; }
.wh-claims strong { display: block; font-family: var(--sp-serif); font-size: 15.5px; line-height: 1.3; color: var(--wh-ink); }
.wh-claims em { display: block; margin-top: 3px; font-style: normal; font-size: 13px; line-height: 1.45; color: var(--wh-muted); }

/* ---------- Technology tiles ---------- */
.wh-techs__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.wh-tech { position: relative; display: flex; flex-direction: column; padding: 26px 22px 22px; border-radius: var(--wh-radius); background: #ffffff; border: 1px solid var(--wh-line); box-shadow: var(--wh-shadow); transition: transform .35s var(--sp-ease-out), box-shadow .35s, border-color .35s; }
.wh-tech:hover { transform: translateY(-4px); border-color: #cfe3c1; box-shadow: var(--wh-shadow-lg); }
.wh-tech__icon { width: 60px; height: 60px; border-radius: 18px; display: grid; place-items: center; background: linear-gradient(150deg, #eef7e8, #dcefcf); color: var(--wh-green-700); font-size: 28px; }
.wh-tech__title { margin: 18px 0 0; font-family: var(--sp-serif); font-size: 19px; color: var(--wh-ink); }
.wh-tech__short { margin: 6px 0 14px; font-size: 14px; line-height: 1.5; color: var(--wh-muted); }
.wh-tech__loan { display: inline-flex; align-self: flex-start; align-items: center; gap: 6px; margin-top: auto; padding: 5px 10px; border-radius: 999px; background: var(--wh-tint); font-size: 12.5px; font-weight: 600; color: var(--wh-green-800); }
.wh-tech__from { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--wh-line); font-size: 13px; color: var(--wh-muted); }
.wh-tech__from em { font-style: normal; }
.wh-tech__from strong { font-family: var(--sp-serif); font-size: 26px; letter-spacing: -.02em; color: var(--wh-ink); }
.wh-tech__actions { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; }
.wh-tech__go { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 11px 14px; border-radius: 12px; background: var(--wh-green-700); color: #ffffff; font-size: 14px; font-weight: 600; text-decoration: none; transition: background .25s; }
.wh-tech__go:hover { background: var(--wh-green-800); color: #ffffff; }
.wh-tech__more { font-size: 13.5px; font-weight: 600; color: var(--wh-green-700); text-align: center; text-decoration: none; }
.wh-tech__more:hover { text-decoration: underline; }

/* ---------- Eligibility ---------- */
.wh-elig__grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, .9fr); gap: 40px; align-items: start; }
.wh-elig__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.wh-elig__item { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 24px; border-radius: 20px; background: #ffffff; border: 1px solid var(--wh-line); }
.wh-elig__num { position: absolute; top: 20px; right: 22px; font-family: var(--sp-serif); font-size: 13px; font-weight: 600; color: #a7b5ad; }
.wh-elig__icon { width: 48px; height: 48px; margin-bottom: 8px; border-radius: 14px; display: grid; place-items: center; background: var(--wh-soft); color: var(--wh-green-700); font-size: 22px; }
.wh-elig__item strong { font-family: var(--sp-serif); font-size: 17px; color: var(--wh-ink); }
.wh-elig__item span:last-child { font-size: 14.5px; line-height: 1.55; color: var(--wh-muted); }
.wh-elig__cta { position: sticky; top: 130px; padding: 30px; border-radius: 26px; background: #ffffff; border: 1px solid #d6e8c9; box-shadow: var(--wh-shadow-lg); }
.wh-elig__cta-icon { width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(150deg, #6ab544, #3e7a24); color: #ffffff; font-size: 26px; }
.wh-elig__cta h3 { margin: 18px 0 8px; font-family: var(--sp-serif); font-size: 24px; color: var(--wh-ink); }
.wh-elig__cta > p { margin: 0 0 20px; font-size: 15px; line-height: 1.6; color: var(--wh-muted); }
.wh-elig__note { display: flex; gap: 10px; margin: 18px 0 0 !important; font-size: 13px !important; line-height: 1.55; color: var(--wh-muted); }
.wh-elig__note i { color: var(--wh-green-700); margin-top: 2px; }
.wh-routes { margin-top: 56px; }
.wh-routes__title { margin: 0 0 18px; font-family: var(--sp-serif); font-size: 22px; color: var(--wh-ink); }
.wh-routes__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.wh-routes__grid--stack { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.wh-route { display: flex; flex-direction: column; gap: 6px; padding: 22px; border-radius: 20px; background: #ffffff; border: 1px solid var(--wh-line); }
.wh-route__icon { width: 42px; height: 42px; margin-bottom: 6px; border-radius: 12px; display: grid; place-items: center; background: var(--wh-tint); color: var(--wh-green-700); font-size: 19px; }
.wh-route strong { font-size: 16px; color: var(--wh-ink); }
.wh-route > span:not(.wh-route__icon) { font-size: 14px; line-height: 1.55; color: var(--wh-muted); }
.wh-route a { margin-top: auto; padding-top: 8px; font-size: 14px; font-weight: 600; color: var(--wh-green-700); text-decoration: none; }

/* ---------- Calculator ---------- */
.wh-calc__panel { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); gap: 24px; align-items: start; }
.wh-calc__inputs { display: grid; gap: 24px; padding: 32px; border-radius: 28px; background: #ffffff; border: 1px solid var(--wh-line); box-shadow: var(--wh-shadow); }
.wh-calc__techs { margin: 0; padding: 0; border: 0; min-width: 0; }
.wh-calc__techs legend { margin-bottom: 12px; font-size: 14px; font-weight: 600; color: var(--wh-ink); }
.wh-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.wh-chip { position: relative; cursor: pointer; }
.wh-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.wh-chip span { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 999px; border: 1px solid #d5e2cc; background: #ffffff; font-size: 14px; font-weight: 600; color: var(--wh-text); transition: background .2s, border-color .2s, color .2s; }
.wh-chip span i { color: var(--wh-green-700); }
.wh-chip:hover span { border-color: var(--wh-green); }
.wh-chip input:checked + span { background: var(--wh-green-700); border-color: var(--wh-green-700); color: #ffffff; }
.wh-chip input:checked + span i { color: #ffffff; }
.wh-chip input:focus-visible + span { outline: 2px solid var(--wh-green); outline-offset: 2px; }
.wh-range { min-width: 0; }
.wh-range__top { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.wh-range__top label { font-size: 14px; font-weight: 600; color: var(--wh-ink); }
.wh-range__top output { font-family: var(--sp-serif); font-size: 20px; font-weight: 600; color: var(--wh-green-800); font-variant-numeric: tabular-nums; }
.wh-range input[type=range] { --p: 50%; width: 100%; height: 28px; margin: 0; background: transparent; -webkit-appearance: none; appearance: none; cursor: pointer; }
.wh-range input[type=range]::-webkit-slider-runnable-track { height: 8px; border-radius: 99px; background: linear-gradient(90deg, var(--wh-green) 0 var(--p), #e3ecdc var(--p) 100%); }
.wh-range input[type=range]::-moz-range-track { height: 8px; border-radius: 99px; background: linear-gradient(90deg, var(--wh-green) 0 var(--p), #e3ecdc var(--p) 100%); }
.wh-range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 26px; height: 26px; margin-top: -9px; border-radius: 50%; background: #ffffff; border: 3px solid var(--wh-green-700); box-shadow: 0 4px 10px rgba(15, 26, 20, .2); }
.wh-range input[type=range]::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #ffffff; border: 3px solid var(--wh-green-700); box-shadow: 0 4px 10px rgba(15, 26, 20, .2); }
.wh-range input[type=range]:focus-visible { outline: 2px solid var(--wh-green); outline-offset: 4px; border-radius: 8px; }
.wh-range__scale { display: flex; justify-content: space-between; margin-top: 4px; font-size: 12px; color: #8a978f; }
.wh-calc__pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.wh-toggle { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 16px; background: var(--wh-tint); font-size: 14px; color: var(--wh-text); cursor: pointer; }
.wh-toggle[hidden] { display: none; }
.wh-toggle input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.wh-toggle__ui { flex: none; position: relative; width: 44px; height: 26px; border-radius: 99px; background: #c9d6c1; transition: background .2s; }
.wh-toggle__ui::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #ffffff; box-shadow: 0 2px 4px rgba(0, 0, 0, .2); transition: transform .2s; }
.wh-toggle input:checked + .wh-toggle__ui { background: var(--wh-green-700); }
.wh-toggle input:checked + .wh-toggle__ui::after { transform: translateX(18px); }
.wh-toggle input:focus-visible + .wh-toggle__ui { outline: 2px solid var(--wh-green); outline-offset: 2px; }
.wh-toggle strong { color: var(--wh-ink); }
.wh-toggle em { font-style: normal; color: var(--wh-muted); }
.wh-calc__save { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 20px; border-top: 1px dashed var(--wh-line); }
.wh-calc__save[hidden] { display: none; }
.wh-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.wh-field--full { grid-column: 1 / -1; }
.wh-field label, .wh-field__label { font-size: 13.5px; font-weight: 600; color: var(--wh-ink); }
.wh-field label em { font-style: normal; font-weight: 400; color: var(--wh-muted); }
.wh-field sup { color: var(--wh-green-700); }
.wh-field input, .wh-field select { width: 100%; height: 50px; padding: 0 14px; border-radius: 12px; border: 1px solid #d5e2cc; background: #ffffff; font: inherit; font-size: 15px; color: var(--wh-ink); }
.wh-field input:focus, .wh-field select:focus { outline: none; border-color: var(--wh-green-700); box-shadow: 0 0 0 3px rgba(106, 181, 68, .18); }
.wh-money { position: relative; }
.wh-money b { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-weight: 600; color: var(--wh-muted); }
.wh-money input { padding-left: 30px; }

.wh-calc__result { position: sticky; top: 120px; display: flex; flex-direction: column; padding: 32px; border-radius: 28px; background: linear-gradient(170deg, #f1f8ec 0%, #ffffff 60%); border: 1px solid #d6e8c9; box-shadow: var(--wh-shadow-lg); }
.wh-calc__kicker { font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--wh-green-700); }
.wh-calc__pay { margin-top: 6px; font-family: var(--sp-serif); font-size: clamp(48px, 5vw, 68px); line-height: 1; letter-spacing: -.03em; color: var(--wh-ink); font-variant-numeric: tabular-nums; }
.wh-calc__paysub { margin-top: 8px; font-size: 14px; color: var(--wh-muted); }
.wh-calc__rows { margin: 22px 0 0; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--wh-line); }
.wh-calc__rows div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--wh-line); }
.wh-calc__rows dt { font-size: 14px; font-weight: 500; color: var(--wh-muted); }
.wh-calc__rows dd { margin: 0; font-size: 15px; font-weight: 700; color: var(--wh-ink); font-variant-numeric: tabular-nums; text-align: right; }
.wh-bars { display: grid; gap: 10px; margin-top: 20px; }
.wh-bars[hidden] { display: none; }
.wh-bars__row { display: grid; grid-template-columns: 112px minmax(0, 1fr) 64px; align-items: center; gap: 10px; font-size: 13px; color: var(--wh-muted); }
.wh-bars__row strong { text-align: right; color: var(--wh-ink); font-variant-numeric: tabular-nums; }
.wh-bars__track { height: 12px; border-radius: 99px; background: #e8efe3; overflow: hidden; }
.wh-bars__fill { display: block; height: 100%; width: 0; border-radius: 99px; transition: width .45s var(--sp-ease-out); }
.wh-bars__fill--pay { background: #9fb3a6; }
.wh-bars__fill--save { background: linear-gradient(90deg, #6ab544, #3e7a24); }
.wh-calc__savenote { margin: 14px 0 18px; min-height: 1em; font-size: 13.5px; line-height: 1.55; color: var(--wh-muted); }
.wh-calc__note { margin: 16px 0 0; font-size: 12px; line-height: 1.6; color: #7a877f; }

/* ---------- Journey ---------- */
.wh-journey__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; position: relative; }
.wh-journey__list::before { content: ""; position: absolute; left: 10%; right: 10%; top: 44px; height: 2px; background: linear-gradient(90deg, #a9d58f, #3e7a24); opacity: .5; }
.wh-step { position: relative; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.wh-step__icon { position: relative; z-index: 1; width: 88px; height: 88px; border-radius: 50%; display: grid; place-items: center; background: #ffffff; border: 2px solid #d9ead0; color: var(--wh-green-700); font-size: 32px; box-shadow: var(--wh-shadow-lg); transition: transform .35s var(--sp-ease-out), background .35s, color .35s; }
.wh-step:hover .wh-step__icon { transform: translateY(-4px); background: var(--wh-green-700); border-color: var(--wh-green-700); color: #ffffff; }
.wh-step__num { position: absolute; top: -4px; right: -4px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--wh-green); color: #ffffff; font-size: 12px; font-weight: 700; font-style: normal; }
.wh-step h3 { margin: 6px 0 0; font-family: var(--sp-serif); font-size: 19px; color: var(--wh-ink); }
.wh-step p { margin: 0; max-width: 24ch; font-size: 14px; line-height: 1.55; color: var(--wh-muted); }

/* ---------- Combined system ---------- */
.wh-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.wh-flow__item { position: relative; padding: 26px 24px; border-radius: 22px; background: linear-gradient(170deg, #f4faef, #ffffff); border: 1px solid var(--wh-line); }
.wh-flow__item:not(:last-child)::after { content: "\F138"; font-family: "bootstrap-icons"; position: absolute; z-index: 2; top: 50%; right: -20px; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%; display: grid; place-items: center; background: #ffffff; border: 1px solid var(--wh-line); color: var(--wh-green-700); font-size: 14px; box-shadow: var(--wh-shadow); }
.wh-flow__icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; background: #ffffff; color: var(--wh-green-700); font-size: 25px; box-shadow: var(--wh-shadow); }
.wh-flow h3 { margin: 16px 0 6px; font-family: var(--sp-serif); font-size: 19px; color: var(--wh-ink); }
.wh-flow p { margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--wh-muted); }
.wh-stat { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px 22px; margin: 28px 0 0; padding: 26px 30px; border-radius: 22px; background: var(--wh-soft); border: 1px solid #d0e6c1; }
.wh-stat__icon { grid-row: span 2; width: 56px; height: 56px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(150deg, #6ab544, #3e7a24); color: #ffffff; font-size: 25px; }
.wh-stat blockquote { margin: 0; font-family: var(--sp-serif); font-size: clamp(17px, 1.6vw, 21px); line-height: 1.45; color: var(--wh-ink); }
.wh-stat figcaption { grid-column: 2; font-size: 12.5px; color: var(--wh-muted); }
.wh-stat__go { grid-row: 1 / span 2; grid-column: 3; display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border-radius: 12px; background: #ffffff; font-size: 14px; font-weight: 600; color: var(--wh-green-800); text-decoration: none; box-shadow: var(--wh-shadow); white-space: nowrap; }

/* ---------- Finance options ---------- */
.wh-providers__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 24px; align-items: start; }
.wh-providers__grid--solo { grid-template-columns: minmax(0, 1fr); }
.wh-scheme { padding: 30px; border-radius: 26px; background: #ffffff; border: 1px solid var(--wh-line); box-shadow: var(--wh-shadow); }
.wh-scheme__label { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--wh-green-700); }
.wh-scheme h3 { margin: 10px 0 16px; font-family: var(--sp-serif); font-size: 22px; color: var(--wh-ink); }
.wh-scheme__rows { margin: 0; padding: 0; display: grid; gap: 8px; }
.wh-scheme__rows div { display: flex; justify-content: space-between; gap: 12px; padding: 12px 16px; border-radius: 14px; background: var(--wh-tint); }
.wh-scheme__rows dt { font-size: 14.5px; font-weight: 500; color: var(--wh-text); }
.wh-scheme__rows dd { margin: 0; font-family: var(--sp-serif); font-size: 16px; font-weight: 600; color: var(--wh-green-800); white-space: nowrap; }
.wh-scheme__facts { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; }
.wh-scheme__facts li { display: flex; gap: 10px; font-size: 14px; line-height: 1.5; color: var(--wh-text); }
.wh-scheme__facts i { flex: none; margin-top: 2px; color: var(--wh-green); }
.wh-scheme__src { margin: 16px 0 0; font-size: 12px; color: #7a877f; }
.wh-providers__grid--solo .wh-scheme { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 36px; }
.wh-providers__grid--solo .wh-scheme__label, .wh-providers__grid--solo .wh-scheme h3 { grid-column: 1 / -1; }
.wh-providers__grid--solo .wh-scheme__facts { margin-top: 0; }
.wh-providers__grid--solo .wh-scheme__src { grid-column: 1 / -1; }
.wh-lenders { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.wh-lender { display: flex; flex-direction: column; padding: 26px; border-radius: 24px; background: #ffffff; border: 1px solid var(--wh-line); box-shadow: var(--wh-shadow); }
.wh-lender__top { display: flex; align-items: center; gap: 14px; }
.wh-lender__logo { flex: none; width: 88px; height: 52px; display: grid; place-items: center; }
.wh-lender__logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.wh-lender__mark { flex: none; width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; background: linear-gradient(150deg, #6ab544, #3e7a24); color: #ffffff; font-size: 23px; }
.wh-lender__name { margin: 0; font-family: var(--sp-serif); font-size: 19px; line-height: 1.25; color: var(--wh-ink); }
.wh-lender__type { display: block; margin-top: 3px; font-size: 13.5px; color: var(--wh-muted); }
.wh-lender__techs { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.wh-lender__techs li { padding: 5px 10px; border-radius: 999px; background: var(--wh-tint); font-size: 12.5px; font-weight: 600; color: var(--wh-green-800); }
.wh-lender__rows { margin: 16px 0 0; padding: 0; display: grid; }
.wh-lender__rows div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--wh-line); }
.wh-lender__rows dt { font-size: 13.5px; color: var(--wh-muted); }
.wh-lender__rows dd { margin: 0; font-size: 14px; font-weight: 600; color: var(--wh-ink); text-align: right; }
.wh-lender__note { margin: 14px 0 0; font-size: 14px; line-height: 1.55; color: var(--wh-muted); }
.wh-lender__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: auto; padding-top: 20px; }
.wh-lender__site { font-size: 13.5px; font-weight: 600; color: var(--wh-green-700); text-decoration: none; }

/* ---------- Why Synergy + trust ---------- */
.wh-why__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
.wh-why__item { position: relative; padding: 26px 22px; border-radius: 22px; background: #ffffff; border: 1px solid var(--wh-line); box-shadow: var(--wh-shadow); }
.wh-why__icon { width: 52px; height: 52px; border-radius: 15px; display: grid; place-items: center; background: var(--wh-soft); color: var(--wh-green-700); font-size: 24px; }
.wh-why__num { position: absolute; top: 22px; right: 22px; font-family: var(--sp-serif); font-size: 13px; font-weight: 600; color: #a7b5ad; }
.wh-why__item h3 { margin: 16px 0 6px; font-family: var(--sp-serif); font-size: 18px; color: var(--wh-ink); }
.wh-why__item p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--wh-muted); }
.wh-trust { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 40px; }
.wh-trust__logos { display: flex; align-items: center; gap: 22px; padding: 20px 26px; border-radius: 20px; background: var(--wh-tint); }
.wh-trust__label { flex: none; font-size: 12.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wh-green-700); }
.wh-trust__logos ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
.wh-trust__logos li { height: 44px; display: flex; align-items: center; }
.wh-trust__logos img { max-height: 44px; max-width: 120px; width: auto; height: auto; object-fit: contain; }
.wh-reviews { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.wh-review { display: flex; flex-direction: column; gap: 10px; padding: 22px 24px; border-radius: 20px; background: #ffffff; border: 1px solid var(--wh-line); }
.wh-review__stars { color: #f5b301; font-size: 14px; letter-spacing: 2px; }
.wh-review blockquote { margin: 0; font-size: 15.5px; line-height: 1.55; color: var(--wh-ink); }
.wh-review__who { margin-top: auto; font-size: 14px; color: var(--wh-text); }
.wh-review__who em { display: block; font-style: normal; font-size: 12.5px; color: var(--wh-muted); }

/* ---------- Benefits (technology pages) ---------- */
.wh-facts { list-style: none; margin: 0 0 28px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.wh-facts li { padding: 18px 20px; border-radius: 18px; background: var(--wh-tint); border: 1px solid var(--wh-line); }
.wh-facts__k { display: block; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--wh-green-700); }
.wh-facts strong { display: block; margin-top: 4px; font-family: var(--sp-serif); font-size: 17px; line-height: 1.3; color: var(--wh-ink); }
.wh-benefits__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.wh-benefit { padding: 28px 26px; border-radius: 22px; background: #ffffff; border: 1px solid var(--wh-line); box-shadow: var(--wh-shadow); }
.wh-benefit__icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; background: linear-gradient(150deg, #eef7e8, #dcefcf); color: var(--wh-green-700); font-size: 25px; }
.wh-benefit h3 { margin: 16px 0 6px; font-family: var(--sp-serif); font-size: 19px; color: var(--wh-ink); }
.wh-benefit p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--wh-muted); }
.wh-benefits__more { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 30px; }

/* ---------- FAQs ---------- */
.wh-faq__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; }
.wh-faq__side { position: sticky; top: 130px; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.wh-faq__side .wh-head { margin-bottom: 0; }
.wh-faq__call { display: inline-flex; align-items: center; gap: 14px; padding: 14px 20px 14px 14px; border-radius: 18px; background: #ffffff; border: 1px solid var(--wh-line); box-shadow: var(--wh-shadow); text-decoration: none; }
.wh-faq__call > span:first-child { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: var(--wh-green-700); color: #ffffff; }
.wh-faq__call em { display: block; font-style: normal; font-size: 13px; color: var(--wh-muted); }
.wh-faq__call strong { display: block; font-family: var(--sp-serif); font-size: 18px; color: var(--wh-ink); }
.wh-faq__list { display: grid; gap: 12px; }
.wh-faq__item { border-radius: 18px; background: #ffffff; border: 1px solid var(--wh-line); overflow: hidden; }
.wh-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; cursor: pointer; list-style: none; font-family: var(--sp-serif); font-size: 17px; font-weight: 600; color: var(--wh-ink); }
.wh-faq__item summary::-webkit-details-marker { display: none; }
.wh-faq__item summary i { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--wh-tint); color: var(--wh-green-700); transition: transform .3s; }
.wh-faq__item[open] summary i { transform: rotate(45deg); background: var(--wh-green-700); color: #ffffff; }
.wh-faq__answer { padding: 0 24px 22px; }
.wh-faq__answer p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--wh-muted); }

/* ---------- Check my options (lead form) ---------- */
.wh-check { background: linear-gradient(180deg, #ffffff 0%, #f1f8ec 100%); scroll-margin-top: 90px; }
.wh-check__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 56px; align-items: start; }
.wh-check__intro .wh-intro { margin-bottom: 28px; }
.wh-check__next-label { display: block; margin-bottom: 14px; font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--wh-green-700); }
.wh-next { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 0; position: relative; }
.wh-next::before { content: ""; position: absolute; left: 21px; top: 22px; bottom: 22px; width: 2px; background: linear-gradient(180deg, #a9d58f, #3e7a24); opacity: .45; }
.wh-next li { position: relative; display: flex; align-items: center; gap: 14px; padding: 7px 0; }
.wh-next__icon { flex: none; position: relative; z-index: 1; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: #ffffff; border: 2px solid #d9ead0; color: var(--wh-green-700); font-size: 18px; }
.wh-next strong { display: block; font-size: 15.5px; color: var(--wh-ink); }
.wh-next em { display: block; font-style: normal; font-size: 13.5px; color: var(--wh-muted); }
.wh-form { position: relative; padding: 34px; border-radius: 28px; background: #ffffff; border: 1px solid var(--wh-line); box-shadow: var(--wh-shadow-lg); }
.wh-form__progress { display: none; align-items: center; gap: 14px; margin-bottom: 22px; }
.wh-form.is-stepper .wh-form__progress { display: flex; }
.wh-form__bar { flex: 1; height: 6px; border-radius: 99px; background: #e8efe3; overflow: hidden; }
.wh-form__bar span { display: block; height: 100%; width: 33%; border-radius: 99px; background: linear-gradient(90deg, #6ab544, #3e7a24); transition: width .4s var(--sp-ease-out); }
.wh-form__count { font-size: 13px; font-weight: 600; color: var(--wh-muted); white-space: nowrap; }
.wh-form__step { margin: 0 0 26px; padding: 0; border: 0; min-width: 0; }
.wh-form.is-stepper .wh-form__step { display: none; margin-bottom: 0; }
.wh-form.is-stepper .wh-form__step.is-current { display: block; animation: whStep .35s var(--sp-ease-out); }
@keyframes whStep { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.wh-form__step legend { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; font-family: var(--sp-serif); font-size: 21px; font-weight: 600; color: var(--wh-ink); }
.wh-form__n { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: var(--wh-soft); color: var(--wh-green-700); font-size: 14px; font-weight: 700; }
.wh-picks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.wh-pick { position: relative; cursor: pointer; }
.wh-pick input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.wh-pick span { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 104px; padding: 16px 10px; border-radius: 18px; border: 1.5px solid #dde8d5; background: #ffffff; font-size: 14.5px; font-weight: 600; text-align: center; color: var(--wh-ink); transition: border-color .2s, background .2s, transform .2s; }
.wh-pick span i { font-size: 26px; color: var(--wh-green-700); }
.wh-pick:hover span { border-color: var(--wh-green); transform: translateY(-2px); }
.wh-pick input:checked + span { border-color: var(--wh-green-700); background: var(--wh-soft); box-shadow: inset 0 0 0 1px var(--wh-green-700); }
.wh-pick input:focus-visible + span { outline: 2px solid var(--wh-green); outline-offset: 2px; }
.wh-seg { display: flex; flex-wrap: wrap; gap: 8px; }
.wh-seg label { position: relative; flex: 1 1 160px; cursor: pointer; }
.wh-seg input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.wh-seg span { display: flex; align-items: center; justify-content: center; min-height: 50px; padding: 10px 14px; border-radius: 12px; border: 1.5px solid #dde8d5; font-size: 14.5px; font-weight: 600; color: var(--wh-ink); text-align: center; transition: border-color .2s, background .2s; }
.wh-seg label:hover span { border-color: var(--wh-green); }
.wh-seg input:checked + span { border-color: var(--wh-green-700); background: var(--wh-soft); }
.wh-seg input:focus-visible + span { outline: 2px solid var(--wh-green); outline-offset: 2px; }
.wh-form__step .wh-field--full + .wh-field--full { margin-top: 18px; }
.wh-form__rent { display: flex; gap: 10px; margin: 16px 0 0; padding: 12px 14px; border-radius: 12px; background: #fff8e6; border: 1px solid #f2dfa8; font-size: 13.5px; line-height: 1.5; color: #5c4a12; }
.wh-form__rent[hidden] { display: none; }
.wh-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.wh-estimate { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; padding: 16px 18px; border-radius: 16px; background: var(--wh-soft); border: 1px solid #d0e6c1; }
.wh-estimate[hidden] { display: none; }
.wh-estimate__icon { flex: none; width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: #ffffff; color: var(--wh-green-700); font-size: 20px; }
.wh-estimate em { display: block; font-style: normal; font-size: 13px; color: var(--wh-muted); }
.wh-estimate strong { display: block; font-family: var(--sp-serif); font-size: 24px; color: var(--wh-ink); }
.wh-estimate small { display: block; font-size: 12px; line-height: 1.5; color: var(--wh-muted); }
.wh-consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; font-size: 13.5px; line-height: 1.5; color: var(--wh-muted); }
.wh-consent input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--wh-green-700); flex: none; }
.wh-consent a { color: var(--wh-green-700); }
.wh-form__nav { display: flex; align-items: center; justify-content: flex-end; gap: 14px; margin-top: 24px; }
.wh-form__back { margin-right: auto; padding: 10px 4px; border: 0; background: none; font: inherit; font-size: 14.5px; font-weight: 600; color: var(--wh-muted); cursor: pointer; }
.wh-form__back:hover { color: var(--wh-ink); }
.wh-form:not(.is-stepper) [data-wh-next], .wh-form:not(.is-stepper) [data-wh-back] { display: none; }
.wh-form__legal { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--wh-line); font-size: 12px; line-height: 1.55; color: #7a877f; }
.wh-form .sp-form-success { display: flex; gap: 12px; padding: 22px; border-radius: 18px; background: var(--wh-soft); color: var(--wh-ink); font-size: 15px; }
.wh-form .sp-form-success i { color: var(--wh-green-700); font-size: 22px; }

/* ---------- Related links ---------- */
.wh-related__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.wh-rel { display: flex; align-items: center; gap: 14px; height: 100%; padding: 18px 18px; border-radius: 18px; background: #ffffff; border: 1px solid var(--wh-line); text-decoration: none; transition: border-color .25s, transform .25s; }
.wh-rel:hover { border-color: #cfe3c1; transform: translateY(-2px); }
.wh-rel__icon { flex: none; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--wh-soft); color: var(--wh-green-700); font-size: 19px; }
.wh-rel strong { display: block; font-size: 15px; color: var(--wh-ink); }
.wh-rel em { display: block; font-style: normal; font-size: 13px; color: var(--wh-muted); }
.wh-rel__go { margin-left: auto; color: var(--wh-green-700); }

/* ---------- Homepage section ---------- */
.wh-home { position: relative; padding: 104px 0; background: linear-gradient(180deg, #f4f8f1 0%, #ffffff 100%); overflow: hidden; }
.wh-home__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.wh-home__claims { list-style: none; margin: 26px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.wh-home__claims li { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: 16px; background: #ffffff; border: 1px solid var(--wh-line); }
.wh-home__claims i { flex: none; width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; background: var(--wh-soft); color: var(--wh-green-700); font-size: 17px; }
.wh-home__claims strong { display: block; font-size: 14.5px; color: var(--wh-ink); }
.wh-home__claims em { display: block; font-style: normal; font-size: 12.5px; color: var(--wh-muted); }
.wh-home__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.wh-home__media { position: relative; padding: 0 0 56px 24px; }
.wh-home__photo { margin: 0; aspect-ratio: 5 / 4; border-radius: 28px; overflow: hidden; box-shadow: var(--wh-shadow-lg); }
.wh-home__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wh-home__techs { position: absolute; left: 0; right: 24px; bottom: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.wh-home__tech { display: flex; flex-direction: column; gap: 2px; padding: 14px 16px; border-radius: 18px; background: #ffffff; box-shadow: var(--wh-shadow-lg); border: 1px solid #edf2e8; text-decoration: none; transition: transform .25s; }
.wh-home__tech:hover { transform: translateY(-3px); }
.wh-home__tech i { color: var(--wh-green-700); font-size: 20px; }
.wh-home__tech strong { margin-top: 4px; font-size: 14.5px; color: var(--wh-ink); }
.wh-home__tech em { font-style: normal; font-size: 12.5px; color: var(--wh-muted); }
.wh-home__note { margin: 16px 0 0; font-size: 12px; color: var(--wh-muted); }

/* ---------- Mobile bar: Check my options ---------- */
.sp-stickycta__btn--wh { background: var(--sp-green-dark, #3e7a24) !important; color: #ffffff !important; }
.sp-stickycta__btn--wh em, .sp-stickycta__btn--wh strong, .sp-stickycta__btn--wh i { color: #ffffff !important; }

/* ---------- Responsive ---------- */
@media (max-width: 1399.98px) {
  .wh-techs__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wh-why__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1199.98px) {
  .wh-claims { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wh-related__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .wh-calc__pair { grid-template-columns: minmax(0, 1fr); }
  .wh-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wh-flow__item:nth-child(2)::after { display: none; }
  .wh-stat { grid-template-columns: auto minmax(0, 1fr); }
  .wh-stat__go { grid-column: 2; grid-row: auto; justify-self: start; }
}
@media (max-width: 991.98px) {
  .wh-section, .wh-home { padding: 76px 0; }
  .wh-head--split { grid-template-columns: minmax(0, 1fr); }
  .wh-head--split .wh-intro { justify-self: start; }
  .wh-hero__grid, .wh-home__grid, .wh-elig__grid, .wh-calc__panel, .wh-providers__grid, .wh-faq__grid, .wh-check__grid { grid-template-columns: minmax(0, 1fr); }
  .wh-hero__media { max-width: 640px; }
  .wh-elig__cta, .wh-calc__result, .wh-faq__side { position: static; }
  .wh-journey__list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 36px; }
  .wh-journey__list::before { display: none; }
  .wh-why__list, .wh-reviews, .wh-routes__grid, .wh-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wh-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wh-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wh-trust__logos { flex-direction: column; align-items: flex-start; }
  .wh-providers__grid--solo .wh-scheme { grid-template-columns: minmax(0, 1fr); }
  .wh-providers__grid--solo .wh-scheme__facts { margin-top: 18px; }
  .wh-home__media { max-width: 640px; }
}
@media (max-width: 767.98px) {
  .wh-techs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wh-picks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wh-calc__save, .wh-fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 575.98px) {
  .wh-section, .wh-home { padding: 60px 0; }
  .wh-hero { padding-bottom: 52px; }
  .wh-hero__lede { font-size: 16.5px; }
  .wh-hero__ctas .sp-btn { width: 100%; justify-content: center; }
  .wh-hero__media { padding: 12px 6px 40px 6px; }
  .wh-hero__ring { display: none; }
  .wh-float { max-width: 230px; padding: 10px 12px; gap: 10px; }
  .wh-float__icon { width: 36px; height: 36px; font-size: 16px; }
  .wh-float strong { font-size: 15px; }
  .wh-float--b { top: 0; right: 0; }
  .wh-float--chip { display: none; }
  .wh-claims { grid-template-columns: minmax(0, 1fr); margin-top: 36px; }
  .wh-techs__grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  /* Compact technology rows on phones: icon beside the name, price and button underneath */
  .wh-tech { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 14px; padding: 18px; }
  .wh-tech__icon { grid-row: span 2; width: 52px; height: 52px; border-radius: 15px; font-size: 24px; }
  .wh-tech__title { margin: 2px 0 0; font-size: 17px; }
  .wh-tech__short { margin: 2px 0 0; font-size: 13px; }
  .wh-tech__loan, .wh-tech__from, .wh-tech__actions { grid-column: 1 / -1; }
  .wh-tech__loan { margin-top: 14px; }
  .wh-tech__from { margin-top: 12px; padding-top: 12px; }
  .wh-tech__from strong { font-size: 22px; }
  .wh-tech__actions { flex-direction: row; align-items: center; justify-content: space-between; padding-top: 12px; }
  .wh-tech__go { padding: 10px 14px; font-size: 13.5px; white-space: nowrap; }
  .wh-tech__more { font-size: 13px; text-align: right; }
  .wh-elig__list, .wh-why__list, .wh-reviews, .wh-routes__grid, .wh-benefits__grid, .wh-related__grid, .wh-flow, .wh-home__claims { grid-template-columns: minmax(0, 1fr); }
  .wh-flow__item::after { display: none; }
  .wh-journey__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wh-step__icon { width: 72px; height: 72px; font-size: 26px; }
  .wh-calc__inputs, .wh-calc__result, .wh-form, .wh-scheme, .wh-hero__card, .wh-elig__cta { padding: 22px; border-radius: 22px; }
  .wh-bars__row { grid-template-columns: 96px minmax(0, 1fr) 56px; }
  .wh-stat { grid-template-columns: minmax(0, 1fr); padding: 22px; }
  .wh-stat__icon { grid-row: auto; }
  .wh-stat figcaption, .wh-stat__go { grid-column: 1; }
  .wh-facts { grid-template-columns: minmax(0, 1fr); }
  .wh-picks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wh-pick span { min-height: 92px; font-size: 13.5px; }
  .wh-form__nav .sp-btn { flex: 1; justify-content: center; }
  .wh-home__techs { position: static; margin-top: 12px; grid-template-columns: minmax(0, 1fr); }
  .wh-home__media { padding: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .wh *, .wh-home * { transition: none !important; animation: none !important; }
}
