/* ==========================================================================
   Airflow+ — condensed stylesheet (keeps current behavior)
   ========================================================================== */

:root {--bg: #ffffff; --card: #ffffff; --text: #0f1720; --muted: #5b6470; --primary: #009de0; --primary-700: #005b8f; --accent: #16a34a; --ring: rgba(0, 157, 224, .20); --container: 1140px; --radius: 14px;}

* {box-sizing: border-box;}

body {margin: 0; font-family: Inter, system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif; color: var(--text); background: #fff;}

img {max-width: 100%; height: auto; border-radius: 12px;}

a {color: var(--text); text-decoration: none;}

.container {max-width: var(--container); margin: 0 auto; padding: 0 20px;}

.section {padding: 80px 0;}

h2 {font-size: 30px; margin: 0 0 18px;}

.hl-blue {color: #2ab5f2;}

.topbar {background: #0b1526; color: #eaf1ff; font-size: 14px;}

.topbar-inner {display: flex; justify-content: space-between; align-items: center; padding: 8px 0;}

.topbar-link {color: #eaf1ff; text-decoration: underline;}

.site-header {position: sticky; top: 0; z-index: 50; background: #fff; border-bottom: 1px solid #e6e9ee; transition: box-shadow .2s, backdrop-filter .2s, background .2s;}

.site-header.scrolled {background: rgba(255, 255, 255, .85); backdrop-filter: saturate(120%) blur(8px); box-shadow: 0 10px 30px rgba(0, 0, 0, .06);}

.header-inner {display: flex; align-items: center; justify-content: space-between; padding: 12px 0; gap: 12px;}

.brand {font-weight: 800; font-size: 24px; letter-spacing: .2px;}

.accent {color: var(--primary);}

.nav a {margin: 0 6px; padding: 10px 12px; border-radius: 10px;}

.nav a:hover {background: #eef7ff;}

.nav-toggle {display: none; background: 0 0; border: 0; color: var(--text); font-size: 20px;}

.btn {display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 16px; border-radius: 999px; border: 1px solid #cfe0ee; font-weight: 700; transition: transform .05s, box-shadow .18s;}

.btn:hover {transform: translateY(-1px); box-shadow: 0 10px 22px rgba(0, 0, 0, .10);}

.btn-primary {background: linear-gradient(180deg, #0b1f33, #0a243d); border-color: transparent; color: #fff; box-shadow: 0 6px 18px rgba(0, 143, 206, .28);}

.btn-primary:hover {filter: brightness(1.05);}

.btn-outline {background: #fff; color: var(--primary-700); border-color: #99d4ef;}

.btn-outline:hover {background: #f0f9ff;}

.hero {position: relative; border-bottom: 1px solid #e6e9ee; padding: 28px 0 24px; overflow: hidden; min-height: 68vh;}

.hero-bg {position: absolute; inset: 0; pointer-events: none; background: radial-gradient(1200px 500px at 10% -20%, rgba(23, 105, 217, .14), transparent 60%),
    radial-gradient(1200px 500px at 110% 20%, rgba(16, 163, 127, .12), transparent 60%),
    linear-gradient(180deg, #f7fbff 0%, #ffffff 60%); background-size: 200% 200%; animation: moveBG 16s linear infinite;}

@keyframes moveBG {
  0% {background-position: 0% 0%;}

  50% {background-position: 100% 50%;}

  100% {background-position: 0% 0%;}
}

.hero-video {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .45; filter: saturate(1.05);}

.hero-overlay {position: absolute; inset: 0; background: radial-gradient(60% 40% at 30% 20%, rgba(255, 255, 255, .28), rgba(255, 255, 255, .08) 70%),
    linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0));}

.hero-inner {position: relative; display: grid; grid-template-columns: 1.6fr .4fr; gap: 32px; align-items: start; padding-top: 10vh;}

.hero h1 {font-size: 56px; line-height: 1.04; margin: 0 0 16px;}

.hero .cta-row {display: flex; gap: 16px; margin-top: 24px;}

.kh-cta {background: linear-gradient(180deg, #0b1f33, #0a243d); border-top: 1px solid #e6e9ee; padding-top: 0; margin-top: 0; position: relative; z-index: 5;}

.kh-cta .container.left {display: flex; justify-content: flex-start;}

.kh-cta-card {display: flex; flex-direction: column; gap: 12px; align-items: flex-start; justify-content: flex-start; background: #fff; border: 1px solid #dbe7ff; border-radius: 20px; padding: 24px; box-shadow: 0 16px 40px rgba(0, 93, 143, .08);}

.kh-cta-card.compact.seam {max-width: 720px; transform: translateY(-54%);}

.kh-cta-card.compact.seam.blue {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #fff; border-color: rgba(255, 255, 255, .22); box-shadow: 0 28px 70px rgba(0, 93, 143, .22);}

.kh-cta-card.compact.seam.blue h2,
.kh-cta-card.compact.seam.blue p,
.kh-cta-card.compact.seam.blue li {color: #fff;}

.checklist {list-style: none; margin: 0; padding: 0; display: grid; gap: 8px;}

.checklist.row {display: flex; gap: 14px; align-items: center; flex-wrap: wrap; margin: 6px 0 2px;}

.check {display: inline-block; width: 18px; height: 18px; border-radius: 4px; background: #16a34a; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M20.285 2.859l-11.73 11.73-4.84-4.84-2.828 2.828 7.668 7.668 14.558-14.558z'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M20.285 2.859l-11.73 11.73-4.84-4.84-2.828 2.828 7.668 7.668 14.558-14.558z'/%3E%3C/svg%3E") center/contain no-repeat; margin-right: 6px;}

.kh-cta-form {display: flex; gap: 10px; align-items: center;}

.kh-cta-form.stack {width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 6px;}

.kh-cta-card.blue .btn-primary,
.kh-cta-card.compact.seam.blue .btn-primary {background: #fff; color: #005b8f; border-color: #fff;}

.visually-hidden {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;}

.alt {background: #f8fbff; border-top: 1px solid #e6e9ee; border-bottom: 1px solid #e6e9ee;}

.cards {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;}

a.card.service,
.card {background: #fff; padding: 18px; border-radius: 16px; border: 1px solid #e6e9ee; box-shadow: 0 6px 24px rgba(0, 93, 143, .06);}

a.card.service {display: block; transition: transform .15s, box-shadow .2s;}

a.card.service:hover {transform: translateY(-2px); box-shadow: 0 14px 36px rgba(0, 93, 143, .10);}

.card.service img {width: 100%; height: 160px; object-fit: cover; border-radius: 12px; margin-bottom: 12px;}

.maat {background: linear-gradient(180deg, #0b1f33, #0a243d); border-top: 1px solid #e6e9ee; border-bottom: 1px solid #e6e9ee;}

.maat.invert.simple {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #fff;}

.maat-grid {display: grid; grid-template-columns: 1.1fr .9fr; gap: 28px; align-items: start;}

.maat-lead {color: #d9ecff; max-width: 60ch;}

.maat-points {margin: 14px 0 0; padding-left: 0; list-style: none; display: grid; gap: 8px;}

.maat-side {display: grid; gap: 18px;}

.mini-card {background: #fff; border: 0; border-radius: 16px; padding: 18px; box-shadow: 0 16px 42px rgba(0, 0, 0, .16); max-width: 560px;}

.mini-card h4 {font-size: 22px; line-height: 1.2; margin: 0 0 8px; max-width: 75%;}

.mini-card p {font-size: 17px; color: #0f1720;}

.heat-info {padding: 0; min-height: 56vh; display: flex; align-items: center;}

.heat-info .container {width: 100%; display: flex; justify-content: center;}

.heat-card {max-width: 980px; width: min(980px, 92%); text-align: center; background: linear-gradient(180deg, #0b1f33, #0a243d); color: #eaf1ff; border: 1px solid rgba(255, 255, 255, .18); border-radius: 22px; padding: 52px 40px; box-shadow: 0 28px 70px rgba(0, 0, 0, .25);}

.heat-card h2 {margin: 0 0 12px; color: #eaf1ff;}

.heat-card .lead {color: #cfe4ff; margin: 0 0 14px;}

.heat-card .checklist.row {justify-content: center; gap: 16px;}

.faq {padding-top: 20px;}

.faq h2 {margin-bottom: 10px;}

.faq details {background: #fff; border: 1px solid #dbe7ff; border-radius: 14px; padding: 14px 16px; margin: 12px 0; box-shadow: 0 10px 24px rgba(0, 93, 143, .06);}

.faq summary {cursor: pointer; font-weight: 800; display: flex; justify-content: space-between; align-items: center; font-size: 16px;}

.faq summary::after {content: "▾"; color: #0a66cc; font-size: 18px; transform: rotate(0); transition: .2s transform;}

.faq details[open] summary::after {transform: rotate(180deg);}

.faq p {margin: 10px 0 0; color: #445164; font-size: 15px; line-height: 1.55;}

.reviews {padding: 54px 0;}

.reviews-carousel {position: relative; margin-top: 14px; z-index: 10;}

.rev-viewport {overflow: hidden; border-radius: 16px; position: relative; z-index: 1;}

.rev-track {display: flex; gap: 16px; padding: 6px; scroll-snap-type: x mandatory; overflow-x: auto; -webkit-overflow-scrolling: touch; position: relative; z-index: 0; will-change: auto; transform: none;}

.rev-track::-webkit-scrollbar {height: 8px;}

.rev-track::-webkit-scrollbar-thumb {background: #d7e4f5; border-radius: 8px;}

.rev-card {flex: 0 0 260px; height: 360px; background: #fff; border: 1px solid #e6e9ee; border-radius: 16px; box-shadow: 0 16px 40px rgba(0, 93, 143, .08); padding: 16px; scroll-snap-align: start; display: flex; flex-direction: column;}

.rev-card .head {display: flex; align-items: center; gap: 10px; margin-bottom: 8px;}

.rev-card .avatar {width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(180deg, #0b1f33, #0a243d); border: 1px solid #dbe7ff;}

.rev-card .name {font-weight: 800; font-size: 15px;}

.rev-card p {font-size: 15px; line-height: 1.55; color: #0f1720; margin: 6px 0 0;}

.rev-nav {position: absolute; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; border: 1px solid #d7deea; background: #fff; box-shadow: 0 10px 22px rgba(0, 0, 0, .08); cursor: pointer; font-size: 20px; line-height: 0; z-index: 9999;}

.rev-prev {left: -12px;}

.rev-next {right: -12px;}

@media (max-width:900px) {
  .rev-card {flex-basis: 78%; height: 320px;}

  .rev-prev {left: 6px;}

  .rev-next {right: 6px;}
}

.cta {padding: 64px 0;}

.cta-inner {background: #eef7ff; border: 1px solid #dbe7ff; padding: 28px; border-radius: 16px; text-align: center;}

.cta.blue {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #fff;}

.cta.blue .cta-inner {background: rgba(255, 255, 255, .10); border-color: rgba(255, 255, 255, .22);}

.cta.blue h2,
.cta.blue p {color: #fff;}

.cta.blue .btn-outline {background: transparent; color: #fff; border-color: #fff;}

.cta.blue .btn-outline:hover {background: rgba(255, 255, 255, .12);}

.cta.alt-dark {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #eaf1ff;}

.cta.alt-dark .cta-inner {background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .18);}

.cta.alt-dark h2,
.cta.alt-dark p {color: #eaf1ff;}

.cta.alt-dark .btn-outline {color: #fff; border-color: #fff; background: transparent;}

.cta.alt-dark .btn-outline:hover {background: rgba(255, 255, 255, .14);}

.site-footer {border-top: 1px solid #e6e9ee; padding: 0; background: #0b1526; color: #eaf1ff;}

.site-footer .footer-grid {display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 16px; padding: 32px 0 16px;}

.site-footer .footer-grid strong {display: block; margin-bottom: 6px; font-size: 15px;}

.site-footer .muted {color: #c9d7ee; font-size: 14px; line-height: 1.55;}

.legal {border-top: 1px dashed rgba(255, 255, 255, .15); margin-top: 16px; padding-top: 12px; text-align: center; color: #c9d7ee;}

.site-footer a {color: #eaf1ff;}

.grid-2 {display: grid; grid-template-columns: 1fr 1fr; gap: 20px;}

.cards.three {grid-template-columns: repeat(3, 1fr);}

.page-header {padding: 36px 0; border-bottom: 1px solid #e6e9ee; background: #f8fbff;}

.services-table table {width: 100%; border-collapse: separate; border-spacing: 0 10px;}

.services-table td,
.services-table th {padding: 12px 16px; background: #fff; border: 1px solid #e6e9ee;}

.pricing {display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;}

.price-card {background: #fff; padding: 18px; border-radius: 16px; border: 1px solid #e6e9ee; transition: .2s box-shadow;}

.price-card:hover {box-shadow: 0 6px 24px rgba(0, 0, 0, .06);}

.price-card .price {font-size: 28px; margin: 8px 0 10px;}

.price-card.featured {outline: 2px solid var(--primary); box-shadow: 0 0 0 8px var(--ring); background: #f7fbff;}

.hero-media {display: none !important;}

@media (max-width:1024px) {
  .cards {grid-template-columns: 1fr 1fr;}

  .cards.three {grid-template-columns: 1fr;}

  .maat-grid {grid-template-columns: 1fr;}
}

@media (max-width:900px) {
  .hero-inner {grid-template-columns: 1fr; gap: 18px; padding-top: 8vh;}

  .bullets {grid-template-columns: 1fr 1fr;}

  .grid-2,
  .site-footer .footer-grid {grid-template-columns: 1fr;}

  .nav {display: none;}

  .nav-toggle {display: inline-block;}

  .kh-cta-card.compact.seam {transform: none; max-width: 100%;}

  .kh-cta-form.stack {grid-template-columns: 1fr;}
}

.savings {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #ffffff; border-top: 1px solid rgba(255, 255, 255, .12); border-bottom: 1px solid rgba(255, 255, 255, .12);}

.savings h2,
.savings p,
.savings li {color: #ffffff;}

.save-grid {display: grid; grid-template-columns: 1.1fr .9fr; gap: 28px; align-items: start;}

@media (max-width: 900px) {
  .save-grid {grid-template-columns: 1fr;}
}

.save-copy .lead {color: #d9ecff; margin: 8px 0 10px;}

.save-points {list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 8px;}

.save-points li::before {content: ""; display: inline-block; width: 16px; height: 16px; margin-right: 8px; background: #fff; border-radius: 4px; mask: url('data:image/svg+xml; utf8,<svg xmlns="http: //www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24"><path fill="black" d="M20.285 2.859l-11.73 11.73-4.84-4.84-2.828 2.828 7.668 7.668 14.558-14.558z"/></svg>') center/contain no-repeat;}

.save-card {background: #ffffff; color: #0f1720; border-radius: 18px; border: 0; box-shadow: 0 18px 44px rgba(0, 0, 0, .22); padding: 20px 20px; overflow: visible;}

.save-row {margin-bottom: 16px;}

.save-label {font-weight: 800; margin-bottom: 6px; display: block;}

.save-bill-wrap {display: grid; grid-template-columns: 1fr 110px; gap: 12px; align-items: center; position: relative;}

#save-bill {appearance: none; height: 6px; border-radius: 999px; background: #e6eef6; width: 100%;}

#save-bill::-webkit-slider-thumb {appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--primary); border: 2px solid #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .15);}

#save-bill::-moz-range-thumb {width: 20px; height: 20px; border-radius: 50%; background: var(--primary); border: 2px solid #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .15);}

#save-bill-input {width: 100%; padding: 10px 12px; border-radius: 12px; border: 1px solid #cfe0ee;}

.save-head h3 {margin-bottom: 18px;}

.save-range {margin-top: 8px;}

.save-range .range-wrap {padding-top: 30px;}

.save-bubble {position: absolute; top: -16px; transform: translateX(-50%); background: #0a78b0; color: #fff; font-weight: 800; font-size: 12px; padding: 6px 8px; border-radius: 8px; white-space: nowrap; pointer-events: none; z-index: 2;}

.save-bubble::after {content: ""; position: absolute; left: 50%; bottom: -6px; transform: translateX(-50%); border: 6px solid transparent; border-top-color: #0a78b0;}

.save-ticks {display: flex; justify-content: space-between; font-size: 12px; color: #445164; margin-top: 6px;}

.save-ticks span {opacity: .85; min-width: 2ch; text-align: center;}

.save-result {display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; background: #f6fbff; border: 1px solid #dbe7ff; border-radius: 14px; padding: 14px 16px; position: relative;}

.save-badge {display: inline-block; padding: 6px 10px; border-radius: 999px; background: #e9f4ff; border: 1px solid #cfe6ff; color: #005b8f; font-weight: 800; font-size: 12px;}

.save-result .big {font-size: 30px; font-weight: 900; line-height: 1;}

.save-sub {color: #5b6470; font-size: 13px;}

.save-tip-wrap {position: relative; display: inline-block; align-self: center;}

.save-tip {display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: 13px; font-weight: 900; line-height: 1; background: #0a78b0; color: #fff; border: 0; cursor: pointer; margin-left: 6px; box-shadow: 0 4px 12px rgba(0, 0, 0, .12);}

.save-tip:focus {outline: 2px solid rgba(10, 120, 176, .35); outline-offset: 2px;}

.save-tip-bubble {position: absolute; z-index: 60; min-width: 240px; max-width: 320px; left: 50%; transform: translateX(-50%); bottom: calc(100% + 10px); background: #0b1f33; color: #eaf1ff; border: 1px solid rgba(255, 255, 255, .15); border-radius: 12px; padding: 12px 14px; font-size: 12.5px; line-height: 1.45; box-shadow: 0 18px 40px rgba(0, 0, 0, .25); display: none;}

.save-tip-bubble::after {content: ""; position: absolute; left: 50%; transform: translateX(-50%); top: 100%; border: 8px solid transparent; border-top-color: #0b1f33;}

.save-tip-bubble h5 {margin: 0 0 6px; font-size: 13px; color: #cfe4ff;}

.save-tip-bubble p {margin: 4px 0 0;}

.save-tip-bubble .muted {color: #b8c6d8; font-size: 12px;}

.save-tip-wrap.is-open .save-tip-bubble {display: block;}

@media (max-width:480px) {
  .save-tip-bubble {left: auto; right: 0; transform: none;}
}

.save-disclaimer {font-size: 12px; color: #5b6470; margin-top: 10px;}

#services+#savings {padding-top: 42px;}

#savings+#maat {padding-top: 42px;}

#maat .maat-lead {color: #445164;}

#maat .btn-primary {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #fff; border-color: transparent;}

#maat .btn-outline {background: #fff; color: var(--primary-700); border-color: #99d4ef;}

#maat .btn-outline:hover {background: #f0f9ff;}

#maat .mini-card p {color: #445164;}

.kh-wrap {padding-top: 60px; padding-bottom: 60px;}

.kh-card {background: #f3f8ff; border: 1px solid #dbe7ff; border-radius: 20px; padding: 28px; box-shadow: 0 18px 40px rgba(0, 93, 143, .08);}

.kh-head {margin-bottom: 12px;}

.kh-badge {display: inline-block; background: #e9f4ff; border: 1px solid #cfe6ff; color: #005b8f; font-weight: 800; border-radius: 999px; padding: 6px 12px; font-size: 12px;}

.kh-title {margin: 10px 0 4px;}

.kh-sub {color: #5b6470; margin: 0 0 16px;}

.chip {display: inline-flex; align-items: center; gap: 10px; border: 2px solid var(--primary); color: #005b8f; background: #fff; border-radius: 12px; padding: 12px 16px; font-weight: 700; cursor: pointer; transition: .15s;}

.chip input {appearance: none; width: 16px; height: 16px; border: 2px solid var(--primary); border-radius: 50%;}

.chip:has(input:checked) {background: var(--primary); color: #fff; border-color: var(--primary);}

.chip:has(input:checked) input {background: #fff; border-color: #fff;}

.kh-grid-rooms {display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 12px 0 8px;}

.kh-step-title {margin: 6px 0 8px;}

.kh-size-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 16px;}

.kh-room {background: #fff; border: 1px solid #e6e9ee; border-radius: 16px; padding: 16px;}

.kh-room h4 {margin: 0 0 10px;}

.kh-size-row {display: flex; flex-wrap: wrap; gap: 10px;}

.kh-pill {display: inline-block; border: 2px solid var(--primary); color: #005b8f; background: #fff; border-radius: 10px; padding: 10px 12px; font-weight: 700; cursor: pointer; transition: .15s;}

.kh-pill.active,
.kh-pill:hover {background: var(--primary); color: #fff;}

.kh-actions {display: flex; gap: 10px; margin-top: 10px;}

.kh-actions.between {justify-content: space-between;}

.kh-result {background: #ffffff; border: 1px solid #dbe7ff; border-radius: 16px; padding: 18px; margin-top: 18px;}

.kh-result h3 {margin: 0 0 10px;}

.kh-out {padding-left: 18px; margin: 0 0 12px;}

.khv2-hero {background: #0b1f33; color: #eaf1ff; padding: 40px 0 24px; border-bottom: 1px solid rgba(255, 255, 255, .12);}

.khv2-hero h1 {margin: 0; font-weight: 800; line-height: 1.1; font-size: 44px;}

.khv2-stage {background: linear-gradient(180deg, #0b1f33, #0a243d); padding: 32px 0 56px;}

.khv2-card {position: relative; background: #f3f8ff; border: 1px solid #dbe7ff; border-radius: 20px; padding: 28px; box-shadow: 0 18px 40px rgba(0, 93, 143, .08); max-width: 980px; margin: 0 auto; min-height: 320px;}

.khv2-close {position: absolute; right: 12px; top: 12px; width: 34px; height: 34px; border-radius: 10px; background: var(--primary); color: #fff; border: 0; font-size: 18px; line-height: 1; cursor: pointer; box-shadow: 0 8px 18px rgba(0, 93, 143, .25);}

.khv2-q {margin: 6px 0 16px; text-align: center; font-size: 20px;}

.chip.round {display: inline-grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; border: 2px solid var(--primary); color: var(--primary-700); font-weight: 800; background: #fff; cursor: pointer; transition: .15s;}

.chip.round input {appearance: none; position: absolute; opacity: 0; pointer-events: none;}

.chip.round:has(input:checked) {background: var(--primary); color: #fff; border-color: var(--primary); box-shadow: 0 8px 24px rgba(0, 93, 143, .22);}

.khv2-actions {position: absolute; right: 18px; bottom: 18px;}

.khv2-steps {display: flex; gap: 10px; justify-content: center; margin-top: 16px;}

.khv2-steps .dot {width: 36px; height: 36px; border-radius: 50%; border: 2px solid var(--primary); background: #fff; color: var(--primary-700); display: grid; place-items: center; font-weight: 800; cursor: pointer;}

.khv2-steps .dot.is-active {background: var(--primary); color: #fff; border-color: var(--primary);}

.khv2-card .kh-grid-rooms {justify-content: center; grid-template-columns: repeat(4, 72px); gap: 14px;}

@media (max-width:900px) {
  .khv2-hero {padding: 28px 0 16px;}

  .khv2-hero h1 {font-size: 34px;}

  .khv2-card {padding: 22px;}

  .khv2-actions {position: static; margin-top: 16px; display: flex; justify-content: flex-end;}

  .khv2-steps .dot {width: 40px; height: 40px;}
}

.save-head h3 {margin-bottom: 22px !important;}

.save-range .range-wrap {padding-top: 34px !important;}

.save-bubble {top: -14px !important;}

.bill-tag,
.range-tag {transform: translate(-50%, -104%) !important;}

.save-card {overflow: visible !important;}

.save-result {overflow: visible !important; position: relative;}

.save-result .save-tip-wrap {position: absolute; right: 12px; bottom: 12px; align-self: center;}

.save-result .save-tip-bubble {left: auto; right: 0; transform: none; z-index: 60;}

.save-result .save-tip-bubble::after {left: auto; right: 14px; transform: none;}

.save-ticks span {min-width: 2ch; text-align: center;}

.kh-cta-card.compact.seam.blue .kh-cta-form input {background: #fff !important; color: #0f1720 !important; border: 1px solid rgba(255, 255, 255, .55) !important; border-radius: 12px; padding: 12px 14px; min-width: 320px;}

.kh-cta-card.compact.seam.blue .kh-cta-form input:focus {border-color: #fff !important; box-shadow: 0 0 0 6px rgba(255, 255, 255, .18) !important;}

.kh-cta-card.compact.seam.blue .btn-primary {background: #fff !important; color: #005b8f !important; border-color: #fff !important;}

.kh-cta-card.compact.seam.blue .btn-outline {background: transparent !important; color: #fff !important; border-color: #fff !important;}

#savings .save-card,
#savings .save-result {overflow: visible;}

#savings .save-head h3 {margin-bottom: 26px;}

#savings .save-range .range-wrap {padding-top: 34px;}

#savings .save-bubble {top: -8px;}

#savings .bill-tag,
#savings .range-tag {transform: translate(-50%, -104%);}

#savings .save-result {position: relative;}

#savings .save-tip-wrap {position: absolute; right: 12px; bottom: 10px; margin: 0;}

#savings .save-tip-bubble {z-index: 60;}

#savings .save-select {appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath fill='%23005b8f' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 12px center; padding: 10px 36px 10px 12px; border: 1px solid #cfe0ee; border-radius: 12px; height: 42px; line-height: 1.2;}

#savings .save-result .big {line-height: 1;}

#savings .save-sub {font-size: 13px;}

.kh-cta-card.compact.seam.blue .kh-cta-form input {background: #fff !important; color: #0f1720 !important; border: 1px solid rgba(255, 255, 255, .55) !important; border-radius: 12px; padding: 12px 14px; min-width: 320px;}

.kh-cta-card.compact.seam.blue .kh-cta-form input:focus {border-color: #fff !important; box-shadow: 0 0 0 6px rgba(255, 255, 255, .18) !important;}

.kh-cta-card.compact.seam.blue .btn-primary {background: #fff !important; color: #005b8f !important; border-color: #fff !important;}

.kh-cta-card.compact.seam.blue .btn-outline {background: transparent !important; color: #fff !important; border-color: #fff !important;}

.heat-info {min-height: 68vh; padding: 12px 0 36px; display: flex; align-items: center;}

.heat-info .container {width: 100%; display: flex; justify-content: center;}

.heat-card {max-width: 980px; width: min(980px, 92%); padding: 72px 48px; border-radius: 22px; box-shadow: 0 28px 70px rgba(0, 0, 0, .25); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 18px;}

.heat-card h2 {margin: 0; font-size: 32px; line-height: 1.15;}

.heat-card .lead {margin: 0; max-width: 60ch; line-height: 1.6;}

.heat-card .checklist.row {justify-content: center; gap: 18px;}

.heat-card .cta-row {display: flex; gap: 14px; flex-wrap: wrap; margin-top: 6px;}

.heat-card .btn {padding: 14px 20px; font-size: 16px;}

@media (max-width: 900px) {
  .heat-info {min-height: 56vh;}

  .heat-card {padding: 48px 28px; gap: 16px;}

  .heat-card h2 {font-size: 26px;}
}

.heat-info+.section {padding-top: 60px;}

#savings .save-head h3 {margin-bottom: 26px !important;}

#savings .save-range .range-wrap {position: relative; padding-top: 28px !important;}

#savings .save-bubble {top: -6px !important; z-index: 3;}

#savings .save-card,
#savings .save-result {position: relative; overflow: visible;}

#savings .range-scale {display: flex; justify-content: space-between; margin-top: 6px; pointer-events: none;}

#savings .save-result {grid-template-columns: auto 1fr auto; column-gap: 12px; padding-right: 14px;}

@media (max-width: 900px) {
  #savings .save-result {grid-template-columns: 1fr;}
}

#savings .bill-tag,
#savings .range-tag {transform: translate(-50%, -106%) !important;}

#savings .save-card {overflow: visible;}

#savings .save-result {overflow: visible;}

.save-tip-bubble {z-index: 60;}

.save-head h3 {margin-bottom: 22px;}

.save-range {grid-column: 1;}

.save-range .range-wrap {position: relative; padding-top: 28px;}

.save-bubble {top: -12px;}

.bill-tag,
.range-tag {transform: translate(-50%, -105%);}

.save-bill-wrap {display: grid; grid-template-columns: minmax(0, 1fr) 110px; align-items: center;}

.save-bill-wrap+.save-ticks {grid-column: 1 / 2; max-width: 100%; margin-right: auto;}

.save-range .save-ticks {width: 100%;}

.save-select,
select {appearance: none; background: #fff url("data:image/svg+xml; utf8,<svg xmlns='http: //www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'><path fill='%23005b8f' d='M7 10l5 5 5-5z'/></svg>") no-repeat right 12px center / 12px; border: 1px solid #cfe0ee; border-radius: 12px; padding: 10px 36px 10px 12px; font: inherit; color: inherit;}

.kh-cta-card .kh-cta-form input[type="email"] {background: #ffffff; color: #0f1720; border: 1px solid rgba(255, 255, 255, .55); border-radius: 12px; padding: 12px 14px; min-width: 320px;}

.kh-cta-card .kh-cta-form input[type="email"]:focus {border-color: #ffffff; box-shadow: 0 0 0 6px rgba(255, 255, 255, .18);}

.heat-info {min-height: 68vh;}

.heat-card {padding: 72px 48px;}

@media (max-width: 900px) {
  .heat-info {min-height: 56vh;}

  .heat-card {padding: 48px 28px;}
}

#savings .save-card,
#savings .save-result {overflow: visible !important;}

#savings .save-tip-bubble {z-index: 60 !important;}

#savings .save-head h3 {margin-bottom: 24px !important;}

#savings .save-range .range-wrap {position: relative; padding-top: 28px !important;}

#savings .save-bubble {top: -10px !important;}

#savings .bill-tag,
#savings .range-tag {transform: translate(-50%, -102%) !important;}

#savings .save-bill-wrap {display: grid !important; grid-template-columns: minmax(0, 1fr) 110px !important; align-items: center;}

#savings .save-bill-wrap+.save-ticks,
#savings .save-range .save-ticks {grid-column: 1 / 2 !important; width: 100% !important;}

#savings .save-ticks {max-width: 100% !important; margin-right: 0 !important;}

#savings select,
#savings .save-select {appearance: none; background: #fff url("data:image/svg+xml; utf8,<svg xmlns='http: //www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'><path fill='%23005b8f' d='M7 10l5 5 5-5z'/></svg>") no-repeat right 12px center / 12px; border: 1px solid #cfe0ee; border-radius: 12px; padding: 10px 36px 10px 12px; font: inherit; color: inherit;}

.kh-cta .kh-cta-card .kh-cta-form input[type="email"] {background: #fff; color: #0f1720; border: 1px solid rgba(255, 255, 255, .55); border-radius: 12px; padding: 12px 14px; min-width: 320px;}

.kh-cta .kh-cta-card .kh-cta-form input[type="email"]:focus {border-color: #fff; box-shadow: 0 0 0 6px rgba(255, 255, 255, .18);}

.heat-info {min-height: 68vh !important;}

.heat-card {padding: 72px 48px !important;}

@media (max-width: 900px) {
  .heat-info {min-height: 56vh !important;}

  .heat-card {padding: 48px 28px !important;}
}

.save-head h3 {margin-bottom: 26px !important;}

.save-range .range-wrap,
.save-bill-wrap {position: relative; padding-top: 32px !important;}

.save-bill-wrap .save-bubble,
.save-bill-wrap .bill-tag,
.save-bill-wrap .range-tag {top: -8px !important; transform: translateX(-50%) !important;}

.save-card,
.save-result {overflow: visible !important; position: relative;}

.save-tip-bubble {z-index: 60 !important;}

.save-result .save-tip-wrap {position: absolute !important; right: 12px; bottom: 10px; margin: 0;}

.save-bill-wrap {display: grid !important; grid-template-columns: minmax(0, 1fr) 110px !important; align-items: center;}

.save-bill-wrap+.save-ticks {grid-column: 1/2 !important; width: 100% !important;}

.save-select,
select {appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath fill='%23005b8f' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E") no-repeat right 12px center/12px; border: 1px solid #cfe0ee; border-radius: 12px; padding: 10px 36px 10px 12px;}

.kh-cta-card .kh-cta-form input[type="email"] {background: #fff !important; color: #0f1720 !important; border: 1px solid rgba(255, 255, 255, .55) !important; border-radius: 12px; padding: 12px 14px; min-width: 320px;}

.kh-cta-card .kh-cta-form input[type="email"]:focus {border-color: #fff !important; box-shadow: 0 0 0 6px rgba(255, 255, 255, .18) !important;}

.heat-info {min-height: 68vh !important;}

.heat-card {padding: 72px 48px !important;}

@media (max-width:900px) {
  .heat-info {min-height: 56vh !important;}

  .heat-card {padding: 48px 28px !important;}
}

#save-bill {height: 5px;}

.save-bill-wrap .save-bubble {top: -10px !important;}

@media (max-width:520px) {
  .save-result {padding-right: 10px;}
}

@media (max-width:420px) {
  .save-bill-wrap .save-bubble {font-size: 11px; padding: 5px 7px;}
}

.save-bill-wrap {grid-template-rows: auto auto;}

.save-bill-wrap .save-ticks {grid-column: 1; grid-row: 2; width: 100%;}

#savings .save-head h3 {margin-bottom: 22px !important;}

#savings .save-range .range-wrap {position: relative; padding-top: 30px !important;}

#savings .save-bubble {position: absolute; top: 0; transform: translate(-50%, -110%); pointer-events: none; z-index: 4;}

#savings .save-card,
#savings .save-result {overflow: visible !important;}

#savings .save-tip-bubble {z-index: 60 !important;}

#savings .save-head h3 {margin-bottom: 28px !important;}

#savings .save-range .range-wrap {position: relative; padding-top: 32px !important;}

#savings .save-bubble {top: -8px !important; transform: translateX(-50%);}

#savings {--save-gap: 36px; --save-arrow: 6px;}

#savings .save-head h3 {margin-bottom: var(--save-gap) !important;}

#savings .save-range .range-wrap {position: relative; padding-top: var(--save-gap) !important;}

#savings .save-bubble {transform: translateX(-50%); top: calc((var(--save-gap) / -2) - var(--save-arrow)) !important;}

#savings {--save-gap: 36px; --save-arrow: 6px;}

#savings .save-head h3 {margin-bottom: var(--save-gap) !important;}

#savings .save-range .range-wrap {padding-top: var(--save-gap) !important;}

#savings .save-bubble {transform: translateX(-50%); top: calc((var(--save-gap) / -2) + 22px) !important;}

.section {padding: 56px 0;}

@media (max-width:900px) {
  .section {padding: 44px 0;}
}

.hero {padding: 18px 0 10px;}

.kh-cta {padding-top: 8px; padding-bottom: 10px;}

.kh-cta .container {margin-top: 0;}

.kh-cta-card.compact.seam {transform: translateY(-28%);}

.heat-info {min-height: auto; padding: 18px 0 28px;}

.heat-card {padding: 56px 40px; box-shadow: 0 18px 46px rgba(0, 0, 0, .18);}

@media (max-width:900px) {
  .heat-card {padding: 40px 24px;}
}

.kh-cta+.heat-info {padding-top: 10px;}

.heat-info+.section {padding-top: 42px;}

#services.section {padding-top: 44px;}

.cta {padding: 48px 0;}

.site-footer {padding-top: 10px;}

.rev-card .avatar {width: 38px; height: 38px; border-radius: 50%; object-fit: cover;}

.rev-card .date {font-size: 12px; color: #5b6470;}

.rev-card .stars {margin-top: 6px; font-size: 14px; letter-spacing: 1px;}

#faq.section {padding-top: 56px; padding-bottom: 56px;}

.faq details {margin: 10px 0;}

.faq summary {font-size: 16px;}

.faq p {margin-top: 8px;}

.contact-form {margin-top: 10px;}

.form-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 14px;}

.field.full {grid-column: 1 / -1;}

.field label {display: block; font-weight: 800; margin-bottom: 6px;}

.field input,
.field select,
.field textarea {width: 100%; background: #fff; color: var(--text); border: 1px solid #cfe0ee; border-radius: 12px; padding: 12px 14px; font: inherit;}

.field textarea {resize: vertical;}

.field input:focus,
.field select:focus,
.field textarea:focus {outline: none; border-color: #99d4ef; box-shadow: 0 0 0 6px rgba(0, 157, 224, .12);}

.field .error {color: #b3261e; font-size: 12px; margin-top: 4px; min-height: 1em;}

.checkbox {display: inline-flex; gap: 10px; align-items: flex-start;}

.form-status {margin-top: 14px;}

.success-card,
.error-card {border-radius: 14px; padding: 14px 16px; border: 1px solid #e6e9ee;}

.success-card {background: #f0f9ff; border-color: #cfe6ff;}

.error-card {background: #fff4f4; border-color: #ffd6d6;}

@media (max-width: 900px) {
  .form-grid {grid-template-columns: 1fr;}
}

.kh-cta-form.stack {display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto auto; gap: 10px; align-items: center; width: 100%; max-width: 720px; margin-top: 8px;}

.kh-cta-form.stack input {background: #fff; color: #0f1720; border: 1px solid rgba(255, 255, 255, .55); border-radius: 12px; padding: 12px 14px; min-width: 0;}

.kh-cta-form.stack #kh-email {grid-column: 1 / -1;}

.kh-cta-form.stack .kh-actions {grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 10px; margin-top: 2px;}

@media (max-width:700px) {
  .kh-cta-form.stack {grid-template-columns: 1fr;}

  .kh-cta-form.stack #kh-email {grid-column: auto;}

  .kh-cta-form.stack .kh-actions {justify-content: flex-end;}
}

.save-result {display: grid; grid-template-columns: auto 1fr auto; gap: 12px; background: #f6fbff; border: 1px solid #dbe7ff; border-radius: 14px; padding: 14px 16px; overflow: visible;}

.save-optin {margin-top: 12px; background: #fff; border: 1px solid #dbe7ff; border-radius: 14px; padding: 14px 16px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px;}

.save-optin .optin-head {grid-column: 1 / -1; font-weight: 800; margin-bottom: -4px;}

.save-optin .optin-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}

.save-optin .optin-grid input {width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid #cfe0ee; background: #fff; color: #0f1720;}

.save-optin .optin-grid input[type="email"] {grid-column: 1 / -1;}

.save-optin .btn {padding: 12px 18px;}

@media (max-width:780px) {
  .save-result {grid-template-columns: 1fr;}

  .save-optin {grid-template-columns: 1fr; align-items: stretch;}

  .save-optin .btn {width: 100%;}

  .save-optin .optin-grid {grid-template-columns: 1fr;}
}

@media (min-width:1100px) {
  .save-grid {grid-template-columns: 1fr 1.05fr;}
}

.save-result {display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; background: #f6fbff; border: 1px solid #dbe7ff; border-radius: 14px; padding: 14px 16px; position: relative; overflow: visible;}

.save-result .big {font-size: 30px; font-weight: 900; line-height: 1;}

.save-tip-wrap {position: absolute; right: 12px; bottom: 10px;}

.save-tip-bubble {z-index: 60;}

.save-optin {margin-top: 12px; background: #fff; border: 1px solid #dbe7ff; border-radius: 14px; padding: 14px 16px; display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px;}

.save-optin .optin-head {grid-column: 1 / -1; font-weight: 800; margin-bottom: -4px;}

.save-optin .optin-grid {display: grid; grid-template-columns: 1fr 1fr; gap: 10px;}

.save-optin .optin-grid input {width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid #cfe0ee; background: #fff; color: #0f1720;}

.save-optin .optin-grid input[type="email"] {grid-column: 1 / -1;}

.save-optin .btn {padding: 12px 18px;}

@media (max-width:780px) {
  .save-result {grid-template-columns: 1fr;}

  .save-optin {grid-template-columns: 1fr; align-items: stretch;}

  .save-optin .optin-grid {grid-template-columns: 1fr;}

  .save-optin .btn {width: 100%;}
}

@media (max-width: 640px) {
  .save-section {padding-block: 2.25rem !important;}

  .save-grid {display: grid; grid-template-columns: 1fr !important; gap: 1.25rem !important;}

  .save-left,
  .save-right {padding: 0 !important;}

  .save-bubble {font-size: 0.9rem !important; padding: 0.35rem 0.55rem !important; transform: translate(-50%, -140%) !important; white-space: nowrap;}

  .save-ticks {gap: 6px !important; font-size: 0.8rem !important;}

  .save-metrics {display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important;}

  .save-metric {padding: 10px !important;}
}

.section {padding: clamp(2.5rem, 6vw, 5rem) 0;}

.section--invert {background: var(--brand-50, #f4f8ff); color: var(--brand-900, #0a1c3a);}

.section--brand {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #fff;}

.section .container {max-width: 1200px; margin-inline: auto; padding-inline: 16px;}

.section h2,
.section h3 {margin: 0 0 0.75rem;}

.section p {margin: 0.5rem 0 1rem;}

.optin {border: 1px solid rgba(0, 0, 0, 0.06); border-radius: 14px; padding: 16px; background: #fff; box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);}

.section--brand .optin {background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.18);}

.optin h4 {margin: 0 0 0.5rem; font-size: 1.1rem;}

.optin .row {display: grid; gap: 10px; grid-template-columns: 1.2fr 1.2fr 1fr;}

@media (max-width: 768px) {
  .optin .row {grid-template-columns: 1fr;}
}

.optin input,
.optin select {width: 100%; border-radius: 10px; border: 1px solid rgba(0, 0, 0, 0.12); padding: 10px 12px; font: inherit;}

.section--brand .optin input,
.section--brand .optin select {background: rgba(255, 255, 255, 0.92); color: #0a1c3a;}

html.is-fading body {opacity: 0; transition: opacity 180ms ease;}

.reveal {opacity: 0; transform: translateY(18px); transition: opacity 420ms ease, transform 420ms ease; will-change: opacity, transform;}

.reveal.is-visible {opacity: 1; transform: translateY(0);}

@media (prefers-reduced-motion: reduce) {
  html.is-fading body {transition: none;}

  .reveal {transition: none; transform: none; opacity: 1;}
}

.feature-strip {--bg: var(--brand-50, #f4f8ff); background: var(--bg); border-top: 1px solid rgba(0, 0, 0, 0.06); border-bottom: 1px solid rgba(0, 0, 0, 0.06); overflow: hidden;}

.feature-strip__inner {display: flex; gap: 20px; padding: 12px 0; white-space: nowrap; animation: fs-marquee 18s linear infinite;}

.feature-pill {display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 999px; padding: 8px 14px; box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05); font-weight: 500;}

.feature-pill::before {content: "✓"; font-weight: 700;}

@keyframes fs-marquee {
  0% {transform: translateX(0);}

  100% {transform: translateX(-50%);}
}

.feature-strip:hover .feature-strip__inner {animation-play-state: paused;}

.promo-strip {background: #ffed8a; color: #0a1c3a; padding: 10px 0; border-bottom: 1px solid rgba(0, 0, 0, 0.08);}

.promo-strip .container {display: flex; gap: 10px; align-items: center; justify-content: center; flex-wrap: wrap;}

.promo-strip .badge {background: #0a1c3a; color: #fff; border-radius: 999px; padding: 6px 10px; font-size: .9rem;}

.service-grid {display: grid; gap: 18px; grid-template-columns: repeat(12, 1fr);}

.service-card {grid-column: span 6; background: #fff; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 16px; padding: 18px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);}

.service-card h3 {margin: 0 0 .35rem;}

.service-card p {margin: 0 0 .75rem; opacity: .9;}

.service-card .btn {margin-top: 4px;}

@media (max-width: 900px) {
  .service-card {grid-column: span 12;}
}

.badges {display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 0;}

.badge {display: inline-flex; align-items: center; padding: 6px 10px; border-radius: 999px; background: #eef3ff; color: #0a1c3a; border: 1px solid rgba(0, 0, 0, 0.06);}

.timeline {display: grid; gap: 16px; margin-top: 10px;}

.timeline .item {background: #fff; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 14px; padding: 14px;}

.kicker {display: inline-block; font-size: .9rem; letter-spacing: .04em; text-transform: uppercase; opacity: .8; margin-bottom: .25rem;}

.lead {font-size: clamp(1.05rem, 1.2vw, 1.2rem); opacity: .95;}

.twocol {display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(16px, 3vw, 28px); align-items: start;}

@media (max-width: 900px) {
  .twocol {grid-template-columns: 1fr;}
}

.figure-card {background: #fff; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 16px; padding: 14px; box-shadow: 0 10px 30px rgba(0, 0, 0, .06);}

.fig-muted {font-size: .9rem; opacity: .7; margin-top: .25rem;}

.list-check {list-style: none; padding: 0; margin: 0;}

.list-check li {padding-left: 1.4rem; position: relative; margin: .4rem 0;}

.list-check li::before {content: "✓"; position: absolute; left: 0; top: 0; font-weight: 700;}

.section .eyebrow {font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; opacity: .7; margin-bottom: .2rem;}

.text-brand {color: var(--brand-600, #2b6cff);}

.text-gradient {background: linear-gradient(90deg, #2b6cff, #2ab5f2); -webkit-background-clip: text; background-clip: text; color: transparent;}

.section--brand-deep {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #fff;}

.section--brand-deep .optin {background: rgba(255, 255, 255, 0.08); border-color: rgba(255, 255, 255, 0.18);}

.section--brand-deep a.btn.btn--ghost {border-color: #fff; color: #fff;}

.h-accent strong {color: var(--brand-600, #2b6cff);}

.promo-banner {background: linear-gradient(135deg, #0b1f33, #2b6cff); color: #fff; padding: clamp(16px, 3vw, 22px) 0;}

.promo-banner .card {max-width: 1100px; margin: 0 auto; padding: 16px; display: grid; gap: 14px; grid-template-columns: 1.5fr 1fr; background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 16px; box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);}

@media (max-width: 900px) {
  .promo-banner .card {grid-template-columns: 1fr;}
}

.promo-banner .meta {display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px;}

.promo-banner .badge {background: rgba(255, 255, 255, 0.15); color: #fff; border-radius: 999px; padding: 6px 10px; font-size: .9rem;}

.promo-banner .btn {background: #fff; color: #0a1c3a;}

.promo-banner .btn.btn--ghost {background: transparent; border: 1px solid #fff; color: #fff;}

.hero-overlap {margin-top: clamp(-90px, -12vw, -140px); position: relative; z-index: 2;}

@media (max-width: 768px) {
  .hero-overlap {margin-top: 0;}
}

.svc {display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(18px, 4vw, 34px); align-items: center;}

.svc .svc__img {border-radius: 18px; background: linear-gradient(135deg, #0b1f33 0%, #0a243d 100%); min-height: 220px; box-shadow: 0 20px 60px rgba(0, 93, 143, .18); border: 1px solid rgba(255, 255, 255, .15);}

.svc .svc__img.placeholder {display: flex; align-items: center; justify-content: center; color: #eaf1ff; opacity: .9; font-weight: 600; letter-spacing: .4px;}

.svc .svc__body .kicker {margin-bottom: .4rem;}

.svc .svc__body h2 {margin: 0 0 .5rem;}

.svc .svc__body .lead {margin: 0 0 .65rem;}

.svc.flip {grid-template-columns: 1fr 1.1fr;}

@media (max-width: 900px) {

  .svc,
  .svc.flip {grid-template-columns: 1fr;}
}

.features {display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px;}

.feature-card {grid-column: span 4; background: #fff; border: 1px solid rgba(0, 0, 0, .08); border-radius: 16px; padding: 14px; box-shadow: 0 10px 30px rgba(0, 0, 0, .06);}

@media (max-width: 900px) {
  .feature-card {grid-column: span 12;}
}

.feature-card h3 {margin: 0 0 .35rem;}

.feature-card p {margin: 0; opacity: .92;}

.card-dark {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #fff; border-radius: 26px; box-shadow: 0 40px 80px rgba(0, 0, 0, .25); padding: clamp(18px, 3vw, 28px); border: 1px solid rgba(255, 255, 255, .12);}

.card-dark .btn {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #fff;}

.card-dark .btn.btn--ghost {background: transparent; border: 1px solid #fff; color: #fff;}

.check-row {display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin: 12px 0 6px; opacity: .98;}

.check-row .check {display: inline-flex; align-items: center; gap: 8px;}

.check-row .check::before {content: "✓"; color: #3fe086; font-weight: 800;}

.grid-2 {display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(18px, 4vw, 34px); align-items: center;}

.grid-3 {display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(12px, 2.5vw, 18px);}

@media (max-width: 960px) {
  .grid-2 {grid-template-columns: 1fr;}

  .grid-3 {grid-template-columns: 1fr;}
}

.media-ph {min-height: 260px; border-radius: 24px; background: linear-gradient(135deg, #0b1f33, #0a243d); box-shadow: 0 30px 70px rgba(0, 0, 0, .22); border: 1px solid rgba(255, 255, 255, .14); display: flex; align-items: center; justify-content: center; color: #eaf1ff; font-weight: 700; letter-spacing: .3px;}

.feature-mini {background: #fff; border: 1px solid rgba(0, 0, 0, .08); border-radius: 16px; padding: 14px; box-shadow: 0 10px 30px rgba(0, 0, 0, .06);}

.feature-mini h3 {margin: 0 0 .35rem;}

.h-accent strong,
.text-brand {color: #2b6cff;}

.text-gradient {background: linear-gradient(90deg, #2b6cff, #2ab5f2); -webkit-background-clip: text; background-clip: text; color: transparent;}

.section--brand-deep {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #fff;}

.container.container-narrow {max-width: 980px;}

.section--soft {background: linear-gradient(180deg, rgba(13, 36, 61, .03), rgba(13, 36, 61, .05));}

.hr-soft {height: 1px; background: linear-gradient(90deg, transparent, rgba(0, 0, 0, .08), transparent); border: 0; margin: 10px 0 0;}

.card-dark {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #fff; border-radius: 28px; box-shadow: 0 48px 110px rgba(0, 0, 0, .35); padding: clamp(22px, 3.2vw, 34px); border: 1px solid rgba(255, 255, 255, .14);}

.card-dark h2 {margin: 0 0 .35rem;}

.card-dark .lead {opacity: .95;}

.card-dark .actions {display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 12px;}

.check-row {display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; margin: 14px 0 8px;}

.check-row .check {display: inline-flex; align-items: center; gap: 8px; font-weight: 600;}

.check-row .check::before {content: "✓"; color: #3fe086; font-weight: 900;}

.media-ph {min-height: 300px; border-radius: 26px;}

.card-dark .btn,
.card-dark .btn:visited {color: #fff !important; opacity: 1 !important;}

.card-dark .btn--ghost {background: rgba(255, 255, 255, 0.06) !important; border: 1px solid rgba(255, 255, 255, .5) !important;}

.card-dark .btn--ghost:hover {background: rgba(255, 255, 255, 0.14) !important; border-color: #fff !important;}

.card-dark .btn:hover {transform: translateY(-1px);}

.check-row .check {font-size: 16px; letter-spacing: .2px;}

.check-row .check::before {font-size: 20px; line-height: 1; transform: translateY(-2px);}

.card-dark .lead {opacity: .96;}

.card-dark .meta {font-size: 12.5px; opacity: .75; margin-top: 6px;}

.section--soft {background: linear-gradient(180deg, rgba(11, 31, 51, .03), rgba(10, 36, 61, .06));}

.feature-mini {transition: transform .2s ease, box-shadow .2s ease;}

.feature-mini:hover {transform: translateY(-2px); box-shadow: 0 14px 34px rgba(0, 0, 0, .08);}

.spaced-y {margin: clamp(28px, 6vw, 88px) 0;}

.section-divider {height: 1px; border: 0; background: linear-gradient(90deg, transparent, rgba(0, 0, 0, .12), transparent); margin: clamp(18px, 4vw, 36px) 0;}

.feature-mini {background: #fff; border: 1px solid rgba(0, 0, 0, .06); border-radius: 16px; padding: 16px; box-shadow: 0 12px 28px rgba(0, 0, 0, .05);}

.section.alt {background: linear-gradient(180deg, rgba(11, 31, 51, .03), rgba(10, 36, 61, .06));}

.section.alt-dark {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #fff;}

.section.alt-dark .feature-mini {background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .16); color: #eaf1ff;}

.section.alt-dark h2,
.section.alt-dark h3 {color: #fff;}

.text-brand {color: #2b6cff;}

.keyword-ticker {background: #0b1f33; color: #eaf1ff; border-radius: 14px; padding: 8px 0; overflow: hidden; box-shadow: 0 10px 40px rgba(0, 0, 0, .25); margin: 18px 0;}

.keyword-ticker .keyword-track {display: flex; gap: 24px; white-space: nowrap; will-change: transform; align-items: center;}

.keyword-ticker .item {display: flex; align-items: center; gap: 8px; opacity: .95;}

.keyword-ticker .item .check {width: 16px; height: 16px; border-radius: 50%; background: #17c964; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 0 0 2px rgba(23, 201, 100, .35) inset;}

.keyword-ticker .item .check:before {content: ""; width: 8px; height: 8px; border: 2px solid #fff; border-top: 0; border-left: 0; transform: rotate(45deg); display: block; margin-top: -2px;}

.home-comfort-tight {margin-top: 32px !important; margin-bottom: 36px !important;}

.khv2-overlap {transform: translateY(-35%);}

@media (max-width: 840px) {
  .khv2-overlap {transform: translateY(-20%);}
}

.agree-inline {display: flex; align-items: center; gap: 10px;}

.agree-inline input[type="checkbox"] {position: relative; top: 0; transform: none; margin: 0;}

.section-navy {background: linear-gradient(180deg, #0b1f33, #0a243d); color: #eaf1ff;}

.section-navy h2,
.section-navy h3,
.section-navy p,
.section-navy li {color: #eaf1ff;}

.section-tight {padding-top: clamp(16px, 3.2vw, 28px) !important; padding-bottom: clamp(16px, 3.2vw, 28px) !important;}

.align-right {text-align: right;}

.align-right .list-check {margin-left: auto;}

.trust-ticker {background: #0b1f33; color: #eaf1ff; border-radius: 12px; padding: 10px 12px; overflow: hidden; box-shadow: 0 8px 28px rgba(0, 0, 0, .25);}

.trust-ticker .keyword-track {display: flex; gap: 24px; white-space: nowrap; will-change: transform; align-items: center;}

.trust-ticker .item {display: flex; align-items: center; gap: 8px; opacity: .95;}

.trust-ticker .item .check {width: 16px; height: 16px; border-radius: 50%; background: #18c964; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 0 0 2px rgba(23, 201, 100, .35) inset;}

.trust-ticker .item .check:before {content: ""; width: 8px; height: 8px; border-left: 2px solid #0b1f33; border-bottom: 2px solid #0b1f33; transform: rotate(-45deg); display: block;}

label.checkbox {display: flex; align-items: center; gap: 8px;}

label.checkbox input[type="checkbox"] {inline-size: 18px; block-size: 18px;}

.agree-inline {display: inline;}

@media (max-width:768px) {
  .align-right {text-align: left;}
}

.heat-info {min-height: 48vh;}

#contact .cta-row {display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 16px;}

#contact .terms {margin-top: 6px;}

#contact label.checkbox {gap: 10px; line-height: 1.3;}

#contact label.checkbox input[type="checkbox"] {transform: translateY(1px);}

.hero-overlap {margin-top: clamp(-220px, -22vw, -320px); position: relative; z-index: 3;}

.heat-info {padding-top: clamp(12px, 3vw, 24px); padding-bottom: clamp(12px, 3vw, 24px); min-height: auto;}

#contact .form-grid {row-gap: 14px;}

#contact .field.full.terms {margin-top: 6px;}

#contact label.checkbox {display: flex; align-items: center; gap: 10px; font-weight: 500;}

#contact label.checkbox input[type="checkbox"] {width: 18px; height: 18px;}

#contact .cta-row {display: flex; gap: 12px; align-items: center; flex-wrap: wrap; justify-content: flex-start; margin-top: 14px;}

.hero-overlap {margin-top: -26vh !important; z-index: 3;}

@media (max-width: 768px) {
  .hero-overlap {margin-top: 0 !important;}
}

.heat-info {padding-top: 8px !important; padding-bottom: 24px !important; min-height: auto !important;}

#contact .form-grid {row-gap: 14px;}

#contact .field.full.terms {margin-top: 8px;}

#contact label.checkbox {display: inline-flex; align-items: center; gap: 10px;}

#contact label.checkbox input[type="checkbox"] {width: 18px; height: 18px;}

#contact .agree-inline {display: inline;}

#contact .contact-actions {display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 14px;}

#contact .field.full.terms label.checkbox {display: inline-flex !important; align-items: center !important; justify-content: flex-start !important; gap: 10px !important; width: auto !important;}

#contact .field.full.terms label.checkbox>span {flex: 0 0 auto !important; display: inline !important; margin: 0 !important;}

#contact .field.full.terms label.checkbox>input[type="checkbox"] {flex: 0 0 auto !important; margin: 0 !important; position: static !important; transform: none !important;}

#contact .terms .consent-row {display: inline-grid; grid-auto-flow: column; align-items: center; gap: 10px;}

#contact .terms .consent-row input[type="checkbox"] {width: 18px; height: 18px; margin: 0;}

#contact .terms .consent-row label {margin: 0; display: inline; font-weight: 600;}

.section-navy {background: #081021; color: #fff;}

.section-navy a.btn {background: #0091ff; color: #fff; border: none;}

.section-tight {padding-top: 28px; padding-bottom: 28px;}

.trust-ticker {overflow: hidden; background: #081021; border-radius: 12px; padding: 10px 0;}

.trust-ticker .keyword-track {display: flex; gap: 40px; white-space: nowrap; will-change: transform; animation: tt-scroll 25s linear infinite;}

.trust-ticker .item {display: inline-flex; align-items: center; gap: 10px; color: #fff; opacity: .95; font-weight: 500;}

.trust-ticker .check::before {content: "✓"; font-weight: 700; display: inline-block;}

.trust-ticker .check {display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #0e1a30; border: 1px solid #1c2a46; margin-right: 2px;}

.trust-ticker .check::before {color: #22c55e; line-height: 1;}

@keyframes tt-scroll {
  from {transform: translateX(0);}

  to {transform: translateX(-50%);}
}

@media (max-width: 768px) {
  .trust-ticker .keyword-track {gap: 28px; animation-duration: 20s;}
}

.section-navy {background: #081021; color: #fff;}

.section-tight {padding-top: 28px; padding-bottom: 28px;}

.trust-ticker {overflow: hidden; background: #081021; border-radius: 12px; padding: 10px 0;}

.trust-ticker .keyword-track {display: inline-flex; gap: 40px; white-space: nowrap; will-change: transform; animation: tt-scroll 24s linear infinite;}

.trust-ticker .item {display: inline-flex; align-items: center; gap: 10px; color: #fff; opacity: .95; font-weight: 500; padding: 0 6px;}

.trust-ticker .check {display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: #0e1a30; border: 1px solid #1c2a46;}

.trust-ticker .check::before {content: "✓"; color: #22c55e; font-weight: 800; line-height: 1;}

@keyframes tt-scroll {
  from {transform: translateX(0);}

  to {transform: translateX(-50%);}
}

@media (max-width:768px) {
  .trust-ticker .keyword-track {gap: 28px; animation-duration: 18s;}
}

.trust-ticker {background: #081021 !important; color: #ffffff !important; overflow: hidden; border-radius: 12px; padding: 10px 0;}

.trust-ticker .keyword-track {display: flex; gap: 40px; align-items: center; white-space: nowrap; will-change: transform; padding: 6px 0;}

.trust-ticker .item {display: flex; align-items: center; gap: 10px; font-weight: 500;}

.trust-ticker .item .check {display: inline-block; width: 16px; height: 16px; border-radius: 50%; background: #17c964; box-shadow: 0 0 0 2px rgba(23, 201, 100, .32) inset; position: relative;}

.trust-ticker .item .check::after {content: ''; position: absolute; left: 4px; top: 2px; width: 6px; height: 10px; border: 2px solid #081021; border-top: 0; border-left: 0; transform: rotate(45deg);}

@keyframes tt-scroll {
  from {transform: translateX(0);}

  to {transform: translateX(-50%);}
}

.keyword-ticker .keyword-track {animation: tt-scroll 28s linear infinite;}

@media (max-width:768px) {
  .keyword-ticker .keyword-track {gap: 28px; animation-duration: 22s;}
}

.trust-band {margin: 18px 0 12px;}

@keyframes tt-scroll-right {
  from {transform: translateX(0);}

  to {transform: translateX(50%);}
}

.keyword-ticker[data-dir="ltr"] .keyword-track {animation-name: tt-scroll-right;}

.trust-band {margin: 6px 0 2px;}

.trust-band .container {padding: 0;}

.trust-ticker {background: #081021 !important; color: #fff !important; border-radius: 0; padding: 4px 0;}

.trust-ticker .keyword-track {display: flex; gap: 28px; align-items: center; white-space: nowrap; will-change: transform;}

.trust-ticker .item {display: flex; align-items: center; gap: 8px; font-size: 0.95rem; line-height: 1.2;}

.trust-ticker .item .check {width: 14px; height: 14px; border-radius: 50%; background: #17c964; position: relative; flex: 0 0 14px;}

.trust-ticker .item .check::after {content: ''; position: absolute; left: 4px; top: 2px; width: 5px; height: 8px; border: 2px solid #081021; border-top: 0; border-left: 0; transform: rotate(45deg);}

@keyframes tt-scroll-right {
  from {transform: translateX(0);}

  to {transform: translateX(50%);}
}

.keyword-ticker[data-dir="ltr"] .keyword-track {animation: tt-scroll-right 28s linear infinite;}

@media (max-width: 768px) {
  .trust-ticker .keyword-track {gap: 22px;}
}

.home .hero {position: relative;}

.home .hero .kh-card {position: absolute; left: 50%; transform: translate(-50%, -10%); bottom: -22vh; z-index: 3;}

@media (max-width: 992px) {
  .home .hero .kh-card {position: relative; left: auto; transform: none; bottom: auto; margin-top: 16px;}
}

.trust-band {margin: 10px 0 6px;}

.trust-band .container {padding: 0;}

.trust-ticker {background: #081021 !important; color: #fff !important; border-radius: 0; padding: 6px 0;}

.trust-ticker .keyword-track {display: flex; gap: 28px; align-items: center; white-space: nowrap; will-change: transform;}

.trust-ticker .item {display: flex; align-items: center; gap: 8px; font-size: 0.95rem; line-height: 1.2;}

.trust-ticker .item .check {width: 14px; height: 14px; border-radius: 50%; background: #17c964; position: relative; flex: 0 0 14px;}

.trust-ticker .item .check::after {content: ''; position: absolute; left: 4px; top: 2px; width: 5px; height: 8px; border: 2px solid #081021; border-top: 0; border-left: 0; transform: rotate(45deg);}

@keyframes tt-scroll-right {
  from {transform: translateX(0);}

  to {transform: translateX(50%);}
}

.keyword-ticker[data-dir="ltr"] .keyword-track {animation: tt-scroll-right 28s linear infinite;}

.trust-band {margin: 10px 0 6px;}

.trust-band .container {padding: 0;}

.trust-ticker {background: #081021; color: #fff; border-radius: 0; padding: 6px 0; overflow: hidden;}

.trust-ticker .marquee-track {display: flex; width: max-content;}

.trust-ticker .row {display: inline-flex; gap: 32px; align-items: center; padding: 0 24px; margin: 0; list-style: none;}

.trust-ticker .item {display: inline-flex; gap: 8px; font-size: 0.95rem; line-height: 1.2; white-space: nowrap;}

.trust-ticker .check {width: 14px; height: 14px; border-radius: 50%; background: #17c964; position: relative; flex: 0 0 14px; display: inline-block;}

.trust-ticker .check::after {content: ''; position: absolute; left: 4px; top: 2px; width: 5px; height: 8px; border: 2px solid #081021; border-top: 0; border-left: 0; transform: rotate(45deg);}

.css-marquee .marquee-track {position: relative; animation: marquee-ltr 28s linear infinite;}

@keyframes marquee-ltr {
  from {transform: translateX(-50%);}

  to {transform: translateX(0);}
}

@media (max-width: 768px) {
  .trust-ticker {padding: 8px 0;}

  .trust-ticker .row {gap: 24px;}
}

.home .promo-banner {display: none !important;}

.home .hero::before,
.home .hero::after {content: none !important; display: none !important;}

:root {--afp-blue: #16A1FF;}

.btn.btn-primary {background: var(--afp-blue) !important; color: #fff !important; border-color: transparent !important;}

.btn.btn-primary:hover {filter: brightness(0.95);}

.section.kh-cta .kh-cta-card,
.kh-cta-card,
.kh-card {background: #fff !important; color: #0f172a !important; box-shadow: 0 20px 50px rgba(10, 37, 64, .25);}

.kh-cta-card h2,
.kh-cta-card p,
.kh-cta-card li {color: #0f172a !important;}

.kh-cta-card .btn.btn-primary {background: var(--afp-blue) !important;}

body.diensten .section {padding-top: 72px; padding-bottom: 72px;}

body.diensten .section h1,
body.diensten .section h2,
body.diensten .section h3,
body.diensten .section p,
body.diensten .section li {color: #0f172a;}

body.diensten .section:not(.section--deep):not(.section--overlay) {background: #ffffff;}

.trust-ticker {background: #081021; color: #fff; padding: 6px 0; overflow: hidden;}

.trust-ticker .marquee-track {display: flex; width: max-content; animation: marquee-ltr 28s linear infinite;}

.trust-ticker .row {display: inline-flex; gap: 32px; align-items: center; margin: 0; padding: 0 24px; list-style: none;}

.trust-ticker .item {display: inline-flex; gap: 8px; white-space: nowrap;}

.trust-ticker .check {width: 14px; height: 14px; border-radius: 50%; background: #17c964; position: relative; display: inline-block;}

.trust-ticker .check::after {content: ''; position: absolute; left: 4px; top: 2px; width: 5px; height: 8px; border: 2px solid #081021; border-top: 0; border-left: 0; transform: rotate(45deg);}

@keyframes marquee-ltr {
  from {transform: translateX(-50%);}

  to {transform: translateX(0);}
}

.trust-band .container {padding-left: 0 !important; padding-right: 0 !important;}

:root {--afp-blue: #16A1FF;}

.section.kh-cta,
.section.kh-cta .container {background: transparent !important;}

.kh-cta-card,
.kh-card,
.keuzehulp-card {background: var(--afp-blue) !important; color: #ffffff !important; box-shadow: 0 20px 50px rgba(10, 37, 64, .20);}

.kh-cta-card h2,
.kh-cta-card p,
.kh-cta-card li {color: #ffffff !important;}

.kh-cta-card .btn.btn-primary {background: #ffffff !important; color: #0b2a3c !important;}

.kh-cta-card .btn.btn-outline {color: #ffffff !important; border-color: #ffffff !important;}

.home .hero .kh-cta-card {background: var(--afp-blue) !important;}

.home .promo-banner {background: transparent !important; box-shadow: none !important;}

.home .hero::before,
.home .hero::after {content: none !important; display: none !important;}

.section.alt-blue,
.section.alt,
.section.section--alt {background: #ffffff !important;}

.section.alt-blue h2,
.section.alt-blue p,
.section.alt-blue li {color: #0f172a !important;}

body.diensten .section {padding-top: 72px !important; padding-bottom: 72px !important;}

body.diensten .section .container {max-width: 1200px;}

body.diensten .section .grid,
body.diensten .section .row {display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;}

body.diensten .section .grid>*,
body.diensten .section .row>* {min-width: 0;}

body.diensten .section {background: #ffffff !important; color: #0f172a !important;}

body.diensten .section h2,
body.diensten .section p,
body.diensten .section li {color: #0f172a !important;}

.media-card,
.image-card,
.img-box {background: #0b2236; color: #fff; border-radius: 24px; padding: 32px; box-shadow: 0 18px 40px rgba(2, 18, 36, .22);}

.trust-band .container {padding-left: 0; padding-right: 0;}

.trust-ticker {padding: 6px 0 !important;}

:root {--afp-blue: #16A1FF;}

section.kh-cta.overlap.hero-overlap {background: transparent !important;}

section.kh-cta .kh-cta-card,
.kh-cta-card.blue {background: var(--afp-blue) !important; color: #fff !important;}

section.kh-cta .kh-cta-card h2,
section.kh-cta .kh-cta-card p,
section.kh-cta .kh-cta-card li {color: #fff !important;}

section.kh-cta .kh-cta-card .btn.btn-primary {background: #ffffff !important; color: #0b2a3c !important;}

section.maat {background: #ffffff !important; color: #0f172a !important;}

section.maat h2,
section.maat p,
section.maat li {color: #0f172a !important;}

.promo-banner {display: block !important; opacity: 1 !important; visibility: visible !important;}

body.diensten .section {padding-top: 56px !important; padding-bottom: 56px !important; background: #ffffff !important; color: #0f172a !important;}

body.diensten .section h1,
body.diensten .section h2,
body.diensten .section h3,
body.diensten .section p,
body.diensten .section li {color: #0f172a !important;}

body.diensten .section .container.grid-2 {display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;}

body.diensten .section .section-divider {display: none !important;}

body.diensten .media-ph,
body.diensten .image-card,
body.diensten .img-box {background: #0b2236; color: #fff; border-radius: 24px; padding: 32px; box-shadow: 0 16px 36px rgba(2, 18, 36, .18);}

.trust-ticker {padding: 6px 0 !important;}

:root {--afp-blue: #16A1FF;}

body.home section.kh-cta .kh-cta-card {background: var(--afp-blue) !important; color: #ffffff !important;}

body.home section.kh-cta .kh-cta-card h2,
body.home section.kh-cta .kh-cta-card p,
body.home section.kh-cta .kh-cta-card li {color: #ffffff !important;}

body.diensten section.cta-light h2 {color: #ffffff !important;}

.home .promo-banner {display: block !important;}

.promo-banner {padding: 24px 0;}

.promo-banner .promo-card {background: #fff; color: #0f172a; border-radius: 18px; box-shadow: 0 20px 50px rgba(8, 16, 33, .18); padding: 24px; display: flex; align-items: center; justify-content: space-between; gap: 24px;}

.promo-banner .promo-left {display: flex; flex-direction: column; gap: 12px;}

.promo-banner .eyebrow {font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #0a7ddf;}

.promo-banner h2 {margin: 0; font-size: clamp(20px, 2.4vw, 28px); color: #0f172a;}

.promo-banner p {margin: 0; color: #0f172a;}

.promo-banner .promo-benefits {display: flex; gap: 18px; list-style: none; padding: 0; margin: 0; flex-wrap: wrap;}

.promo-banner .promo-ctas {display: flex; gap: 12px; margin-left: auto;}

.promo-banner .btn {height: 42px; padding: 0 16px; display: inline-flex; align-items: center;}

body.home section.kh-cta.overlap.hero-overlap {margin-top: clamp(-120px, -20vh, -200px); position: relative; z-index: 3;}

@media (max-width: 768px) {
  body.home section.kh-cta.overlap.hero-overlap {margin-top: -60px;}
}

.hero::before {background: rgba(255, 255, 255, .18) !important;}

.hero::after {opacity: .12 !important;}

.mute-btn {position: absolute; right: 18px; bottom: 18px; z-index: 5; width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .6); background: rgba(8, 16, 33, .28); backdrop-filter: blur(4px); color: #fff; font-size: 20px; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; pointer-events: auto;}

.mute-btn:hover {background: rgba(8, 16, 33, .38);}

.kh-cta-card {box-shadow: 0 28px 70px rgba(8, 16, 33, .35), 0 0 0 2px rgba(255, 255, 255, .6) inset;}

.kh-card.khv2-card {background: #ffffff !important; color: #0f172a !important; box-shadow: 0 24px 60px rgba(8, 16, 33, .18) !important;}

.kh-card.khv2-card h1,
.kh-card.khv2-card h2,
.kh-card.khv2-card p,
.kh-card.khv2-card li {color: #0f172a !important;}

.kh-card.khv2-card .btn.btn-primary {background: #16A1FF !important; color: #ffffff !important; border-color: transparent !important;}

.kh-card.khv2-card .btn.btn-outline {background: #ffffff !important; color: #0f172a !important; border: 1.5px solid rgba(8, 16, 33, .18) !important;}

.chip.active {background: var(--primary); color: #fff; border-color: var(--primary);}

.chip.active input {background: #fff; border-color: #fff;}

body.home section.kh-cta.hero-overlap {margin-top: clamp(-200px, -26vh, -320px);}

.savings .save-result {opacity: 1; visibility: visible;}

.promo {background: #0b1f33; color: #fff; padding: 24px 0;}

.promo .promo-card {background: #fff; color: #0f172a; border-radius: 20px; box-shadow: 0 24px 60px rgba(15, 23, 42, .12); padding: 24px 28px; display: grid; grid-template-columns: 1fr auto; gap: 16px 24px; align-items: center;}

.promo .badge {display: inline-block; font-weight: 700; font-size: 12px; letter-spacing: .06em; color: #0a5bd3; background: rgba(10, 91, 211, .08); border: 1px solid rgba(10, 91, 211, .22); border-radius: 999px; padding: 6px 10px; margin-bottom: 6px;}

.promo .title {font-size: 28px; font-weight: 800; margin: 6px 0 10px; display: inline-block;}

.promo .subtitle {margin: 0 0 10px; color: #0f172a;}

.promo .info-row {display: flex; flex-wrap: wrap; gap: 18px; font-size: 14px; color: #334155;}

.promo .info-row .dot::before {content: "•"; margin: 0 8px; color: #94a3b8;}

.promo .cta-row {display: flex; gap: 12px; flex-wrap: wrap; justify-content: center;}

.promo .cta-row .btn {height: 40px; padding: 0 16px; line-height: 40px;}

.promo .cta-row .btn.btn-primary {background: #22a3ff; color: #fff;}

.promo .cta-row .btn.btn-outline {background: #fff; color: #0b2a3c; border: 1px solid rgba(2, 32, 71, .15);}

@media (max-width: 960px) {
  .promo .promo-card {grid-template-columns: 1fr;}

  .promo .cta-row {justify-content: center;}
}

.promo .cta-row {justify-content: center;}

section.kh-cta.overlap.hero-overlap .kh-cta-card.compact.seam {transform: translateY(-8%) !important;}

@media (max-width: 960px) {
  section.kh-cta.overlap.hero-overlap .kh-cta-card.compact.seam {transform: translateY(-6%) !important;}
}

section.kh-cta.overlap.hero-overlap {padding-bottom: 0px;}

.promo {background: #081021; color: #fff; padding: 28px 0 34px;}

.promo .promo-card {background: #fff; color: #0f172a; border-radius: 22px; box-shadow: 0 28px 70px rgba(8, 16, 33, .18); padding: 28px; display: grid; grid-template-columns: 1.6fr 1fr; gap: 24px;}

.promo .badge {display: inline-block; font-weight: 700; font-size: 12px; letter-spacing: .06em; color: #0a5bd3; background: rgba(10, 91, 211, .08); border: 1px solid rgba(10, 91, 211, .22); border-radius: 999px; padding: 6px 10px;}

.promo .promo-heading {margin: 8px 0 6px;}

.promo .subtitle {margin: 0 0 10px; color: #334155;}

.promo .price-row {display: flex; align-items: center; gap: 10px; margin: 6px 0 14px;}

.promo .price-old {color: #9ca3af; text-decoration: line-through; font-weight: 600;}

.promo .price-arrow {color: #64748b; font-weight: 700;}

.promo .price-new {color: #0a5bd3; font-weight: 900; font-size: 24px;}

.promo .price-qualifier {color: #64748b; font-size: 14px;}

.promo .brands {margin: 8px 0 10px; gap: 10px; display: flex; flex-wrap: wrap;}

.promo .brand-chip {background: #f1f5f9; color: #0f172a; border: 1px solid #e2e8f0; border-radius: 999px; padding: 6px 10px; font-size: 14px;}

.promo .bullets {margin: 10px 0 0; font-size: 14px; color: #334155;}

.promo .bullets .dot::before {content: '•'; margin: 0 8px; color: #94a3b8;}

.promo .bullets .check {display: inline-block; width: 14px; height: 14px; margin-right: 6px; border-radius: 50%; background: #10b981; vertical-align: -2px;}

.promo .promo-right {display: flex; flex-direction: column; gap: 16px; justify-content: space-between;}

.promo .promo-notes p {margin: 0 0 6px; font-weight: 700;}

.promo .promo-notes ul {margin: 0; padding-left: 18px; color: #334155;}

.promo .cta-row {display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;}

.promo .cta-row .btn {height: 42px; padding: 0 18px; line-height: 42px;}

.promo .cta-row .btn.btn-primary {background: #22a3ff; color: #fff;}

.promo .cta-row .btn.btn-outline {background: #fff; color: #0b2a3c; border: 1px solid rgba(2, 32, 71, .15);}

.promo--emura-only {background: #0c2233; border-radius: 18px; padding: 24px; margin: 24px 0;}

.promo--emura-only .promo__wrap {max-width: 1100px; margin: 0 auto;}

.promo__head {margin-bottom: 10px;}

.promo__title {font-size: 1.4rem; margin: 0;}

.promo__sub {margin: .25rem 0 0; color: #98a7b4;}

.promo__grid {display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center;}

.promo__price-row {display: flex; align-items: baseline; gap: 10px; margin: -30px 0 12px;}

.promo__was {text-decoration: line-through; opacity: .6;}

.promo__now {font-weight: 700; font-size: 1.6rem;}

.promo__incl {font-size: .9rem; color: #98a7b4;}

.promo__badges {display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 10px; padding: 0; list-style: none;}

.promo__bullets {margin: 0 0 14px 1rem; color: #cfe0ec;}

.promo__cta {display: flex; gap: 10px; flex-wrap: wrap;}

.promo__right {display: flex; align-items: center; justify-content: center;}

.promo__logo {height: 28px; filter: none; border-radius: 0;}

.promo--emura-only {background: #0c2233; color: #e7f1f8;}

.promo--emura-only .promo__sub,
.promo--emura-only .promo__incl {color: #a9bdcc;}

.promo__right {display: flex; align-items: center; justify-content: center;}

.promo__logo-card {background: #fff; border-radius: 14px; padding: 12px 16px; box-shadow: 0 8px 24px rgba(8, 28, 48, .25); min-width: 140px; min-height: 72px; display: flex; align-items: center; justify-content: center;}

.promo__logo {height: 40px; width: auto; border-radius: 0; filter: none;}

@media (max-width: 960px) {
  .promo__logo {height: 34px;}

  .promo__logo-card {min-width: 120px; min-height: 64px;}
}

@media (max-width: 680px) {
  .promo__grid {grid-template-columns: 1fr; gap: 16px;}

  .promo__right {justify-content: flex-start;}
}

.promo--emura-only {background: #ffffff; color: #0d2233; border-radius: 18px; box-shadow: 0 18px 48px rgba(8, 28, 48, .18); padding: 28px 28px;}

.promo--emura-only .promo__sub,
.promo--emura-only .promo__incl,
.promo--emura-only .muted {color: #54697a;}

.promo--emura-only .eu-chip {filter: none;}

.promo__right {display: flex; align-items: center; justify-content: center; min-height: 120px;}

.promo__logo-wrap {display: flex; align-items: center; justify-content: center; width: 260px; height: 100px;}

.promo__logo-wrap.nudge-left {transform: translateX(-12px);}

.promo__logo {height: 64px; width: auto; border-radius: 0; filter: none;}

.promo--emura-only .btn {box-shadow: none;}

.promo--emura-only .btn-outline {border-color: #0d2233; color: #0d2233;}

@media (max-width: 960px) {
  .promo__logo {height: 54px;}

  .promo__logo-wrap {width: 220px; height: 88px;}

  .promo__logo-wrap.nudge-left {transform: translateX(-8px);}
}

@media (max-width: 680px) {
  .promo__grid {grid-template-columns: 1fr; gap: 18px;}

  .promo__right {justify-content: flex-start;}

  .promo__logo-wrap {width: 200px; height: 80px;}

  .promo__logo {height: 48px;}
}

.promo__right--emura {display: flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 140px;}

.promo__unit {margin: 0; background: #f5f8fb; border-radius: 14px; box-shadow: 0 10px 26px rgba(8, 28, 48, .10); width: 360px; height: 140px; display: flex; align-items: center; justify-content: center;}

.promo__unit img {max-width: 92%; max-height: 88%; object-fit: contain; border-radius: 0;}

.promo__logo-wrap {background: #fff; border-radius: 12px; padding: 16px 22px; box-shadow: 0 10px 30px rgba(8, 28, 48, .14);}

.promo__logo {height: 56px; width: auto; display: block; border-radius: 0;}

@media (max-width: 1100px) {
  .promo__unit {width: 300px; height: 120px;}

  .promo__logo {height: 50px;}
}

@media (max-width: 820px) {
  .promo__right--emura {justify-content: flex-start; gap: 18px; flex-wrap: wrap;}

  .promo__unit {width: 100%; max-width: 520px;}

  .promo__logo-wrap {margin-left: auto;}
}

@media (max-width: 640px) {
  .promo__unit {width: 100%; height: 110px;}

  .promo__logo {height: 44px;}
}

@media (max-width: 1024px) {
  .promo .promo-card {grid-template-columns: 1fr;}

  .promo .promo-right {align-items: flex-start;}
}

.promo--emura,
.promo__right--emura {--mediah: clamp(140px, 22vh, 220px);}

.promo__right--emura {display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: var(--mediaH);}

.promo__unit,
.promo__logo-wrap {height: calc(var(--mediaH) * 0.875); margin-block: auto; display: flex; align-items: center; justify-content: center; border-radius: 12px; box-shadow: 0 10px 26px rgba(8, 28, 48, .10);}

.promo__unit {background: #f5f8fb; width: min(34%, 420px);}

.promo__logo-wrap {background: #fff; padding: 12px 18px; width: min(20%, 280px);}

.promo__unit img {height: 100%; width: auto; object-fit: contain; border-radius: 0;}

.promo__logo {height: 100%; width: auto; display: block; border-radius: 0;}

@media (max-width: 1100px) {
  .promo__unit {width: min(42%, 420px);}

  .promo__logo-wrap {width: min(26%, 260px);}
}

@media (max-width: 820px) {
  .promo__right--emura {flex-wrap: wrap; justify-content: flex-start; gap: 14px;}

  .promo__unit {width: 100%;}

  .promo__logo-wrap {width: auto; margin-left: auto;}
}

.promo--emura,
#promo-emura,
#emura-promo {position: relative;}

.promo--emura .emura-visuals,
#emura-promo .emura-visuals,
.promo--emura .promo-visuals {position: absolute; top: 50%; right: 24px; left: min(52%, 680px); transform: translateY(-50%); display: flex; align-items: center; justify-content: space-between; gap: 32px; pointer-events: none;}

.promo--emura .emura-unit,
#emura-promo .emura-unit,
.promo--emura .promo-unit,
.promo--emura .emura-brand,
#emura-promo .emura-brand,
.promo--emura .promo-brand {height: 87%; aspect-ratio: 4/5; background: #fff; border-radius: 14px; box-shadow: 0 10px 24px rgba(6, 22, 47, .08), 0 2px 6px rgba(6, 22, 47, .06); display: flex; align-items: center; justify-content: center; padding: 14px; overflow: hidden; pointer-events: auto;}

.promo--emura .emura-unit,
#emura-promo .emura-unit,
.promo--emura .promo-unit {flex: 0 0 34%;}

.promo--emura .emura-brand,
#emura-promo .emura-brand,
.promo--emura .promo-brand {flex: 0 0 22%;}

.promo--emura .emura-unit img,
#emura-promo .emura-unit img,
.promo--emura .promo-unit img,
.promo--emura .emura-brand img,
#emura-promo .emura-brand img,
.promo--emura .promo-brand img {max-height: 100%; max-width: 100%; width: auto; height: auto; object-fit: contain;}

@media (max-width: 1024px) {

  .promo--emura .emura-visuals,
  #emura-promo .emura-visuals,
  .promo--emura .promo-visuals {position: static; transform: none; margin-top: 16px; left: auto; right: auto; justify-content: flex-start;}

  .promo--emura .emura-unit,
  #emura-promo .emura-unit,
  .promo--emura .promo-unit,
  .promo--emura .emura-brand,
  #emura-promo .emura-brand,
  .promo--emura .promo-brand {height: 180px; aspect-ratio: auto; flex: 0 0 48%;}
}

.hero,
.hero-wrap {position: relative;}

#muteToggle,
.mute-btn {position: absolute; top: 14px; right: 16px; z-index: 60; pointer-events: auto; background: rgba(255, 255, 255, .9); border: 1px solid rgba(2, 32, 71, .15); border-radius: 999px; padding: 8px 10px; line-height: 1;}

section[data-align="left"] {text-align: left;}

section[data-align="left"] .checklist,
section[data-align="left"] p,
section[data-align="left"] h1,
section[data-align="left"] h2,
section[data-align="left"] h3 {text-align: left;}

section[data-align="left"],
section[data-align="left"] * {text-align: left !important;}

.trust-ticker.section-navy {background: #081021; color: #fff; width: 100%; margin: 0; padding: 10px 0;}

.trust-ticker .keyword-track {display: flex; gap: 36px; white-space: nowrap; animation: tt-scroll 40s linear infinite;}

.trust-ticker .kw {color: #fff; opacity: .9;}

.trust-ticker .check {display: inline-block; width: 10px; height: 10px; margin-right: 8px; background: #10b981; border-radius: 50%;}

@media (max-width: 768px) {
  .trust-ticker.section-navy {padding: 8px 0;}

  .trust-ticker .keyword-track {gap: 24px;}
}

section[data-align="left"],
section[data-align="left"] * {text-align: left !important;}

section[data-align="right"],
section[data-align="right"] * {text-align: right !important;}

.trust-ticker.fullbleed {width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);}

.trust-ticker.fullbleed .keyword-track {padding-left: 24px; padding-right: 24px;}

.trust-ticker {background: #081021; color: #fff; padding: 10px 0; width: 100%;}

.trust-ticker .keyword-track {display: flex; gap: 36px; white-space: nowrap; animation: tt-scroll 45s linear infinite;}

.trust-ticker .check {display: inline-block; width: 12px; height: 12px; background: #10b981; border-radius: 50%; margin-right: 8px;}

.trust-band .container {max-width: 100%; padding-left: 0; padding-right: 0;}

.trust-ticker {width: 100%;}

.trust-ticker .marquee-track {display: flex; width: max-content; animation: marquee-ltr 28s linear infinite;}

@keyframes marquee-ltr {
  from {transform: translateX(-50%);}

  to {transform: translateX(0);}
}

.trust-ticker .row {display: flex; gap: 28px; align-items: center; white-space: nowrap; padding: 6px 0;}

#svc-airco-grid {display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(18px, 4vw, 34px); align-items: center;}

#svc-airco-grid>div {order: 1; text-align: left;}

#svc-airco-grid>figure {order: 2;}

#svc-airco-grid .list-check {margin-left: 0;}

.section .media img {display: block; width: 100%; height: auto; border-radius: 14px; object-fit: cover;}

.hero,
.hero::before,
.hero::after {border-bottom: 0 !important;}

.hero-overlay {background: linear-gradient(90deg,
      rgba(0, 0, 0, .62) 0%,
      rgba(0, 0, 0, .48) 30%,
      rgba(0, 0, 0, .30) 55%,
      rgba(0, 0, 0, .12) 80%,
      rgba(0, 0, 0, 0) 100%) !important; z-index: 0;}

.hero .hero-copy h1 {color: #fff !important; -webkit-text-stroke: 0 !important; text-shadow: 0 2px 14px rgba(0, 0, 0, .60),
    0 1px 2px rgba(0, 0, 0, .85) !important;}

.hero .hero-copy h1 .hl-blue {color: var(--brand-600, #2b6cff) !important; background: none !important; -webkit-background-clip: initial !important; -webkit-text-stroke: 0 !important; text-shadow: 0 2px 14px rgba(0, 0, 0, .60),
    0 1px 2px rgba(0, 0, 0, .85) !important;}

.hero .btn,
.hero .btn-primary,
.hero .btn-outline {position: relative; z-index: 1;}

.hero-overlay {background: linear-gradient(90deg,
      rgba(0, 0, 0, .62) 0%,
      rgba(0, 0, 0, .48) 30%,
      rgba(0, 0, 0, .30) 55%,
      rgba(0, 0, 0, .12) 80%,
      rgba(0, 0, 0, 0) 100%) !important; z-index: 0;}

.hero .hero-copy h1 {color: #fff !important; -webkit-text-stroke: 0 !important; text-shadow: 0 2px 14px rgba(0, 0, 0, .60), 0 1px 2px rgba(0, 0, 0, .85) !important;}

.hero .hero-copy h1 .hl-blue {color: #1ea7ff !important; background: none !important; -webkit-background-clip: initial !important; -webkit-text-stroke: 0 !important; text-shadow: 0 2px 14px rgba(0, 0, 0, .60), 0 1px 2px rgba(0, 0, 0, .85) !important;}

.hero,
.hero::before,
.hero::after {border-bottom: 0 !important;}

.hero .btn,
.hero .btn-primary,
.hero .btn-outline {position: relative; z-index: 1;}

.hero-bg video,
.hero video {opacity: 1 !important; filter: none !important;}

.hero-overlay::before,
.hero-overlay::after,
.hero-bg::before,
.hero-bg::after {background: none !important; opacity: 0 !important;}

.hero-overlay {background: linear-gradient(90deg,
      rgba(0, 0, 0, .58) 0%,
      rgba(0, 0, 0, .34) 35%,
      rgba(0, 0, 0, .08) 65%,
      rgba(0, 0, 0, 0) 100%) !important; background-color: transparent !important;}

.hero .hero-copy h1,
.hero .hero-copy h1 .hl-blue {text-shadow: 0 2px 14px rgba(0, 0, 0, .60), 0 1px 2px rgba(0, 0, 0, .85) !important;}

.hero-overlay {background: linear-gradient(90deg,
      rgba(0, 0, 0, .72) 0%,

      rgba(0, 0, 0, .48) 32%,
      rgba(0, 0, 0, .12) 62%,
      rgba(0, 0, 0, 0) 100%) !important; background-color: transparent !important;}

body.keuzehulp,
.page-keuzehulp,
.khv2,
.kh-wizard {}

body.keuzehulp .site-header,
.page-keuzehulp .site-header,
.khv2 .site-header,
.kh-wizard .site-header {position: sticky; top: 0; background: #fff !important; box-shadow: 0 8px 28px rgba(2, 8, 23, .06), 0 1px 0 rgba(16, 24, 40, .06) !important; border-bottom: none !important; z-index: 1000; padding: 12px 0 !important;}

.khv2 .site-header .nav a,
.kh-wizard .site-header .nav a,
.page-keuzehulp .site-header .nav a {color: #0b1f33 !important;}

.khv2 .site-header .nav a:hover,
.kh-wizard .site-header .nav a:hover,
.page-keuzehulp .site-header .nav a:hover {color: #1ea7ff !important;}

.khv2 .site-header .btn-primary,
.kh-wizard .site-header .btn-primary,
.page-keuzehulp .site-header .btn-primary {position: relative; z-index: 1;}

.site-header.header--inverted,
.site-header.is-dark {background: #fff !important; color: #0b1f33 !important;}

.khv2 .site-header::before,
.khv2 .site-header::after,
.kh-wizard .site-header::before,
.kh-wizard .site-header::after {content: none !important;}

#trust-band {padding: 0 !important;}

#trust-band .container {max-width: 100% !important; padding-left: 0 !important; padding-right: 0 !important;}

#trust-band .trust-ticker {margin: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #0b1f33 !important; color: #fff !important; width: 100% !important; max-width: 100% !important;}

#trust-band .trust-ticker .marquee-track {display: inline-flex !important; align-items: center !important; white-space: nowrap !important; width: max-content !important; padding: 10px 28px !important; animation: marquee-ltr 28s linear infinite !important;}

#trust-band .trust-ticker .row {display: inline-flex !important; gap: 28px !important; margin: 0 !important; padding: 0 !important; white-space: nowrap !important;}

#trust-band .trust-ticker .item {display: inline-flex !important; align-items: center !important; gap: 10px !important; color: #fff !important; opacity: 1 !important; font-weight: 600;}

@keyframes marquee-ltr {
  from {transform: translateX(-50%);}

  to {transform: translateX(0);}
}

:root {--accent: #16a34a; --accent-600: #15803d; --accent-300: #4ade80; --accent-ring: rgba(22, 163, 74, .25);}

.accent-green {color: var(--accent);}

a:hover {text-decoration-color: var(--accent);}

input[type="checkbox"],
input[type="radio"] {accent-color: var(--accent);}

.btn.btn--green {background: var(--accent); border-color: var(--accent); color: #fff;}

.btn.btn--green:hover {background: var(--accent-600); border-color: var(--accent-600);}

.btn.btn--green-outline {background: transparent; border-color: var(--accent); color: var(--accent);}

.btn.btn--green-outline:hover {background: rgba(22, 163, 74, .08);}

.chip--green,
.badge--green {background: rgba(22, 163, 74, .10); border-color: var(--accent); color: var(--accent);}

.trust-ticker .check,
.trust-ticker .icon-check {color: var(--accent);}

.faq .item[open] summary {box-shadow: 0 0 0 2px var(--accent-ring);}

ul.brand-green li::marker {color: var(--accent);}

input:focus,
select:focus,
textarea:focus {outline-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-ring);}

.reviews .arrow:hover {border-color: var(--accent);}

.save-tooltip,
.save-bubble {border-color: var(--accent);}

.save-slider::-webkit-slider-thumb {border-color: var(--accent);}

.save-slider::-moz-range-thumb {border-color: var(--accent);}

.section-title--underline {position: relative;}

.section-title--underline::after {content: ""; position: absolute; left: 0; right: auto; bottom: -10px; width: 72px; height: 3px; background: linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%); border-radius: 2px;}

.headline-contrast {display: inline-block;}

.text-white {color: #fff !important;}

.text-outline {color: #16a34a; text-shadow: -1px 0 #fff, 1px 0 #fff,
    0 -1px #fff, 0 1px #fff; -webkit-text-stroke: 1px #fff;}

.text-glow {color: #16a34a; text-shadow: 0 0 3px #fff,
    0 0 6px #fff,
    0 0 10px rgba(255, 255, 255, .7);}

.prod-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; margin-top: 18px;}

.prod-card {display: block; background: var(--card); border: 1px solid rgba(8, 16, 33, .08); border-radius: 16px; overflow: hidden; box-shadow: 0 10px 18px rgba(8, 16, 33, .06); transition: transform .2s ease, box-shadow .2s ease;}

.prod-card:hover {transform: translateY(-2px); box-shadow: 0 14px 24px rgba(8, 16, 33, .10);}

.prod-card img {width: 100%; height: 160px; object-fit: cover; background: #f7fafc;}

.prod-card-body {padding: 12px 14px;}

.prod-card h3 {margin: 0 0 6px; font-size: 18px;}

.product {display: grid; grid-template-columns: 1.1fr .9fr; gap: 30px; align-items: start;}

.product-hero {width: 100%; height: auto; border-radius: 12px; background: #f7fafc; border: 1px solid rgba(8, 16, 33, .06);}

.product .thumbs {display: flex; gap: 8px; margin-top: 10px;}

.product .thumbs img {width: 100px; height: 70px; object-fit: cover; border-radius: 10px; border: 1px solid rgba(8, 16, 33, .06);}

.product-info .overline {letter-spacing: .08em; text-transform: uppercase; color: var(--muted); font-size: 12px; margin: 0 0 6px;}

.product-info .price {font-weight: 600; margin: .25rem 0 1rem;}

.product-info .cta-row {display: flex; gap: 10px; margin-bottom: 12px; flex-wrap: wrap;}

.product-bullets {margin: 10px 0 18px; padding: 0 0 0 18px;}

.spec-table {width: 100%; border-collapse: separate; border-spacing: 0 8px;}

.spec-table th {width: 42%; text-align: left; color: var(--muted); font-weight: 500;}

.spec-table td {background: #fff; border: 1px solid rgba(8, 16, 33, .08); padding: 8px 10px; border-radius: 10px;}

.h-scroll {display: flex; gap: 14px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory;}

.h-scroll .scroll-card {min-width: 200px; background: #fff; border: 1px solid rgba(8, 16, 33, .08); border-radius: 12px; overflow: hidden; scroll-snap-align: start;}

.h-scroll .scroll-card img {width: 100%; height: 120px; object-fit: cover; background: #f7fafc;}

.h-scroll .scroll-card span {display: block; padding: 8px 10px;}

@media (max-width: 980px) {
  .product {grid-template-columns: 1fr;}
}

.energy-badges {display: flex; gap: 8px; flex-wrap: wrap; margin: .4rem 0 1rem;}

.badge {display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; font-weight: 600; font-size: 12px; border: 1px solid rgba(8, 16, 33, .10); background: #fff;}

.badge .dot {width: 8px; height: 8px; border-radius: 50%; background: var(--primary, #0091F0);}

.badge--cool {border-color: rgba(0, 145, 240, .25);}

.badge--heat {border-color: rgba(1, 180, 120, .25);}

.model-code {font-size: 13px; color: var(--muted); margin: .2rem 0 .8rem;}

.eu-label {position: relative; display: inline-block; padding: 4px 10px 4px 12px; color: #fff; font-weight: 700; font-size: 12px; border-radius: 4px 0 0 4px;}

.eu-label::after {content: ''; position: absolute; right: -10px; top: 0; border-left: 10px solid currentColor; border-top: 12px solid transparent; border-bottom: 12px solid transparent;}

.eu-label[data-grade="A+++"] {background: #1bb34a; color: #1bb34a;}

.eu-label[data-grade="A++"] {background: #4cc158; color: #4cc158;}

.eu-label[data-grade="A+"] {background: #7bcb67; color: #7bcb67;}

.eu-label[data-grade="A"] {background: #a6d375; color: #a6d375;}

.eu-labels .eu-label {color: #fff !important;}

.modellen-cta h2,
.modellen-cta p {color: #0f172a;}

.modellen-cta h2 .accent-green {color: #1bb34a;}

.card-energy {display: flex; gap: 6px; flex-wrap: wrap; margin-top: 8px;}

.eu-chip {display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; color: #fff;}

.eu-chip[data-grade="A+++"] {background: #1bb34a;}

.eu-chip[data-grade="A++"] {background: #4cc158;}

.eu-chip[data-grade="A+"] {background: #7bcb67;}

.eu-chip[data-grade="A"] {background: #a6d375;}

.compare-rail {display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 1fr); gap: 16px; overflow-x: auto; padding: 8px 4px;}

.compare-card {border: 1px solid rgba(0, 0, 0, .06); border-radius: 16px; padding: 16px; background: #fff; box-shadow: 0 4px 18px rgba(0, 0, 0, .05);}

.compare-card h3 {font-size: 16px; margin: 0 0 8px;}

.compare-spec {font-size: 14px; color: var(--gray-text); line-height: 1.4;}

.compare-spec strong {color: #000;}

.compare-card .card-energy {margin-top: 10px;}

.catalog-layout {display: grid; grid-template-columns: 280px 1fr; gap: 24px; align-items: start;}

.filters {background: #fff; border: 1px solid rgba(0, 0, 0, .06); border-radius: 16px; padding: 16px; position: sticky; top: 100px;}

.filters h3 {margin: 0 0 12px;}

.filter-block {margin-bottom: 16px;}

.price-controls {display: flex; gap: 8px;}

.price-controls input {width: 100%; border: 1px solid #e6e6e6; border-radius: 8px; padding: 8px 10px;}

.catalog-grid .cards-wrap {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;}

.model-card {display: block; border: 1px solid rgba(0, 0, 0, .06); border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 4px 18px rgba(0, 0, 0, .05);}

.model-card .card-img img {width: 100%; height: 160px; object-fit: cover; display: block;}

.model-card .card-body {padding: 12px 14px;}

.model-card h3 {margin: 0 0 6px; font-size: 16px;}

.model-card .price-under {margin: 8px 0 0; font-weight: 600;}

@media(max-width:1024px) {
  .catalog-layout {grid-template-columns: 1fr;}

  .catalog-grid .cards-wrap {grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media(max-width:640px) {
  .catalog-grid .cards-wrap {grid-template-columns: 1fr;}
}

.price-line {font-size: 18px; margin: 8px 0; color: #000;}

.kh-reco--withimg {display: grid; grid-template-columns: 140px 1fr; gap: 16px; align-items: center; background: #fff; border-radius: 12px; box-shadow: 0 8px 24px rgba(0, 0, 0, .08); padding: 16px;}

.kh-reco-media img {width: 100%; height: 120px; object-fit: cover; border-radius: 10px; display: block;}

@media (max-width: 640px) {
  .kh-reco--withimg {grid-template-columns: 1fr;}

  .kh-reco-media img {height: 180px;}
}

[data-reviews] .rev-card img,
[data-reviews] .rev-avatar img {width: 48px; height: 48px; border-radius: 50%; object-fit: cover; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .08);}

.hero video,
.hero .hero-video,
.hero img {display: block;}

.hero,
.hero-wrap,
.hero .khv2-hero {position: relative; overflow: hidden; background: #000;}

.hero>.container,
.hero-wrap>.container {background: transparent; border: 0; outline: 0; box-shadow: none;}

.hero video,
.hero .hero-video {width: 100%; height: 100%; object-fit: cover;}

.hero+section,
.hero+.section {margin-top: 0;}

.site-header,
.hero,
.hero-wrap,
.hero .container,
.hero-wrap .container,
.hero::before,
.hero::after,
.hero-wrap::before,
.hero-wrap::after,
.hero+section,
.hero+.section {border: 0 !important; outline: 0 !important; box-shadow: none !important;}

.hero,
.hero-wrap {position: relative; overflow: hidden; background: #000 !important; line-height: 0; margin-bottom: -1px;}

.hero>.container,
.hero-wrap>.container {background: transparent !important;}

.hero video,
.hero .hero-video,
.hero-wrap video,
.hero-wrap .hero-video,
.hero img {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transform: translateZ(0); backface-visibility: hidden;}

.hero+section,
.hero+.section,
.hero-wrap+section,
.hero-wrap+.section {border-top: 0 !important; background-clip: padding-box; margin-top: 0 !important;}

.hero::before,
.hero::after,
.hero-wrap::before,
.hero-wrap::after {background: none !important;}

.hero,
.hero-wrap {overflow: visible !important; position: relative; background: #000 !important;}

.hero video,
.hero .hero-video,
.hero-wrap video,
.hero-wrap .hero-video {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transform: translateZ(0); backface-visibility: hidden; z-index: 0;}

.hero::after,
.hero-wrap::after {content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #000; pointer-events: none; z-index: 1;}

.hero .khv2-card,
.hero .keuzehulp,
.hero .lead-card,
.hero .kh-card,
.hero .khv2-banner {position: relative; z-index: 2;}

.hero+section,
.hero+.section,
.hero-wrap+section,
.hero-wrap+.section {border-top: 0 !important; box-shadow: none !important; margin-top: 0 !important;}

:root {--kh-overlap: clamp(-220px, -22vw, -120px);}

.khv2-card,
.keuzehulp,
.lead-card,
.kh-card,
.khv2-banner {position: relative; z-index: 2; margin-top: var(--kh-overlap);}

.hero+* .khv2-card,
.hero+* .keuzehulp,
.hero-wrap+* .khv2-card,
.hero-wrap+* .keuzehulp {margin-top: var(--kh-overlap);}

@media (max-width: 640px) {
  :root {--kh-overlap: clamp(-120px, -18vw, -80px);}
}

.hero,
.hero-wrap {overflow: visible !important; position: relative; z-index: 1;}

.hero+section,
.hero+div,
.hero-wrap+section,
.hero-wrap+div {overflow: visible !important; position: relative; z-index: 2;}

.khv2-card,
.keuzehulp,
.lead-card,
.kh-card,
.khv2-banner {position: relative !important; z-index: 3 !important; margin-top: calc(-1 * min(50vh, 320px)) !important;}

@media (max-width: 640px) {

  .khv2-card,
  .keuzehulp,
  .lead-card,
  .kh-card,
  .khv2-banner {margin-top: calc(-1 * min(35vh, 160px)) !important;}
}

.hero,
.hero::before,
.hero::after,
.hero+section,
.hero+.section {border: 0 !important; box-shadow: none !important; outline: 0 !important;}

.hero {position: relative; overflow: visible !important; background: #000 !important; line-height: 0; z-index: 1;}

.hero video,
.hero .hero-video {position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transform: translateZ(0); backface-visibility: hidden; z-index: 0;}

.hero::after {content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: #000; pointer-events: none; z-index: 1;}

.hero+section,
.hero+div {position: relative; overflow: visible !important; z-index: 2; border-top: 0 !important;}

:root {--kh-overlap: clamp(-320px, -50vh, -160px);}

body.home section.kh-cta.hero-overlap {margin-top: var(--kh-overlap) !important; z-index: 2;}

body.home section.kh-cta.hero-overlap .kh-cta-card,
body.home section.kh-cta.hero-overlap .kh-cta-card.compact.seam {transform: none !important; margin-top: 0 !important; position: relative; z-index: 3;}

@media (max-width: 640px) {
  :root {--kh-overlap: clamp(-160px, -24vh, -90px);}
}

.hero>.container {background: transparent !important;}

:root {--kh-card-pull: 50%;}

body.home section.kh-cta.hero-overlap {margin-top: 0 !important;}

body.home section.kh-cta.hero-overlap .kh-cta-card,
body.home section.kh-cta.hero-overlap .kh-cta-card.compact.seam {position: relative; z-index: 3; transform: translateY(calc(-1 * var(--kh-card-pull))) !important; margin-top: 0 !important;}

@media (max-width: 640px) {
  :root {--kh-card-pull: 35%;}
}

body.keuzehulp .kh-scope,
.page-keuzehulp .kh-scope {}

body.keuzehulp .kh-cta-card,
.page-keuzehulp .kh-cta-card,
body.keuzehulp .khv2-card,
.page-keuzehulp .khv2-card,
body.keuzehulp .kh-card,
.page-keuzehulp .kh-card {position: relative !important; transform: none !important; margin-top: 0 !important;}

body.keuzehulp section.kh-cta,
.page-keuzehulp section.kh-cta {margin-top: 0 !important; padding-top: 0;}

body.keuzehulp .khv2-card,
.page-keuzehulp .khv2-card,
body.keuzehulp .kh-cta-card,
.page-keuzehulp .kh-cta-card,
body.keuzehulp .kh-card,
.page-keuzehulp .kh-card {background: #ffffff !important; color: #0f172a !important; box-shadow: 0 24px 60px rgba(8, 16, 33, .18) !important; border: 1px solid #dbe7ff !important;}

body.keuzehulp .khv2-card .btn.btn-primary,
.page-keuzehulp .khv2-card .btn.btn-primary,
body.keuzehulp .kh-cta-card .btn.btn-primary,
.page-keuzehulp .kh-cta-card .btn.btn-primary {background: #16A1FF !important; color: #fff !important; border-color: transparent !important;}

body.keuzehulp .khv2-card .btn.btn-outline,
.page-keuzehulp .khv2-card .btn.btn-outline,
body.keuzehulp .kh-cta-card .btn.btn-outline,
.page-keuzehulp .kh-cta-card .btn.btn-outline {background: #ffffff !important; color: #0f172a !important; border: 1.5px solid rgba(8, 16, 33, .18) !important;}

body.keuzehulp .site-header,
.page-keuzehulp .site-header {position: sticky; top: 0; background: #fff !important; box-shadow: 0 8px 28px rgba(2, 8, 23, .06), 0 1px 0 rgba(16, 24, 40, .06) !important; border-bottom: none !important; z-index: 1000; padding: 12px 0 !important;}

body.keuzehulp .site-header .nav a,
.page-keuzehulp .site-header .nav a {color: #0b1f33 !important;}

body.keuzehulp .site-header .nav a:hover,
.page-keuzehulp .site-header .nav a:hover {color: #1ea7ff !important;}

body.home section.kh-cta.hero-overlap .kh-cta-card {}

body.keuzehulp,
.page-keuzehulp {--kh-overlap: 0 !important;}

body.keuzehulp section.kh-cta.hero-overlap,
.page-keuzehulp section.kh-cta.hero-overlap,
body.keuzehulp .hero-overlap,
.page-keuzehulp .hero-overlap {margin-top: 0 !important;}

body.keuzehulp .khv2-card,
.page-keuzehulp .khv2-card,
body.keuzehulp .kh-card,
.page-keuzehulp .kh-card,
body.keuzehulp .kh-cta-card,
.page-keuzehulp .kh-cta-card {position: relative !important; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important; transform: none !important; margin: 24px auto !important; z-index: 1 !important;}

body.keuzehulp .khv2-stage,
.page-keuzehulp .khv2-stage,
body.keuzehulp .kh-wrap,
.page-keuzehulp .kh-wrap,
body.keuzehulp section.kh-cta,
.page-keuzehulp section.kh-cta {padding-top: 28px !important; padding-bottom: 56px !important; margin-top: 0 !important; overflow: visible !important;}

body.keuzehulp main> :first-child,
.page-keuzehulp main> :first-child {scroll-margin-top: 90px; padding-top: min(10px, 2vh);}

body.keuzehulp .khv2-card,
.page-keuzehulp .khv2-card,
body.keuzehulp .kh-card,
.page-keuzehulp .kh-card,
body.keuzehulp .kh-cta-card,
.page-keuzehulp .kh-cta-card {background: #ffffff !important; color: #0f172a !important; border: 1px solid #dbe7ff !important; box-shadow: 0 24px 60px rgba(8, 16, 33, .18) !important;}

body.keuzehulp .khv2-card .btn.btn-primary,
.page-keuzehulp .khv2-card .btn.btn-primary,
body.keuzehulp .kh-cta-card .btn.btn-primary,
.page-keuzehulp .kh-cta-card .btn.btn-primary {background: #16A1FF !important; color: #fff !important; border-color: transparent !important;}

body.keuzehulp .khv2-card .btn.btn-outline,
.page-keuzehulp .khv2-card .btn.btn-outline,
body.keuzehulp .kh-cta-card .btn.btn-outline,
.page-keuzehulp .kh-cta-card .btn.btn-outline {background: #ffffff !important; color: #0f172a !important; border: 1.5px solid rgba(8, 16, 33, .18) !important;}

body.keuzehulp .hero::before,
body.keuzehulp .hero::after,
.page-keuzehulp .hero::before,
.page-keuzehulp .hero::after {content: none !important;}

body.keuzehulp .hero,
.page-keuzehulp .hero {border-bottom: 0 !important; box-shadow: none !important;}

body.keuzehulp .khv2-stage,
.page-keuzehulp .khv2-stage {min-height: 60vh;}

body:not(.home) .hero-overlap,
body:not(.home) section.kh-cta.hero-overlap {margin-top: 0 !important;}

body:not(.home) .khv2-card,
body:not(.home) .kh-card,
body:not(.home) .kh-cta-card {position: relative !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important; transform: none !important; margin: 24px auto !important; z-index: 1 !important;}

body:not(.home) .khv2-stage,
body:not(.home) .kh-wrap,
body:not(.home) section.kh-cta {padding-top: 28px !important; padding-bottom: 56px !important; margin-top: 0 !important; overflow: visible !important;}

body:not(.home) .khv2-card,
body:not(.home) .kh-card,
body:not(.home) .kh-cta-card {background: #ffffff !important; color: #0f172a !important; border: 1px solid #dbe7ff !important; box-shadow: 0 24px 60px rgba(8, 16, 33, .18) !important;}

body:not(.home) .khv2-card .btn.btn-primary,
body:not(.home) .kh-cta-card .btn.btn-primary {background: #16A1FF !important; color: #fff !important; border-color: transparent !important;}

body:not(.home) .khv2-card .btn.btn-outline,
body:not(.home) .kh-cta-card .btn.btn-outline {background: #ffffff !important; color: #0f172a !important; border: 1.5px solid rgba(8, 16, 33, .18) !important;}

body:not(.home) .hero::before,
body:not(.home) .hero::after {content: none !important;}

body:not(.home) .hero {border-bottom: 0 !important; box-shadow: none !important;}

body:not(.home) .khv2-stage {min-height: 60vh;}

#prijzen-scope #kwaliteit .why-strip {background: #fff; color: #0b0b0f; border: 1px solid rgba(0, 0, 0, .08); border-radius: 12px; padding: 16px 20px; box-shadow: 0 12px 28px rgba(0, 0, 0, .10); margin: 14px 0 28px 0;}

#prijzen-scope #kwaliteit .why-strip .trust-ticker {list-style: disc; margin: 0 0 0 18px;}

#prijzen-scope #kwaliteit .why-strip .trust-ticker li {margin: 6px 0; line-height: 1.5;}

#prijzen-scope #kwaliteit .trust-ticker {background: transparent !important; box-shadow: none !important; border: 0 !important; color: #0B0B0F !important; list-style: disc; margin-left: 18px; padding: 0 !important;}

#prijzen-scope #kwaliteit .trust-ticker li {background: transparent !important; color: #0B0B0F !important; line-height: 1.5; margin: 6px 0;}

body.home .section-services .service-card[data-service="zakelijk"] .media img,
body.home .section-services .service-card.zakelijk .media img {object-fit: cover; object-position: 50% 0% !important;}

  body.home .section-services .service-grid .service-card:nth-child(3) .media {background-position: center 72%;}

  body.home .section-services .service-grid .service-card:nth-child(3) .media img {object-fit: cover; object-position: center 72%;}

  body.home [data-reviews] .rev-card:nth-of-type(n+4),
  body.home .reviews .rev-card:nth-of-type(n+4) {display: none !important;}

  #prijzen-scope #kwaliteit .why-strip .trust-ticker {background: transparent !important; box-shadow: none !important; border: 0 !important; color: #0B0B0F !important; list-style: disc; margin-left: 18px; padding: 0 !important;}

  #prijzen-scope #kwaliteit .why-strip .trust-ticker li {background: transparent !important; color: #0B0B0F !important; line-height: 1.5; margin: 6px 0;}

  #prijzen-scope #kwaliteit .trust-ticker {background: transparent !important; color: #0B0B0F !important; box-shadow: none !important; border: 0 !important; list-style: disc; margin-left: 18px; padding: 0 !important;}

  #prijzen-scope #kwaliteit .trust-ticker li {color: #0B0B0F !important;}

  body.home .section-services .service-card .media img {object-fit: cover; object-position: center 20%;}

  .kh-brands {display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0 1rem;}

  .brand-chip {display: inline-flex; align-items: center; gap: .5rem; border: 1px solid rgba(0, 0, 0, .08); background: #fff; border-radius: 999px; padding: .5rem .75rem; box-shadow: 0 2px 8px rgba(0, 0, 0, .06); cursor: pointer; user-select: none; transition: transform .08s ease, box-shadow .2s ease;}

  .brand-chip img {width: 22px; height: 22px; object-fit: contain;}

  .brand-chip:hover {transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0, 0, 0, .10);}

  .brand-chip.is-selected {border-color: #11a36a; background: #eefff7;}

  .kh-reco-brand img {height: 44px; width: auto; border-radius: 0 !important; box-shadow: none !important;}

  section.promo.promo--emura-only .promo__grid {display: grid; grid-template-columns: minmax(0, 1fr) 520px !important; column-gap: 32px; align-items: center;}

  section.promo.promo--emura-only .promo__right.promo__right--emura {display: flex; align-items: center; justify-content: space-between; min-height: clamp(240px, 28vw, 360px); padding-right: 8px; transform: translateY(-35px);}

  section.promo.promo--emura-only .promo__right.promo__right--emura .promo__unit,
  section.promo.promo--emura-only .promo__right.promo__right--emura .promo__logo-wrap {height: calc(100% * 0.87); background: #fff; border-radius: 14px; box-shadow: 0 10px 24px rgba(6, 22, 47, .08), 0 2px 6px rgba(6, 22, 47, .06); display: flex; align-items: center; justify-content: center; padding: 14px; overflow: hidden; flex: 0 0 auto;}

  section.promo.promo--emura-only .promo__right.promo__right--emura .promo__unit {width: 62%;}

  section.promo.promo--emura-only .promo__right.promo__right--emura .promo__logo-wrap {width: 30%;}

  section.promo.promo--emura-only .promo__right.promo__right--emura .promo__unit img {max-height: 100%; max-width: 100%; width: auto; height: auto; object-fit: contain;}

  section.promo.promo--emura-only .promo__right.promo__right--emura .promo__logo {border-radius: 0; max-height: 86%; max-width: 86%; width: auto; height: auto; object-fit: contain;}

  @media (max-width: 1100px) {
    section.promo.promo--emura-only .promo__grid {grid-template-columns: 1fr !important;}

    section.promo.promo--emura-only .promo__right.promo__right--emura {min-height: 220px; gap: 20px; padding-right: 0;}

    section.promo.promo--emura-only .promo__right.promo__right--emura .promo__unit,
    section.promo.promo--emura-only .promo__right.promo__right--emura .promo__logo-wrap {width: 48%; height: 200px;}
  }

  .promo--emura-only .promo__grid {display: flex; align-items: center; justify-content: space-between; gap: 32px; --promo-h: 260px; min-height: var(--promo-h);}

  .promo--emura-only .promo__left {flex: 1 1 auto; min-width: 0;}

  .promo--emura-only .promo__right {flex: 0 0 auto; display: flex; align-items: center; gap: 28px; padding-right: 12px;}

  .promo--emura-only .promo__unit,
  .promo--emura-only .promo__logo-wrap {height: calc(var(--promo-h) * 0.875); aspect-ratio: 16/11; display: flex; align-items: center; justify-content: center; background: #fff; border-radius: 16px; box-shadow: 0 10px 28px rgba(0, 0, 0, .10), 0 2px 8px rgba(0, 0, 0, .06); padding: 12px;}

  .promo--emura-only .promo__unit {aspect-ratio: 16/9;}

  .promo--emura-only .promo__logo-wrap {aspect-ratio: 5/4;}

  .promo--emura-only .promo__unit img {height: 100%; width: auto; object-fit: contain; display: block;}

  .promo--emura-only .promo__logo {height: 70%; width: auto; display: block;}

  @media (max-width: 920px) {
    .promo--emura-only .promo__grid {flex-direction: column; align-items: stretch; gap: 20px; --promo-h: 220px;}

    .promo--emura-only .promo__right {justify-content: center; padding-right: 0;}
  }

  .promo--emura-only .promo__grid {display: grid; grid-template-columns: minmax(640px, 1fr) 620px; gap: 40px; align-items: center;}

  .promo--emura-only .promo__left {max-width: none; color: #0D2233;}

  .promo--emura-only .promo__left .promo__bullets li,
  .promo--emura-only .promo__sub {color: #0D2233;}

  .promo--emura-only .promo__right {display: flex; align-items: center; justify-content: space-between; height: 300px;}

  .promo--emura-only .promo__unit,
  .promo--emura-only .promo__logo-wrap {background: #fff; border-radius: 16px; box-shadow: 0 12px 28px rgba(6, 45, 73, .12); display: flex; align-items: center; justify-content: center; height: 88%;}

  .promo--emura-only .promo__unit {width: 58%;}

  .promo--emura-only .promo__logo-wrap {width: 34%; margin-left: 24px;}

  .promo--emura-only .promo__unit img {max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 14px;}

  .promo--emura-only .promo__logo {display: block; width: auto; max-height: 72%;}

  .promo--emura-only .promo__head {margin-bottom: 8px;}

  .promo--emura-only .promo__price-row {margin-bottom: 10px;}

  @media (max-width: 1280px) {
    .promo--emura-only .promo__grid {grid-template-columns: minmax(520px, 1fr) 540px; gap: 28px;}

    .promo--emura-only .promo__right {height: 280px;}
  }

  @media (max-width: 1024px) {
    .promo--emura-only .promo__grid {grid-template-columns: 1fr;}

    .promo--emura-only .promo__right {margin-top: 20px; height: 260px;}

    .promo--emura-only .promo__unit {width: 68%;}

    .promo--emura-only .promo__logo-wrap {width: 28%;}
  }

  .promo--emura-only {min-height: 460px; display: flex; align-items: center;}

  .promo--emura-only .promo__wrap {width: 100%; position: relative;}

  .promo--emura-only .promo__head {position: absolute; top: 18px; left: 32px; right: 32px; margin: 0; z-index: 2;}

  .promo--emura-only .promo__grid {padding-top: 0px; margin-top: 0; align-items: center;}

  .promo--emura-only .promo__title,
  .promo--emura-only .promo__sub,
  .promo--emura-only .promo__bullets li {color: #0D2233;}

  @media (max-width: 1024px) {
    .promo--emura-only {min-height: unset; display: block;}

    .promo--emura-only .promo__head {position: static; margin-bottom: 8px;}

    .promo--emura-only .promo__grid {padding-top: 0;}
  }

  .promo--emura-only {--promoh: 320px;}

  .promo--emura-only .promo__wrap {position: relative; padding-top: 0px;}

  .promo--emura-only .promo__head {position: absolute; top: 0; left: 0; right: auto; margin: 0; line-height: 1.15; z-index: 2;}

  .promo--emura-only .promo__grid {display: grid; grid-template-columns: 1fr 620px; column-gap: 28px; align-items: center; min-height: var(--promoH);}

  .promo--emura-only .promo__left {align-self: center;}

  .promo--emura-only .promo__price-row,
  .promo--emura-only .promo__incl,
  .promo--emura-only .promo__bullets,
  .promo--emura-only .promo__bullets li {color: #0D2233; opacity: 1 !important;}

  .promo--emura-only .promo__right {display: flex; align-items: center; justify-content: flex-end; gap: 24px; height: calc(var(--promoH) * 0.90);}

  .promo--emura-only .promo__unit,
  .promo--emura-only .promo__logo-wrap {background: #fff; border-radius: 18px; box-shadow: 0 18px 40px rgba(8, 28, 48, 0.18); padding: 14px 18px; display: flex; align-items: center; justify-content: center; height: 100%;}

  .promo--emura-only .promo__unit {aspect-ratio: 16 / 11;}

  .promo--emura-only .promo__unit img {max-height: 100%; width: auto; height: 100%; object-fit: contain;}

  .promo--emura-only .promo__logo-wrap {aspect-ratio: 1 / 1; min-width: 152px;}

  .promo--emura-only .promo__logo {max-height: 64%; width: auto;}

  .promo--emura-only .promo__wrap {margin: 0;}

  .promo--emura-only {padding: 8px 0 24px;}

  @media (max-width: 1180px) {
    .promo--emura-only .promo__grid {grid-template-columns: 1fr 560px;}
  }

  @media (max-width: 980px) {
    .promo--emura-only .promo__grid {grid-template-columns: 1fr; row-gap: 18px; min-height: auto;}

    .promo--emura-only .promo__right {justify-content: flex-start; height: 220px;}
  }

  .promo--emura-only {padding-top: 26px; padding-bottom: 26px; --promoh: 240px;}

  .promo--emura-only .promo__wrap {position: relative; display: grid; align-items: center;}

  .promo--emura-only .promo__head {position: absolute; inset-inline-start: 0; top: 0; transform: translateY(+45px); z-index: 2;}

  .promo--emura-only .promo__grid {display: grid; grid-template-columns: 1.2fr auto auto; column-gap: 28px; align-items: center; min-height: var(--promoH);}

  .promo--emura-only .promo__left {align-self: center;}

  .promo--emura-only .promo__sub,
  .promo--emura-only .promo__bullets li {color: #0f1720;}

  .promo--emura-only .promo__right {display: grid; grid-auto-flow: column; gap: 22px;}

  .promo--emura-only .promo__unit,
  .promo--emura-only .promo__logo-wrap {height: calc(var(--promoH) * 0.875); display: grid; place-items: center; background: #fff; border: 1px solid #e6e9ee; border-radius: 16px; box-shadow: 0 12px 34px rgba(0, 0, 0, .10); overflow: hidden;}

  .promo--emura-only .promo__unit {width: clamp(240px, calc(var(--promoH) * 1.3), 360px);}

  .promo--emura-only .promo__logo-wrap {width: clamp(120px, calc(var(--promoH) * 0.62), 220px);}

  .promo--emura-only .promo__unit img,
  .promo--emura-only .promo__logo {max-height: 92%; width: auto; height: auto; object-fit: contain; display: block;}

  section.promo.promo--emura-only {padding-top: 18px; padding-bottom: 20px;}

  section.promo.promo--emura-only .promo__wrap {display: grid; align-items: center;}

  section.promo.promo--emura-only .promo__grid {display: grid; grid-template-columns: 1.15fr auto auto; column-gap: 28px; align-items: center; min-height: 250px;}

  section.promo.promo--emura-only .promo__head {position: static; margin-bottom: 8px;}

  section.promo.promo--emura-only .promo__sub,
  section.promo.promo--emura-only .promo__bullets li {color: #0f1720;}

  section.promo.promo--emura-only .promo__right {display: grid; grid-auto-flow: column; gap: 22px;}

  section.promo.promo--emura-only .promo__unit,
  section.promo.promo--emura-only .promo__logo-wrap {height: 220px !important; width: auto; display: grid; place-items: center; background: #fff; border: 1px solid #e7ebf1; border-radius: 16px; box-shadow: 0 12px 34px rgba(0, 0, 0, .10); overflow: hidden;}

  section.promo.promo--emura-only .promo__unit {min-width: 260px; max-width: 360px;}

  section.promo.promo--emura-only .promo__logo-wrap {min-width: 140px; max-width: 220px;}

  section.promo.promo--emura-only .promo__unit img,
  section.promo.promo--emura-only .promo__logo {max-height: 92%; width: auto; height: auto; object-fit: contain; display: block;}

  @media (max-width: 1024px) {
    section.promo.promo--emura-only .promo__grid {grid-template-columns: 1fr; row-gap: 18px; min-height: 0;}

    section.promo.promo--emura-only .promo__right {justify-content: start;}

    section.promo.promo--emura-only .promo__unit,
    section.promo.promo--emura-only .promo__logo-wrap {height: 180px !important;}
  }

  section.promo.promo--emura-only {padding-top: 16px; padding-bottom: 24px;}

  section.promo.promo--emura-only .promo__wrap {display: grid; align-items: center;}

  section.promo.promo--emura-only .promo__head {position: static; margin: 0 0 8px 0 !important;}

  section.promo.promo--emura-only .promo__grid {display: grid; grid-template-columns: minmax(420px, 1fr) 420px 180px; column-gap: 28px; align-items: center;}

  section.promo.promo--emura-only .promo__unit,
  section.promo.promo--emura-only .promo__logo-wrap {margin: 0 !important; padding: 0 !important; height: 260px !important; width: auto; display: grid; place-items: center; background: #fff; border: 1px solid #e7ebf1; border-radius: 16px; box-shadow: 0 12px 34px rgba(0, 0, 0, .10); overflow: hidden;}

  section.promo.promo--emura-only .promo__unit {min-width: 320px; max-width: 460px;}

  section.promo.promo--emura-only .promo__logo-wrap {min-width: 150px; max-width: 220px;}

  section.promo.promo--emura-only .promo__unit img,
  section.promo.promo--emura-only .promo__logo {max-height: 92%; width: auto; height: auto; object-fit: contain; display: block;}

  section.promo.promo--emura-only .promo__sub,
  section.promo.promo--emura-only .promo__bullets li {color: #0f1720;}

  @media (max-width: 1024px) {
    section.promo.promo--emura-only .promo__grid {grid-template-columns: 1fr; row-gap: 18px;}

    section.promo.promo--emura-only .promo__unit,
    section.promo.promo--emura-only .promo__logo-wrap {height: 200px !important;}
  }

  .promo.promo--emura-only {position: relative; padding: 32px 0 36px; display: grid; place-items: center;}

  .promo__wrap {position: relative; width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 20px;}

  .promo__head {position: absolute; left: 20px; top: -18px; z-index: 2;}

  .promo__title {margin: 0 0 6px; line-height: 1.15;}

  .promo__sub {margin: 0;}

  .promo__grid {display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 28px; min-height: 260px;}

  .promo__left p,
  .promo__bullets li {color: #0f1720;}

  .promo__bullets {margin: 10px 0 14px;}

  .promo__right {display: flex; justify-content: flex-end; align-items: center; gap: 16px;}

  .promo__unit {background: #fff; border: 1px solid #e6e9ee; border-radius: 16px; box-shadow: 0 12px 36px rgba(0, 0, 0, .10); padding: 16px;}

  .promo__unit img {display: block; height: 210px; width: 360px; object-fit: contain;}

  .promo__logo-wrap {background: #fff; border: 1px solid #e6e9ee; border-radius: 16px; padding: 14px 18px; box-shadow: 0 12px 36px rgba(0, 0, 0, .10);}

  .promo__logo {display: block; height: 54px; width: auto;}

  .promo__badges .eu-chip {margin-right: 8px; margin-top: 6px;}

  .promo__cta {display: flex; gap: 12px; flex-wrap: wrap;}

  @media (max-width: 980px) {
    .promo__head {position: static; margin-bottom: 6px;}

    .promo__grid {grid-template-columns: 1fr; gap: 18px;}

    .promo__right {justify-content: flex-start;}

    .promo__unit img {width: 100%; height: 180px;}

    .promo__logo {height: 48px;}
  }

  @media (max-width: 980px) {

    .promo--emura-only .promo__grid {grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 1.5rem; align-items: start;}

    .promo--emura-only .promo__head {position: static; margin-bottom: 0.5rem; text-align: left;}

    .promo--emura-only {padding: 24px 0 28px;}

    .promo--emura-only .promo__left p,
    .promo--emura-only .promo__bullets li {font-size: 0.95rem; line-height: 1.45;}

    .promo--emura-only .promo__cta {justify-content: center;}

    .promo--emura-only .promo__right {flex-direction: column; justify-content: center; align-items: center; gap: 12px;}

    .promo--emura-only .promo__unit img {height: 180px; width: auto;}

    .promo--emura-only .promo__logo-wrap {padding: 10px 14px;}

    .promo--emura-only .promo__logo {height: 48px;}
  }

  @media (max-width: 600px) {
    .promo--emura-only .promo__unit img {height: 150px;}

    .promo--emura-only .promo__logo {height: 42px;}
  }

  @media (max-width: 980px) {

    .promo--emura-only {padding: 20px 0 24px;}

    .promo--emura-only .promo__grid {grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 16px; align-items: start;}

    .promo--emura-only .promo__title {font-size: clamp(1.18rem, 4.2vw, 1.45rem); line-height: 1.2; margin: 0 0 6px; word-break: break-word;}

    .promo--emura-only .promo__sub {margin: 2px 0 10px; line-height: 1.35;}

    .promo--emura-only .promo__badges {display: flex; flex-wrap: wrap; gap: 6px 8px; margin: 6px 0 8px;}

    .promo--emura-only .promo__bullets li,
    .promo--emura-only .promo__left p {font-size: 0.98rem; line-height: 1.45;}

    .promo--emura-only .promo__cta {gap: 10px; flex-wrap: wrap;}

    .promo--emura-only .promo__right {display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: center; justify-items: center;}

    .promo--emura-only .promo__unit,
    .promo--emura-only .promo__logo-wrap {width: 100%; max-width: 420px; margin: 0 auto;}

    .promo--emura-only .promo__unit img {display: block; height: 180px; width: 100%; max-width: 100%; object-fit: contain;}

    .promo--emura-only .promo__logo-wrap {padding: 12px 16px;}

    .promo--emura-only .promo__logo {height: 48px; width: auto; display: block; margin: 0 auto;}
  }

  @media (max-width: 600px) {

    .promo--emura-only .promo__right {grid-template-columns: 1fr; gap: 14px;}

    .promo--emura-only .promo__unit img {height: 155px;}

    .promo--emura-only .promo__logo {height: 42px;}
  }

  .site-footer .footer-mark {height: 24px; width: auto; display: block;}

  @media (max-width: 680px) {
    .site-footer .footer-mark {height: 20px;}
  }

  .site-footer .footer-phone {display: inline-block; font-weight: 600; color: #eaf1ff; text-decoration: none;}

  .site-footer .footer-phone:hover {text-decoration: underline; opacity: 0.95;}

body.home .section-services .service-card[data-service="zakelijk"] .media {position: relative; overflow: hidden;}

body.home .section-services .service-card[data-service="zakelijk"] .media > img {display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 0% !important;}

body.home .section-services .service-grid .service-card:nth-child(3) .media img {object-position: 50% 0% !important;}

body.home .khv2-hero .cta,
body.home .khv2-hero .hero-cta,
body.home .khv2-hero .btn-row {display: flex; gap: 14px; flex-wrap: wrap;}

body.home .khv2-hero :is(.btn, .button, a.btn, a.button) {font-size: clamp(16px, 1.25vw + 12px, 20px); line-height: 1.2; font-weight: 600; padding: 14px 28px; min-height: 54px; min-width: 210px; border-radius: 9999px;}

body.home .khv2-hero :is(.btn-outline, .button-outline) {background: #fff0; border-width: 2px;}

@media (max-width: 640px) {
  body.home .khv2-hero :is(.btn, .button, a.btn, a.button) {font-size: 16px; padding: 12px 22px; min-width: 180px; min-height: 50px;}
  body.home .khv2-hero .cta,
  body.home .khv2-hero .hero-cta,
  body.home .khv2-hero .btn-row {gap: 10px;}
}

body.home :is(.khv2-hero, .hero, .site-hero, header[class*="hero"], section[class*="hero"]) .btn-row,
body.home :is(.khv2-hero, .hero, .site-hero, header[class*="hero"], section[class*="hero"]) .cta {display: flex; flex-wrap: wrap; gap: 14px;}

body.home :is(.khv2-hero, .hero, .site-hero, header[class*="hero"], section[class*="hero"])
  :is(.btn, .button, .btn-green, .btn-outline, a.btn, a.button) {font-size: clamp(16px, 1.2vw + 12px, 20px); line-height: 1.2; font-weight: 600; padding: 14px 28px; min-height: 54px; min-width: 210px; border-radius: 9999px;}

body.home :is(.khv2-hero, .hero, .site-hero, header[class*="hero"], section[class*="hero"])
  a[href*="keuzehulp"] {font-size: clamp(16px, 1.2vw + 12px, 20px); line-height: 1.2; font-weight: 600; padding: 14px 28px; min-height: 54px; min-width: 210px; border-radius: 9999px; display: inline-flex; align-items: center; justify-content: center;}

body.home :is(.khv2-hero, .hero, .site-hero, header[class*="hero"], section[class*="hero"])
  a[href^="tel:"] {font-size: clamp(16px, 1.2vw + 12px, 20px); line-height: 1.2; font-weight: 600; padding: 14px 28px; min-height: 54px; min-width: 210px; border-radius: 9999px; display: inline-flex; align-items: center; justify-content: center;}

body.home :is(.khv2-hero, .hero, .site-hero, header[class*="hero"], section[class*="hero"])
  :is(.btn-outline, .button-outline) {background: transparent; border-width: 2px;}

@media (max-width: 640px) {
  body.home :is(.khv2-hero, .hero, .site-hero, header[class*="hero"], section[class*="hero"])
    :is(.btn, .button, .btn-green, .btn-outline, a.btn, a.button, a[href*="keuzehulp"], a[href^="tel:"]) {font-size: 16px; padding: 12px 22px; min-width: 180px; min-height: 50px;}
  body.home :is(.khv2-hero, .hero, .site-hero, header[class*="hero"], section[class*="hero"])
    :is(.btn-row, .cta) {gap: 10px;}
}

body.home :is(.khv2-hero, .hero, .site-hero, header[class*="hero"], section[class*="hero"])
  a[href^="tel:"] {background: var(--accent-500, #ffffff); color: #000; border: 2px solid transparent;}

body.home :is(.khv2-hero, .hero, .site-hero, header[class*="hero"], section[class*="hero"])
  a[href^="tel:"]:hover {background: var(--accent-600, #1678d3);}

body.home :is(.khv2-hero, .hero, .site-hero, header[class*="hero"], section[class*="hero"])
  a[href^="tel:"]:active {background: var(--accent-700, #1164b1);}

body[class*="airco"] :is(.section-faq, .faq, section[id*="faq"], .accordion-section) {padding-block: clamp(40px, 6vw, 96px);}

body[class*="airco"] :is(.khv2-cta, .section-maintenance, .promo--emura-only, .section-services) {margin-bottom: clamp(24px, 3vw, 56px);}

body[class*="airco"] :is(.section-faq, .faq, section[id*="faq"], .accordion-section) + footer.site-footer {margin-top: clamp(24px, 3vw, 48px);}

body.airco .section-faq,
body.airco .faq-section,
body.airco section.faq,
body.airco section[id*="faq"],
body.airco .accordion-section,
body.airco .accordion-wrapper,
body.airco .accordion,
body.airco .accordion-list {padding-block: clamp(48px, 6vw, 96px) !important; margin-block: clamp(24px, 4vw, 64px) !important;}

body.airco .site-footer {margin-top: clamp(32px, 4vw, 72px) !important;}

main#airco-scope .container:has(.accordion),
main#airco-scope section:has(.accordion) {padding-block: clamp(48px, 6vw, 96px) !important;}

@supports not selector(:has(*)) {
  main#airco-scope .container > .accordion,
  main#airco-scope section > .accordion {padding-block: clamp(48px, 6vw, 96px) !important;}
}

main#airco-scope + .site-footer,
main#airco-scope .site-footer {margin-top: clamp(32px, 4vw, 72px) !important;}

main#diensten-scope #diensten-cta .card-dark h2 {color: #fff !important;}

main#diensten-scope #diensten-cta .card-dark h2 .accent--green {color: var(--accent-600) !important;}



/* --- Product Gallery (prijzen.html) --- */
.section-gallery {
  padding-block: clamp(48px,6vw,96px);
  background: #fff;
  text-align: center;
}
.section-gallery .gallery-wrapper {
  position: relative;
  overflow: hidden;
}
.gallery-track {
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.gallery-track::-webkit-scrollbar { display: none; }
.gallery-track img {
  height: 280px;
  flex: 0 0 auto;
  border-radius: var(--radius);
  box-shadow: 0 2px 10px rgba(0,0,0,.1);
}
.gallery-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 50%;
  width: 40px; height: 40px;
  cursor: pointer;
  opacity: .85;
  transition: opacity .2s;
}
.gallery-btn:hover { opacity: 1; }
.gallery-btn.prev { left: .5rem; }
.gallery-btn.next { right: .5rem; }
#gallery-slider {
  width: 100%;
  margin-top: 1rem;
}

/* ===================== Mobile Overhaul (non-desktop safe) ===================== */

/* Base container paddings */
@media (max-width: 768px) {
  .container { padding-left: 16px; padding-right: 16px; }
  section, .section { padding-block: clamp(28px, 8vw, 48px); }
}

/* Header & Mobile Nav */
@media (max-width: 900px) {
  header .nav, header nav, .site-nav { display: none; }
  .mobile-nav-open header .nav,
  .mobile-nav-open header nav,
  .mobile-nav-open .site-nav {
    display: block;
    position: absolute; left: 0; right: 0; top: var(--header-h, 64px);
    background: var(--card, #fff);
    padding: 12px 16px;
    box-shadow: 0 10px 30px rgba(0,0,0,.12);
    z-index: 50;
  }
  .mobile-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 42px; height: 42px; border-radius: 10px; border: 1px solid rgba(0,0,0,.08);
    background: var(--card, #fff);
  }
  .mobile-toggle .bar { width: 18px; height: 2px; background: currentColor; display: block; }
  .mobile-toggle .bar + .bar { margin-top: 4px; }
  header .logo { max-width: 160px; }
  header .cta, header .btn-row { display: none; } /* optional: move CTAs into menu links */
  header .nav a, .site-nav a { display: block; padding: 12px 6px; font-size: 16px; }
}

/* Hero (index) */
@media (max-width: 768px) {
  .hero { padding-top: clamp(12px, 5vw, 24px); padding-bottom: clamp(24px, 8vw, 48px); }
  .hero .grid, .hero .row { display: block; }
  .hero h1 { font-size: clamp(26px, 7vw, 34px); line-height: 1.12; }
  .hero p.lead { font-size: clamp(15px, 4.2vw, 17px); }
  .hero .btn-row { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .hero .btn, .hero a.btn { width: 100%; }
  .hero img, .hero video { width: 100%; height: auto; border-radius: var(--radius); }
}

/* Trust ticker */
@media (max-width: 768px) {
  .trust-ticker, .trust-row { overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
  .trust-ticker .item, .trust-row .item { display: inline-flex; padding-right: 18px; }
}

/* Promo cards / product features rows */
@media (max-width: 900px) {
  .promo-grid, .cards, .features, .product-grid, .services-grid,
  .grid, .cards-3, .cards-4, .cards-2 {
    display: grid; grid-template-columns: 1fr; gap: 16px;
  }
  .promo .media, .promo .content { width: 100%; }
  .promo .media img { width: 100%; height: auto; object-fit: cover; }
}

/* FAQ accordions */
@media (max-width: 768px) {
  .accordion .item { border-radius: 10px; }
  .accordion .item + .item { margin-top: 10px; }
  .accordion .item .head { padding: 14px 14px; font-size: 16px; }
  .accordion .item .body { padding: 12px 14px 18px; font-size: 15px; }
}

/* Footer stacking */
@media (max-width: 768px) {
  footer .cols, footer .grid, footer .row {
    display: grid; grid-template-columns: 1fr; gap: 12px;
  }
  footer .logo { margin-bottom: 8px; }
  footer nav a { padding: 6px 0; }
}

/* Product pages: gallery & info columns */
@media (max-width: 900px) {
  .product-layout, .product-columns, .product-two-col {
    display: grid; grid-template-columns: 1fr; gap: 18px;
  }
  .gallery-main img { width: 100%; height: auto; }
  .thumbs, .thumbnails, .product-thumbs, .gallery-thumbs {
    display: flex; gap: 10px; overflow-x: auto;
  }
  .thumbs img, .thumbnails img, .product-thumbs img, .gallery-thumbs img {
    height: 72px; width: auto;
  }
}

/* Keuzehulp card overlap safety */
@media (max-width: 768px) {
  .keuzehulp-card { margin-top: 14px; transform: none !important; }
}

/* ================= MOBILE PATCHES (safe for desktop) ================= */

/* 1) Emura promo: prevent text overlap & clipped logo */
@media (max-width: 768px) {
  .promo, .promo-card { position: relative; }
  .promo .row, .promo .grid { display: block !important; }
  .promo .content { position: static !important; margin-bottom: 14px; }
  .promo .badges, .promo .labels { flex-wrap: wrap; gap: 6px; }
  .promo .media img { width: 100%; height: auto; object-fit: cover; object-position: center; }
  .promo .brand-logo, .promo .logo { max-width: 80px; height: auto; object-fit: contain; }
}

/* 2) Keuzehulp hero card: inputs/buttons fully on the card */
@media (max-width: 768px) {
  .keuzehulp-card { transform: none !important; margin-inline: 0; }
  .keuzehulp-card form .row { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .keuzehulp-card input, .keuzehulp-card select, .keuzehulp-card .btn { width: 100% !important; }
  .keuzehulp-card .btn-row { display: grid; grid-template-columns: 1fr; gap: 10px; }
}

/* 3) Diensten page: tiny images -> full width */
@media (max-width: 900px) {
  main#diensten-scope .services-grid, main#diensten-scope .cards, main#diensten-scope .grid {
    grid-template-columns: 1fr !important; gap: 16px;
  }
  main#diensten-scope .card .media img,
  main#diensten-scope .service .media img {
    width: 100%; height: auto; object-fit: cover; border-radius: var(--radius, 16px);
  }
}

/* 4) Keuzehulp — step 3 results: clipping fix */
@media (max-width: 768px) {
  .wizard, .wizard [data-step="3"] .summary,
  .wizard .result-card, .wizard .modal, .wizard .sheet {
    overflow: visible !important;
  }
  .wizard [data-step="3"] .result-card .media img { width: 100%; height: auto; object-fit: contain; }
  .wizard [data-step="3"] .actions { position: static; margin-top: 12px; }
}

/* 5) Modellen filter: make collapsible + not covering list */
@media (max-width: 900px) {
  #filters, .filters, aside.filters {
    position: sticky; top: calc(var(--header-h, 64px) + 8px);
    z-index: 10; background: #fff; border-radius: 14px; box-shadow: 0 6px 24px rgba(0,0,0,.08);
    overflow: hidden; max-height: 64px; transition: max-height .25s ease, box-shadow .2s ease;
  }
  .filters--open { max-height: 80vh !important; overflow: auto !important; }
  .filters__header { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; }
  .filters__title { font-weight: 600; }
  .filters__toggle { border: 1px solid rgba(0,0,0,.1); background:#fff; border-radius: 10px; padding: 6px 10px; }
  .filters form, .filters .body { padding: 0 16px 14px; }
}

/* ================= MOBILE HOTFIXES (scoped; desktop untouched) ================= */

/* 1) Emura promo: stop text overlap + unclipped logo/media */
@media (max-width: 768px) {
  .promo .row, .promo .grid { display:block !important; }
  .promo .content { position: static !important; margin-bottom: 12px; }
  .promo .badges, .promo .labels { position: static !important; flex-wrap: wrap; gap: 6px; }
  .promo .price, .promo .strike { position: static !important; margin: 6px 0 0; }
  .promo .media { margin-top: 12px; }
  .promo .media img { width:100%; height:auto; object-fit:cover; object-position:center; border-radius:12px; }
  .promo .brand-logo, .promo .logo { max-width:84px; height:auto; object-fit:contain; }
}

/* 2) Keuzehulp hero card: keep fields/buttons on the card */
@media (max-width: 768px) {
  .keuzehulp-card { transform:none !important; margin:14px auto 0; left:auto; right:auto; }
  .keuzehulp-card form .row, .keuzehulp-card .form-row { display:grid; grid-template-columns:1fr; gap:10px; }
  .keuzehulp-card input, .keuzehulp-card select, .keuzehulp-card .btn { width:100% !important; }
  .keuzehulp-card .btn-row { display:grid; grid-template-columns:1fr; gap:10px; }
}

/* 3) Diensten: images appear tiny → full-width cards */
@media (max-width: 900px) {
  main#diensten-scope .services-grid, 
  main#diensten-scope .cards, 
  main#diensten-scope .grid { grid-template-columns:1fr !important; gap:16px; }
  main#diensten-scope .card .media img,
  main#diensten-scope .service .media img { width:100%; height:auto; object-fit:cover; border-radius:var(--radius,16px); }
}

/* 4) Keuzehulp — stap 3 (resultaat) clipping */
@media (max-width: 768px) {
  .wizard .modal .body, .wizard .sheet, .wizard .result-card { max-height:none; overflow:visible !important; }
  .wizard [data-step="3"] .result-card { display:block; }
  .wizard [data-step="3"] .result-card .col-media,
  .wizard [data-step="3"] .result-card .col-info { width:100%; }
  .wizard [data-step="3"] .actions { position:static; margin-top:12px; }
}

/* 5) Modellen filter already OK (collapsible) — keep space below when open */
@media (max-width: 900px) {
  .filters--open + * { margin-top: 12px; }
}

/* ================= MOBILE HOTFIX PACK (desktop untouched) ================= */

/* 1) Emura promo: prevent text/badge overlap + unclipped brand logo + image not bleeding */
@media (max-width: 768px) {
  .promo-card, .promo { overflow: hidden; }
  .promo .row, .promo .grid { display:block !important; }
  .promo .content { position:static !important; margin-bottom:12px; }
  .promo .price, .promo .strike, .promo .badges, .promo .labels,
  .promo .cta-row, .promo .bullets { position:static !important; }
  .promo .badges, .promo .labels { display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
  .promo .media { margin-top:12px; }
  .promo .media img { display:block; width:100%; height:auto; object-fit:cover; border-radius:12px; }
  .promo .brand-logo, .promo .logo { max-width:88px; height:auto; object-fit:contain; }
}

/* 2) Index hero → keuzehulp card: keep inputs & buttons fully inside the card */
@media (max-width: 768px) {
  .hero .btn-row { display:grid; grid-template-columns:1fr; gap:10px; }
  .keuzehulp-card { transform:none !important; margin:14px 0 0; left:auto; right:auto; }
  .keuzehulp-card form .row, .keuzehulp-card .form-row { display:grid; grid-template-columns:1fr; gap:10px; }
  .keuzehulp-card input, .keuzehulp-card select, .keuzehulp-card .btn { width:100% !important; box-sizing:border-box; }
  .keuzehulp-card .btn-row { display:grid; grid-template-columns:1fr; gap:10px; }
}

/* 3) Diensten page images: scale up on mobile */
@media (max-width: 900px) {
  main#diensten-scope .services-grid,
  main#diensten-scope .cards,
  main#diensten-scope .grid { grid-template-columns:1fr !important; gap:16px; }
  main#diensten-scope .card .media img,
  main#diensten-scope .service .media img { width:100%; height:auto; object-fit:cover; border-radius:var(--radius,16px); }
}

/* 4) Keuzehulp — Step 3: prevent clipping of product info and actions */
@media (max-width: 768px) {
  .wizard .modal, .wizard .sheet, .wizard .result-card { overflow:visible !important; max-height:none !important; }
  .wizard [data-step="3"] .result-card { display:block; }
  .wizard [data-step="3"] .result-card .col-media,
  .wizard [data-step="3"] .result-card .col-info { width:100%; float:none; }
  .wizard [data-step="3"] .actions { position:static; margin-top:12px; }
}

/* 5) Modellen filter (keep your working collapsible UX tidy) */
@media (max-width: 900px) {
  .filters--open + * { margin-top:12px; }
}

/* ===== MOBILE PRECISION HOTFIX (selectors from screenshots) ===== */

/* 1) Emura promo block (stop text/badge overlap & logo clipping) */
@media (max-width: 768px) {
  header.promo__head,
  h3.promo__title,
  p.promo__sub { position: static !important; display:block; width:100%; }
  h3.promo__title { line-height: 1.22; margin: 0 0 6px; }
  p.promo__sub   { line-height: 1.35; margin: 2px 0 8px; }
  .promo .badges, .promo .labels { position: static !important; display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
  .promo .media { margin-top: 12px; }
  .promo .media img { width:100%; height:auto; object-fit:cover; border-radius:12px; }
  .promo .brand-logo, .promo .logo { max-width:88px; height:auto; object-fit:contain; }
}

/* 2) Index hero → keuzehulp card (keep inputs/buttons fully on card) */
@media (max-width: 768px) {
  .keuzehulp-card { transform:none !important; margin:14px 0 0; left:auto; right:auto; }
  .keuzehulp-card .form-row, .keuzehulp-card form .row { display:grid; grid-template-columns:1fr; gap:10px; }
  .keuzehulp-card input, .keuzehulp-card select, .keuzehulp-card .btn { width:100% !important; box-sizing:border-box; }
  .keuzehulp-card .btn-row { display:grid; grid-template-columns:1fr; gap:10px; }
}

/* 3) Diensten hero card (your grid-2 wrapper) — make image full width */
@media (max-width: 768px) {
  #svc-airco-grid.container.grid-2 { display:block !important; }
  #svc-airco-grid .media img { width:100% !important; height:auto !important; object-fit:cover; }
}

/* 4) Keuzehulp step 3 results (kh-reco-*) — stop clipping/2-col overflow */
@media (max-width: 768px) {
  .kh-reco-main, .kh-reco-body { width:100% !important; float:none !important; display:block !important; }
  .wizard .modal, .wizard .sheet, .wizard .result-card { overflow:visible !important; max-height:none !important; }
  .wizard [data-step="3"] .actions { position: static !important; margin-top: 12px; }
}

/* ===== Emura promo — mobile stack & spacing (no desktop impact) ===== */
@media (max-width: 768px) {
  section.promo.promo--emura-only .promo__wrap,
  .promo--emura-only .promo__wrap {
    display: block !important;
    padding-top: 0 !important;
  }

  /* Make all text rows flow normally (no overlay) */
  .promo--emura-only .promo__head,
  .promo--emura-only h3.promo__title,
  .promo--emura-only p.promo__sub,
  .promo--emura-only .price-row,
  .promo--emura-only .badges,
  .promo--emura-only .labels,
  .promo--emura-only .bullets,
  .promo--emura-only .cta-row {
    position: static !important;
    width: 100%;
  }

  .promo--emura-only h3.promo__title { 
    line-height: 1.22; 
    margin: 0 0 6px; 
  }
  .promo--emura-only p.promo__sub { 
    line-height: 1.35; 
    margin: 2px 0 8px; 
  }

  /* Price + strike + badges: wrap neatly */
  .promo--emura-only .price-row { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 6px 10px; 
    align-items: baseline; 
    margin-bottom: 8px;
  }
  .promo--emura-only .badges,
  .promo--emura-only .labels { 
    display: flex; 
    flex-wrap: wrap; 
    gap: 6px; 
    margin-top: 6px; 
  }

  /* Buttons full width under text */
  .promo--emura-only .cta-row { 
    display: grid; 
    grid-template-columns: 1fr; 
    gap: 10px; 
    margin: 10px 0 12px; 
  }

  /* Image block below content, not clipped */
  .promo--emura-only .promo__media,
  .promo--emura-only .media { 
    margin-top: 12px; 
  }
  .promo--emura-only .promo__media img,
  .promo--emura-only .media img { 
    display: block; 
    width: 100%; 
    height: auto; 
    object-fit: cover; 
    border-radius: 12px; 
  }

  /* Brand logo size/fit */
  .promo--emura-only .brand-logo, 
  .promo--emura-only .logo { 
    max-width: 88px; 
    height: auto; 
    object-fit: contain; 
  }

  /* Card padding */
  .promo--emura-only .promo__card { 
    padding: 16px 16px 18px !important; 
  }
}

/* ===== Diensten page: force full-width media on mobile ===== */
@media (max-width: 768px) {
  /* Stack the two-column service blocks */
  main#diensten-scope #svc-multisplit .container.grid-2,
  main#diensten-scope #svc-zakelijk   .container.grid-2,
  main#diensten-scope #svc-wp         .container.grid-2,
  main#diensten-scope #svc-reparatie  .container.grid-2,
  main#diensten-scope #svc-onderhoud  .container.grid-2 {
    display: block !important;
  }

  /* Ensure the image row becomes full-width under the text */
  main#diensten-scope #svc-multisplit figure.media,
  main#diensten-scope #svc-zakelijk   figure.media,
  main#diensten-scope #svc-wp         figure.media,
  main#diensten-scope #svc-reparatie  figure.media,
  main#diensten-scope #svc-onderhoud  figure.media {
    margin-top: 12px;
  }

  /* Kill any tiny inline sizes and stretch nicely */
  main#diensten-scope #svc-multisplit figure.media img,
  main#diensten-scope #svc-zakelijk   figure.media img,
  main#diensten-scope #svc-wp         figure.media img,
  main#diensten-scope #svc-reparatie  figure.media img,
  main#diensten-scope #svc-onderhoud  figure.media img {
    width: 100% !important;
    height: auto !important;
    max-width: none !important;
    object-fit: cover;
    border-radius: 14px;
  }
}

/* ===== Mobile fixes: Diensten order + Emura promo head ===== */

/* 1) Diensten — text first, image below (onderhoud, single split/warmtepomp, zakelijk, multisplit) */
@media (max-width: 768px) {
  #svc-onderhoud .container.grid-2,
  #svc-wp .container.grid-2,
  #svc-zakelijk .container.grid-2,
  #svc-multisplit .container.grid-2 {
    display: flex !important;
    flex-direction: column !important; /* stack */
    gap: 12px;
  }
  /* image block goes AFTER content */
  #svc-onderhoud .container.grid-2 figure.media,
  #svc-wp .container.grid-2 figure.media,
  #svc-zakelijk .container.grid-2 figure.media,
  #svc-multisplit .container.grid-2 figure.media { order: 2; margin-top: 8px; }
  #svc-onderhoud .container.grid-2 > div:not(.media),
  #svc-wp .container.grid-2 > div:not(.media),
  #svc-zakelijk .container.grid-2 > div:not(.media),
  #svc-multisplit .container.grid-2 > div:not(.media) { order: 1; }

  /* ensure images actually fill the row and don’t float up */
  #svc-onderhoud figure.media img,
  #svc-wp figure.media img,
  #svc-zakelijk figure.media img,
  #svc-multisplit figure.media img {
    display: block; width: 100% !important; height: auto !important;
    object-fit: cover; border-radius: 14px;
  }
}

/* 2) Emura promo — bring head up and stop overlaps */
@media (max-width: 768px) {
  .promo--emura-only .promo__wrap { display:block !important; padding-top: 0 !important; }
  .promo--emura-only .promo__head { position: static !important; margin-top: 0 !important; padding-top: 0 !important; }
  .promo--emura-only h3.promo__title,
  .promo--emura-only p.promo__sub { position: static !important; margin: 0 0 6px !important; line-height: 1.3; }
  .promo--emura-only .price-row,
  .promo--emura-only .badges { position: static !important; margin-top: 6px; display:flex; flex-wrap:wrap; gap:6px 10px; }
  .promo--emura-only .cta-row { display:grid; grid-template-columns:1fr; gap:10px; margin:10px 0 12px; }
  .promo--emura-only .promo__media { margin-top: 12px; }
  .promo--emura-only .promo__media img { width:100%; height:auto; object-fit:cover; border-radius:12px; }
}

/* ===== URGENT MOBILE PATCHES (desktop untouched) ===== */

/* --- A) PROMO – Emura: lift head, stop overlays --- */
@media (max-width: 768px) {
  section.promo.promo--emura-only .promo__wrap { display:block !important; padding-top:0 !important; }

  section.promo.promo--emura-only .promo__head,
  section.promo.promo--emura-only h3.promo__title,
  section.promo.promo--emura-only p.promo__sub,
  section.promo.promo--emura-only .price-row,
  section.promo.promo--emura-only .badges,
  section.promo.promo--emura-only .labels,
  section.promo.promo--emura-only .bullets,
  section.promo.promo--emura-only .cta-row {
    position:static !important;
    inset:auto !important;
    transform:none !important;
    width:100% !important;
    z-index:auto !important;
  }

  section.promo.promo--emura-only .promo__head { margin:0 0 6px !important; padding:0 !important; }
  section.promo.promo--emura-only h3.promo__title { line-height:1.22 !important; margin:0 0 6px !important; }
  section.promo.promo--emura-only p.promo__sub   { line-height:1.35 !important; margin:2px 0 8px !important; }

  section.promo.promo--emura-only .price-row      { display:flex !important; flex-wrap:wrap !important; gap:6px 10px !important; align-items:baseline !important; margin-bottom:8px !important; }
  section.promo.promo--emura-only .badges,
  section.promo.promo--emura-only .labels         { display:flex !important; flex-wrap:wrap !important; gap:6px !important; margin-top:6px !important; }

  section.promo.promo--emura-only .cta-row        { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; margin:10px 0 12px !important; }

  section.promo.promo--emura-only .promo__media   { margin-top:12px !important; }
  section.promo.promo--emura-only .promo__media img,
  section.promo.promo--emura-only .media img      { display:block !important; width:100% !important; height:auto !important; object-fit:cover !important; border-radius:12px !important; }
}

/* --- B) DIENSTEN – force text first, image second (like Multi-split/Airconditioning) --- */
@media (max-width: 768px) {
  /* Stack and order */
  main#diensten-scope #svc-onderhoud .container.grid-2,
  main#diensten-scope #svc-wp         .container.grid-2,
  main#diensten-scope #svc-zakelijk   .container.grid-2,
  main#diensten-scope #svc-reparatie  .container.grid-2,
  main#diensten-scope #svc-multisplit .container.grid-2 {
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
  }

  /* Image ALWAYS below text */
  main#diensten-scope #svc-onderhoud .container.grid-2 figure.media,
  main#diensten-scope #svc-wp         .container.grid-2 figure.media,
  main#diensten-scope #svc-zakelijk   .container.grid-2 figure.media,
  main#diensten-scope #svc-reparatie  .container.grid-2 figure.media,
  main#diensten-scope #svc-multisplit .container.grid-2 figure.media {
    order:2 !important; margin-top:8px !important;
  }
  main#diensten-scope #svc-onderhoud .container.grid-2 > *:not(figure.media),
  main#diensten-scope #svc-wp         .container.grid-2 > *:not(figure.media),
  main#diensten-scope #svc-zakelijk   .container.grid-2 > *:not(figure.media),
  main#diensten-scope #svc-reparatie  .container.grid-2 > *:not(figure.media),
  main#diensten-scope #svc-multisplit .container.grid-2 > *:not(figure.media) {
    order:1 !important;
  }

  /* Make the images fill the row */
  main#diensten-scope #svc-onderhoud figure.media img,
  main#diensten-scope #svc-wp         figure.media img,
  main#diensten-scope #svc-zakelijk   figure.media img,
  main#diensten-scope #svc-reparatie  figure.media img,
  main#diensten-scope #svc-multisplit figure.media img {
    display:block !important;
    width:100% !important;
    height:auto !important;
    max-width:none !important;
    object-fit:cover !important;
    border-radius:14px !important;
  }
}

/* ===== Emura promo: lift text block further on mobile ===== */
@media (max-width: 768px) {
  /* kill any hidden spacer/pseudo that pushes content down */
  .promo--emura-only .promo__wrap::before,
  .promo--emura-only .promo__wrap::after,
  .promo--emura-only .promo__intro-spacer,
  .promo--emura-only .spacer {
    content: none !important; display: none !important; height: 0 !important;
  }

  /* reduce card top padding */
  .promo--emura-only .promo__card { padding-top: 8px !important; }

  /* zero out head/top margins */
  .promo--emura-only .promo__head { margin-top: 0 !important; padding-top: 0 !important; }
  .promo--emura-only h3.promo__title { margin-top: 0 !important; margin-bottom: 4px !important; }
  .promo--emura-only p.promo__sub   { margin: 0 0 6px !important; }

  /* tighten price/badges block so it sits higher */
  .promo--emura-only .price-row { margin-top: 0 !important; margin-bottom: 6px !important; }
  .promo--emura-only .badges, 
  .promo--emura-only .labels { margin-top: 4px !important; }
}

/* ==== PROMO (Emura) — hard lift on mobile ==== */
@media (max-width: 768px) {
  section.promo.promo--emura-only .promo__wrap,
  section.promo.promo--emura-only .promo__card,
  section.promo.promo--emura-only .promo__head {
    position: static !important;
    inset: auto !important;
    transform: none !important;
  }

  /* remove any spacer/pseudo pushing down */
  section.promo.promo--emura-only .promo__wrap::before,
  section.promo.promo--emura-only .promo__wrap::after {
    content: none !important; display: none !important; height: 0 !important;
  }

  /* pull the whole text block up a bit */
  section.promo.promo--emura-only .promo__card { padding-top: 4px !important; }
  section.promo.promo--emura-only .promo__head { margin-top: -10px !important; padding-top: 0 !important; }

  /* ensure title/sub flow normally */
  section.promo.promo--emura-only h3.promo__title,
  section.promo.promo--emura-only p.promo__sub {
    display:block !important; margin: 0 0 6px !important; line-height: 1.28 !important;
  }

  /* place price/badges AFTER sub, not overlapping */
  section.promo.promo--emura-only .price-row {
    position: static !important; float: none !important; clear: both !important;
    margin: 2px 0 6px !important; display: flex !important; flex-wrap: wrap !important; gap: 6px 10px !important;
  }
  section.promo.promo--emura-only .badges,
  section.promo.promo--emura-only .labels {
    position: static !important; margin-top: 4px !important; display: flex !important; flex-wrap: wrap !important; gap: 6px !important;
  }
}

/* Emura promo: push price row down on mobile */
@media (max-width: 768px) {
  section.promo.promo--emura-only .promo__price-row,
  section.promo.promo--emura-only .price-row {
    padding-top: 25px !important;   /* matches your DevTools test */
    margin-top: 0 !important;       /* neutralize the -30px margin seen in screenshots */
  }
}

/* Mobile header: ensure only one visible toggle and it’s not covered */
@media (max-width: 768px) {
  header.site-header .menu-toggle,
  header.site-header .nav-toggle,
  header.site-header [data-mobile-toggle],
  header.site-header [data-nav-toggle] { z-index: 1002; position: relative; }

  header.site-header .header-cta,
  header.site-header .btn--cta,
  header.site-header .cta-pill { z-index: 1001; position: relative; }

  /* Safety: hide any centered/floating duplicate toggle if present */
  header.site-header .toolbar .btn-toggle:not(:last-child) { display: none !important; }
}

/* ——— Mobile header: single hamburger, never covered ——— */
@media (max-width: 768px) {
  header.site-header button.mobile-toggle {           /* hide the duplicate */
    display: none !important;
  }
  header.site-header button.nav-toggle {              /* keep this one */
    position: relative !important;
    z-index: 1005 !important;
    min-width: 44px; min-height: 44px;               /* comfy tap target */
    margin-left: auto;                                /* push to right if in a flex row */
  }
  header.site-header .header-cta,                     /* Bel/Offerte pill */
  header.site-header .btn--cta,
  header.site-header .cta-pill {
    position: relative !important;
    z-index: 1004 !important;                         /* below the hamburger */
  }
}

/* Desktop: remove ghost/oval hamburger */
@media (min-width: 992px) {
  header.site-header button.mobile-toggle,
  header.site-header button.nav-toggle,
  header.site-header .btn-toggle,
  header.site-header [aria-label*="menu"],
  header.site-header [aria-label*="Menu"] {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    pointer-events: none !important;
  }
}

/* Over-ons hero layout: text left, image right */
#about-hero .about-hero-grid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 48px;
}

/* Text column */
#about-hero .about-hero-text {
  flex: 1 1 0;
  max-width: 540px;
}

/* Image column */
#about-hero .about-hero-media {
  flex: 1 1 0;
  display: flex;
  justify-content: center;
}

#about-hero .about-hero-img {
  max-width: 360px;
  width: 100%;
  height: auto;
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.18);
  object-fit: contain;
}

/* Mobile: stack under the text */
@media (max-width: 900px) {
  #about-hero .about-hero-grid {
    flex-direction: column;
    align-items: flex-start;
  }

  #about-hero .about-hero-media {
    margin-top: 16px;
  }

  #about-hero .about-hero-img {
    max-width: 260px;
  }
}
