/* Installatiebedrijf Stroomlijn · installateur A · N1 / H8 / R3
   Concept: het warmtebeeld. Kalkwit, nachtinkt, gloeiend oranje, aanvoerrood en retourblauw, ijzerpalet van een warmtebeeldcamera.
   Letters: IBM Plex Sans, IBM Plex Sans Condensed en IBM Plex Mono (SIL OFL 1.1). */

@font-face { font-family: "Plex Sans"; font-weight: 400; font-display: swap; src: url("../../fonts/IBMPlexSans-Regular.woff2") format("woff2"); }
@font-face { font-family: "Plex Sans"; font-weight: 500; font-display: swap; src: url("../../fonts/IBMPlexSans-Medium.woff2") format("woff2"); }
@font-face { font-family: "Plex Sans"; font-weight: 600; font-display: swap; src: url("../../fonts/IBMPlexSans-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "Plex Condensed"; font-weight: 600; font-display: swap; src: url("../../fonts/IBMPlexSansCondensed-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "Plex Mono"; font-weight: 400; font-display: swap; src: url("../../fonts/IBMPlexMono-Regular.woff2") format("woff2"); }
@font-face { font-family: "Plex Mono"; font-weight: 500; font-display: swap; src: url("../../fonts/IBMPlexMono-Medium.woff2") format("woff2"); }

body.s-installateur-a {
  --kalk: #ece9e3; --papier: #fbfaf7; --wit: #ffffff; --inkt: #16131d; --inkt2: #221e2b; --nacht: #100e15;
  --tekst: #1c1a21; --zacht: #59545f; --lijn: #e0dbd3; --lijn2: #cfc9c0;
  --gloed: #e2591f; --gloed-d: #b3410f; --gloed-l: #ff9361;
  --aanvoer: #d4342a; --retour: #2b6cb0;
  --licht-op-donker: #f2eff4; --zacht-op-donker: #aaa4b5; --lijn-donker: #2f2a3a;
  --ijzer: linear-gradient(90deg, #120b2e 0%, #4b0f6b 17%, #9b1d6e 34%, #d8383f 52%, #f17a22 68%, #fbbf3b 84%, #fff4c2 100%);
  --ijzer-v: linear-gradient(0deg, #120b2e 0%, #4b0f6b 17%, #9b1d6e 34%, #d8383f 52%, #f17a22 68%, #fbbf3b 84%, #fff4c2 100%);
  --sans: "Plex Sans", "Helvetica Neue", Arial, sans-serif; --cond: "Plex Condensed", "Plex Sans", Arial, sans-serif; --mono: "Plex Mono", ui-monospace, monospace;
  --r: 6px;
  /* tijdelijke foto's: donker violet met een oranje gloed, als een warmtebeeld */
  --a: #3b2a57; --a2: #e2591f; --bg2: #241d31;
  background: var(--kalk); color: var(--tekst); font: 400 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased;
}
body.s-installateur-a a { color: inherit; }
body.s-installateur-a h1, body.s-installateur-a h2, body.s-installateur-a h3 { font-family: var(--sans); font-weight: 600; letter-spacing: -.018em; line-height: 1.12; margin: 0 0 .5em; }
body.s-installateur-a p { margin: 0 0 1em; }
body.s-installateur-a ::selection { background: var(--gloed); color: var(--inkt); }
body.s-installateur-a :focus-visible { outline: 2px solid var(--gloed); outline-offset: 3px; }
body.s-installateur-a .sl-w { max-width: 1296px; margin: 0 auto; padding: 0 32px; }
body.s-installateur-a .ic { width: 22px; height: 22px; flex: none; }
body.s-installateur-a .led { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: #43d17a; box-shadow: 0 0 0 3px rgba(67, 209, 122, .18), 0 0 10px rgba(67, 209, 122, .7); margin-right: 10px; vertical-align: 1px; }

/* ── Knoppen ─────────────────────────────────────────────────────────── */
body.s-installateur-a .sl-knop { position: relative; display: inline-flex; align-items: center; gap: 14px; padding: 15px 18px 16px 22px; background: var(--inkt); color: #fff;
  border: 0; border-radius: 4px; font: 600 15px/1.2 var(--sans); letter-spacing: .005em; text-decoration: none; cursor: pointer; overflow: hidden; transition: transform .15s, background .15s; }
body.s-installateur-a .sl-knop::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--ijzer); }
body.s-installateur-a .sl-knop .ic { width: 18px; height: 18px; transition: transform .2s; }
body.s-installateur-a .sl-knop:hover { background: #2a2534; }
body.s-installateur-a .sl-knop:hover .ic { transform: translateX(3px); }
body.s-installateur-a .sl-knop.gloed { background: var(--gloed); color: var(--inkt); }
body.s-installateur-a .sl-knop.gloed::after { background: var(--inkt); opacity: .25; }
body.s-installateur-a .sl-knop.gloed:hover { background: #f06a2f; }
body.s-installateur-a .sl-knop.licht { background: var(--papier); color: var(--inkt); }
body.s-installateur-a .sl-knop.licht:hover { background: #fff; }
body.s-installateur-a .sl-knop.rand { background: transparent; color: var(--inkt); box-shadow: inset 0 0 0 1.5px var(--inkt); }
body.s-installateur-a .sl-knop.rand:hover { background: var(--inkt); color: #fff; }
body.s-installateur-a .t-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15px; color: var(--gloed-d); text-decoration: none; margin-top: auto; }
body.s-installateur-a .t-link .ic { width: 18px; height: 18px; transition: transform .2s; }
body.s-installateur-a .t-link:hover .ic { transform: translateX(3px); }

/* ── Kop (N1) ────────────────────────────────────────────────────────── */
body.s-installateur-a .sl-kop { background: var(--papier); border-bottom: 1px solid var(--lijn); position: relative; z-index: 40; }
body.s-installateur-a .kop-in { display: flex; align-items: center; gap: 28px; min-height: 78px; }
body.s-installateur-a .sl-logo { display: flex; align-items: center; gap: 12px; text-decoration: none; flex: none; }
body.s-installateur-a .sl-merk { width: 40px; height: 40px; }
body.s-installateur-a .sl-merk .merk-vlak { fill: var(--inkt); }
body.s-installateur-a .sl-merk .aanvoer { stroke: #ff5b45; }
body.s-installateur-a .sl-merk .retour { stroke: #5aa2ea; }
body.s-installateur-a .logo-t { display: flex; flex-direction: column; line-height: 1; }
body.s-installateur-a .logo-t b { font: 600 23px/1 var(--sans); letter-spacing: -.03em; color: var(--inkt); }
body.s-installateur-a .logo-t small { font: 400 11px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--zacht); margin-top: 5px; }
body.s-installateur-a .sl-toggle { position: absolute; opacity: 0; pointer-events: none; }
body.s-installateur-a .sl-burger { display: none; }
body.s-installateur-a .sl-nav { display: flex; align-items: center; gap: 24px; flex: 1; }
body.s-installateur-a .sl-nav ul { display: flex; gap: 22px; list-style: none; margin: 0 auto 0 12px; padding: 0; }
body.s-installateur-a .sl-nav ul a { position: relative; display: block; white-space: nowrap; padding: 8px 0; font-size: 15px; font-weight: 500; text-decoration: none; color: var(--tekst); }
body.s-installateur-a .sl-nav ul a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 1px; height: 2px; background: var(--aanvoer); box-shadow: 0 4px 0 var(--retour); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
body.s-installateur-a .sl-nav ul a:hover::after, body.s-installateur-a .sl-nav ul a.nu::after { transform: scaleX(1); }
body.s-installateur-a .sl-nav ul a.nu { font-weight: 600; }
body.s-installateur-a .nav-acties { display: flex; align-items: center; gap: 16px; }
body.s-installateur-a .sl-site { font: 500 13px/1 var(--sans); text-decoration: none; padding: 9px 13px; border: 1px solid var(--lijn2); border-radius: 999px; white-space: nowrap; color: var(--tekst); }
body.s-installateur-a .sl-site::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--ijzer); margin-right: 8px; vertical-align: 1px; }
body.s-installateur-a .sl-site:hover, body.s-installateur-a .sl-site.nu { border-color: var(--inkt); background: #fff; }
body.s-installateur-a .kop-tel { display: inline-flex; align-items: center; gap: 8px; font: 500 15px/1 var(--mono); text-decoration: none; white-space: nowrap; }
body.s-installateur-a .kop-tel .ic { width: 18px; height: 18px; color: var(--gloed-d); }
body.s-installateur-a .kop-cta { padding: 13px 16px 14px 18px; white-space: nowrap; }

/* ── Bento (R3) ──────────────────────────────────────────────────────── */
body.s-installateur-a .sl-sec { padding: 7px 0; }
body.s-installateur-a main > .sl-sec:last-child { padding-bottom: 72px; }
body.s-installateur-a .sl-bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; grid-auto-flow: dense; }
body.s-installateur-a .w3 { grid-column: span 3; } body.s-installateur-a .w4 { grid-column: span 4; } body.s-installateur-a .w5 { grid-column: span 5; }
body.s-installateur-a .w6 { grid-column: span 6; } body.s-installateur-a .w7 { grid-column: span 7; } body.s-installateur-a .w8 { grid-column: span 8; }
body.s-installateur-a .w12 { grid-column: span 12; }
body.s-installateur-a .h2 { grid-row: span 2; } body.s-installateur-a .h3 { grid-row: span 3; }
body.s-installateur-a .sl-t { position: relative; display: flex; flex-direction: column; padding: 34px; border-radius: var(--r); overflow: hidden; min-width: 0; }
body.s-installateur-a .t-licht { background: var(--papier); border: 1px solid #e4dfd7; }
body.s-installateur-a .t-donker { background: var(--inkt); color: var(--licht-op-donker); }
body.s-installateur-a .t-donker p { color: var(--zacht-op-donker); }
body.s-installateur-a .t-donker .t-link { color: var(--gloed-l); }
body.s-installateur-a .t-gloed { color: #fff;
  background: radial-gradient(52% 48% at 108% 114%, #fbbf3b 0%, #f17a22 24%, rgba(216, 56, 63, .0) 64%), linear-gradient(150deg, #160b2b 0%, #3f0f63 46%, #8e1a55 100%); }
body.s-installateur-a .t-gloed p { color: #f4e9f1; }
body.s-installateur-a .t-gloed a { color: #fff; font-weight: 600; text-underline-offset: 4px; margin-top: auto; }
body.s-installateur-a .t-foto { padding: 0; background: var(--inkt); }
body.s-installateur-a .t-sub, body.s-installateur-a .t-noot, body.s-installateur-a .t-klein { color: var(--zacht); }
body.s-installateur-a .t-klein { font-size: 14px; margin: 14px 0 0; }
body.s-installateur-a .t-klein a { color: inherit; }
body.s-installateur-a .t-noot { margin: 18px 0 0; font-size: 15px; }
body.s-installateur-a .t-noot a { color: var(--gloed-d); font-weight: 600; }
body.s-installateur-a .sl-t h2 { font-size: 28px; }
body.s-installateur-a .sl-sectiekop { display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: 12px 40px; padding: 42px 4px 20px; }
body.s-installateur-a .sl-sectiekop h2 { font-size: clamp(32px, 3.4vw, 46px); margin: 0; }
body.s-installateur-a .sl-sectiekop p { margin: 0; color: var(--zacht); max-width: 48ch; }
body.s-installateur-a .sk-link { display: inline-flex; gap: 10px; align-items: center; font-weight: 600; font-size: 15px; text-decoration: none; color: var(--gloed-d); white-space: nowrap; }
body.s-installateur-a .sk-link .ic { width: 18px; height: 18px; }

/* ── Foto's met de zoeker van een warmtebeeldcamera ─────────────────── */
body.s-installateur-a .sl-foto { position: relative; margin: 0; flex: 1; min-height: 340px; display: flex; }
body.s-installateur-a .sl-foto .sl-img { width: 100%; flex: 1; min-height: 100%; object-fit: cover; border-radius: 0; }
body.s-installateur-a .sl-foto .ph { min-height: 100%; }
body.s-installateur-a .sl-foto .ph-cap { top: 16px; bottom: auto; left: 16px; max-width: 300px; }
body.s-installateur-a .sl-hud { position: absolute; inset: 0; pointer-events: none; color: #fff; font-family: var(--mono); }
body.s-installateur-a .h-hk { position: absolute; width: 26px; height: 26px; border: 0 solid rgba(255, 255, 255, .9); }
body.s-installateur-a .h-hk.h1 { top: 18px; left: 18px; border-top-width: 2px; border-left-width: 2px; }
body.s-installateur-a .h-hk.h2 { top: 18px; right: 18px; border-top-width: 2px; border-right-width: 2px; }
body.s-installateur-a .h-hk.h3 { bottom: 18px; left: 18px; border-bottom-width: 2px; border-left-width: 2px; }
body.s-installateur-a .h-hk.h4 { bottom: 18px; right: 18px; border-bottom-width: 2px; border-right-width: 2px; }
body.s-installateur-a .h-kruis { position: absolute; left: 56%; top: 52%; width: 38px; height: 38px; margin: -19px 0 0 -19px; border: 1.5px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0, 0, 0, .25); }
body.s-installateur-a .h-kruis::before, body.s-installateur-a .h-kruis::after { content: ""; position: absolute; background: #fff; }
body.s-installateur-a .h-kruis::before { left: 50%; top: -12px; bottom: -12px; width: 1.5px; margin-left: -.75px; }
body.s-installateur-a .h-kruis::after { top: 50%; left: -12px; right: -12px; height: 1.5px; margin-top: -.75px; }
body.s-installateur-a .h-lees { position: absolute; left: calc(56% + 34px); top: calc(52% - 52px); display: grid; grid-template-columns: auto auto; align-items: baseline; column-gap: 4px;
  padding: 8px 12px 9px; background: rgba(14, 10, 22, .62); border-left: 3px solid var(--gloed); backdrop-filter: blur(4px); }
body.s-installateur-a .h-lees small { grid-column: 1 / -1; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: #e6dff0; }
body.s-installateur-a .h-lees b { font: 500 26px/1.1 var(--mono); }
body.s-installateur-a .h-lees em { font-style: normal; font-size: 13px; }
body.s-installateur-a .h-schaal { position: absolute; right: 30px; top: 70px; bottom: 70px; width: 9px; display: flex; flex-direction: column; justify-content: space-between; align-items: center; }
body.s-installateur-a .h-schaal i { flex: 1; width: 9px; margin: 6px 0; background: linear-gradient(180deg, #fff4c2 0%, #fbbf3b 16%, #f17a22 32%, #d8383f 48%, #9b1d6e 66%, #4b0f6b 83%, #120b2e 100%); box-shadow: 0 0 0 1px rgba(255, 255, 255, .5); }
body.s-installateur-a .h-schaal b { font: 500 11px/1 var(--mono); text-shadow: 0 1px 2px rgba(0, 0, 0, .6); }
body.s-installateur-a .h-meta { position: absolute; right: 54px; bottom: 26px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; text-shadow: 0 1px 2px rgba(0, 0, 0, .6); }
body.s-installateur-a .sl-hud.klein .h-meta { display: none; }
body.s-installateur-a .sl-hud.klein .h-lees b { font-size: 20px; }
body.s-installateur-a .sl-hud.klein .h-hk { width: 18px; height: 18px; }
body.s-installateur-a .sl-hud.klein .h-kruis { left: 46%; top: 46%; }
body.s-installateur-a .sl-hud.klein .h-lees { left: calc(46% - 19px); top: calc(46% + 34px); }
body.s-installateur-a .foto-onder { margin: 0; padding: 16px 22px 18px; background: var(--inkt); color: var(--zacht-op-donker); font-size: 15px; border-top: 3px solid transparent; border-image: var(--ijzer) 1; }
body.s-installateur-a .foto-onder b { color: #fff; font-weight: 600; }

/* ── De warmtecheck (H8) ─────────────────────────────────────────────── */
body.s-installateur-a .sl-check { padding: 14px 0 7px; }
body.s-installateur-a .check-in { display: grid; grid-template-columns: minmax(0, 1.28fr) minmax(0, 1fr); gap: 14px; }
body.s-installateur-a .check-paneel { background: var(--papier); border: 1px solid #e4dfd7; border-radius: var(--r); padding: 44px 46px 36px; }
body.s-installateur-a .check-label { font: 500 12px/1 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--zacht); margin-bottom: 22px; }
body.s-installateur-a .check-paneel h1 { font-size: clamp(40px, 4.6vw, 66px); line-height: 1.0; letter-spacing: -.035em; max-width: 11ch; margin-bottom: 18px; }
body.s-installateur-a .check-lead { font-size: 18px; color: var(--zacht); max-width: 50ch; margin-bottom: 30px; }
body.s-installateur-a .stap { border: 0; margin: 0 0 26px; padding: 0; min-width: 0; }
body.s-installateur-a .stap legend { display: flex; align-items: center; gap: 12px; font-weight: 600; font-size: 16px; padding: 0; margin-bottom: 14px; }
body.s-installateur-a .stap legend span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--inkt); color: #fff; font: 500 12px/1 var(--mono); }
body.s-installateur-a .huizen { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
body.s-installateur-a .huis, body.s-installateur-a .jaar { position: relative; cursor: pointer; }
body.s-installateur-a .huis input, body.s-installateur-a .jaar input, body.s-installateur-a .chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
body.s-installateur-a .huis { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px 8px 12px; border: 1px solid var(--lijn2); border-radius: 5px; background: #fff; text-align: center; transition: border-color .15s, box-shadow .15s; }
body.s-installateur-a .huis-svg { width: 100%; max-width: 76px; height: auto; color: #6d6874; }
body.s-installateur-a .huis-svg .hl { fill: #d7e3f0; stroke: none; transition: fill .2s; }
body.s-installateur-a .huis span { font-size: 13px; line-height: 1.25; font-weight: 500; }
body.s-installateur-a .huis:hover { border-color: var(--zacht); }
body.s-installateur-a .huis:has(input:checked) { border-color: var(--inkt); box-shadow: inset 0 0 0 1px var(--inkt); }
body.s-installateur-a .huis:has(input:checked) .huis-svg { color: var(--inkt); }
body.s-installateur-a .huis:has(input:checked) .hl { fill: var(--gloed); }
body.s-installateur-a .huis:has(input:focus-visible), body.s-installateur-a .jaar:has(input:focus-visible), body.s-installateur-a .chip:has(input:focus-visible) { outline: 2px solid var(--gloed); outline-offset: 2px; }
body.s-installateur-a .jaren { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
body.s-installateur-a .jaar span { display: block; padding: 13px 8px; border: 1px solid var(--lijn2); border-radius: 5px; background: #fff; text-align: center; font: 500 15px/1.2 var(--mono); }
body.s-installateur-a .jaar:hover span { border-color: var(--zacht); }
body.s-installateur-a .jaar input:checked + span { background: var(--inkt); border-color: var(--inkt); color: #fff; }
body.s-installateur-a .check-sneller { font-size: 14px; color: var(--zacht); margin: 6px 0 0; }
body.s-installateur-a .check-sneller a { color: var(--tekst); font-weight: 500; text-underline-offset: 3px; }

body.s-installateur-a .check-display { position: relative; display: flex; flex-direction: column; background: var(--inkt); color: var(--licht-op-donker); border-radius: var(--r); padding: 30px 34px 30px; overflow: hidden; }
body.s-installateur-a .check-display::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 45% at 100% 0%, rgba(226, 89, 31, .22), transparent 70%); pointer-events: none; }
body.s-installateur-a .disp-kop { position: relative; display: flex; align-items: center; justify-content: space-between; font: 500 12px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--zacht-op-donker); padding-bottom: 18px; border-bottom: 1px solid var(--lijn-donker); margin-bottom: 22px; }
body.s-installateur-a .disp-schaal { width: 120px; height: 6px; background: var(--ijzer); border-radius: 1px; }
body.s-installateur-a .uitk { display: none; position: relative; }
body.s-installateur-a .u-voor { font: 500 12px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--gloed-l); margin-bottom: 10px; }
body.s-installateur-a .u-advies { font-size: clamp(28px, 2.6vw, 38px); color: #fff; margin-bottom: 10px; }
body.s-installateur-a .u-noot { font-size: 15px; line-height: 1.5; color: var(--zacht-op-donker); margin-bottom: 20px; }
body.s-installateur-a .u-meting { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 20px; }
body.s-installateur-a .u-meting div { padding: 12px 0 12px; border-top: 1px solid var(--lijn-donker); }
body.s-installateur-a .u-meting div:nth-child(odd):not(.netto) { padding-right: 16px; }
body.s-installateur-a .u-meting dt { font: 400 11px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--zacht-op-donker); margin-bottom: 4px; }
body.s-installateur-a .u-meting dd { margin: 0; font: 600 22px/1.15 var(--cond); color: #fff; }
body.s-installateur-a .u-meting .netto { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--gloed); }
body.s-installateur-a .u-meting .netto dt { color: #fff; font-size: 12px; }
body.s-installateur-a .u-meting .netto dd { font-size: 44px; color: var(--gloed-l); line-height: 1; }
body.s-installateur-a .u-gas > p { font: 400 11px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--zacht-op-donker); margin-bottom: 10px; }
body.s-installateur-a .gasbalk { display: grid; gap: 5px; margin-bottom: 10px; }
body.s-installateur-a .gasbalk b { order: -1; font: 500 13px/1.2 var(--mono); color: var(--licht-op-donker); }
body.s-installateur-a .gasbalk span { display: block; height: 8px; border-radius: 1px; }
body.s-installateur-a .gasbalk.nu span { background: linear-gradient(90deg, #8e1a55, #d8383f 45%, #f17a22 80%, #fbbf3b); }
body.s-installateur-a .gasbalk.na span { background: linear-gradient(90deg, #1d4f86, #2b6cb0 60%, #6aa3dc); }
body.s-installateur-a .u-bespaar { font-size: 15px; color: var(--licht-op-donker); margin: 8px 0 0; }
body.s-installateur-a .u-bespaar b { color: #fff; }
body.s-installateur-a .disp-acties { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; margin-top: auto; padding-top: 24px; }
body.s-installateur-a .disp-link { color: #fff; font-weight: 500; font-size: 15px; text-underline-offset: 4px; }
body.s-installateur-a .disp-klein { position: relative; font-size: 12.5px; line-height: 1.45; color: var(--zacht-op-donker); margin: 16px 0 0; }

/* ── Tegels: diensten ────────────────────────────────────────────────── */
body.s-installateur-a .t-dienst { background: var(--papier); border: 1px solid #e4dfd7; text-decoration: none; transition: border-color .15s, transform .15s; padding: 30px; }
body.s-installateur-a .t-dienst::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--ijzer); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
body.s-installateur-a .t-dienst:hover { border-color: var(--inkt); transform: translateY(-2px); }
body.s-installateur-a .t-dienst:hover::before { transform: scaleX(1); }
body.s-installateur-a .t-dienst > .ic { width: 44px; height: 44px; color: var(--gloed-d); margin-bottom: 22px; }
body.s-installateur-a .td-nr { position: absolute; top: 26px; right: 28px; font: 500 13px/1 var(--mono); color: var(--zacht); }
body.s-installateur-a .t-dienst h3 { font-size: 25px; margin-bottom: 8px; }
body.s-installateur-a .t-dienst p { color: var(--zacht); font-size: 15.5px; }
body.s-installateur-a .t-dienst ul { list-style: none; margin: 0 0 24px; padding: 0; font-size: 14.5px; }
body.s-installateur-a .t-dienst li { padding: 7px 0; border-top: 1px solid var(--lijn); font-family: var(--mono); font-size: 13.5px; }
body.s-installateur-a .td-meer { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; font-weight: 600; font-size: 15px; color: var(--gloed-d); }
body.s-installateur-a .td-meer .ic { width: 18px; height: 18px; margin: 0; }
body.s-installateur-a .t-dienst.groot { background: var(--inkt); border-color: var(--inkt); color: var(--licht-op-donker); padding: 38px; }
body.s-installateur-a .t-dienst.groot::after { content: ""; position: absolute; right: -80px; bottom: -80px; width: 300px; height: 300px; border-radius: 50%;
  background: radial-gradient(circle, #fbbf3b 0%, #f17a22 22%, #d8383f 42%, #9b1d6e 62%, rgba(75, 15, 107, 0) 75%); opacity: .55; filter: blur(8px); pointer-events: none; }
body.s-installateur-a .t-dienst.groot h3 { font-size: 40px; color: #fff; }
body.s-installateur-a .t-dienst.groot p { color: var(--zacht-op-donker); font-size: 17px; max-width: 32ch; }
body.s-installateur-a .t-dienst.groot > .ic { color: var(--gloed-l); width: 56px; height: 56px; }
body.s-installateur-a .t-dienst.groot li { border-color: var(--lijn-donker); position: relative; z-index: 1; }
body.s-installateur-a .t-dienst.groot .td-nr { color: var(--zacht-op-donker); }
body.s-installateur-a .t-dienst.groot .td-meer { color: var(--gloed-l); position: relative; z-index: 1; }
body.s-installateur-a .t-dienst.groot:hover { border-color: var(--gloed); }
body.s-installateur-a .t-dienst.breed { display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.2fr) auto; align-items: center; gap: 12px 34px; padding: 28px 34px; }
body.s-installateur-a .t-dienst.breed > .ic { margin: 0; grid-row: 1 / 3; }
body.s-installateur-a .t-dienst.breed h3 { margin: 0; align-self: end; }
body.s-installateur-a .t-dienst.breed p { margin: 0; grid-column: 2; align-self: start; }
body.s-installateur-a .t-dienst.breed ul { grid-column: 3; grid-row: 1 / 3; margin: 0; }
body.s-installateur-a .t-dienst.breed .td-meer { grid-column: 4; grid-row: 1 / 3; margin: 0; }
body.s-installateur-a .t-dienst.breed .td-nr { display: none; }

/* ── Tegels: aanvoertemperatuur, abonnement, storing, subsidie ─────── */
body.s-installateur-a .t-aanvoer h2 { font-size: 34px; }
body.s-installateur-a .t-aanvoer > p { color: var(--zacht); max-width: 56ch; }
body.s-installateur-a .thermo { margin-top: 14px; }
body.s-installateur-a .th-rij { display: grid; grid-template-columns: 120px minmax(0, 1fr) 62px; align-items: center; gap: 16px; padding: 12px 0; border-top: 1px solid var(--lijn); }
body.s-installateur-a .th-naam { font-size: 14px; font-weight: 500; }
body.s-installateur-a .th-baan { height: 14px; border-radius: 2px; background: linear-gradient(90deg, transparent var(--v), #ebe6df var(--v)), linear-gradient(90deg, #2b6cb0 0%, #4b0f6b 30%, #9b1d6e 48%, #d8383f 64%, #f17a22 80%, #fbbf3b 100%); }
body.s-installateur-a .th-rij b { font: 600 22px/1 var(--cond); text-align: right; }
body.s-installateur-a .th-as { display: grid; grid-template-columns: repeat(4, 1fr); margin-left: 136px; margin-right: 78px; font: 400 11px/1 var(--mono); color: var(--zacht); padding-top: 8px; border-top: 1px solid var(--lijn); }
body.s-installateur-a .th-as span:last-child { text-align: right; }
body.s-installateur-a .abo-label, body.s-installateur-a .isde-label, body.s-installateur-a .ts-label, body.s-installateur-a .pb-kop span, body.s-installateur-a .t-merken p {
  font: 500 12px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
body.s-installateur-a .abo-label { color: var(--zacht-op-donker); }
body.s-installateur-a .abo-prijs { display: flex; align-items: flex-start; font: 600 72px/0.9 var(--cond); color: #fff; margin: 10px 0 20px; letter-spacing: -.02em; }
body.s-installateur-a .abo-prijs span { font-size: 28px; margin: 6px 6px 0 0; }
body.s-installateur-a .abo-prijs small { align-self: flex-end; font: 400 12px/1.2 var(--mono); letter-spacing: .04em; text-transform: uppercase; margin: 0 0 6px 12px; color: var(--zacht-op-donker); }
body.s-installateur-a .t-abo h3 { font-size: 22px; color: #fff; }
body.s-installateur-a .t-abo ul { list-style: none; padding: 0; margin: 0 0 22px; }
body.s-installateur-a .t-abo li { padding: 8px 0 8px 22px; border-top: 1px solid var(--lijn-donker); font-size: 15px; color: var(--licht-op-donker); position: relative; }
body.s-installateur-a .t-abo li::before { content: ""; position: absolute; left: 0; top: 17px; width: 10px; height: 2px; background: var(--gloed); }
body.s-installateur-a .t-abo a { display: inline-flex; gap: 10px; align-items: center; color: var(--gloed-l); font-weight: 600; font-size: 15px; text-decoration: none; margin-top: auto; }
body.s-installateur-a .t-abo a .ic { width: 18px; height: 18px; }
body.s-installateur-a .t-storing h2 { font-size: 27px; color: #fff; margin-top: 14px; }
body.s-installateur-a .ts-label { color: var(--zacht-op-donker); margin: 0; }
body.s-installateur-a .ts-tel { font: 600 46px/1 var(--cond); color: #fff; text-decoration: none; margin: 8px 0 14px; letter-spacing: -.01em; }
body.s-installateur-a .ts-tel:hover { color: var(--gloed-l); }
body.s-installateur-a .t-storing p:last-child { margin: 0; font-size: 15px; }
body.s-installateur-a .isde-label { color: #f4e9f1; margin-bottom: 6px; }
body.s-installateur-a .isde-getal { font: 600 64px/1 var(--cond); letter-spacing: -.02em; color: #fff !important; margin-bottom: 12px; }
body.s-installateur-a .t-isde p:not(.isde-label):not(.isde-getal) { max-width: 34ch; font-size: 15.5px; }

/* ── Tegels: stappen, cijfers, over, vragen, merken ─────────────────── */
body.s-installateur-a .t-stappen ol, body.s-installateur-a ol.dag { list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; margin: 10px 0 26px; padding: 0; }
body.s-installateur-a .t-stappen li, body.s-installateur-a ol.dag li { position: relative; padding-top: 22px; display: flex; flex-direction: column; gap: 4px; }
body.s-installateur-a .t-stappen li::before, body.s-installateur-a ol.dag li::before { content: ""; position: absolute; left: 0; right: -22px; top: 0; height: 2px; background: var(--aanvoer); box-shadow: 0 6px 0 var(--retour); }
body.s-installateur-a .t-stappen li:last-child::before, body.s-installateur-a ol.dag li:last-child::before { right: 0; }
body.s-installateur-a .t-stappen li b, body.s-installateur-a ol.dag li b { font: 500 13px/1 var(--mono); color: var(--gloed-d); margin-top: 6px; }
body.s-installateur-a .t-stappen li span { font-weight: 600; font-size: 18px; }
body.s-installateur-a .t-stappen li small { font: 400 13px/1.3 var(--mono); color: var(--zacht); }
body.s-installateur-a .t-cijfers { background: var(--gloed); color: var(--inkt); justify-content: space-between; padding: 30px 34px; }
body.s-installateur-a .t-cijfers div { display: flex; flex-direction: column; gap: 6px; padding: 14px 0; border-top: 1px solid rgba(22, 19, 29, .25); }
body.s-installateur-a .t-cijfers div:first-child { border-top: 0; padding-top: 0; }
body.s-installateur-a .t-cijfers b { font: 600 52px/.95 var(--cond); letter-spacing: -.02em; }
body.s-installateur-a .t-cijfers span { font-size: 15px; font-weight: 500; line-height: 1.3; }
body.s-installateur-a .t-over { background: var(--papier); border: 1px solid #e4dfd7; }
body.s-installateur-a .t-over .sl-foto { min-height: 300px; flex: 0 0 300px; }
body.s-installateur-a .over-tekst { padding: 30px 34px 34px; display: flex; flex-direction: column; flex: 1; }
body.s-installateur-a .over-tekst h2 { font-size: 26px; }
body.s-installateur-a .over-tekst p { color: var(--zacht); font-size: 16px; }
body.s-installateur-a .over-tekst a { display: inline-flex; gap: 10px; align-items: center; color: var(--gloed-d); font-weight: 600; font-size: 15px; text-decoration: none; margin-top: auto; }
body.s-installateur-a .over-tekst a .ic { width: 18px; height: 18px; }
body.s-installateur-a .sl-faq { margin-bottom: 22px; }
body.s-installateur-a .sl-faq details { border-top: 1px solid var(--lijn); }
body.s-installateur-a .sl-faq details:last-child { border-bottom: 1px solid var(--lijn); }
body.s-installateur-a .sl-faq summary { list-style: none; cursor: pointer; position: relative; padding: 17px 44px 17px 0; font-weight: 600; font-size: 17px; line-height: 1.35; }
body.s-installateur-a .sl-faq summary::-webkit-details-marker { display: none; }
body.s-installateur-a .sl-faq summary i { position: absolute; right: 4px; top: 50%; width: 16px; height: 16px; margin-top: -8px; }
body.s-installateur-a .sl-faq summary i::before, body.s-installateur-a .sl-faq summary i::after { content: ""; position: absolute; background: var(--gloed-d); left: 0; right: 0; top: 7px; height: 2px; transition: transform .2s; }
body.s-installateur-a .sl-faq summary i::after { transform: rotate(90deg); }
body.s-installateur-a .sl-faq details[open] summary i::after { transform: rotate(0); }
body.s-installateur-a .sl-faq details p { color: var(--zacht); max-width: 62ch; margin: -4px 0 18px; font-size: 16px; }
body.s-installateur-a .sl-faq.twee-kol { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; }
body.s-installateur-a .sl-faq.twee-kol details:nth-last-child(2) { border-bottom: 1px solid var(--lijn); }
body.s-installateur-a .t-merken { background: transparent; border: 1px solid var(--lijn2); flex-direction: row; align-items: center; gap: 30px 48px; padding: 26px 34px; flex-wrap: wrap; }
body.s-installateur-a .t-merken p { margin: 0; color: var(--zacht); }
body.s-installateur-a .t-merken ul { display: flex; flex-wrap: wrap; gap: 14px 44px; list-style: none; margin: 0; padding: 0; }
body.s-installateur-a .t-merken li { font: 600 22px/1 var(--sans); letter-spacing: -.02em; color: #4a4552; }
body.s-installateur-a .t-merken-kol { flex-direction: column; align-items: flex-start; }
body.s-installateur-a .t-merken-kol ul { gap: 14px 32px; }

/* ── Paginakop (subpagina's) ─────────────────────────────────────────── */
body.s-installateur-a .sl-pk { padding: 14px 0 7px; }
body.s-installateur-a .sl-pk .sl-w > div { }
body.s-installateur-a .sl-pk .sl-w { position: relative; }
body.s-installateur-a .pk-in { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 40px; align-items: end; background: var(--inkt); color: #fff; border-radius: var(--r) var(--r) 0 0; padding: 40px 44px 44px; overflow: hidden; }
body.s-installateur-a .pk-in::before { content: ""; position: absolute; right: -120px; top: -160px; width: 460px; height: 460px; border-radius: 50%;
  background: radial-gradient(circle, rgba(251, 191, 59, .55) 0%, rgba(241, 122, 34, .45) 20%, rgba(216, 56, 63, .35) 40%, rgba(155, 29, 110, .25) 58%, rgba(75, 15, 107, 0) 72%); pointer-events: none; }
body.s-installateur-a .pk-kruim { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; font: 400 12.5px/1.4 var(--mono); color: var(--zacht-op-donker); margin-bottom: 34px; position: relative; }
body.s-installateur-a .pk-kruim a { color: var(--licht-op-donker); text-underline-offset: 3px; }
body.s-installateur-a .pk-in h1 { font-size: clamp(38px, 5vw, 72px); letter-spacing: -.035em; line-height: 1; margin: 0 0 18px; position: relative; color: #fff; }
body.s-installateur-a .pk-lead { grid-column: 1; font-size: 19px; color: var(--zacht-op-donker); max-width: 56ch; margin: 0; position: relative; }
body.s-installateur-a .pk-lees { grid-column: 2; grid-row: 2 / 4; align-self: end; position: relative; margin: 0; padding: 14px 18px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 4px; background: rgba(14, 10, 22, .45); text-align: right; min-width: 170px; }
body.s-installateur-a .pk-lees span { display: block; font: 400 11px/1 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--zacht-op-donker); margin-bottom: 8px; }
body.s-installateur-a .pk-lees b { font: 600 38px/1 var(--cond); color: #fff; white-space: nowrap; }
body.s-installateur-a .pk-schaal { height: 8px; background: var(--ijzer); border-radius: 0 0 var(--r) var(--r); }

/* ── Diensten en dienstpagina's ─────────────────────────────────────── */
body.s-installateur-a .t-dienstgroot { padding: 0; }
body.s-installateur-a .dg-foto { display: flex; height: 280px; }
body.s-installateur-a .dg-foto .sl-foto { min-height: 280px; }
body.s-installateur-a .dg-tekst { padding: 30px 34px 34px; display: flex; flex-direction: column; flex: 1; }
body.s-installateur-a .dg-tekst > p:not(.dg-kop) { color: var(--zacht); font-size: 16px; }
body.s-installateur-a .dg-tekst .sl-knop { align-self: flex-start; margin-top: auto; }
body.s-installateur-a .dg-kop { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px !important; }
body.s-installateur-a .dg-kop .ic { width: 40px; height: 40px; color: var(--gloed-d); }
body.s-installateur-a .dg-kop span { font: 500 13px/1 var(--mono); color: var(--zacht); }
body.s-installateur-a .dg-tekst h2 { font-size: 32px; }
body.s-installateur-a .sl-vinkjes { list-style: none; margin: 4px 0 26px; padding: 0; }
body.s-installateur-a .sl-vinkjes li { display: flex; gap: 12px; align-items: flex-start; padding: 8px 0; border-top: 1px solid var(--lijn); font-size: 15.5px; }
body.s-installateur-a .sl-vinkjes .ic { width: 18px; height: 18px; margin-top: 3px; color: var(--gloed-d); }
body.s-installateur-a .sl-vinkjes.twee { display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; }
body.s-installateur-a .t-donker .sl-vinkjes li { border-color: var(--lijn-donker); }
body.s-installateur-a .t-donker .sl-vinkjes .ic { color: var(--gloed-l); }
body.s-installateur-a .t-vergelijk h2 { font-size: 32px; margin-bottom: 22px; }
body.s-installateur-a .tabel-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.s-installateur-a .t-vergelijk table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 15.5px; }
body.s-installateur-a .t-vergelijk th, body.s-installateur-a .t-vergelijk td { text-align: left; padding: 14px 18px 14px 0; border-bottom: 1px solid var(--lijn); vertical-align: top; }
body.s-installateur-a .t-vergelijk thead th { font: 500 12px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--zacht); border-bottom: 2px solid var(--inkt); }
body.s-installateur-a .t-vergelijk thead th:nth-child(3) { color: var(--gloed-d); }
body.s-installateur-a .t-vergelijk tbody th { font-weight: 600; width: 18%; }
body.s-installateur-a .t-vergelijk td:nth-child(3) { background: linear-gradient(90deg, rgba(226, 89, 31, .07), rgba(226, 89, 31, 0)); }
body.s-installateur-a .t-keur ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 20px 24px; }
body.s-installateur-a .t-keur li { border-left: 2px solid var(--gloed); padding: 2px 0 2px 14px; display: flex; flex-direction: column; gap: 4px; }
body.s-installateur-a .t-keur b { font-size: 19px; color: #fff; }
body.s-installateur-a .t-keur span { font: 400 12.5px/1.35 var(--mono); color: var(--zacht-op-donker); }
body.s-installateur-a .t-intro { justify-content: flex-start; }
body.s-installateur-a .t-intro h2 { font-size: 32px; }
body.s-installateur-a .t-intro > p:not(.dg-kop) { color: var(--zacht); }
body.s-installateur-a .t-intro .sl-knop { align-self: flex-start; margin-top: auto; }
body.s-installateur-a .t-krijg h2, body.s-installateur-a .t-prijs h2, body.s-installateur-a .t-dag h2 { font-size: 26px; }
body.s-installateur-a .t-prijs h2 { color: #fff; }
body.s-installateur-a .sl-prijzen { list-style: none; margin: 0; padding: 0; }
body.s-installateur-a .sl-prijzen li { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; padding: 11px 0; border-bottom: 1px dashed var(--lijn2); font-size: 15.5px; }
body.s-installateur-a .sl-prijzen b { font: 500 15.5px/1.2 var(--mono); white-space: nowrap; }
body.s-installateur-a .t-donker .sl-prijzen li { border-color: #3a3446; color: var(--licht-op-donker); }
body.s-installateur-a .t-donker .sl-prijzen b { color: #fff; }
body.s-installateur-a .t-donker .t-klein { color: var(--zacht-op-donker); }
body.s-installateur-a ol.dag { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 0; }
body.s-installateur-a ol.dag li span { font-size: 15.5px; line-height: 1.45; }
body.s-installateur-a ol.dag li b { font-size: 16px; }
body.s-installateur-a .t-signalen h2 { color: #fff; }
body.s-installateur-a .t-signalen ol { list-style: none; counter-reset: s; margin: 6px 0 0; padding: 0; }
body.s-installateur-a .t-signalen li { counter-increment: s; display: flex; gap: 16px; padding: 11px 0; border-top: 1px solid var(--lijn-donker); color: var(--licht-op-donker); }
body.s-installateur-a .t-signalen li::before { content: counter(s, decimal-leading-zero); font: 500 13px/1.7 var(--mono); color: var(--gloed-l); }
body.s-installateur-a .t-hybrideklaar h3, body.s-installateur-a .t-wtw h3 { font-size: 24px; }
body.s-installateur-a .t-hybrideklaar p, body.s-installateur-a .t-wtw p { color: var(--zacht); }
body.s-installateur-a .t-hybrideklaar .sl-knop { align-self: flex-start; margin-top: auto; }
body.s-installateur-a .wtw-schema { display: grid; grid-template-columns: 1fr 90px 1fr; align-items: center; gap: 10px; margin-top: auto; }
body.s-installateur-a .ws { font: 500 12.5px/1.2 var(--mono); padding: 12px 10px; border-radius: 4px; text-align: center; }
body.s-installateur-a .ws-in { background: #dfe9f4; color: #183e66; }
body.s-installateur-a .ws-uit { background: #fde3d4; color: #7a2c09; }
body.s-installateur-a .ws-kern { height: 90px; border-radius: 4px; background: linear-gradient(45deg, transparent 47%, var(--inkt) 47% 53%, transparent 53%), linear-gradient(-45deg, transparent 47%, var(--inkt) 47% 53%, transparent 53%), linear-gradient(90deg, #6aa3dc, #9b1d6e 50%, #f17a22); }
body.s-installateur-a .t-andere h2 { color: #fff; }
body.s-installateur-a .t-andere ul { list-style: none; margin: 0; padding: 0; }
body.s-installateur-a .t-andere a { display: flex; align-items: center; gap: 16px; padding: 16px 0; border-top: 1px solid var(--lijn-donker); text-decoration: none; color: var(--licht-op-donker); font-weight: 500; font-size: 18px; }
body.s-installateur-a .t-andere a span { flex: 1; }
body.s-installateur-a .t-andere a .ic { width: 26px; height: 26px; color: var(--gloed-l); }
body.s-installateur-a .t-andere a .ic:last-child { width: 18px; height: 18px; color: var(--zacht-op-donker); transition: transform .2s; }
body.s-installateur-a .t-andere a:hover { color: #fff; }
body.s-installateur-a .t-andere a:hover .ic:last-child { transform: translateX(3px); color: var(--gloed-l); }

/* ── Abonnementen en prijzen ─────────────────────────────────────────── */
body.s-installateur-a .t-abos h2 { font-size: 32px; margin-bottom: 6px; }
body.s-installateur-a .abo-rij { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
body.s-installateur-a .abo { position: relative; border: 1px solid var(--lijn2); border-radius: 5px; padding: 26px 26px 22px; background: #fff; }
body.s-installateur-a .abo .abo-prijs { color: var(--inkt); font-size: 62px; margin: 12px 0 10px; }
body.s-installateur-a .abo .abo-prijs small { color: var(--zacht); }
body.s-installateur-a .abo-naam { font-weight: 600; font-size: 20px; margin: 0; }
body.s-installateur-a .abo-voor { font-size: 14.5px; color: var(--zacht); }
body.s-installateur-a .abo ul { list-style: none; margin: 0; padding: 0; }
body.s-installateur-a .abo li { display: flex; gap: 10px; padding: 8px 0; border-top: 1px solid var(--lijn); font-size: 15px; }
body.s-installateur-a .abo li .ic { width: 17px; height: 17px; color: var(--gloed-d); margin-top: 3px; }
body.s-installateur-a .abo.uitgelicht { background: var(--inkt); border-color: var(--inkt); color: var(--licht-op-donker); }
body.s-installateur-a .abo.uitgelicht::before { content: "Voor warmtepompen"; position: absolute; top: 0; right: 22px; transform: translateY(-50%); background: var(--gloed); color: var(--inkt); font: 500 11px/1 var(--mono); letter-spacing: .06em; text-transform: uppercase; padding: 6px 10px; border-radius: 3px; }
body.s-installateur-a .abo.uitgelicht .abo-prijs { color: #fff; }
body.s-installateur-a .abo.uitgelicht .abo-prijs small, body.s-installateur-a .abo.uitgelicht .abo-voor { color: var(--zacht-op-donker); }
body.s-installateur-a .abo.uitgelicht li { border-color: var(--lijn-donker); }
body.s-installateur-a .abo.uitgelicht li .ic { color: var(--gloed-l); }
body.s-installateur-a .pb-kop { display: flex; align-items: center; gap: 12px; margin-bottom: 18px !important; color: var(--zacht); }
body.s-installateur-a .pb-kop .ic { width: 30px; height: 30px; color: var(--gloed-d); }
body.s-installateur-a .t-prijsblok h2 { font-size: 22px; margin: 18px 0 4px; }
body.s-installateur-a .t-opbouw h2 { color: #fff; }
body.s-installateur-a .opbouw li.som { border-bottom-style: solid; }
body.s-installateur-a .opbouw li.som:last-child { border: 0; border-top: 2px solid var(--gloed); margin-top: 6px; padding-top: 16px; }
body.s-installateur-a .opbouw li.som:last-child b { font: 600 34px/1 var(--cond); color: var(--gloed-l); }
body.s-installateur-a .opbouw li.som:last-child span { color: #fff; font-weight: 600; }

/* ── Werkwijze, over ons, contact ───────────────────────────────────── */
body.s-installateur-a .stap-nr { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 18px !important; padding-bottom: 14px; border-bottom: 2px solid var(--aanvoer); box-shadow: 0 4px 0 -2px var(--retour); }
body.s-installateur-a .stap-nr b { font: 600 56px/0.9 var(--cond); color: var(--gloed-d); letter-spacing: -.02em; }
body.s-installateur-a .stap-nr span { font: 500 12px/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--zacht); text-align: right; }
body.s-installateur-a .t-stap h2 { font-size: 26px; }
body.s-installateur-a .t-stap > p { color: var(--zacht); }
body.s-installateur-a .t-stap.met-foto .sl-foto { margin: 8px -34px -34px; min-height: 300px; }
body.s-installateur-a .t-stap.breed { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); column-gap: 48px; align-items: start; }
body.s-installateur-a .t-stap.breed .stap-nr { grid-column: 1; grid-row: 1 / 4; align-self: start; }
body.s-installateur-a .t-stap.breed h2, body.s-installateur-a .t-stap.breed > p, body.s-installateur-a .t-stap.breed .nazorg { grid-column: 2; }
body.s-installateur-a .nazorg { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
body.s-installateur-a .nazorg li { display: flex; flex-direction: column; gap: 4px; padding: 14px 14px 16px; background: #fff; border: 1px solid var(--lijn); border-radius: 4px; }
body.s-installateur-a .nazorg b { font: 500 12.5px/1.2 var(--mono); color: var(--gloed-d); text-transform: uppercase; letter-spacing: .05em; }
body.s-installateur-a .nazorg span { font-size: 14.5px; line-height: 1.4; }
body.s-installateur-a .krijg-merken { margin: auto 0 0 !important; padding-top: 18px; font-size: 14.5px; color: var(--zacht); }
body.s-installateur-a .krijg-merken span { display: block; font: 500 11.5px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 6px; }
body.s-installateur-a .andere-tel { margin: auto 0 0 !important; padding-top: 22px; font-size: 15px; }
body.s-installateur-a .t-andere .andere-tel a { display: inline; padding: 0; border: 0; color: #fff; font-weight: 600; font-size: inherit; }
body.s-installateur-a .form-tip { display: flex; gap: 18px; align-items: center; margin-top: auto; padding: 18px 20px; border-radius: 5px; background: var(--kalk); }
body.s-installateur-a .form-onder { margin-bottom: 28px; }
body.s-installateur-a .form-tip p { margin: 0; font-size: 15px; color: var(--zacht); }
body.s-installateur-a .form-tip b { color: var(--tekst); }
body.s-installateur-a .tip-plaat { position: relative; flex: none; width: 58px; height: 40px; border-radius: 3px; background: linear-gradient(110deg, #d9dade, #f2f2f4 45%, #c9cacf); border: 1px solid #a3a4ab; display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 0 9px; }
body.s-installateur-a .tip-plaat i { display: block; height: 2px; background: #6b6a72; }
body.s-installateur-a .tip-plaat i:first-child { width: 70%; height: 3px; background: #1b1a20; }
body.s-installateur-a .t-papier h2 { color: #fff; }
body.s-installateur-a .t-papier li { color: var(--licht-op-donker); }
body.s-installateur-a .t-belofte p { color: var(--zacht); font-size: 18px; }
body.s-installateur-a .t-persoon { padding: 30px 28px; }
body.s-installateur-a .ini { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 50%; margin-bottom: 22px; font: 500 20px/1 var(--mono); color: #fff; letter-spacing: .04em;
  background: radial-gradient(circle at 42% 38%, #fff4c2 0%, #fbbf3b 14%, #f17a22 30%, #d8383f 48%, #9b1d6e 66%, #4b0f6b 84%, #120b2e 100%); text-shadow: 0 1px 3px rgba(0, 0, 0, .6); }
body.s-installateur-a .t-persoon h3 { font-size: 21px; margin-bottom: 4px; }
body.s-installateur-a .t-persoon .rol { font: 500 12px/1.3 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--gloed-d); margin-bottom: 14px; }
body.s-installateur-a .t-persoon p:last-child { color: var(--zacht); font-size: 15.5px; margin: 0; }
body.s-installateur-a .t-tijdlijn ol { list-style: none; margin: 6px 0 0; padding: 0; }
body.s-installateur-a .t-tijdlijn li { display: grid; grid-template-columns: 90px 1fr; gap: 20px; padding: 12px 0; border-top: 1px solid var(--lijn); }
body.s-installateur-a .t-tijdlijn b { font: 600 26px/1.1 var(--cond); color: var(--gloed-d); }
body.s-installateur-a .t-gebied p { color: var(--zacht); }
body.s-installateur-a .t-gebied ul { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
body.s-installateur-a .t-gebied li { padding: 7px 13px; border: 1px solid var(--lijn2); border-radius: 999px; font-size: 14px; background: #fff; }
body.s-installateur-a .t-gebied li:first-child { background: var(--inkt); color: #fff; border-color: var(--inkt); }
body.s-installateur-a .t-form h2 { font-size: 32px; }
body.s-installateur-a .chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 6px 0 26px; }
body.s-installateur-a .chip { position: relative; cursor: pointer; }
body.s-installateur-a .chip span { display: block; padding: 10px 16px; border: 1px solid var(--lijn2); border-radius: 999px; font-size: 15px; font-weight: 500; background: #fff; }
body.s-installateur-a .chip input:checked + span { background: var(--inkt); border-color: var(--inkt); color: #fff; }
body.s-installateur-a .velden { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 18px; }
body.s-installateur-a .velden label { grid-column: span 2; display: flex; flex-direction: column; gap: 6px; }
body.s-installateur-a .velden label.half { grid-column: span 1; }
body.s-installateur-a .velden label.vol { grid-column: 1 / -1; }
body.s-installateur-a .velden label span { font-size: 13.5px; font-weight: 600; }
body.s-installateur-a .velden input, body.s-installateur-a .velden select, body.s-installateur-a .velden textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--lijn2); border-radius: 4px; background: #fff; font: 400 16px/1.4 var(--sans); color: var(--tekst); }
body.s-installateur-a .velden input:focus, body.s-installateur-a .velden select:focus, body.s-installateur-a .velden textarea:focus { outline: 2px solid var(--gloed); outline-offset: 0; border-color: var(--gloed); }
body.s-installateur-a .form-onder { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: 24px; }
body.s-installateur-a .form-noot { margin: 0; font-size: 14px; color: var(--zacht); }
body.s-installateur-a .t-gegevens h2, body.s-installateur-a .t-na h2 { font-size: 22px; }
body.s-installateur-a .t-gegevens p { color: var(--zacht); }
body.s-installateur-a .t-gegevens a { color: var(--tekst); font-weight: 500; }
body.s-installateur-a .tijden { margin: 0; font-size: 14.5px; }
body.s-installateur-a .tijden div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--lijn); }
body.s-installateur-a .tijden dt { font-weight: 600; }
body.s-installateur-a .tijden dd { margin: 0; color: var(--zacht); text-align: right; }
body.s-installateur-a .t-na ol { list-style: none; margin: 0; padding: 0; }
body.s-installateur-a .t-na li { display: flex; flex-direction: column; padding: 10px 0 10px 18px; border-left: 2px solid var(--aanvoer); box-shadow: inset 4px 0 0 -2px var(--papier), -4px 0 0 -2px var(--retour); position: relative; }
body.s-installateur-a .t-na li b { font: 500 13px/1.3 var(--mono); color: var(--gloed-d); }
body.s-installateur-a .t-na li span { font-size: 15px; }

/* ── Slotband ─────────────────────────────────────────────────────────── */
body.s-installateur-a .sl-slot { position: relative; display: grid; grid-template-columns: minmax(0, 1.3fr) auto; gap: 24px 48px; align-items: center; background: var(--inkt); color: #fff; border-radius: var(--r); padding: 48px 48px 56px; overflow: hidden; }
body.s-installateur-a .sl-slot::before { content: ""; position: absolute; right: -10%; top: -60%; width: 60%; height: 220%;
  background: radial-gradient(closest-side, rgba(251, 191, 59, .42), rgba(241, 122, 34, .32) 30%, rgba(216, 56, 63, .22) 55%, rgba(75, 15, 107, 0) 100%); pointer-events: none; }
body.s-installateur-a .slot-tekst { position: relative; }
body.s-installateur-a .slot-tekst h2 { font-size: clamp(32px, 3.6vw, 50px); letter-spacing: -.03em; margin-bottom: 14px; color: #fff; }
body.s-installateur-a .slot-tekst p { color: var(--zacht-op-donker); font-size: 18px; max-width: 54ch; margin: 0; }
body.s-installateur-a .slot-acties { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
body.s-installateur-a .slot-tel { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
body.s-installateur-a .slot-tel .ic { width: 22px; height: 22px; color: var(--gloed-l); }
body.s-installateur-a .slot-tel span { display: flex; flex-direction: column; font: 600 24px/1.1 var(--cond); }
body.s-installateur-a .slot-tel small { font: 400 11px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: var(--zacht-op-donker); }
body.s-installateur-a .slot-schaal { position: absolute; left: 0; right: 0; bottom: 0; height: 8px; background: var(--ijzer); }

/* ── Voet met typeplaatje ────────────────────────────────────────────── */
body.s-installateur-a .sl-voet { background: var(--nacht); color: var(--licht-op-donker); padding: 76px 0 30px; }
body.s-installateur-a .voet-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: 48px; align-items: center; padding-bottom: 60px; border-bottom: 1px solid var(--lijn-donker); }
body.s-installateur-a .voet-zin { font: 600 clamp(36px, 4.4vw, 64px)/1.02 var(--sans); letter-spacing: -.035em; color: #fff; margin: 0; }
body.s-installateur-a .voet-zin span { color: #77708a; }
body.s-installateur-a .typeplaat { position: relative; color: #1b1a20; border-radius: 6px; padding: 22px 30px 18px; border: 1px solid #9c9da4;
  background: linear-gradient(100deg, rgba(255, 255, 255, .0) 0%, rgba(255, 255, 255, .55) 38%, rgba(255, 255, 255, 0) 52%), repeating-linear-gradient(90deg, #d9dade 0 2px, #d2d3d8 2px 3px), #d5d6db;
  box-shadow: inset 0 1px 0 #fff, inset 0 -1px 0 #9fa0a6, 0 18px 40px rgba(0, 0, 0, .35); }
body.s-installateur-a .tp-kop { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 10px; border-bottom: 2px solid #1b1a20; font: 500 12px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; }
body.s-installateur-a .tp-kop span:first-child { font: 600 22px/1 var(--sans); letter-spacing: -.02em; text-transform: none; }
body.s-installateur-a .tp-rijen { display: grid; grid-template-columns: 1fr 1fr; margin: 0; }
body.s-installateur-a .tp-rijen div { padding: 9px 12px 9px 0; border-bottom: 1px solid #a3a4ab; }
body.s-installateur-a .tp-rijen div:nth-child(even) { padding-left: 14px; border-left: 1px solid #a3a4ab; }
body.s-installateur-a .tp-rijen .tp-breed { grid-column: 1 / -1; padding-left: 0 !important; border-left: 0 !important; }
body.s-installateur-a .tp-rijen dt { font: 500 10.5px/1.2 var(--mono); letter-spacing: .08em; text-transform: uppercase; color: #3e3d45; margin-bottom: 3px; }
body.s-installateur-a .tp-rijen dd { margin: 0; font-size: 14.5px; font-weight: 500; line-height: 1.35; }
body.s-installateur-a .tp-rijen a { text-decoration: none; }
body.s-installateur-a .tp-rijen a:hover { text-decoration: underline; }
body.s-installateur-a .tp-voet { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; padding-top: 10px; font: 400 10.5px/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: #3e3d45; }
body.s-installateur-a .klinknagel { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #fff, #a5a6ad 60%, #6d6e75); box-shadow: 0 1px 1px rgba(0, 0, 0, .3); }
body.s-installateur-a .k1 { top: 8px; left: 8px; } body.s-installateur-a .k2 { top: 8px; right: 8px; } body.s-installateur-a .k3 { bottom: 8px; left: 8px; } body.s-installateur-a .k4 { bottom: 8px; right: 8px; }
body.s-installateur-a .voet-kolommen { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; padding: 48px 0; }
body.s-installateur-a .voet-kolommen h2 { font: 500 12px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: #8d86a0; margin: 0 0 16px; }
body.s-installateur-a .voet-kolommen ul { list-style: none; margin: 0; padding: 0; }
body.s-installateur-a .voet-kolommen li { padding: 4px 0; }
body.s-installateur-a .voet-kolommen a { text-decoration: none; color: var(--licht-op-donker); font-size: 15.5px; }
body.s-installateur-a .voet-kolommen a:hover { color: var(--gloed-l); }
body.s-installateur-a .voet-kolommen p { color: var(--zacht-op-donker); font-size: 15.5px; margin: 0; }
body.s-installateur-a .voet-kolommen p a { color: #fff; font-weight: 600; }
body.s-installateur-a .voet-onder { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding-top: 24px; border-top: 1px solid var(--lijn-donker); font-size: 13.5px; color: #8d86a0; }
body.s-installateur-a .voet-onder p { margin: 0; }
body.s-installateur-a .voet-onder p:last-child { margin-left: auto; }
body.s-installateur-a .voet-onder a { color: var(--licht-op-donker); }
body.s-installateur-a .voet-leiding { display: flex; flex-direction: column; gap: 4px; width: 46px; }
body.s-installateur-a .voet-leiding i { height: 2px; background: var(--aanvoer); }
body.s-installateur-a .voet-leiding i + i { background: var(--retour); }

/* ── Responsief ──────────────────────────────────────────────────────── */
@media (min-width: 1201px) {
  body.s-installateur-a .kop-tel { width: 42px; height: 42px; justify-content: center; border: 1px solid var(--lijn2); border-radius: 50%; }
  body.s-installateur-a .kop-tel:hover { border-color: var(--inkt); background: #fff; }
  body.s-installateur-a .kop-tel span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
@media (min-width: 1201px) and (max-width: 1279px) {
  body.s-installateur-a .kop-tel { display: none; }
}
@media (max-width: 1240px) {
  body.s-installateur-a .sl-nav ul { gap: 18px; }
  body.s-installateur-a .t-dienst.breed { grid-template-columns: auto minmax(0, 1fr) auto; }
  body.s-installateur-a .t-dienst.breed ul { display: none; }
  body.s-installateur-a .t-dienst.breed .td-meer { grid-column: 3; }
}
@media (max-width: 1200px) {
  body.s-installateur-a .kop-in { min-height: 68px; gap: 16px; }
  body.s-installateur-a .sl-burger { display: flex; align-items: center; gap: 10px; margin-left: auto; cursor: pointer; padding: 10px 14px; border: 1px solid var(--lijn2); border-radius: 4px; flex-direction: row; position: relative; }
  body.s-installateur-a .sl-burger span { display: block; width: 18px; height: 2px; background: var(--aanvoer); }
  body.s-installateur-a .sl-burger span + span { background: var(--retour); position: absolute; left: 14px; top: calc(50% + 3px); }
  body.s-installateur-a .sl-burger span:first-child { transform: translateY(-3px); }
  body.s-installateur-a .sl-burger em { font: 500 14px/1 var(--sans); font-style: normal; margin-left: 4px; }
  body.s-installateur-a .sl-toggle:focus-visible + .sl-burger { outline: 2px solid var(--gloed); outline-offset: 2px; }
  body.s-installateur-a .sl-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; background: var(--papier); border-bottom: 1px solid var(--lijn); padding: 8px 32px 26px; box-shadow: 0 24px 40px rgba(22, 19, 29, .12); }
  body.s-installateur-a .sl-toggle:checked ~ .sl-nav { display: flex; }
  body.s-installateur-a .sl-nav ul { flex-direction: column; gap: 0; margin: 0; }
  body.s-installateur-a .sl-nav ul a { padding: 14px 0; font-size: 20px; border-bottom: 1px solid var(--lijn); }
  body.s-installateur-a .sl-nav ul a::after { display: none; }
  body.s-installateur-a .sl-nav ul a.nu { color: var(--gloed-d); }
  body.s-installateur-a .nav-acties { flex-wrap: wrap; padding-top: 20px; }
  body.s-installateur-a .kop-tel { display: inline-flex; }
  body.s-installateur-a .check-in { grid-template-columns: 1fr; }
  body.s-installateur-a .w3, body.s-installateur-a .w4 { grid-column: span 6; }
  body.s-installateur-a .w5, body.s-installateur-a .w7, body.s-installateur-a .w8 { grid-column: span 12; }
  body.s-installateur-a .h3 { grid-row: auto; }
  body.s-installateur-a .t-stappen ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-installateur-a ol.dag { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.s-installateur-a .voet-top { grid-template-columns: 1fr; }
  body.s-installateur-a .voet-kolommen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.s-installateur-a .abo-rij { grid-template-columns: 1fr; gap: 22px; }
  body.s-installateur-a .t-stap.breed { grid-template-columns: 1fr; }
  body.s-installateur-a .t-stap.breed h2, body.s-installateur-a .t-stap.breed > p { grid-column: 1; }
  body.s-installateur-a .t-stap.breed .stap-nr { grid-row: auto; }
  body.s-installateur-a .t-stap.breed .nazorg { grid-column: 1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  body.s-installateur-a { font-size: 16px; }
  body.s-installateur-a .sl-w { padding: 0 16px; }
  body.s-installateur-a .sl-nav { padding: 8px 16px 24px; }
  body.s-installateur-a .logo-t b { font-size: 21px; }
  body.s-installateur-a .sl-merk { width: 34px; height: 34px; }
  body.s-installateur-a .sl-bento { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body.s-installateur-a .sl-bento > * { grid-column: 1 / -1 !important; grid-row: auto !important; }
  body.s-installateur-a .sl-t { padding: 26px 22px; }
  body.s-installateur-a .t-foto { padding: 0; }
  body.s-installateur-a .sl-foto { min-height: 280px; }
  body.s-installateur-a .check-paneel { padding: 30px 20px 26px; }
  body.s-installateur-a .check-display { padding: 26px 20px; }
  body.s-installateur-a .huizen { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  body.s-installateur-a .huis { padding: 12px 4px 10px; }
  body.s-installateur-a .huis span { font-size: 12px; }
  body.s-installateur-a .jaren { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  body.s-installateur-a .u-meting .netto dd { font-size: 36px; }
  body.s-installateur-a .sl-sectiekop { grid-template-columns: 1fr; padding: 34px 2px 14px; }
  body.s-installateur-a .t-dienst.groot h3 { font-size: 32px; }
  body.s-installateur-a .t-dienst.breed { display: flex; align-items: stretch; }
  body.s-installateur-a .t-dienst.breed ul { display: block; margin-bottom: 20px; }
  body.s-installateur-a .t-dienst.breed .td-nr { display: block; }
  body.s-installateur-a .h-kruis { left: 44%; top: 44%; }
  body.s-installateur-a .h-lees { left: calc(44% - 19px); top: calc(44% + 34px); }
  body.s-installateur-a .h-lees b { font-size: 20px; }
  body.s-installateur-a .h-meta { display: none; }
  body.s-installateur-a .h-schaal { right: 24px; top: 56px; bottom: 56px; }
  body.s-installateur-a .t-dienst.breed > .ic { margin-bottom: 18px; }
  body.s-installateur-a .t-dienst.breed p { margin-bottom: 18px; }
  body.s-installateur-a .t-dienst.breed .td-meer { margin-top: 0; }
  body.s-installateur-a .th-rij { grid-template-columns: 92px minmax(0, 1fr) 52px; gap: 10px; }
  body.s-installateur-a .th-as { margin-left: 102px; margin-right: 62px; }
  body.s-installateur-a .t-stappen ol, body.s-installateur-a ol.dag { grid-template-columns: 1fr; gap: 16px; }
  body.s-installateur-a .t-stappen li::before, body.s-installateur-a ol.dag li::before { right: 0; }
  body.s-installateur-a .pk-in { grid-template-columns: 1fr; padding: 28px 22px 30px; }
  body.s-installateur-a .pk-kruim { margin-bottom: 24px; }
  body.s-installateur-a .pk-lees { grid-column: 1; grid-row: auto; text-align: left; margin-top: 22px; justify-self: start; }
  body.s-installateur-a .pk-lees b { font-size: 30px; }
  body.s-installateur-a .sl-vinkjes.twee, body.s-installateur-a .sl-faq.twee-kol { grid-template-columns: 1fr; }
  body.s-installateur-a .sl-faq.twee-kol details:nth-last-child(2) { border-bottom: 0; }
  body.s-installateur-a .velden { grid-template-columns: 1fr 1fr; }
  body.s-installateur-a .velden label { grid-column: 1 / -1; }
  body.s-installateur-a .velden label.half { grid-column: span 1; }
  body.s-installateur-a .t-stap.met-foto .sl-foto { margin: 8px -22px -26px; }
  body.s-installateur-a .sl-slot { grid-template-columns: 1fr; padding: 34px 22px 42px; }
  body.s-installateur-a .voet-kolommen { grid-template-columns: 1fr; gap: 28px; }
  body.s-installateur-a .tp-rijen { grid-template-columns: 1fr; }
  body.s-installateur-a .tp-rijen div:nth-child(even) { padding-left: 0; border-left: 0; }
  body.s-installateur-a .typeplaat { padding: 20px 20px 16px; }
  body.s-installateur-a .voet-onder p:last-child { margin-left: 0; }
  body.s-installateur-a .t-merken { padding: 22px; }
  body.s-installateur-a .t-merken li { font-size: 19px; }
  body.s-installateur-a .t-tijdlijn li { grid-template-columns: 64px 1fr; gap: 12px; }
  body.s-installateur-a .ts-tel { font-size: 40px; }
  body.s-installateur-a .wtw-schema { grid-template-columns: 1fr 64px 1fr; }
}

/* ── Warmtecheck: de juiste uitkomst tonen (woningtype × bouwjaar, pure CSS) ── */
@supports not selector(:has(*)) { body.s-installateur-a .u-tussen-j2 { display: block; } }
body.s-installateur-a .sl-check:has(#w-app:checked):has(#j-j1:checked) .u-app-j1,
body.s-installateur-a .sl-check:has(#w-app:checked):has(#j-j2:checked) .u-app-j2,
body.s-installateur-a .sl-check:has(#w-app:checked):has(#j-j3:checked) .u-app-j3,
body.s-installateur-a .sl-check:has(#w-app:checked):has(#j-j4:checked) .u-app-j4,
body.s-installateur-a .sl-check:has(#w-tussen:checked):has(#j-j1:checked) .u-tussen-j1,
body.s-installateur-a .sl-check:has(#w-tussen:checked):has(#j-j2:checked) .u-tussen-j2,
body.s-installateur-a .sl-check:has(#w-tussen:checked):has(#j-j3:checked) .u-tussen-j3,
body.s-installateur-a .sl-check:has(#w-tussen:checked):has(#j-j4:checked) .u-tussen-j4,
body.s-installateur-a .sl-check:has(#w-hoek:checked):has(#j-j1:checked) .u-hoek-j1,
body.s-installateur-a .sl-check:has(#w-hoek:checked):has(#j-j2:checked) .u-hoek-j2,
body.s-installateur-a .sl-check:has(#w-hoek:checked):has(#j-j3:checked) .u-hoek-j3,
body.s-installateur-a .sl-check:has(#w-hoek:checked):has(#j-j4:checked) .u-hoek-j4,
body.s-installateur-a .sl-check:has(#w-twee:checked):has(#j-j1:checked) .u-twee-j1,
body.s-installateur-a .sl-check:has(#w-twee:checked):has(#j-j2:checked) .u-twee-j2,
body.s-installateur-a .sl-check:has(#w-twee:checked):has(#j-j3:checked) .u-twee-j3,
body.s-installateur-a .sl-check:has(#w-twee:checked):has(#j-j4:checked) .u-twee-j4,
body.s-installateur-a .sl-check:has(#w-vrij:checked):has(#j-j1:checked) .u-vrij-j1,
body.s-installateur-a .sl-check:has(#w-vrij:checked):has(#j-j2:checked) .u-vrij-j2,
body.s-installateur-a .sl-check:has(#w-vrij:checked):has(#j-j3:checked) .u-vrij-j3,
body.s-installateur-a .sl-check:has(#w-vrij:checked):has(#j-j4:checked) .u-vrij-j4 { display: block; }
