:root {
  --ink: #12120f;
  --muted: #6e706b;
  --cream: #f4f1e9;
  --paper: #fbfaf6;
  --orange: #ee5a24;
  --orange-dark: #cf4312;
  --green: #1f5a48;
  --line: #dedbd2;
  --white: #fff;
  --shadow: 0 24px 80px rgba(20, 20, 14, .10);
  font-family: "DM Sans", system-ui, sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }

.announcement { min-height: 36px; padding: 8px 6%; display: flex; justify-content: center; gap: 9px; align-items: center; background: var(--ink); color: #e8e6df; font-size: 12px; letter-spacing: .02em; }
.announcement a { color: #fff; font-weight: 700; margin-left: 14px; }
.pulse { width: 6px; height: 6px; border-radius: 50%; background: #64d29f; box-shadow: 0 0 0 4px rgba(100,210,159,.12); }

.site-header { height: 84px; padding: 0 clamp(24px, 5vw, 78px); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(18,18,15,.09); background: rgba(251,250,246,.94); position: sticky; top: 0; z-index: 50; backdrop-filter: blur(16px); }
.brand { display: flex; align-items: center; position: relative; min-width: 170px; }
.official-logo { display: block; width: 250px; max-height: 62px; object-fit: contain; height: auto; }
.site-header nav { display: flex; gap: clamp(16px, 2vw, 28px); font-size: 14px; font-weight: 600; }
.site-header nav a { position: relative; }
.site-header nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 2px; background: var(--orange); transition: right .2s; }
.site-header nav a:hover::after { right: 0; }
.site-header nav .group-link { color: var(--green); font-weight: 800; white-space: nowrap; }
.header-cta { background: var(--ink); color: #fff; padding: 13px 18px; border-radius: 4px; font-weight: 700; font-size: 13px; }
.header-assurance { margin-left: auto; margin-right: 28px; display: flex; align-items: center; gap: 10px; color: var(--muted); font-size: 13px; }
.header-assurance a { color: var(--ink); font-weight: 800; }
.legacy-hidden { display: none !important; }
.home-offer-intro { max-width: 700px; margin: 22px 0 24px; }
.home-offer-intro h2 { margin: 0 0 10px; color: var(--ink); font: 800 clamp(22px,2.4vw,32px)/1.15 "Manrope"; letter-spacing: -.03em; }
.home-offer-intro p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.65; }
.home-offer-intro ul { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.home-offer-intro li { color: var(--ink); font-size: 15px; font-weight: 700; }
.home-offer-intro li::before { content: "✓"; display: inline-grid; place-items: center; width: 21px; height: 21px; margin-right: 9px; border-radius: 50%; color: #fff; background: var(--green); font-size: 12px; }

.appointment { padding: clamp(70px,9vw,125px) max(24px,calc((100vw - 1120px)/2)); background: #f4f2ec; scroll-margin-top: 88px; }
.appointment[hidden] { display: none; }
.appointment-heading { max-width: 860px; margin: 0 auto 32px; text-align: center; }
.appointment-heading h2 { margin: 10px 0 12px; color: var(--ink); font: 800 clamp(27px,4vw,50px)/1.08 "Manrope"; letter-spacing: -.045em; }
.appointment-heading > p:last-child { margin: 0; color: var(--muted); font-size: clamp(15px,1.7vw,19px); }
.appointment-form { max-width: 790px; margin: 0 auto; padding: clamp(24px,5vw,48px); background: #fff; box-shadow: 0 20px 55px rgba(38,49,33,.1); }
.appointment-form > label,.appointment-form .form-row label { display: flex; flex-direction: column; gap: 7px; color: #4d4e49; font-size: 12px; font-weight: 700; }
.appointment-form input,.appointment-form select,.appointment-form textarea { width: 100%; border: 1px solid #d8d5cd; background: #fff; padding: 13px 12px; outline: none; border-radius: 3px; font: inherit; }
.appointment-form input:focus,.appointment-form select:focus,.appointment-form textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(117,183,38,.12); }
.appointment-summary { display: flex; flex-direction: column; gap: 5px; margin-bottom: 25px; padding: 18px 20px; border-left: 4px solid var(--green); background: #f4f8ee; }
.appointment-summary span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.appointment-summary strong { font: 700 19px "Manrope"; }.appointment-summary small { color: var(--muted); line-height: 1.5; }
.appointment-form .form-row { margin-bottom: 16px; }.appointment-form > label { margin-bottom: 16px; }.appointment-form .consent { flex-direction: row; align-items: flex-start; }
.appointment-form .consent input { width: auto; margin-top: 2px; }.appointment-form .form-submit { margin-top: 6px; }
.battery-input-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
.battery-input-grid label { display: flex; flex-direction: column; gap: 8px; color: var(--ink); font-size: 14px; font-weight: 700; }
.battery-input-grid input { width: 100%; border: 1px solid #d8d5cd; padding: 13px; background: #fff; font: inherit; }
.input-with-unit { display: grid; grid-template-columns: 1fr auto; align-items: center; }.input-with-unit span { align-self: stretch; display: grid; place-items: center; padding: 0 14px; color: var(--muted); background: #efede7; border: 1px solid #d8d5cd; border-left: 0; }
.battery-total { margin-top: 18px; }
.battery-truth { scroll-margin-top: 84px; background: #111610; color: #fff; }
.battery-truth[hidden] { display: none; }
.battery-story-close { width: fit-content; margin: 0 0 28px; padding: 0 0 4px; border: 0; border-bottom: 1px solid rgba(255,255,255,.45); color: #fff; background: none; font-size: 13px; font-weight: 800; }
.battery-story-close:hover { border-bottom-color: #fff; }
.battery-truth-hero { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(280px,.5fr); gap: clamp(38px,7vw,100px); align-items: end; padding: clamp(74px,9vw,128px) max(24px,calc((100vw - 1120px)/2)); background: radial-gradient(circle at 88% 10%,rgba(117,183,38,.22),transparent 32%),linear-gradient(135deg,#141a13,#090c09); }
.battery-truth-hero h2 { max-width: 820px; font: 800 clamp(39px,5.4vw,76px)/1.01 "Manrope"; letter-spacing: -.055em; }
.battery-truth-lead { max-width: 790px; margin: 28px 0 0; color: #c6cdc3; font-size: clamp(17px,1.8vw,21px); line-height: 1.65; }
.battery-key-number { padding: 26px; border: 1px solid rgba(255,255,255,.16); border-left: 4px solid #75b726; background: rgba(255,255,255,.055); }
.battery-key-number span,.battery-key-number small { display: block; color: #b9c1b6; font-size: 12px; line-height: 1.55; }
.battery-key-number span { margin-bottom: 9px; color: #aada72; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.battery-key-number strong { display: block; margin-bottom: 10px; font: 800 clamp(32px,4vw,52px)/1 "Manrope"; letter-spacing: -.05em; }
.source-link { display: block; width: fit-content; margin-top: 17px; padding-bottom: 2px; border-bottom: 1px solid currentColor; color: var(--green); font-size: 12px; font-weight: 800; line-height: 1.45; }
.source-link:hover { color: var(--orange-dark); }
.source-link span { margin-left: 5px; }
.source-link-dark { color: #d5f4ae; border-bottom-color: rgba(213,244,174,.48); }
.source-link-dark:hover { color: #fff; }
.source-link-secondary { margin-top: 9px; color: var(--muted); }
.battery-truth-body { padding: clamp(60px,8vw,110px) max(24px,calc((100vw - 1120px)/2)); background: var(--paper); color: var(--ink); }
.battery-verdict { max-width: 940px; padding: clamp(25px,4vw,45px); border-left: 6px solid var(--orange); background: #fff; box-shadow: 0 18px 60px rgba(20,20,14,.08); }
.battery-verdict > span { color: var(--orange); font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.battery-verdict h3 { max-width: 800px; margin: 13px 0 14px; font-size: clamp(26px,3.4vw,43px); line-height: 1.1; }
.battery-verdict p { max-width: 840px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.battery-facts { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin: clamp(48px,7vw,80px) 0; background: var(--line); border: 1px solid var(--line); }
.battery-facts article { min-height: 280px; padding: clamp(24px,4vw,42px); background: #fff; }
.battery-facts b { display: inline-grid; place-items: center; width: 38px; height: 38px; margin-bottom: 26px; color: #fff; background: var(--green); border-radius: 50%; font-size: 12px; }
.battery-facts h3 { margin-bottom: 13px; font-size: clamp(21px,2.3vw,29px); }
.battery-facts p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }
.battery-research { padding: clamp(30px,5vw,54px); color: #fff; background: var(--green); }
.battery-research > div:first-child { display: grid; grid-template-columns: .55fr 1.45fr; gap: 35px; align-items: start; }
.battery-research .eyebrow { color: #bfe58f; }
.battery-research h3 { max-width: 760px; font-size: clamp(26px,3.4vw,44px); line-height: 1.1; }
.battery-research ul { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 42px 0 0; padding: 0; list-style: none; background: rgba(255,255,255,.22); }
.battery-research li { display: flex; min-height: 190px; padding: 26px; flex-direction: column; background: var(--green); }
.battery-research li strong,.battery-research li span { display: block; }
.battery-research li strong { margin-bottom: 12px; color: #d5f4ae; font: 800 23px "Manrope"; }
.battery-research li span { color: #e2ece4; font-size: 14px; line-height: 1.6; }
.battery-research li .source-link { margin-top: auto; padding-top: 18px; color: #d5f4ae; font-size: 11px; }
.battery-sources { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.battery-sources a { padding: 12px 14px; border: 1px solid rgba(255,255,255,.28); color: #fff; font-size: 13px; font-weight: 700; transition: background .2s; }
.battery-sources a:hover { background: rgba(255,255,255,.1); }
.battery-sources a span { margin-left: 8px; }
.battery-products-heading { max-width: 850px; margin: clamp(70px,9vw,120px) 0 38px; }
.battery-products-heading h2 { font-size: clamp(34px,4.6vw,60px); line-height: 1.05; }
.battery-products-heading > p:last-child { margin: 16px 0 0; color: var(--muted); font-size: clamp(17px,2vw,22px); }
.battery-product-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }
.battery-product-grid article { display: flex; min-height: 260px; padding: 24px 20px 20px; flex-direction: column; border: 1px solid var(--line); background: #fff; transition: transform .2s,box-shadow .2s,border-color .2s; }
.battery-product-grid article:hover { transform: translateY(-4px); border-color: #b7cda7; box-shadow: 0 18px 42px rgba(32,71,39,.1); }
.battery-product-grid article > span { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.battery-product-grid h3 { margin: 18px 0 11px; font-size: 27px; }
.battery-product-grid strong { font: 800 20px "Manrope"; }
.battery-product-grid small { margin: 7px 0 22px; color: var(--muted); }
.battery-product-grid a { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--line); color: var(--orange-dark); font-size: 13px; font-weight: 800; }
.battery-price-note { margin-top: 22px; padding: 24px; border: 1px solid var(--line); background: #f1efe8; }
.battery-price-note p { margin: 0 0 8px; color: #52544e; line-height: 1.65; }
.battery-price-note small { color: var(--muted); line-height: 1.55; }
.battery-next-step { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin-top: 30px; padding: 28px 30px; color: #fff; background: var(--ink); }
.battery-next-step div { display: flex; flex-direction: column; gap: 6px; }
.battery-next-step div span { color: #aada72; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.battery-next-step div strong { font: 700 clamp(18px,2vw,24px) "Manrope"; }
.saving-calculators { padding: clamp(70px,9vw,120px) max(24px,calc((100vw - 1120px)/2)); background: #fff; }
.saving-calculator-logo { display: flex; justify-content: center; margin-bottom: 32px; }.saving-calculator-logo .official-logo { width: min(360px,78vw); max-height: 88px; }
.saving-calculator-heading { max-width: 780px; margin: 0 auto 38px; text-align: center; }
.saving-calculator-heading h2 { margin: 10px 0 14px; color: var(--ink); font: 800 clamp(30px,4.7vw,58px)/1.04 "Manrope"; letter-spacing: -.05em; }
.saving-calculator-heading > p:last-child { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.6; }
.calculator-links { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 940px; margin: 0 auto; }
.calculator-link { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 14px; width: 100%; min-height: 92px; padding: 18px 20px; color: var(--ink); text-align: left; font: inherit; cursor: pointer; background: #f6f7f3; border: 1px solid #e2e5dd; transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.calculator-link:hover { transform: translateY(-3px); border-color: var(--green); box-shadow: 0 14px 30px rgba(43,65,29,.09); }
.calculator-link > span:nth-child(2) { font-size: 16px; }.calculator-link strong { color: var(--green); }.calculator-link i { font-style: normal; font-size: 22px; }
.calculator-icon { display: grid; place-items: center; width: 48px; height: 48px; color: #fff; background: var(--green); border-radius: 50%; font-size: 22px; }

.service-area { display: grid; grid-template-columns: minmax(0,.82fr) minmax(460px,1.18fr); gap: clamp(42px,7vw,88px); align-items: center; padding: clamp(70px,9vw,118px) max(24px,calc((100vw - 1120px)/2)); background: #eef0e9; }
.service-area-copy h2 { max-width: 560px; margin: 12px 0 22px; font: 800 clamp(32px,4.7vw,58px)/1.06 "Manrope"; letter-spacing: -.05em; }
.service-area-copy > p:not(.eyebrow) { max-width: 590px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.72; }
.service-area-copy > p + p { padding-top: 13px; }
.service-area-assurance { display: flex; align-items: center; gap: 11px; width: fit-content; margin-top: 28px; color: var(--green); font-size: 14px; }
.service-area-assurance span { display: grid; place-items: center; width: 27px; height: 27px; flex: 0 0 auto; border-radius: 50%; color: #fff; background: var(--green); font-weight: 900; }
.service-area-team { margin: 0; padding: 22px 12px 12px; border-top: 1px solid #e2e5dd; }
.service-area-team figcaption { margin-bottom: 13px; color: var(--ink); font: 800 clamp(22px,2.4vw,30px)/1.15 "Manrope"; letter-spacing: -.035em; }
.service-area-team img { display: block; width: 100%; height: auto; aspect-ratio: 700/468; border-radius: 3px; object-fit: cover; }
.rayon-map-card { padding: 10px; background: #fff; box-shadow: 0 24px 70px rgba(35,48,30,.15); }
.rayon-map { position: relative; width: 100%; min-height: 0; overflow: hidden; aspect-ratio: 1.397 / 1; background: #dfe4da; }
.rayon-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; pointer-events: none; filter: saturate(.65) contrast(.94); }
.rayon-map::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(135deg,rgba(255,255,255,.08),rgba(31,90,72,.06)); }
.rayon-map svg { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.rayon-shape { fill: rgba(117,183,38,.28); stroke: none; }
.rayon-route { fill: none; stroke: #1f5a48; stroke-width: .9; stroke-linecap: round; stroke-linejoin: round; }
.rayon-pin > circle:first-child { fill: #ee5a24; stroke: #fff; stroke-width: .8; filter: drop-shadow(0 1px 2px rgba(18,18,15,.35)); }
.rayon-pin-core { fill: #fff; }
.rayon-label { position: absolute; z-index: 4; padding: 7px 10px; border-radius: 3px; color: #fff; background: #1f5a48; box-shadow: 0 5px 14px rgba(18,18,15,.18); font-size: 12px; font-weight: 800; line-height: 1; }
.rayon-label-eindhoven { left: 31%; top: 38%; }
.rayon-label-valkenswaard { left: 49.5%; top: 50%; color: var(--ink); background: rgba(255,255,255,.95); }
.rayon-label-nijmegen { left: 61.8%; top: 12%; }
.rayon-label-maastricht { left: 56.5%; top: 79.5%; }
.rayon-map-note { position: absolute; z-index: 4; left: 14px; bottom: 14px; padding: 8px 10px; color: var(--ink); background: rgba(255,255,255,.94); box-shadow: 0 4px 15px rgba(18,18,15,.12); font-size: 11px; font-weight: 800; }
.header-cta span, .btn span { margin-left: 12px; }
.menu-toggle { display: none; border: 0; background: none; padding: 12px; }

.hero { min-height: 680px; display: grid; grid-template-columns: .94fr 1.06fr; overflow: hidden; background: var(--cream); }
.hero-copy { padding: clamp(80px, 9vw, 132px) clamp(30px, 6vw, 94px); display: flex; flex-direction: column; justify-content: center; }
.eyebrow { margin: 0 0 18px; color: var(--orange); font-weight: 800; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
h1, h2, h3 { font-family: "Manrope", sans-serif; letter-spacing: -.045em; margin: 0; }
h1 { font-size: clamp(48px, 5.2vw, 82px); line-height: .99; font-weight: 700; }
h1 em, h2 em { color: var(--orange); font-style: normal; }
.hero-lead { max-width: 570px; margin: 28px 0 32px; color: #555650; font-size: clamp(16px, 1.35vw, 19px); line-height: 1.65; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.btn { border: 0; border-radius: 4px; padding: 15px 21px; font-weight: 700; transition: transform .15s, box-shadow .15s, background .15s; }
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: var(--orange); box-shadow: 0 10px 28px rgba(238,90,36,.22); }
.btn-primary:hover { background: var(--orange-dark); }
.btn-light { background: #fff; color: var(--ink); }
.btn-dark { background: var(--ink); color: #fff; }
.btn-ghost { background: transparent; border: 1px solid var(--line); }
.btn:disabled { opacity: .4; pointer-events: none; box-shadow: none; }
.trust-row { display: flex; gap: clamp(25px, 4vw, 58px); margin-top: 54px; padding-top: 25px; border-top: 1px solid #d5d1c6; }
.trust-row div { display: flex; flex-direction: column; }
.trust-row strong { font: 800 17px/1.4 "Manrope"; }
.trust-row span { color: #7b7c75; font-size: 11px; }

.hero-visual { min-height: 680px; position: relative; overflow: hidden; background: linear-gradient(145deg,#212521 0%,#12130f 62%,#29170e 100%); color: #fff; }
.hero-visual::before { content: ""; position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.18) 50%), linear-gradient(transparent 49.8%,rgba(255,255,255,.12) 50%); background-size: 92px 92px; mask-image: linear-gradient(to bottom,black,transparent 85%); }
.hero-glow { position: absolute; width: 500px; height: 500px; right: -120px; bottom: -170px; border-radius: 50%; background: radial-gradient(circle,rgba(242,94,35,.42),rgba(242,94,35,0) 65%); }
.product-scene { position: absolute; bottom: 0; left: 12%; right: 8%; height: 77%; border-radius: 220px 220px 0 0; background: linear-gradient(145deg,#ddd3c4 0%,#8c8275 46%,#362e27 46.5%,#171511 100%); box-shadow: inset 1px 1px 0 rgba(255,255,255,.35); overflow: hidden; }
.product-scene::after { content: ""; position: absolute; height: 2px; left: 0; right: 0; bottom: 70px; background: rgba(255,255,255,.18); box-shadow: 0 30px 40px rgba(0,0,0,.8); }
.product-scene { display: grid; grid-template-columns: 1.2fr .8fr; grid-template-rows: 1fr 1fr; gap: 2px; padding: 88px 24px 72px; background: linear-gradient(145deg,#e5e0d6,#9f9689 48%,#24221e 48.5%,#141511); }
.hero-product { min-width: 0; min-height: 0; position: relative; z-index: 2; color: #fff; overflow: hidden; }
.hero-product-pellet { grid-row: 1 / 3; border-radius: 84px 0 0 8px; }
.hero-product-airco { border-radius: 0 84px 0 0; }
.hero-product-blackbird { border-radius: 0 0 8px 0; }
.hero-product img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s ease; }
.hero-product-airco img { object-position: center 20%; }
.hero-product:hover img { transform: scale(1.025); }
.hero-product::after { content: ""; position: absolute; inset: 38% 0 0; background: linear-gradient(transparent,rgba(0,0,0,.76)); }
.hero-product div { position: absolute; z-index: 2; left: 16px; right: 12px; bottom: 14px; display: flex; flex-direction: column; }
.hero-product span { color: #ffb17f; text-transform: uppercase; font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.hero-product strong { margin-top: 4px; font: 700 12px "Manrope"; }
.stove-art { position: absolute; left: 51%; bottom: 72px; transform: translateX(-50%); width: clamp(160px, 19vw, 260px); height: clamp(350px, 40vw, 500px); filter: drop-shadow(0 28px 24px rgba(0,0,0,.45)); }
.stove-top { height: 20px; margin: 0 6%; background: linear-gradient(#31322e,#090a08); border-radius: 50%; }
.stove-body { position: absolute; top: 10px; bottom: 18px; width: 100%; border-radius: 45% 45% 11% 11% / 8% 8% 5% 5%; background: linear-gradient(100deg,#10110f,#393b36 46%,#131411 100%); box-shadow: inset 7px 0 10px rgba(255,255,255,.05), inset -8px 0 12px rgba(0,0,0,.6); }
.stove-screen { width: 42px; height: 15px; border-radius: 2px; background: #0d0f0d; box-shadow: inset 0 0 5px #80b58d; position: absolute; top: 10%; left: 50%; transform: translateX(-50%); }
.fire-window { position: absolute; left: 19%; right: 19%; top: 18%; height: 51%; border: 7px solid #090a09; border-radius: 40% 40% 7px 7px / 18% 18% 5px 5px; background: radial-gradient(ellipse at 50% 90%,#ffbe42 0,#d6460d 26%,#46150b 52%,#050505 79%); overflow: hidden; box-shadow: inset 0 0 25px #000; }
.fire-window i { position: absolute; bottom: 5%; width: 30%; height: 58%; left: 36%; border-radius: 50% 50% 35% 35%; transform-origin: bottom; background: linear-gradient(#ffdc73,#f45c19 70%); filter: blur(3px); animation: flame 1.8s ease-in-out infinite alternate; }
.fire-window i:nth-child(2) { left: 12%; height: 38%; animation-delay: -.7s; }
.fire-window i:nth-child(3) { left: 61%; height: 44%; animation-delay: -1.2s; }
@keyframes flame { to { transform: scale(.78,1.1) rotate(5deg); opacity: .75; } }
.stove-vent { position: absolute; left: 20%; right: 20%; bottom: 10%; height: 9%; border-top: 4px double #070807; border-bottom: 4px double #070807; opacity: .8; }
.stove-feet { position: absolute; left: 9%; right: 9%; bottom: 0; height: 24px; background: #080908; border-radius: 3px 3px 10px 10px; }
.scene-copy { position: absolute; left: 8%; bottom: 18px; z-index: 2; display: flex; flex-direction: column; }
.scene-copy span { color: #c6c1b8; text-transform: uppercase; font-size: 9px; letter-spacing: .14em; }
.scene-copy strong { font: 700 14px "Manrope"; }
.room-card { position: absolute; top: 50px; right: 7%; z-index: 3; width: 205px; padding: 18px; background: rgba(20,21,17,.74); border: 1px solid rgba(255,255,255,.15); border-radius: 10px; backdrop-filter: blur(15px); box-shadow: 0 15px 40px rgba(0,0,0,.2); }
.room-top { display: flex; align-items: center; justify-content: space-between; color: #babdb7; font-size: 9px; }
.live-dot::before { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #63d2a1; margin-right: 5px; }
.temperature { margin: 16px 0 10px; display: flex; align-items: flex-start; }
.temperature strong { font: 700 45px/.9 "Manrope"; }
.temperature sup { font-size: 16px; }
.temperature span { font-size: 10px; margin: 8px 0 0 2px; color: #a9aaa5; }
.temp-line { height: 3px; border-radius: 2px; background: #454641; }
.temp-line i { display: block; width: 64%; height: 100%; background: linear-gradient(90deg,var(--orange),#ffb148); }
.room-stats { margin-top: 12px; display: flex; justify-content: space-between; color: #93958e; font-size: 8px; }
.room-stats b { color: #fff; margin-left: 3px; }
.floating-tag { position: absolute; z-index: 4; background: #f7f5ef; color: #696b64; border-radius: 4px; padding: 10px 13px; box-shadow: var(--shadow); font-size: 9px; display: flex; flex-direction: column; }
.floating-tag span { color: var(--ink); font: 800 14px "Manrope"; }
.tag-one { left: 5%; top: 31%; }.tag-two { right: 4%; top: 58%; }

.landing-hero { min-height: calc(100vh - 84px); grid-template-columns: minmax(520px,.92fr) minmax(480px,1.08fr); background: linear-gradient(120deg,#fff 0%,#fff 51%,#f3f8ed 51%,#f8fbf5 100%); }
.landing-copy { max-width: 760px; padding-top: 66px; padding-bottom: 66px; }
.landing-copy .eyebrow { color: #68aa22; }
.landing-copy h1 { font-size: clamp(48px,5vw,74px); line-height: 1.03; }
.landing-copy h1 em { color: #75b726; }
.landing-copy .hero-lead { max-width: 620px; margin: 22px 0 27px; }
.service-choices { display: grid; gap: 10px; width: min(620px,100%); }
.service-choice { width: 100%; min-height: 78px; padding: 13px 17px; display: grid; grid-template-columns: 46px 1fr 34px; align-items: center; gap: 14px; border: 1px solid #e1e5dd; border-radius: 10px; background: #fff; color: var(--ink); text-align: left; box-shadow: 0 8px 25px rgba(28,58,12,.05); transition: transform .2s,border-color .2s,box-shadow .2s; }
.service-choice:hover { transform: translateY(-2px); border-color: #75b726; box-shadow: 0 13px 30px rgba(71,120,24,.12); }
.service-choice:focus-visible { outline: 3px solid rgba(10,161,216,.28); outline-offset: 2px; }
.service-number { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #eff7e6; color: #6eae27; font: 800 13px "Manrope"; }
.service-choice:nth-child(1) .service-number { background: #e9f7fd; color: #0796ca; }
.service-choice:nth-child(3) .service-number { background: #fff2df; color: #e98600; }
.service-choice > span:nth-child(2) { display: flex; flex-direction: column; }
.service-choice strong { font: 800 17px "Manrope"; }
.service-choice small { margin-top: 3px; color: var(--muted); font-size: 13px; }
.service-choice i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: #f1f3ee; color: #5d6656; font-style: normal; transition: background .2s,color .2s; }
.service-choice:hover i { background: #75b726; color: #fff; }
.landing-benefits { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 25px; color: #53604b; font-size: 13px; }
.house-visual { min-width: 0; position: relative; display: flex; align-items: center; justify-content: center; overflow: hidden; padding: 45px 4vw 170px 20px; }
.house-halo { position: absolute; width: min(44vw,620px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle,#e8f4da 0%,rgba(232,244,218,.55) 48%,rgba(232,244,218,0) 72%); }
.house-visual img { position: relative; z-index: 1; width: min(100%,780px); height: auto; object-fit: contain; filter: drop-shadow(0 28px 35px rgba(50,77,28,.13)); }
.hero-trust-grid { position: absolute; z-index: 2; left: 5%; right: 5%; bottom: 28px; display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; }
.hero-trust-grid > div { position: relative; min-width: 0; padding: 15px 12px 14px; text-align: left; background: rgba(255,255,255,.96); border: 1px solid rgba(117,183,38,.24); border-radius: 9px; box-shadow: 0 14px 36px rgba(42,71,20,.12); }
.hero-trust-grid span { position: absolute; top: -8px; left: 50%; display: grid; place-items: center; width: 18px; height: 18px; margin-left: -9px; color: #fff; background: var(--green); border-radius: 50%; font-size: 10px; font-weight: 800; }
.hero-trust-grid strong,.hero-trust-grid small { display: block; overflow-wrap: anywhere; }.hero-trust-grid strong { color: #6cab24; font: 800 15px/1.2 "Manrope"; }.hero-trust-grid small { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.25; }
.full-calculator { padding: clamp(70px,8vw,110px) max(20px,calc((100vw - 980px)/2)); background: #eff5e8; scroll-margin-top: 82px; }.full-calculator[hidden]{display:none}.calculator-shell{padding:clamp(24px,5vw,52px);background:#fff;box-shadow:0 24px 60px rgba(42,71,20,.12)}.calculator-shell>h2{margin:8px 0 30px;font:800 clamp(28px,4vw,44px)/1.1 "Manrope"}.calculator-progress{display:flex;align-items:center;gap:14px;margin-bottom:28px;color:var(--muted);font-size:13px;font-weight:700}.calculator-progress i{flex:1;height:6px;overflow:hidden;background:#e7eadf;border-radius:5px}.calculator-progress b{display:block;height:100%;background:var(--green);transition:width .25s}.calculator-question h3{font:700 clamp(22px,3vw,30px)/1.25 "Manrope"}.calculator-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:22px}.calculator-options button{min-height:64px;padding:15px;text-align:left;color:var(--ink);background:#f7f7f3;border:1px solid #dedfd8;border-radius:5px;cursor:pointer}.calculator-options button.active{color:#fff;background:var(--green);border-color:var(--green)}.calculator-number{display:grid;grid-template-columns:1fr auto;max-width:480px;margin-top:22px}.calculator-number input{min-width:0;padding:16px;border:1px solid #d8d5cd;font-size:18px}.calculator-number span{display:grid;place-items:center;padding:0 18px;background:#efede7;border:1px solid #d8d5cd;border-left:0}.calculator-navigation{display:flex;justify-content:space-between;gap:12px;margin-top:32px}.calculator-navigation[hidden]{display:none}
.calculator-inline-back{margin:0 0 18px;padding:10px 14px;border:0;border-radius:5px;background:#f1f2f0;color:var(--ink);font-weight:700;cursor:pointer}.calculator-final-form{max-width:760px}.calculator-final-form>p{max-width:680px;color:var(--muted);font-size:16px;line-height:1.6}.calculator-final-form>p strong{color:var(--ink)}.calculator-address-row{display:grid;grid-template-columns:1.35fr .9fr .72fr;gap:10px;margin-top:28px}.calculator-final-form label{display:block}.calculator-final-form label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.calculator-final-form input{width:100%;min-height:52px;padding:13px 14px;border:1px solid #cfd2d7;border-radius:5px;background:#fff;color:var(--ink);font:500 15px "Manrope"}.calculator-final-form input:focus{outline:3px solid rgba(13,124,255,.14);border-color:#0d7cff}.calculator-lookup{margin:28px 0 26px;padding:12px 18px;border:0;border-radius:5px;background:#20ad4b;color:#fff;font-weight:800;cursor:pointer}.calculator-wide-button{width:100%;justify-content:flex-start;background:#0d7cff}.calculator-contact-fields{display:grid;gap:16px;margin-top:34px}.calculator-success{max-width:720px;margin:8px auto 0;padding:48px 30px;text-align:center;border:1px solid #e8e9e6;border-radius:10px;box-shadow:0 15px 42px rgba(42,71,20,.08)}.success-title{color:#0d7cff;font-weight:700}.calculator-success h3{margin:20px 0 12px;font-size:20px;line-height:1.45}.calculator-success p{margin:0;color:var(--muted);font-size:16px;line-height:1.55}.confetti-layer{position:fixed;z-index:9999;inset:0;overflow:hidden;pointer-events:none}.confetti-layer i{position:absolute;background:var(--color)}.rain-piece{top:-34px;left:var(--x);width:10px;height:18px;border-radius:2px;animation:confetti-rain var(--duration) linear forwards}.rain-piece.streamer{width:5px;height:32px;border-radius:50%;transform-origin:center}.cannon-piece{left:calc(50% - 4px);bottom:66px;width:9px;height:16px;border-radius:2px;animation:cannon-burst 2.1s cubic-bezier(.15,.7,.25,1) var(--delay) forwards}.confetti-cannon{position:absolute;z-index:3;left:50%;bottom:14px;width:74px;height:58px;transform:translateX(-50%);animation:cannon-recoil .55s ease-out 2}.confetti-cannon b{position:absolute;left:25px;top:2px;width:25px;height:48px;border:5px solid #173a31;border-radius:7px 7px 13px 13px;background:linear-gradient(90deg,#75b726,#a6dc5e);transform:rotate(-3deg)}.confetti-cannon span{position:absolute;left:10px;bottom:0;width:54px;height:26px;border-radius:28px 28px 5px 5px;background:#f39200;border:5px solid #173a31}.confetti-cannon span::after{content:"";position:absolute;left:17px;top:5px;width:11px;height:11px;border-radius:50%;background:#fff}@keyframes confetti-rain{0%{transform:translate3d(0,-5vh,0) rotate(0);opacity:1}100%{transform:translate3d(var(--drift),110vh,0) rotate(var(--spin));opacity:.95}}@keyframes cannon-burst{0%{transform:translate3d(0,0,0) rotate(0);opacity:1}48%{transform:translate3d(var(--burst-x),var(--burst-y),0) rotate(var(--spin));opacity:1}100%{transform:translate3d(var(--burst-x),110vh,0) rotate(calc(var(--spin) * 1.5));opacity:.8}}@keyframes cannon-recoil{0%,100%{transform:translateX(-50%) rotate(0)}45%{transform:translateX(-50%) rotate(8deg) scale(.92)}}

.calculator-success>strong{display:block;color:var(--green);font:800 24px/1.3 "Manrope"}.calculator-success>span{display:block;margin-top:12px;color:var(--muted);font-size:17px;line-height:1.55}

.finder { padding: 112px clamp(22px, 6vw, 92px); background: var(--paper); }
.section-heading { max-width: 1240px; margin: 0 auto 48px; display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.section-heading h2, .catalog-head h2, .quote h2, .compare-dialog h2 { font-size: clamp(35px, 4vw, 56px); line-height: 1.06; }
.section-heading > p { max-width: 440px; margin: 0 0 4px; color: var(--muted); line-height: 1.7; }
.finder-shell { max-width: 1240px; margin: auto; min-height: 600px; display: grid; grid-template-columns: 300px 1fr; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
.step-rail { padding: 34px 28px; background: var(--ink); color: #fff; display: flex; flex-direction: column; }
.rail-intro { display: flex; justify-content: space-between; align-items: center; padding-bottom: 24px; border-bottom: 1px solid #33332f; }
.rail-intro span { color: #8f908a; font-size: 11px; text-transform: uppercase; letter-spacing: .13em; }
.rail-intro strong { color: var(--orange); font-size: 11px; }
.step-rail ol { list-style: none; padding: 24px 0 0; margin: 0; }
.step-rail li { display: flex; gap: 15px; align-items: center; padding: 13px 0; opacity: .35; transition: opacity .2s; }
.step-rail li.active, .step-rail li.complete { opacity: 1; }
.step-rail li b { flex: 0 0 31px; height: 31px; display: grid; place-items: center; border: 1px solid #555650; border-radius: 50%; font-size: 11px; }
.step-rail li.active b { background: var(--orange); border-color: var(--orange); }
.step-rail li.complete b { color: transparent; background: var(--green); border-color: var(--green); position: relative; }
.step-rail li.complete b::after { content: "✓"; color: #fff; position: absolute; }
.step-rail li span { display: flex; flex-direction: column; }
.step-rail li strong { font-size: 12px; }
.step-rail li small { color: #aaa9a3; font-size: 9px; margin-top: 3px; }
.advisor-card { margin-top: auto; border-top: 1px solid #33332f; padding-top: 24px; display: flex; gap: 12px; align-items: center; }
.advisor-avatar { width: 39px; height: 39px; display: grid; place-items: center; flex: 0 0 39px; background: #312017; color: #ff8b5f; border-radius: 50%; font: 700 11px "Manrope"; }
.advisor-card > div:last-child { display: flex; flex-direction: column; }
.advisor-card small { color: #8f908a; font-size: 8px; }.advisor-card strong { font-size: 11px; }.advisor-card a { color: var(--orange); font-size: 10px; }

.wizard { padding: 52px clamp(28px, 5vw, 76px) 34px; display: flex; flex-direction: column; min-width: 0; }
.wizard-progress { height: 3px; background: #efede7; margin: -52px calc(clamp(28px, 5vw, 76px) * -1) 48px; }
.wizard-progress i { display: block; height: 100%; width: 25%; background: var(--orange); transition: width .35s ease; }
.wizard-step { display: none; animation: rise .3s ease; }
.wizard-step.active { display: block; }
@keyframes rise { from { opacity: 0; transform: translateY(9px); } }
.step-kicker { display: block; color: var(--orange); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 10px; }
.wizard h3 { font-size: clamp(29px, 3.1vw, 42px); }
.wizard h3 + p { color: var(--muted); margin: 10px 0 30px; }
.wizard h4 { font: 700 13px "Manrope"; margin: 28px 0 12px; }
.choice-grid { display: grid; gap: 13px; }
.choice-grid-large { grid-template-columns: repeat(2,1fr); }
.choice-card { min-height: 236px; padding: 0; background: #faf9f5; border: 1px solid #e7e4dc; text-align: left; position: relative; overflow: hidden; transition: .2s; }
.choice-card:hover { border-color: #bbb9b1; transform: translateY(-2px); }
.choice-card.active { border: 2px solid var(--orange); padding: 0; background: #fffaf7; }
.choice-icon { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 50%; background: #f1eee7; color: var(--ink); font-size: 26px; }
.fire-icon svg { width: 22px; color: var(--orange); }
.heatpump-icon { color: var(--green); font: 800 15px "Manrope"; }
.choice-photo { width: 100%; height: 145px; object-fit: cover; display: block; }
.choice-card[data-value="pellet"] .choice-photo { object-position: center 45%; }
.choice-card[data-value="airco"] .choice-photo { object-position: center 26%; }
.choice-card[data-value="warmtepomp"] .choice-photo { object-position: center 40%; }
.choice-copy { display: flex; flex-direction: column; padding: 17px 20px 20px; }
.choice-card strong { font: 700 16px "Manrope"; }.choice-card small { color: var(--muted); margin-top: 5px; font-size: 11px; }
.checkmark { display: none; place-items: center; position: absolute; right: 17px; top: 17px; width: 22px; height: 22px; color: #fff; background: var(--orange); border-radius: 50%; font-style: normal; font-size: 11px; }
.choice-card.active .checkmark { display: grid; }
.range-card { padding: 24px 29px; background: #f8f6f0; border: 1px solid #e7e3da; }
.range-value { margin-bottom: 20px; }.range-value strong { font: 700 35px "Manrope"; }.range-value span { color: var(--muted); font-size: 13px; margin-left: 5px; }
input[type="range"] { --pct: 25%; appearance: none; width: 100%; height: 4px; background: linear-gradient(90deg,var(--orange) var(--pct),#d9d6ce var(--pct)); border-radius: 5px; outline: 0; }
input[type="range"]::-webkit-slider-thumb { appearance: none; width: 19px; height: 19px; border: 5px solid #fff; border-radius: 50%; background: var(--orange); box-shadow: 0 0 0 1px var(--orange),0 3px 8px rgba(0,0,0,.2); }
.range-marks { display: flex; justify-content: space-between; color: #999a94; font-size: 9px; margin-top: 12px; }
.power-indicator { margin-top: 20px; padding: 14px 16px; display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; background: #fff; border-left: 3px solid var(--orange); }
.power-indicator span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.power-indicator strong { font: 800 17px "Manrope"; color: var(--orange); }
.power-indicator small { grid-column: 1/3; color: var(--muted); font-size: 8px; }
.choice-grid-compact { grid-template-columns: repeat(3,1fr); }
.mini-choice { padding: 15px; border: 1px solid #e1ded6; background: #fff; text-align: left; display: flex; flex-direction: column; }
.mini-choice strong { font-size: 12px; }.mini-choice small { color: var(--muted); font-size: 9px; margin-top: 3px; }
.mini-choice.active { border-color: var(--orange); background: #fff7f3; box-shadow: inset 0 0 0 1px var(--orange); }
.preference-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 11px; }
.pref-card { border: 1px solid #e1ded6; background: #fff; padding: 16px; display: grid; grid-template-columns: 35px 1fr; grid-template-rows: auto auto; text-align: left; }
.pref-card > span { grid-row: 1/3; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: #f2efe7; color: var(--orange); }
.pref-card strong { font-size: 12px; }.pref-card small { color: var(--muted); font-size: 9px; margin-top: 2px; }
.pref-card.active { border-color: var(--orange); background: #fff8f4; box-shadow: inset 0 0 0 1px var(--orange); }
.brand-choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.brand-choice-grid button { padding: 11px 12px; border: 1px solid #dedbd3; background: #fff; display: flex; flex-direction: column; text-align: left; }
.brand-choice-grid button strong { font-size: 10px; }.brand-choice-grid button small { color: var(--muted); font-size: 8px; margin-top: 2px; }
.brand-choice-grid button.active { border-color: var(--orange); background: #fff7f3; box-shadow: inset 0 0 0 1px var(--orange); }
.heatpump-type-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.heatpump-type-grid button { min-height: 92px; padding: 15px; border: 1px solid #dedbd3; background: #fff; display: flex; flex-direction: column; text-align: left; }
.heatpump-type-grid button strong { font: 700 12px "Manrope"; }
.heatpump-type-grid button small { margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.heatpump-type-grid button.active { border-color: var(--orange); background: #fff7f3; box-shadow: inset 0 0 0 1px var(--orange); }
.heatpump-range-card { padding: 20px 24px; }
.heatpump-explanation { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.saving-card { padding: 15px; background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--orange); }
.saving-card > span { color: var(--orange); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.saving-card strong { display: block; margin: 5px 0 7px; font: 700 11px/1.35 "Manrope"; }
.saving-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.field-help { margin: -7px 0 11px; color: var(--muted); font-size: 10px; }
.heating-system-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.heating-system-grid button { min-height: 70px; padding: 14px; border: 1px solid var(--line); background: #fff; display: flex; align-items: center; gap: 9px; text-align: left; }
.heating-system-grid button > span { width: 20px; height: 20px; flex: 0 0 20px; display: grid; place-items: center; border-radius: 50%; background: #e9e7e1; color: transparent; font-size: 9px; }
.heating-system-grid button strong { font-size: 10px; }
.heating-system-grid button.active { border-color: var(--orange); background: #fff7f3; box-shadow: inset 0 0 0 1px var(--orange); }
.heating-system-grid button.active > span { background: var(--orange); color: #fff; }
.segmented { display: inline-grid; grid-auto-flow: column; border: 1px solid #dedbd3; padding: 3px; border-radius: 5px; }
.segmented button { border: 0; padding: 9px 15px; background: transparent; font-size: 10px; border-radius: 3px; }
.segmented button.active { background: var(--ink); color: #fff; }
.multi-room-builder { margin-top: 15px; padding: 16px; background: #f8f6f0; border: 1px solid var(--line); }
.multi-room-builder > label { display: flex; flex-direction: column; gap: 5px; color: var(--muted); font-size: 9px; font-weight: 700; }
.multi-room-builder select, .multi-room-inputs input { border: 1px solid var(--line); background: #fff; padding: 9px 10px; outline: 0; }
.multi-room-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.multi-room-inputs label { display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: 8px; }
.multi-advice-preview { margin-top: 13px; padding: 11px 12px; color: #e0521e; background: #fff; font-size: 9px; line-height: 1.5; border-left: 3px solid var(--orange); }
.wizard-nav { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 28px; }
.result-step .advice-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.advice-card { display: grid; grid-template-columns: 100px 1fr; gap: 12px; border: 1px solid var(--line); padding: 12px; background: #fff; position: relative; }
.advice-card:first-child { border: 2px solid var(--orange); padding: 11px; }
.advice-card:first-child::before { content: "BESTE MATCH"; position: absolute; top: -9px; left: 12px; background: var(--orange); color: #fff; padding: 3px 7px; font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.advice-card img { width: 100%; height: 105px; object-fit: contain; background: #f5f3ed; }
.advice-card > div { display: flex; flex-direction: column; justify-content: center; }
.advice-card small { color: var(--orange); text-transform: uppercase; font-size: 8px; font-weight: 800; }
.advice-card strong { font: 700 12px "Manrope"; margin: 3px 0; }.advice-card span { color: var(--muted); font-size: 9px; }.advice-card b { margin-top: 8px; font-size: 12px; }
.no-match-card { border-style: dashed; background: #faf8f3; }
.no-match-card:first-child { border: 1px dashed var(--line); padding: 12px; }
.no-match-card:first-child::before { content: none; }
.no-match-visual { width: 100%; height: 105px; display: grid; place-items: center; background: #efede7; color: var(--muted); font: 700 30px "Manrope"; }
.consultation-card { grid-column: 1/3; border: 2px solid var(--orange); }
.consultation-visual { width: 100%; height: 105px; display: grid; place-items: center; background: #edf3ea; color: var(--green); font: 800 24px "Manrope"; }
.consultation-actions { display: flex; align-items: center; gap: 12px; margin-top: 7px; }
.consultation-actions a { color: var(--orange); font-size: 9px; font-weight: 800; text-decoration: underline; }
.airco-brand-grid { grid-template-columns: repeat(3,1fr); }
.text-button { margin-top: 15px; border: 0; background: none; color: var(--muted); text-decoration: underline; font-size: 10px; }

.catalog { max-width: 1240px; margin: 112px auto 0; }
.catalog-head { display: flex; justify-content: space-between; align-items: flex-end; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.catalog-head h2 { font-size: clamp(32px,3.7vw,50px); }
.category-tabs { display: flex; gap: 4px; background: #efede6; padding: 4px; border-radius: 5px; }
.category-tabs button { border: 0; background: transparent; padding: 10px 15px; border-radius: 3px; font-size: 11px; font-weight: 700; }
.category-tabs button.active { background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.07); }
.catalog-layout { display: grid; grid-template-columns: 220px 1fr; gap: 38px; padding-top: 30px; }
.filters { border-right: 1px solid var(--line); padding-right: 26px; }
.filter-heading { display: flex; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.filter-heading strong { font: 700 13px "Manrope"; }.filter-heading button { border: 0; background: none; color: var(--orange); font-size: 9px; }
.filter-block { display: block; padding: 22px 0; border-bottom: 1px solid var(--line); }
.filter-block > span { display: flex; justify-content: space-between; margin-bottom: 17px; font-size: 11px; font-weight: 700; }.filter-block b { color: var(--orange); }
.filter-block select, .product-toolbar select { width: 100%; border: 1px solid var(--line); background: #fff; border-radius: 3px; padding: 10px 12px; color: var(--ink); font-size: 10px; }
.search-filter input { width: 100%; border: 1px solid var(--line); background: #fff; border-radius: 3px; padding: 10px 12px; color: var(--ink); font-size: 10px; outline: 0; }
.search-filter input:focus { border-color: var(--orange); }
.switch-row { padding: 19px 0; border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; }
.switch-row span { display: flex; flex-direction: column; }.switch-row strong { font-size: 10px; }.switch-row small { color: var(--muted); font-size: 8px; margin-top: 2px; }
.switch-row input { position: absolute; opacity: 0; }.switch-row i { width: 32px; height: 18px; flex: 0 0 32px; border-radius: 9px; background: #d8d6d0; position: relative; transition: .2s; }.switch-row i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 12px; height: 12px; background: #fff; border-radius: 50%; transition: .2s; }.switch-row input:checked + i { background: var(--orange); }.switch-row input:checked + i::after { left: 17px; }
.filter-tip { margin-top: 20px; padding: 14px; background: #f1efe9; display: flex; gap: 10px; }.filter-tip > span { flex: 0 0 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--green); font-size: 9px; }.filter-tip p { margin: 0; color: var(--muted); font-size: 8px; line-height: 1.5; }.filter-tip strong { display: block; color: var(--ink); }
.product-toolbar { min-height: 40px; display: flex; justify-content: space-between; align-items: flex-start; font-size: 10px; color: var(--muted); }.product-toolbar label { display: flex; gap: 8px; align-items: center; }.product-toolbar select { width: auto; padding: 6px 24px 6px 8px; }
.product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.product-card { min-width: 0; background: #fff; border: 1px solid #e1ded6; transition: transform .2s, box-shadow .2s; position: relative; }
.product-card:hover { transform: translateY(-3px); box-shadow: 0 16px 35px rgba(20,20,15,.09); }
.product-image { aspect-ratio: 1.28; background: linear-gradient(145deg,#f4f2ec,#e9e5db); overflow: hidden; position: relative; display: grid; place-items: center; }
.product-image img { width: 88%; height: 88%; object-fit: contain; mix-blend-mode: multiply; transition: transform .4s; }.product-card:hover .product-image img { transform: scale(1.035); }
.product-badge { position: absolute; top: 11px; left: 11px; background: var(--ink); color: #fff; font-size: 7px; letter-spacing: .08em; font-weight: 800; padding: 5px 7px; z-index: 1; }.product-badge.match { background: var(--orange); }.product-badge.soon { background: #837d71; }
.compare-toggle { position: absolute; right: 10px; top: 10px; z-index: 2; border: 1px solid #d9d6ce; background: rgba(255,255,255,.92); width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #666; font-size: 16px; }
.compare-toggle.active { color: #fff; background: var(--orange); border-color: var(--orange); }
.product-info { padding: 17px; }.product-brand { color: var(--orange); font-size: 7px; letter-spacing: .12em; text-transform: uppercase; font-weight: 800; }
.product-info h3 { font-size: 13px; line-height: 1.35; min-height: 36px; margin: 5px 0 9px; }.product-meta { display: flex; gap: 9px; color: var(--muted); font-size: 8px; }.product-meta span { padding-right: 9px; border-right: 1px solid var(--line); }.product-meta span:last-child { border: 0; }
.product-bottom { margin-top: 15px; padding-top: 12px; border-top: 1px solid #eeeae2; display: flex; align-items: flex-end; justify-content: space-between; }.product-price { display: flex; flex-direction: column; }.product-price small { color: var(--muted); font-size: 7px; }.product-price strong { font: 800 15px "Manrope"; }.product-quote { border: 0; background: none; color: var(--orange); font-weight: 800; font-size: 9px; padding: 5px 0; }
.product-bottom > div:last-child { display: flex; flex-direction: column; align-items: flex-end; }.product-link { color: var(--muted); font-size: 8px; text-decoration: underline; }
.empty-state { text-align: center; padding: 90px 20px; background: #f3f1eb; }.empty-state strong { font: 700 20px "Manrope"; }.empty-state p { color: var(--muted); }
.load-more { display: block; margin: 24px auto 0; min-width: 190px; }
.empty-advice { grid-column: 1/3; padding: 25px; background: #f5f2eb; border: 1px solid var(--line); }.empty-advice strong { font: 700 17px "Manrope"; }.empty-advice p { color: var(--muted); font-size: 10px; line-height: 1.6; }

.quote { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px,8vw,120px); padding: 110px clamp(28px,8vw,120px); background: #171814; color: #fff; position: relative; overflow: hidden; }
.quote::before { content: ""; position: absolute; width: 500px; height: 500px; left: -240px; bottom: -270px; background: radial-gradient(circle,rgba(238,90,36,.3),transparent 67%); }
.eyebrow.light { color: #ff8c62; }.quote h2 { max-width: 570px; }.quote-copy > p:not(.eyebrow) { max-width: 520px; color: #b4b5af; line-height: 1.7; }
.quote ul { list-style: none; padding: 8px 0 0; margin: 24px 0; }.quote li { padding: 7px 0; color: #d8d9d4; font-size: 12px; }.quote li span { display: inline-grid; place-items: center; margin-right: 9px; width: 18px; height: 18px; border-radius: 50%; background: #214f41; color: #8fddbc; font-size: 9px; }
.contact-card { display: flex; align-items: center; gap: 13px; margin-top: 30px; }.contact-card > span { width: 48px; height: 48px; display: grid; place-items: center; background: #2b2c27; border-radius: 50%; color: var(--orange); font: 800 12px "Manrope"; }.contact-card div { display: flex; flex-direction: column; }.contact-card small,.contact-card em { color: #8f918a; font-size: 9px; font-style: normal; }.contact-card strong { font-size: 13px; margin: 2px 0; }
.quote-form { background: #f8f6f0; color: var(--ink); padding: clamp(24px,3.5vw,45px); box-shadow: 0 25px 60px rgba(0,0,0,.27); }
.form-top { display: flex; justify-content: space-between; align-items: center; padding-bottom: 19px; margin-bottom: 21px; border-bottom: 1px solid var(--line); }.form-top span { font: 700 17px "Manrope"; }.form-top small { color: var(--muted); font-size: 8px; }
.quote-form > label, .form-row label { display: flex; flex-direction: column; gap: 7px; color: #4d4e49; font-size: 9px; font-weight: 700; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 14px 0; }
.quote-form input,.quote-form textarea { border: 1px solid #d8d5cd; background: #fff; padding: 11px 12px; outline: none; resize: vertical; border-radius: 2px; font-size: 11px; }.quote-form input:focus,.quote-form textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 2px rgba(238,90,36,.08); }
.selected-products { min-height: 45px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; border: 1px dashed #cbc7bd; padding: 8px; font-weight: 400; }.selected-products > span { color: #8a8b86; font-size: 10px; }.selected-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px; border-radius: 3px; background: #ece8de; font-size: 8px; }.selected-chip button { border: 0; background: none; color: #777; padding: 0; }
.consent { flex-direction: row !important; align-items: flex-start; margin-top: 16px; font-weight: 400 !important; line-height: 1.4; }.consent input { width: 14px; height: 14px; padding: 0; accent-color: var(--orange); }
.form-submit { width: 100%; margin-top: 18px; }.form-note { color: var(--muted); text-align: center; font-size: 8px; line-height: 1.4; }.form-status { color: var(--green); text-align: center; min-height: 14px; font-size: 9px; }.appointment-form>[hidden],.quote-form>[hidden]{display:none!important}.submission-confirmation{display:flex;flex-direction:column;gap:10px;padding:34px 24px;border:1px solid rgba(117,183,38,.28);border-radius:8px;background:#fff;color:var(--ink);font-size:16px;line-height:1.5;box-shadow:0 14px 34px rgba(42,71,20,.1)}.submission-confirmation strong{color:var(--green);font:800 22px/1.3 "Manrope"}.submission-confirmation span{display:block}
.heatpump-appointment { margin-top: 19px; padding-top: 18px; border-top: 1px solid var(--line); display: flex; flex-direction: column; align-items: flex-start; gap: 7px; }
.heatpump-appointment[hidden] { display: none; }
.heatpump-appointment > span { color: var(--orange); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.heatpump-appointment > strong { font: 700 12px/1.45 "Manrope"; }
.heatpump-appointment .btn { margin-top: 4px; font-size: 10px; padding: 11px 14px; }

.seo-services,.local-seo,.seo-faq,.blog-overview { scroll-margin-top: 84px; }
.blog-teaser { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap: clamp(30px,6vw,90px); align-items: center; padding: clamp(68px,8vw,104px) max(24px,calc((100vw - 1120px)/2)); background: #eef0e9; scroll-margin-top: 84px; }
.blog-teaser h2 { max-width: 760px; margin: 0; font: 800 clamp(32px,4.4vw,54px)/1.06 "Manrope"; letter-spacing: -.05em; }
.blog-teaser p:last-child { max-width: 760px; margin: 20px 0 0; color: var(--muted); font-size: 17px; line-height: 1.72; }
.blog-teaser-link { display: flex; min-height: 210px; padding: 30px; flex-direction: column; justify-content: space-between; border: 1px solid #214f41; background: linear-gradient(135deg,#173d34,#2f6b55); color: #fff; transition: transform .2s,box-shadow .2s; }
.blog-teaser-link:hover { transform: translateY(-4px); box-shadow: 0 18px 42px rgba(32,71,39,.14); }
.blog-teaser-link span { max-width: 260px; font: 800 25px/1.18 "Manrope"; letter-spacing: -.03em; }
.blog-teaser-link strong { color: #d5f4ae; font-size: 13px; letter-spacing: .03em; }
.blog-overview { padding: clamp(72px,9vw,120px) max(24px,calc((100vw - 1120px)/2)); background: #eef0e9; }
.blog-overview-heading { max-width: 780px; margin-bottom: 42px; }
.blog-overview-heading h1,.blog-overview-heading h2 { margin: 0; font: 800 clamp(32px,4.7vw,58px)/1.05 "Manrope"; letter-spacing: -.05em; }
.blog-overview-heading > p:last-child { margin: 18px 0 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.blog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.blog-card { display: flex; min-height: 440px; padding: clamp(24px,3vw,34px); flex-direction: column; overflow: hidden; border: 1px solid #d6dbd0; background: #fff; color: var(--ink); transition: transform .2s,border-color .2s,box-shadow .2s; }
.blog-card > img { width: calc(100% + clamp(48px,6vw,68px)); height: 190px; margin: calc(clamp(24px,3vw,34px) * -1) calc(clamp(24px,3vw,34px) * -1) 24px; object-fit: cover; background: #e7e9e3; }
.blog-card:hover { transform: translateY(-4px); border-color: #a8c393; box-shadow: 0 18px 42px rgba(32,71,39,.1); }
.blog-card > span { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.blog-card h2,.blog-card h3 { margin: 19px 0 12px; font: 800 clamp(22px,2.5vw,31px)/1.14 "Manrope"; letter-spacing: -.035em; }
.blog-card p { margin: 0 0 25px; color: var(--muted); font-size: 15px; line-height: 1.65; }
.blog-card i { width: fit-content; margin-top: auto; padding-bottom: 4px; border-bottom: 1px solid currentColor; color: var(--orange-dark); font-size: 13px; font-style: normal; font-weight: 800; }
.blog-card-featured { grid-column: 1/-1; min-height: 460px; color: #fff; border-color: #214f41; background: linear-gradient(125deg,#173d34,#2f6b55); }
.blog-card-featured > img { height: 240px; }
.blog-card-featured > span,.blog-card-featured i { color: #d5f4ae; }.blog-card-featured p { color: #d2ddd7; max-width: 680px; }

.article-page { background: #f4f5f1; color: var(--ink); }
.article-page .site-header { position: sticky; top: 0; }
.article-shell { width: min(1120px,calc(100% - 40px)); margin: 0 auto; padding: clamp(50px,8vw,100px) 0 100px; }
.article-back { display: inline-block; margin-bottom: 40px; color: var(--green); font-size: 13px; font-weight: 800; }
.article-hero { max-width: 900px; padding-bottom: 50px; border-bottom: 1px solid #ccd2c7; }
.article-kicker { color: var(--orange-dark); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.article-hero h1 { margin: 16px 0 22px; font: 800 clamp(40px,6.5vw,76px)/1.02 "Manrope"; letter-spacing: -.06em; }
.article-lead { max-width: 790px; margin: 0; color: #5f655c; font-size: clamp(18px,2.1vw,22px); line-height: 1.65; }
.article-meta { display: flex; gap: 18px; margin-top: 25px; color: #6f756d; font-size: 12px; }
.article-image { margin: 42px 0 0; overflow: hidden; background: #e2e6de; }
.article-image img { display: block; width: 100%; height: clamp(300px,48vw,590px); object-fit: cover; }
.article-image figcaption { padding: 9px 12px; color: #687068; background: #fff; font-size: 11px; }
.article-layout { display: grid; grid-template-columns: minmax(0,760px) minmax(220px,1fr); gap: clamp(45px,8vw,100px); align-items: start; padding-top: 55px; }
.article-content h2 { margin: 46px 0 14px; font: 800 clamp(26px,3.5vw,40px)/1.15 "Manrope"; letter-spacing: -.04em; }
.article-content h2:first-child { margin-top: 0; }
.article-content p,.article-content li { color: #4f554d; font-size: 17px; line-height: 1.8; }
.article-content ul { padding-left: 22px; }.article-content li + li { margin-top: 8px; }
.article-note { margin: 34px 0; padding: 25px 28px; border-left: 4px solid var(--green); background: #fff; }
.article-note strong { display: block; margin-bottom: 6px; font: 800 18px "Manrope"; }
.article-note p { margin: 0; font-size: 15px; }
.article-faq { margin-top: 58px; }
.article-faq > h2 { margin-bottom: 14px; }
.article-faq details { border-top: 1px solid #ccd2c7; }
.article-faq details:last-child { border-bottom: 1px solid #ccd2c7; }
.article-faq summary { position: relative; padding: 18px 38px 18px 0; cursor: pointer; list-style: none; font: 750 17px/1.4 "Manrope"; }
.article-faq summary::-webkit-details-marker { display: none; }
.article-faq summary::after { content: "+"; position: absolute; right: 5px; top: 14px; color: var(--orange); font-size: 25px; }
.article-faq details[open] summary::after { content: "−"; }
.article-faq details p { margin: -2px 0 20px; font-size: 15px; }
.article-sources { margin-top: 45px; padding: 24px 26px; background: #e9eee5; }
.article-sources h2 { margin: 0 0 12px; font-size: 21px; }
.article-sources ul { margin: 0; padding-left: 20px; }
.article-sources a { color: var(--green); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.article-aside { position: sticky; top: 105px; padding: 26px; color: #fff; background: #173d34; }
.article-aside h2 { margin: 0 0 12px; font-size: 23px; }.article-aside p { color: #d5ded9; font-size: 14px; line-height: 1.65; }
.article-aside a { display: block; margin-top: 20px; padding: 14px 16px; text-align: center; color: #172015; background: #d5f4ae; font-size: 13px; font-weight: 800; }
.article-related { margin-top: 65px; padding-top: 35px; border-top: 1px solid #ccd2c7; }.article-related h2 { font-size: 25px; }.article-related-links { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }.article-related a { padding: 16px; border: 1px solid #d6dbd0; background: #fff; color: var(--green); font-size: 13px; font-weight: 800; }
.seo-services { padding: clamp(72px,9vw,120px) max(24px,calc((100vw - 1120px)/2)); background: #fff; }
.seo-services-heading { max-width: 790px; margin-bottom: 42px; }
.seo-services-heading h2,.local-copy h2,.seo-faq-heading h2 { font: 800 clamp(32px,4.7vw,58px)/1.05 "Manrope"; letter-spacing: -.05em; }
.seo-services-heading > p:last-child,.local-copy > p:not(.eyebrow) { margin: 18px 0 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.local-calculator-link { display: inline-block; width: fit-content; margin-top: 28px; }
.seo-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.seo-service-grid article { display: flex; min-height: 305px; padding: clamp(25px,3.5vw,40px); flex-direction: column; border: 1px solid var(--line); background: var(--paper); transition: transform .2s,border-color .2s,box-shadow .2s; }
.seo-service-grid article:hover { transform: translateY(-4px); border-color: #b7cda7; box-shadow: 0 18px 42px rgba(32,71,39,.09); }
.seo-service-grid article > span { color: var(--green); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.seo-service-grid h3 { margin: 20px 0 14px; font-size: clamp(23px,2.7vw,34px); line-height: 1.12; }
.seo-service-grid p { margin: 0 0 25px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.seo-service-link { width: fit-content; margin-top: auto; padding: 0 0 4px; border: 0; border-bottom: 1px solid currentColor; color: var(--orange-dark); background: none; font-size: 13px; font-weight: 800; text-align: left; }
.seo-service-link span { margin-left: 7px; }
.local-seo { display: grid; grid-template-columns: minmax(0,.85fr) minmax(440px,1.15fr); gap: clamp(38px,7vw,90px); align-items: center; padding: clamp(72px,9vw,120px) max(24px,calc((100vw - 1120px)/2)); background: #eef0e9; }
.local-links { display: grid; gap: 0; margin-top: 30px; border-top: 1px solid #d2d6cc; }
.local-links a { display: flex; justify-content: space-between; gap: 18px; padding: 14px 0; border-bottom: 1px solid #d2d6cc; color: var(--green); font-size: 13px; font-weight: 800; }
.local-links a:hover { color: var(--orange-dark); }
.location-panel { overflow: hidden; background: #fff; box-shadow: 0 24px 70px rgba(35,48,30,.14); }
.map-frame { min-height: 330px; background: #dfe3d9; }
.map-frame iframe { display: block; width: 100%; height: 330px; border: 0; }
.local-card { display: grid; grid-template-columns: 1fr auto; gap: 15px 30px; padding: clamp(24px,4vw,38px); font-style: normal; }
.local-card > span { grid-column: 1/-1; color: var(--orange); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.local-card strong { font: 800 19px/1.5 "Manrope"; }
.local-card > div { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; color: var(--green); font-weight: 800; }
.local-card small { color: var(--muted); line-height: 1.65; }
.map-link { align-self: end; justify-self: end; padding-bottom: 3px; border-bottom: 1px solid currentColor; color: var(--orange-dark); font-size: 12px; font-weight: 800; }
.seo-faq { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(38px,7vw,90px); padding: clamp(72px,9vw,120px) max(24px,calc((100vw - 1120px)/2)); background: #fff; }
.seo-faq-heading { align-self: start; position: sticky; top: 120px; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 22px 44px 22px 0; cursor: pointer; list-style: none; font: 750 clamp(17px,2vw,21px)/1.35 "Manrope"; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; top: 18px; right: 5px; color: var(--orange); font: 400 28px/1 "Manrope"; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list p { margin: -4px 0 24px; padding-right: 34px; color: var(--muted); font-size: 15px; line-height: 1.7; }

.site-footer { padding: 42px clamp(25px,6vw,92px) 28px; border-top: 1px solid #2a2b27; background: #0c0d0b; color: #b6b8b1; }
.footer-grid { width: 100%; display: grid; grid-template-columns: minmax(220px,1.2fr) minmax(150px,.65fr) minmax(275px,1fr) minmax(170px,.7fr); align-items: start; gap: 32px; }
.footer-column { min-width: 0; }
.footer-column > strong { display: block; margin: 1px 0 13px; color: #fff; font: 800 11px/1.3 "Manrope"; letter-spacing: .08em; text-transform: uppercase; }
.footer-column p,.footer-column address { margin: 0; color: #92948e; font: 500 10px/1.65 "Manrope"; }
.footer-column address { font-style: normal; }
.footer-brand { display: inline-flex; min-width: 140px; padding: 5px 8px; border-radius: 4px; background: #fff; color: #fff; }
.footer-brand .official-logo { width: 220px; }
.footer-brand small { display: none; }
.footer-intro p { max-width: 260px; margin-top: 13px; }
.footer-contact { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.footer-contact a { color: #d5f4ae; font-weight: 800; }
.footer-location { display: flex; align-items: center; gap: 11px; }
.footer-location-photo { width: 92px; height: 62px; flex: 0 0 auto; border: 1px solid #343630; border-radius: 5px; object-fit: cover; }
.footer-contact-details { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; white-space: nowrap; }
.footer-opening-hours dl { display: grid; gap: 8px; margin: 0; }
.footer-opening-hours dl > div { display: grid; grid-template-columns: minmax(125px,1fr) auto; gap: 18px; color: #92948e; font: 500 10px/1.45 "Manrope"; }
.footer-opening-hours dt,.footer-opening-hours dd { margin: 0; }
.footer-opening-hours dd { color: #d3d5cf; white-space: nowrap; }
.powered-by { display: inline-grid; width: 148px; gap: 5px; justify-self: start; align-self: start; padding: 9px 11px; border: 1px solid #30322d; border-radius: 6px; background: #fff; box-shadow: 0 8px 20px rgba(0,0,0,.14); transition: transform .2s ease,border-color .2s ease,box-shadow .2s ease; }
.powered-by span { color: #797b75; font: 800 7px/1.2 "Manrope"; letter-spacing: .14em; text-transform: uppercase; }
.powered-by img { width: 112px; height: auto; align-self: center; }
.powered-by:hover { transform: translateY(-2px); border-color: var(--green); box-shadow: 0 14px 34px rgba(0,0,0,.24); }
.powered-by:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.footer-links { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 10px 19px; padding-top: 20px; border-top: 1px solid #242621; font-size: 10px; }
.footer-links a:hover { color: #fff; }

.compare-dock { position: fixed; z-index: 70; left: 50%; bottom: 18px; transform: translateX(-50%); width: min(760px,calc(100% - 30px)); min-height: 76px; background: var(--ink); color: #fff; box-shadow: 0 20px 50px rgba(0,0,0,.3); border-radius: 7px; padding: 12px 15px 12px 20px; align-items: center; gap: 20px; }.compare-dock:not([hidden]) { display: flex; }.compare-dock > div:first-child { display: grid; grid-template-columns: 24px 1fr; }.compare-dock > div:first-child span { grid-row: 1/3; width: 22px; height: 22px; display: grid; place-items: center; margin-right: 8px; background: var(--orange); border-radius: 50%; font-size: 9px; }.compare-dock strong { font-size: 11px; }.compare-dock small { color: #92938e; font-size: 8px; }.compare-thumbs { display: flex; gap: 7px; margin-left: auto; }.compare-thumbs img { width: 42px; height: 42px; object-fit: contain; background: #fff; border-radius: 3px; }.compare-dock .btn { padding: 12px 15px; font-size: 10px; }
.compare-dialog { width: min(1040px,calc(100% - 30px)); max-height: calc(100vh - 40px); padding: 0; border: 0; box-shadow: 0 30px 100px rgba(0,0,0,.38); }.compare-dialog::backdrop { background: rgba(8,9,7,.72); backdrop-filter: blur(4px); }.dialog-head { padding: 30px 36px 22px; display: flex; justify-content: space-between; align-items: flex-start; border-bottom: 1px solid var(--line); }.dialog-head h2 { font-size: 32px; }.dialog-head .eyebrow { margin-bottom: 5px; }.dialog-head button { width: 36px; height: 36px; border: 0; border-radius: 50%; font-size: 25px; background: #efede8; }.compare-table { padding: 25px 36px; overflow: auto; display: grid; grid-template-columns: 140px repeat(var(--compare-cols,2),minmax(180px,1fr)); }.compare-cell { min-height: 49px; padding: 13px 12px; border-bottom: 1px solid var(--line); font-size: 11px; }.compare-label { color: var(--muted); font-size: 9px; font-weight: 700; }.compare-product img { width: 100%; height: 100px; object-fit: contain; background: #f4f1e9; }.compare-product strong { display: block; margin-top: 9px; }.compare-product button { margin-top: 9px; border: 0; padding: 0; background: none; color: var(--orange); font-size: 9px; }.dialog-actions { padding: 0 36px 30px; text-align: right; }
.toast { position: fixed; top: 104px; left: 50%; transform: translate(-50%,-12px); background: var(--ink); color: #fff; padding: 11px 16px; border-radius: 4px; font-size: 10px; z-index: 90; opacity: 0; pointer-events: none; transition: .25s; }.toast.show { opacity: 1; transform: translate(-50%,0); }

@media (max-width: 1000px) {
  .site-header nav { display: none; }.menu-toggle { display: none; }.hero { grid-template-columns: 1fr; }.hero-copy { min-height: 590px; }.hero-visual { min-height: 620px; }.finder-shell { grid-template-columns: 230px 1fr; }.choice-grid-large { grid-template-columns: 1fr 1fr; }.product-grid { grid-template-columns: repeat(2,1fr); }.quote { grid-template-columns: 1fr; }
  .landing-hero { min-height: 0; grid-template-columns: 1fr; }.landing-copy { max-width: none; min-height: 0; padding-bottom: 35px; }.house-visual { min-height: 620px; padding-top: 10px; }.house-visual img { width: min(88%,760px); }
  .battery-truth-hero { grid-template-columns: 1fr; }.battery-key-number { max-width: 560px; }.battery-product-grid { grid-template-columns: repeat(3,1fr); }
  .local-seo,.service-area { grid-template-columns: 1fr; }.local-copy,.service-area-copy { max-width: 780px; }.seo-faq { grid-template-columns: 1fr; }.seo-faq-heading { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; }.footer-links { grid-column: 1/-1; }
}
@media (max-width: 720px) {
  .announcement { font-size: 9px; }.announcement a { display: none; }.site-header { height: 68px; padding: 0 18px; }.header-assurance { display: none; }.header-cta { padding: 10px 12px; font-size: 10px; }.brand { min-width: auto; }.official-logo { width: 190px; max-height: 48px; }
  .landing-copy { padding: 44px 22px 25px; }.landing-copy h1 { font-size: clamp(40px,12vw,58px); }.landing-copy .hero-lead { font-size: 16px; line-height: 1.55; }.service-choice { min-height: 72px; grid-template-columns: 42px 1fr 30px; gap: 11px; padding: 11px 13px; }.service-number { width: 38px; height: 38px; }.service-choice strong { font-size: 15px; }.service-choice small { font-size: 12px; }.landing-benefits { display: grid; gap: 7px; }.house-visual { min-height: 520px; padding: 0 10px 225px; }.house-visual img { width: 100%; }.hero-trust-grid { left: 12px; right: 12px; bottom: 18px; grid-template-columns: 1fr 1fr; }.hero-trust-grid > div { padding: 12px 7px 10px; }.hero-trust-grid > div:last-child { grid-column: 1 / -1; }.hero-trust-grid strong { font-size: 12px; }.hero-trust-grid small { font-size: 10px; }
  .hero { min-height: 0; }.hero-copy { min-height: 530px; padding: 65px 24px; }.hero-actions .btn { flex: 1 1 190px; }.trust-row { gap: 20px; justify-content: space-between; }.hero-visual { min-height: 500px; }.product-scene { left: 4%; right: 4%; }.room-card { top: 25px; right: 3%; transform: scale(.84); transform-origin: right top; }.tag-one { top: 25%; }.tag-two { top: 64%; }
  .finder { padding: 80px 16px; }.section-heading { display: block; }.section-heading > p { margin-top: 18px; }.finder-shell { display: block; }.step-rail { padding: 17px; }.step-rail ol,.advisor-card { display: none; }.rail-intro { padding: 0; border: 0; }.wizard { padding: 40px 19px 22px; min-height: 620px; }.wizard-progress { margin: -40px -19px 35px; }.choice-grid-large,.choice-grid-compact,.preference-grid,.result-step .advice-cards,.brand-choice-grid,.airco-brand-grid,.heatpump-type-grid,.heating-system-grid,.heatpump-explanation { grid-template-columns: 1fr; }.choice-card { min-height: 130px; }.wizard-nav { padding-top: 22px; }.catalog { margin-top: 80px; }.catalog-head { display: block; }.category-tabs { margin-top: 20px; overflow-x: auto; }.catalog-layout { display: block; }.filters { border-right: 0; padding-right: 0; border-bottom: 1px solid var(--line); margin-bottom: 26px; }.filter-tip { display: none; }.product-grid { grid-template-columns: 1fr 1fr; gap: 8px; }.product-info { padding: 12px; }.product-info h3 { font-size: 11px; }.product-meta { flex-direction: column; gap: 2px; }.product-meta span { border: 0; }.product-bottom { display: block; }.product-quote { margin-top: 8px; }.product-scene { left: 4%; right: 4%; padding-left: 12px; padding-right: 12px; }.hero-product { padding: 10px; }.consultation-card { grid-column: 1; }.consultation-actions { align-items: flex-start; flex-direction: column; }
  .battery-input-grid,.calculator-options { grid-template-columns: 1fr; }.calculator-navigation{align-items:stretch;flex-direction:column-reverse}.calculator-address-row{grid-template-columns:1fr 1fr}.calculator-address-row label:first-child{grid-column:1/-1}.calculator-success{padding:38px 16px}.calculator-success h3 br,.calculator-success p br{display:none}
  .battery-truth-hero { padding-left: 20px; padding-right: 20px; }.battery-truth-body { padding-left: 16px; padding-right: 16px; }.battery-facts,.battery-research > div:first-child,.battery-research ul { grid-template-columns: 1fr; }.battery-facts article { min-height: 0; }.battery-product-grid { grid-template-columns: 1fr 1fr; gap: 8px; }.battery-product-grid article { min-height: 230px; padding: 19px 15px 16px; }.battery-product-grid h3 { font-size: 22px; }.battery-product-grid strong { font-size: 17px; }.battery-next-step { align-items: stretch; flex-direction: column; }.battery-next-step .btn { width: 100%; }
  .calculator-links { grid-template-columns: 1fr; }.calculator-link { min-height: 82px; padding: 15px; }
  .service-area { padding-left: 20px; padding-right: 20px; }.rayon-map { min-height: 0; }.rayon-label { font-size: 11px; }.rayon-label-eindhoven { left: 27%; }
  .seo-services,.local-seo,.seo-faq,.blog-overview,.blog-teaser { padding-left: 20px; padding-right: 20px; }.blog-teaser { grid-template-columns: 1fr; }.blog-teaser-link { min-height: 170px; }.seo-service-grid,.blog-grid { grid-template-columns: 1fr; }.blog-card-featured { grid-column: auto; }.seo-service-grid article { min-height: 0; }.map-frame,.map-frame iframe { min-height: 270px; height: 270px; }.local-card { grid-template-columns: 1fr; }.local-card > div { align-items: flex-start; }.map-link { justify-self: start; }.article-shell { width: min(100% - 32px,760px); }.article-layout { grid-template-columns: 1fr; }.article-aside { position: static; }.article-related-links { grid-template-columns: 1fr; }
  .quote { padding: 75px 19px; }.form-row { grid-template-columns: 1fr; }.quote-form { padding: 22px 16px; }.form-top small { display: none; }.site-footer { padding: 34px 20px 26px; }.footer-grid { grid-template-columns: 1fr; gap: 28px; }.footer-opening-hours dl > div { grid-template-columns: minmax(135px,1fr) auto; }.powered-by { width: 148px; }.footer-links { grid-column: auto; }
  .compare-dock { gap: 10px; }.compare-thumbs { display: none; }.compare-dock .btn { margin-left: auto; }.compare-table { padding: 18px; grid-template-columns: 95px repeat(var(--compare-cols,2),minmax(150px,1fr)); }.dialog-head { padding: 24px 18px 17px; }.dialog-actions { padding: 0 18px 22px; }
}
@media (max-width: 420px) { .product-grid,.battery-product-grid { grid-template-columns: 1fr; }.header-cta { font-size: 0; }.header-cta::before { content: "Offerte"; font-size: 10px; }.trust-row span { font-size: 9px; }.floating-tag { display: none; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }
.calculator-lookup:disabled { opacity: .65; cursor: wait; }
.address-check-result { min-height: 24px; margin: 0 0 20px; color: #23752d; font-weight: 700; }
.address-check-result.error { color: #b42318; }
.appointment-address-lookup { margin: 4px 0 8px; }
