/* sub.css — subpagina's van Rijschool Amigos (21-10): paginakop, tekst+beeld, extra's, vergelijking, stappen, vragen per
   onderwerp, contact, tekstpagina's, lesgebied en plaatspagina's. Zelfde merk als stijl.css: zwart + speldrood, blauw als tweede. */

/* ── paginakop ── */
.pkop{position:relative;overflow:hidden;color:#fff;padding:clamp(36px,4.4vw,64px) 0 clamp(60px,6.4vw,100px);background:radial-gradient(52% 85% at 88% 18%,rgba(215,7,7,.42),transparent 70%),radial-gradient(42% 60% at 0% 100%,rgba(31,111,229,.17),transparent 70%),linear-gradient(180deg,#0E0A0B,#160D0E)}
.pkop::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--rood-diep),var(--rood-licht) 60%,transparent)}
.pkop-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(40px,5.5vw,96px);align-items:center}
.pkop-kaal .pkop-in{grid-template-columns:minmax(0,1fr)}
.pkop-kaal .pkop-tekst{max-width:860px}
.kruimel ol{display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none;margin:0 0 26px;padding:0;font-size:13.5px;color:rgba(255,255,255,.62)}
.kruimel li{display:inline-flex;align-items:center;gap:8px}
.kruimel li + li::before{content:"";width:5px;height:5px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);opacity:.6}
.kruimel a{text-decoration:none}
.kruimel a:hover{color:#fff;text-decoration:underline}
.kruimel [aria-current]{color:#fff;font-weight:600}
.pkop .kicker{color:var(--rood-licht)}
.pkop h1{margin:.28em 0 0;font-size:clamp(44px,4.7vw,72px);line-height:1.02;letter-spacing:-.032em;text-wrap:balance}
.pkop h1 em{font-style:normal;color:var(--rood-licht)}
.pkop-lead{max-width:580px;margin:22px 0 0;font-size:19px;line-height:1.55;color:rgba(255,255,255,.8)}
.pkop-knoppen{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.knop-wit{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.34);color:#fff}
.knop-wit:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.knop-wit svg{width:1.15em;color:#3BD27A}
.pkop-chips{list-style:none;display:flex;flex-wrap:wrap;gap:9px 10px;margin:28px 0 0;padding:0}
.pkop-chips li{display:inline-flex;align-items:center;gap:8px;padding:8px 15px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.13);font-size:14.5px;font-weight:600}
.pkop-chips svg{width:13px;height:auto;flex:none;color:var(--rood-licht)}
.pkop-foto{position:relative;justify-self:end;width:min(100%,440px);margin:16px 16px 0 0}
.pkop-foto.staand{width:min(100%,380px)}
.pkop-plaat{position:absolute;left:18px;right:-16px;top:-16px;bottom:44px;border-radius:30px;background:radial-gradient(circle at 30% 20%,var(--rood-licht),var(--rood) 45%,var(--rood-diep));transform:rotate(3.5deg)}
.pkop-foto picture,.pkop-foto img{position:relative;display:block;width:100%;border-radius:24px}
.pkop-foto img{box-shadow:0 44px 80px -38px rgba(0,0,0,.85)}
.pkop-foto figcaption{position:relative;display:flex;align-items:center;gap:9px;margin-top:16px;font-size:14px;font-weight:600;color:rgba(255,255,255,.72)}
.pkop-foto figcaption::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--rood-licht);box-shadow:0 0 0 4px rgba(255,91,78,.2)}
.pkop-beeld{position:relative;justify-self:end;width:100%;margin:16px 16px 0 0}
.pkop-beeld .pkop-plaat{bottom:-16px}
.pkop-beeld img{position:relative;width:100%;border-radius:24px;box-shadow:0 44px 80px -38px rgba(0,0,0,.85)}

/* ── gronden voor de nieuwe secties ── */
.grond-licht{background:radial-gradient(55% 50% at 100% 0%,rgba(215,7,7,.11),transparent 70%),radial-gradient(45% 45% at 0% 100%,rgba(31,111,229,.07),transparent 70%),var(--papier)}
.grond-roze{background:radial-gradient(50% 60% at 0% 0%,rgba(215,7,7,.13),transparent 70%),linear-gradient(180deg,#F7E1DC,#FBEDE9)}
.grond-wit{background:radial-gradient(50% 45% at 0% 0%,rgba(215,7,7,.09),transparent 70%),radial-gradient(45% 40% at 100% 100%,rgba(31,111,229,.07),transparent 70%),#FFFBF9}
.grond-donker{color:#fff;background:radial-gradient(60% 60% at 100% 0%,rgba(215,7,7,.32),transparent 70%),radial-gradient(45% 50% at 0% 100%,rgba(31,111,229,.17),transparent 70%),#130D0E}
.grond-donker h2 em{color:var(--rood-licht)}
.grond-donker .intro,.grond-donker .split-tekst > p{color:rgba(255,255,255,.75)}
.grond-donker .kicker{color:var(--rood-licht)}
.sectiekop.links{text-align:left;margin-left:0}
.sectiekop.links .intro{margin-left:0}

/* ── tekst + beeld ── */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(36px,5.5vw,88px);align-items:stretch}
.split.om .split-tekst{order:2}
.split-tekst{align-self:center;min-width:0}
.split-tekst h2{margin:.25em 0 0;font-size:clamp(36px,4.1vw,62px);line-height:1.04;letter-spacing:-.03em;text-wrap:balance}
.split-tekst > p{margin:18px 0 0;font-size:17.5px;color:var(--zacht)}
.split-tekst .knop{margin-top:28px}
.split-beeld{position:relative;min-height:420px;border-radius:26px;overflow:hidden;box-shadow:0 40px 80px -46px rgba(70,12,12,.6)}
.split-beeld picture{position:absolute;inset:0}
.split-beeld img{width:100%;height:100%;object-fit:cover}
.split-beeld.kaart{display:flex;align-items:center;justify-content:center;padding:28px;background:radial-gradient(circle at 30% 20%,rgba(255,91,78,.35),transparent 60%),linear-gradient(160deg,#241819,var(--zwart))}
.split-beeld.kaart picture{position:relative;inset:auto;width:100%}
.split-beeld.kaart img{height:auto;object-fit:contain;border-radius:16px}
.regels{list-style:none;margin:26px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.regels li{display:flex;gap:14px;align-items:center;padding:14px 16px;background:#fff;border:1px solid var(--lijn);border-radius:16px;box-shadow:0 18px 36px -30px rgba(70,12,12,.45)}
.regels b{display:block;font-size:16.5px;line-height:1.3}
.regels small{display:block;font-size:14.5px;line-height:1.45;color:var(--zacht)}
.rg-ic{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:13px;background:#FBE6E2;color:var(--rood-diep)}
.rg-ic svg{width:22px;height:22px}
.grond-donker .regels li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);box-shadow:none}
.grond-donker .regels small{color:rgba(255,255,255,.7)}
.grond-donker .rg-ic{background:rgba(255,91,78,.16);color:var(--rood-licht)}

/* ── extra's: faalangst, opfriscursus, spoedcursus ── */
.ex-rij{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ex-kaart{position:relative;display:flex;flex-direction:column;padding:28px 26px 26px;background:#fff;border:1px solid var(--lijn);border-radius:24px;box-shadow:0 30px 56px -40px rgba(70,12,12,.5)}
.ex-ic{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(150deg,var(--rood-licht),var(--rood-diep));color:#fff;transform:rotate(-5deg)}
.ex-ic svg{width:26px;height:26px}
.ex-kaart h3{margin:20px 0 0;font-size:26px;line-height:1.08;letter-spacing:-.02em}
.ex-kaart > p{margin:10px 0 0;font-size:16px;color:var(--zacht)}
.ex-prijs{display:flex;align-items:baseline;gap:8px;margin:20px 0 0;padding-top:16px;border-top:1px dashed var(--lijn)}
.ex-prijs b{font:900 30px/1 "Figtree",sans-serif;letter-spacing:-.02em}
.ex-prijs span{font-size:14px;color:var(--zacht)}
.ex-kaart .vinkjes{margin:16px 0 22px}
.ex-kaart .knop{margin-top:auto}

/* ── vergelijking schakel en automaat ── */
.vgl{max-width:980px;margin:0 auto;border-radius:26px;overflow:hidden;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12)}
.vgl table{width:100%;border-collapse:collapse;font-size:16px}
.vgl th,.vgl td{padding:16px 22px;text-align:left;vertical-align:top;border-top:1px solid rgba(255,255,255,.09)}
.vgl thead th{border-top:0;padding-top:22px;padding-bottom:18px;font:900 22px/1.1 "Figtree",sans-serif;color:#fff}
.vgl thead th:first-child{font:700 12.5px "Public Sans",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);vertical-align:bottom}
.vgl thead th.aan{color:var(--rood-licht)}
.vgl tbody th{width:30%;font-weight:600;color:rgba(255,255,255,.65)}
.vgl td{color:rgba(255,255,255,.9)}
.vgl td.aan{background:rgba(215,7,7,.12)}
.vgl-knoppen{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}

/* ── stappen (proefles) ── */
.stappen{position:relative;list-style:none;margin:0 auto;padding:0;max-width:920px;display:flex;flex-direction:column;gap:18px;counter-reset:stap}
.stappen::before{content:"";position:absolute;left:31px;top:30px;bottom:30px;width:4px;border-radius:4px;background:linear-gradient(180deg,var(--rood),var(--rood-licht))}
.stap{position:relative;display:grid;grid-template-columns:66px minmax(0,1fr);gap:22px;align-items:start}
.stap-nr{position:relative;z-index:1;display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:var(--zwart);color:#fff;font:900 28px/1 "Figtree",sans-serif;box-shadow:0 0 0 7px #FBEDE9;transform:rotate(-5deg)}
.stap:nth-child(even) .stap-nr{transform:rotate(4deg)}
.stap:last-child .stap-nr{background:var(--rood)}
.stap-kaart{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 26px;background:#fff;border:1px solid var(--lijn);border-radius:22px;box-shadow:0 26px 50px -36px rgba(90,16,16,.5)}
.stap-kaart h3{margin:0;font-size:24px;letter-spacing:-.01em}
.stap-kaart p{margin:6px 0 0;font-size:16px;color:var(--zacht)}
.stap-tijd{padding:8px 14px;border-radius:999px;background:#FBE6E2;color:var(--rood-diep);font-weight:700;font-size:14px;white-space:nowrap}

/* ── prijsblok proefles ── */
.prijsblok{display:flex;flex-direction:column;justify-content:center;gap:16px;padding:40px;border-radius:28px;color:#fff;background:radial-gradient(circle at 80% 10%,rgba(255,91,78,.5),transparent 55%),linear-gradient(160deg,#241819,var(--zwart));box-shadow:0 44px 84px -46px rgba(90,14,14,.75)}
.prijsblok .pb-label{margin:0;font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#FF8E84}
.prijsblok .pb-prijs{margin:0;font:900 88px/.9 "Figtree",sans-serif;letter-spacing:-.04em}
.prijsblok .pb-prijs small{font-size:24px;letter-spacing:0;color:rgba(255,255,255,.7)}
.prijsblok .vinkjes svg{color:var(--rood-licht)}
.prijsblok .vinkjes li{font-size:16px}
.pb-gratis{margin:4px 0 0;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:15.5px}
.pb-gratis b{color:#fff}

/* ── goed om te weten (grid van regels) ── */
.weten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;max-width:1040px;margin:0 auto}
.weten li{align-items:flex-start}
.weten-noot{max-width:760px;margin:26px auto 0;text-align:center;font-size:14.5px;color:var(--zacht)}

/* ── over ons: vier punten ── */
.punten{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1080px;margin:0 auto;counter-reset:punt}
.punt{position:relative;display:flex;gap:20px;padding:28px 28px 28px 26px;border-radius:24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.punt-nr{flex:none;display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(150deg,var(--rood-licht),var(--rood-diep));font:900 24px/1 "Figtree",sans-serif;color:#fff;transform:rotate(-5deg)}
.punt:nth-child(even) .punt-nr{transform:rotate(4deg)}
.punt h3{margin:4px 0 0;font-size:24px;letter-spacing:-.01em}
.punt p{margin:8px 0 0;font-size:16px;color:rgba(255,255,255,.75)}

/* ── app ── */
.app-duo{position:relative;display:grid;grid-template-columns:1fr;gap:18px}
.app-duo figure{border-radius:20px;overflow:hidden;background:#EDE7FF;box-shadow:0 30px 60px -40px rgba(40,20,90,.6)}
.app-duo img{width:100%;height:auto}

/* ── vragen per onderwerp ── */
.vr-groepen{position:relative;z-index:1;display:grid;grid-template-columns:240px minmax(0,1fr);gap:44px;max-width:1120px;margin:0 auto;align-items:start}
.vr-nav{position:sticky;top:110px;display:flex;flex-direction:column;gap:6px}
.vr-nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-radius:14px;color:rgba(255,255,255,.8);text-decoration:none;font-weight:600;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.vr-nav a:hover{background:rgba(255,255,255,.09);color:#fff}
.vr-nav a span{font-size:13px;color:rgba(255,255,255,.5)}
.vr-groep + .vr-groep{margin-top:40px}
.vr-groep > h3{display:flex;align-items:center;gap:12px;margin:0 0 16px;font-size:26px;color:#fff}
.vr-groep > h3 svg{width:40px;height:40px;padding:9px;border-radius:12px;background:rgba(255,91,78,.16);color:var(--rood-licht)}
.vr-groep .vr + .vr{margin-top:10px}
.vr p a{color:#fff}
.vr-bron{margin:0;padding:0 20px 18px;font-size:13px;color:rgba(255,255,255,.5)}

/* ── contact ── */
.ct-rij{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ct-kaart{display:flex;flex-direction:column;gap:10px;padding:26px 24px;background:#fff;border:1px solid var(--lijn);border-radius:22px;text-decoration:none;box-shadow:0 26px 50px -38px rgba(70,12,12,.45);transition:transform .2s ease}
a.ct-kaart:hover{transform:translateY(-3px)}
.ct-ic{display:grid;place-items:center;width:50px;height:50px;border-radius:15px;background:var(--zwart);color:#fff}
.ct-ic svg{width:24px;height:24px}
.ct-wa .ct-ic{background:#1FAF5A}
.ct-kaart h3{margin:8px 0 0;font-size:22px}
.ct-kaart p{margin:0;font-size:15.5px;color:var(--zacht)}
.ct-kaart b{font-size:16.5px;color:var(--inkt);overflow-wrap:anywhere}
.ct-tijden{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:22px}
.tijd-kaart{padding:28px;border-radius:24px;color:#fff;background:radial-gradient(circle at 85% 0%,rgba(255,91,78,.45),transparent 55%),linear-gradient(160deg,#221718,var(--zwart))}
.tijd-kaart h3{margin:0 0 14px;font-size:24px}
.tijd-kaart dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 22px;font-size:16.5px}
.tijd-kaart dt{color:rgba(255,255,255,.65)}
.tijd-kaart dd{margin:0;font-weight:700}
.tijd-kaart p{margin:16px 0 0;font-size:14.5px;color:rgba(255,255,255,.65)}

/* ── tekstpagina's ── */
.tekstsec{background:radial-gradient(45% 40% at 100% 0%,rgba(215,7,7,.08),transparent 70%),radial-gradient(40% 40% at 0% 100%,rgba(31,111,229,.06),transparent 70%),#FFFBF9}
.tekst-in{display:grid;grid-template-columns:260px minmax(0,1fr);gap:56px;align-items:start;max-width:1080px}
.tekst-inhoud{position:sticky;top:110px;padding:22px;background:#fff;border:1px solid var(--lijn);border-radius:20px}
.tekst-inhoud .ti-kop{margin:0 0 10px;font-size:20px}
.tekst-inhoud ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px;font-size:14.5px}
.tekst-inhoud a{text-decoration:none;color:var(--zacht)}
.tekst-inhoud a:hover{color:var(--rood-diep);text-decoration:underline}
.tekst-kolom{min-width:0;max-width:740px}
.tekst-noot{margin:0 0 26px;padding:16px 18px;border-radius:14px;background:#FBE6E2;font-size:15.5px}
.artikel{padding:28px 0;border-top:1px solid var(--lijn)}
.artikel:first-of-type{border-top:0;padding-top:0}
.artikel h3{margin:0 0 12px;font-size:25px;letter-spacing:-.01em}
.artikel p,.artikel li{font-size:16.5px;line-height:1.65}
.artikel p{margin:0 0 10px}
.artikel ul{margin:6px 0 12px;padding-left:22px}
.artikel .nr{font-weight:700;color:var(--rood-diep);margin-right:4px}

/* ── lesgebied ── */
.kaart-vak{position:relative;margin:0;padding:18px;border-radius:28px;background:radial-gradient(circle at 70% 10%,rgba(215,7,7,.3),transparent 60%),linear-gradient(160deg,#1E1415,#0E0A0B);border:1px solid rgba(255,255,255,.1);box-shadow:0 44px 84px -46px rgba(0,0,0,.8)}
.kaart-vak svg.lk{display:block;width:100%;height:auto}
.kaart-vak figcaption{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;padding:12px 6px 4px;font-size:13px;color:rgba(255,255,255,.7)}
.kaart-vak figcaption span{display:inline-flex;align-items:center;gap:7px}
.kaart-vak figcaption i{width:11px;height:11px;border-radius:50%;background:#fff}
.kaart-vak figcaption i.cbr{background:#4D8DF0;border-radius:3px}
.kaart-vak figcaption i.hier{background:var(--rood-licht)}
.lk-weg{fill:none;stroke:rgba(255,255,255,.08);stroke-width:1.2}
.lk-punt{fill:rgba(255,255,255,.85)}
.lk-naam{fill:rgba(255,255,255,.78);font:600 13px "Public Sans",sans-serif}
.lk a:hover .lk-naam,.lk a:focus .lk-naam{fill:#fff;text-decoration:underline}
.lk-hier .lk-punt{fill:var(--rood-licht)}
.lk-hier .lk-naam{fill:#fff;font-weight:700;font-size:15px}
.lk-hier circle.lk-ring{fill:rgba(255,91,78,.25)}
.lk-cbr rect{fill:#4D8DF0}
.lk-cbr text{fill:#9CC1FF;font:700 12.5px "Public Sans",sans-serif}
.lk-zee{fill:rgba(31,111,229,.12)}
.lk-zeenaam{fill:rgba(156,193,255,.5);font:italic 600 12px "Public Sans",sans-serif;letter-spacing:.2em}
.pl-tegels{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.pl-tegels a{position:relative;display:flex;flex-direction:column;gap:4px;height:100%;padding:18px 16px 16px;background:#fff;border:1px solid var(--lijn);border-radius:18px;text-decoration:none;box-shadow:0 22px 40px -34px rgba(70,12,12,.5);transition:transform .2s ease,border-color .2s ease}
.pl-tegels a:hover{transform:translateY(-3px);border-color:var(--rood)}
.pl-naam{font:900 19px/1.15 "Figtree",sans-serif;color:var(--inkt)}
.pl-sub{font-size:13.5px;color:var(--zacht)}
.pl-min{margin-top:auto;padding-top:12px;font-size:13.5px;font-weight:700;color:var(--rood-diep)}
.pl-teyl a{background:linear-gradient(160deg,#221718,var(--zwart));border-color:transparent}
.pl-teyl .pl-naam{color:#fff}
.pl-teyl .pl-sub{color:rgba(255,255,255,.7)}
.pl-teyl .pl-min{color:#FF8E84}
.bord{max-width:1080px;margin:0 auto;padding:10px 26px 18px;border-radius:26px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12)}
.bord-kop,.bord-rij{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) 76px;gap:18px;align-items:center}
.bord-kop{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.bord-kolommen{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
.bord-rij{padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07);color:#fff;text-decoration:none}
.bord-rij:hover b{text-decoration:underline}
.bord-rij b{font-weight:700;font-size:15.5px}
.bord-balk{position:relative;height:8px;border-radius:8px;background:rgba(255,255,255,.08)}
.bord-balk i{position:absolute;inset:0 auto 0 0;border-radius:8px;background:linear-gradient(90deg,#4D8DF0,#9CC1FF)}
.bord-rij span{text-align:right;font-weight:700;font-size:15px;white-space:nowrap}
.bord-kolommen .bord-kop{display:none}
.lg-meer{max-width:820px;margin:24px auto 0;text-align:center;font-size:14px;color:rgba(255,255,255,.6)}

/* ── plaatspagina ── */
.rit-rij{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px}
.rit{display:flex;gap:14px;align-items:center;padding:16px 18px;background:#fff;border:1px solid var(--lijn);border-radius:18px;box-shadow:0 20px 40px -32px rgba(70,12,12,.5)}
.rit .rg-ic{background:#E5EEFC;color:var(--blauw)}
.rit.ophaal .rg-ic{background:#FBE6E2;color:var(--rood-diep)}
.rit small{display:block;font-size:13px;color:var(--zacht)}
.rit b{display:block;font:900 26px/1.05 "Figtree",sans-serif;letter-spacing:-.01em}
.rit span.rit-km{display:block;font-size:13.5px;color:var(--zacht)}
.oefen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr);gap:18px;max-width:1080px;margin:0 auto}
.of-kaart{display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.of-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:rgba(255,91,78,.16);color:var(--rood-licht);margin-bottom:8px}
.of-ic svg{width:24px;height:24px}
.of-kaart b{font:900 52px/1 "Figtree",sans-serif;letter-spacing:-.03em}
.of-kaart > span{font-size:15px;color:rgba(255,255,255,.72)}
.of-label{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.of-wegen ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0;padding:0}
.of-wegen li{padding:7px 12px;border-radius:9px;background:#F5C400;color:#111;font:900 15px/1 "Figtree",sans-serif}
.of-wegen li.a{background:#C8102E;color:#fff}
.of-wegen p{margin:14px 0 0;font-size:14.5px;color:rgba(255,255,255,.72)}
.oefen-tekst{max-width:780px;margin:0 auto clamp(30px,3.6vw,48px);text-align:center;font-size:17.5px;color:rgba(255,255,255,.78)}
.sch-lijst{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.sch-lijst li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 16px;background:#fff;border:1px solid var(--lijn);border-radius:14px}
.sch-lijst b{font-size:15.5px;line-height:1.3}
.sch-lijst small{display:block;font-size:13px;color:var(--zacht)}
.sch-lijst span.pct{font:900 20px/1 "Figtree",sans-serif;color:var(--rood-diep)}
.lees-links{display:flex;flex-direction:column;gap:12px;margin-top:26px}
.lees-links a{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 18px;background:#fff;border:1px solid var(--lijn);border-radius:16px;text-decoration:none;box-shadow:0 18px 36px -30px rgba(70,12,12,.45);transition:transform .2s ease,border-color .2s ease}
.lees-links a:hover{transform:translateX(4px);border-color:var(--rood)}
.lees-links b{display:block;font-size:16.5px}
.lees-links small{display:block;font-size:14px;color:var(--zacht)}
.lees-links > a > svg{width:16px;color:var(--rood)}
.buren{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;padding:0;list-style:none}
.buren a{display:inline-flex;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--lijn);font-size:14.5px;font-weight:600;text-decoration:none}
.buren a:hover{border-color:var(--rood);color:var(--rood-diep)}
.teyl-rij{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.teyl-kaart{display:flex;flex-direction:column;gap:10px;padding:26px;background:#fff;border:1px solid var(--lijn);border-radius:22px;box-shadow:0 26px 50px -38px rgba(70,12,12,.5)}
.teyl-kaart h3{margin:0;font-size:26px}
.teyl-kaart p{margin:0;font-size:15.5px;color:var(--zacht)}
.teyl-kaart .knop{margin-top:auto;align-self:flex-start}
.teyl-cijfers{display:flex;gap:18px;margin:6px 0 10px;padding:12px 0;border-top:1px dashed var(--lijn);border-bottom:1px dashed var(--lijn)}
.teyl-cijfers div{display:flex;flex-direction:column}
.teyl-cijfers b{font:900 24px/1 "Figtree",sans-serif}
.teyl-cijfers small{font-size:12.5px;color:var(--zacht)}

/* ── tussenmaten ── */
@media (max-width:1179px){
  .pkop-in{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:40px}
  .ex-rij{grid-template-columns:minmax(0,1fr)}
  .ex-kaart{display:grid;grid-template-columns:54px minmax(0,1fr);column-gap:20px}
  .ex-kaart > *:not(.ex-ic){grid-column:2}
  .ex-kaart h3{margin-top:4px}
  .ex-kaart .knop{justify-self:start}
  .ct-rij{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vr-groepen{grid-template-columns:minmax(0,1fr);gap:26px}
  .vr-nav{position:static;flex-direction:row;flex-wrap:wrap}
  .vr-nav a span{display:none}
  .tekst-in{grid-template-columns:minmax(0,1fr);gap:28px}
  .tekst-inhoud{position:static}
  .pl-tegels{grid-template-columns:repeat(3,minmax(0,1fr))}
  .bord-kolommen{grid-template-columns:minmax(0,1fr)}
  .oefen{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .of-wegen{grid-column:1 / -1}
  .teyl-rij{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:899px){
  .pkop-in,.split{grid-template-columns:minmax(0,1fr)}
  .pkop-tekst{text-align:center}
  .pkop .kruimel ol,.pkop-knoppen,.pkop-chips{justify-content:center}
  .pkop-lead{margin-inline:auto}
  .pkop-foto,.pkop-beeld{justify-self:center;margin:8px 16px 0 0}
  .split.om .split-tekst{order:0}
  .split-tekst{text-align:center}
  .split-tekst .regels,.split-tekst .lees-links,.split-tekst .sch-lijst,.split-tekst .rit-rij{text-align:left}
  .split-tekst .buren{justify-content:center}
  .split-beeld{min-height:0;aspect-ratio:4/3}
  .split-beeld.kaart{aspect-ratio:auto}
  .punten,.weten{grid-template-columns:minmax(0,1fr)}
}

/* ── telefoon ── */
@media (max-width:699px){
  .pkop{padding:26px 0 52px}
  .pkop h1{font-size:clamp(34px,10.4vw,48px)}
  .pkop-lead{font-size:16.5px;margin-top:16px}
  .kruimel ol{margin-bottom:18px;font-size:13px;justify-content:center}
  .pkop-knoppen{flex-direction:column;align-items:stretch;gap:10px;margin-top:24px}
  .pkop-chips{gap:8px;margin-top:20px}
  .pkop-chips li{font-size:13.5px;padding:7px 12px}
  .pkop-chips li:nth-child(n+3){display:none}
  .pkop-foto{width:min(78vw,340px)}
  .pkop-foto.staand{width:min(70vw,300px)}
  .pkop-plaat{left:12px;right:-12px;top:-12px;bottom:40px;border-radius:24px}
  .split-tekst h2{font-size:clamp(30px,9.4vw,38px)}
  .split-tekst > p{font-size:16px}
  .split-beeld{border-radius:20px}
  .regels li{padding:12px 14px;gap:12px}
  .rg-ic{width:40px;height:40px}
  .ex-kaart{display:flex;padding:22px 20px}
  .ex-kaart h3{margin-top:16px;font-size:23px}
  .ex-kaart .knop{align-self:stretch}
  .vgl th,.vgl td{padding:12px 12px;font-size:14.5px}
  .vgl thead th{font-size:17px}
  .vgl tbody th{width:34%}
  .vgl-knoppen{flex-direction:column}
  .stappen::before{left:25px}
  .stap{grid-template-columns:52px minmax(0,1fr);gap:14px}
  .stap-nr{width:52px;height:52px;font-size:22px;border-radius:16px}
  .stap-kaart{grid-template-columns:minmax(0,1fr);gap:10px;padding:18px}
  .stap-kaart h3{font-size:20px}
  .stap-kaart p{font-size:15px}
  .stap-tijd{justify-self:start}
  .prijsblok{padding:28px 22px}
  .prijsblok .pb-prijs{font-size:68px}
  .punt{padding:22px 20px;gap:16px}
  .punt-nr{width:50px;height:50px;font-size:21px}
  .punt h3{font-size:21px}
  .vr-groep > h3{font-size:22px}
  .ct-rij{grid-template-columns:minmax(0,1fr);gap:12px}
  .ct-kaart{display:grid;grid-template-columns:50px minmax(0,1fr);column-gap:16px;row-gap:2px;padding:18px}
  .ct-kaart .ct-ic{grid-row:span 3}
  .ct-kaart h3{margin:0;font-size:19px}
  .ct-tijden{grid-template-columns:minmax(0,1fr)}
  .tijd-kaart{padding:22px 20px}
  .artikel h3{font-size:21px}
  .artikel p,.artikel li{font-size:15.5px}
  .kaart-vak{padding:10px;border-radius:22px}
  .pl-tegels{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pl-tegels a{padding:14px 13px 13px;border-radius:15px}
  .pl-naam{font-size:17px}
  .bord{padding:6px 16px 12px}
  .bord-kop,.bord-rij{grid-template-columns:minmax(0,1fr) 70px;gap:12px}
  .bord-balk,.bord-kop span:nth-child(2){display:none}
  .rit-rij{grid-template-columns:minmax(0,1fr);gap:10px}
  .oefen{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
  .of-kaart{padding:18px}
  .of-kaart b{font-size:40px}
  .oefen-tekst{font-size:16px}
  .teyl-kaart{padding:22px 20px}
  .teyl-kaart .knop{align-self:stretch}
}
@media (max-width:374px){
  .pkop h1{font-size:32px}
  .pl-tegels{grid-template-columns:minmax(0,1fr)}
  .oefen{grid-template-columns:minmax(0,1fr)}
  .vgl th,.vgl td{padding:10px 8px;font-size:13.5px}
}
.vr-meer{position:relative;z-index:1;text-align:center;margin:32px 0 0}
.split-beeld.zonder-rand{display:flex;min-height:0;overflow:visible;box-shadow:none;border-radius:0}
.split-beeld.zonder-rand > *{flex:1}
.plaats-wolk{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:960px;margin:0 auto;padding:0}
.plaats-wolk a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;font-weight:600;text-decoration:none;transition:background .2s ease,border-color .2s ease}
.plaats-wolk a:hover{background:rgba(215,7,7,.25);border-color:var(--rood-licht)}
@media (max-width:699px){.plaats-wolk{gap:8px}.plaats-wolk a{min-height:40px;padding:0 14px;font-size:14.5px}}
/* vragen op lichte grond (vragenpagina) */
.vr-licht .vr{background:#fff;border-color:var(--lijn);box-shadow:0 16px 32px -28px rgba(70,12,12,.4)}
.vr-licht .vr summary{color:var(--inkt)}
.vr-licht .vr summary i{background:#F7ECE9}
.vr-licht .vr summary i::before,.vr-licht .vr summary i::after{background:var(--rood-diep)}
.vr-licht .vr p{color:var(--zacht)}
.vr-licht .vr p a{color:var(--rood-diep)}
.vr-licht .vr-groep > h3{color:var(--inkt)}
.vr-licht .vr-groep > h3 svg{background:#FBE6E2;color:var(--rood-diep)}
.vr-licht .vr-nav a{background:#fff;border-color:var(--lijn);color:var(--inkt)}
.vr-licht .vr-nav a:hover{border-color:var(--rood);color:var(--rood-diep);background:#fff}
.vr-licht .vr-nav a span{color:var(--zacht)}
.vr-groep{scroll-margin-top:110px}
.plaats-wolk.links{justify-content:flex-start;margin:0}
.tijd-kaart .plaats-wolk a{min-height:38px;padding:0 13px;font-size:14px}
.grond-donker .ct-kaart{box-shadow:none;color:var(--inkt)}
.lees-paneel{display:flex;flex-direction:column;justify-content:center;padding:32px;border-radius:26px;color:#fff;background:radial-gradient(circle at 85% 0%,rgba(255,91,78,.42),transparent 55%),linear-gradient(160deg,#221718,var(--zwart));box-shadow:0 44px 84px -46px rgba(90,14,14,.7)}
.lees-paneel .kicker{color:var(--rood-licht)}
.lees-paneel h3{margin:.3em 0 0;font-size:clamp(28px,2.6vw,38px);line-height:1.05;letter-spacing:-.02em}
.lees-paneel h3 em{font-style:normal;color:var(--rood-licht)}
.lees-paneel .lees-links a{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12);box-shadow:none;color:#fff}
.lees-paneel .lees-links small{color:rgba(255,255,255,.66)}
.lees-paneel .lees-links .rg-ic{background:rgba(255,91,78,.16);color:var(--rood-licht)}
.lees-paneel .lees-links a:hover{border-color:var(--rood-licht)}
.am-tekst .buren{margin-top:18px}
@media (max-width:699px){.lees-paneel{padding:24px 18px}.am-tekst .buren{justify-content:center}}
/* app-schermen gelaagd: twee kaarten over elkaar in het donkere vak */
.split-beeld.kaart .app-duo{position:relative;display:block;width:100%;height:100%;min-height:400px}
.split-beeld.kaart .app-duo figure{position:absolute;width:78%;box-shadow:0 30px 60px -30px rgba(0,0,0,.8);border:4px solid rgba(255,255,255,.9)}
.split-beeld.kaart .app-duo figure:first-child{left:0;top:4%;transform:rotate(-3deg);z-index:2}
.split-beeld.kaart .app-duo figure:last-child{right:0;bottom:4%;transform:rotate(3deg)}
.split-beeld.kaart .app-duo picture{position:static}
@media (max-width:899px){.split-beeld.kaart .app-duo{min-height:0;aspect-ratio:1.15}}
@media (max-width:699px){.split-beeld.kaart{padding:16px}.split-beeld.kaart .app-duo figure{width:82%;border-width:3px}}
.pkop h1{font-size:clamp(42px,4.5vw,68px)}
.ct-kaart{color:var(--inkt)}
.teyl-kaart{color:var(--inkt)}
@media (max-width:899px){.split-beeld.zonder-rand{aspect-ratio:auto}}
@media (max-width:699px){
  .lk-naam{display:none;font-size:20px}
  .lk-vast .lk-naam,.lk-hier .lk-naam{display:inline}
  .lk-hier .lk-naam{font-size:22px}
  .lk-cbr text{font-size:18px}
  .lk-zeenaam{font-size:15px}
}

/* ── 21-10 ontwerpslag: paginakop met merkteken, doek (foto over de volle rechterhelft) of waaier van geslaagden ── */
.pkop{isolation:isolate}
.pkop-merk{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.pm-l{position:absolute;right:-70px;top:-90px;width:min(46vw,620px);transform:rotate(-13deg)}
.pm-l rect{fill:rgba(31,111,229,.15);stroke:rgba(156,193,255,.16);stroke-width:1.5}
.pm-l path{fill:none;stroke:rgba(255,255,255,.1);stroke-width:12;stroke-linecap:round;stroke-linejoin:round}
.pm-pin{position:absolute;left:-60px;bottom:-110px;width:min(24vw,300px)}
.pm-pin path{fill:rgba(215,7,7,.22)}
.pm-pin circle{fill:#120c0d}
.pkop-in{z-index:2}
.pkop-met-doek{min-height:clamp(520px,44vw,640px);display:flex;align-items:center}
.pkop-met-doek .pkop-in{grid-template-columns:minmax(0,560px)}
.pkop-doek{position:absolute;top:0;right:0;bottom:0;width:60%;margin:0;z-index:1}
.pkop-doek picture,.pkop-doek img{display:block;width:100%;height:100%}
.pkop-doek img{object-fit:cover}
.pkop-doek::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0E0A0B 0%,rgba(14,10,11,.82) 18%,rgba(14,10,11,.25) 48%,rgba(14,10,11,0) 70%),linear-gradient(0deg,rgba(14,10,11,.55),transparent 30%)}
.pkop-waaier{position:relative;justify-self:end;width:min(100%,480px);aspect-ratio:1/1.02;margin-right:8px}
.wf{position:absolute;margin:0;width:56%;border-radius:22px;overflow:hidden;border:5px solid #fff;box-shadow:0 40px 70px -34px rgba(0,0,0,.9);background:#fff}
.wf img{display:block;width:100%;height:auto}
.wf-1{left:0;top:13%;transform:rotate(-8deg)}
.wf-3{right:0;top:20%;transform:rotate(7deg)}
.wf-2{left:21%;top:0;width:60%;z-index:2;transform:rotate(-1.5deg)}
.wf.staand{width:48%}
.wf-2.staand{left:25%}
.wf figcaption{position:absolute;left:10px;bottom:10px;padding:4px 11px;border-radius:999px;background:rgba(14,10,11,.78);color:#fff;font-size:12.5px;font-weight:700}
.pkop-met-waaier .pkop-in{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
@media (max-width:1179px){
  .pkop-doek{width:56%}
  .pkop-doek::after{background:linear-gradient(90deg,#0E0A0B 0%,rgba(14,10,11,.9) 25%,rgba(14,10,11,.35) 60%,rgba(14,10,11,.1))}
}
@media (max-width:899px){
  .pkop-met-doek{display:block;min-height:0;padding-bottom:0}
  .pkop-met-doek .pkop-in{grid-template-columns:minmax(0,1fr)}
  .pkop-doek{position:relative;width:auto;height:auto;margin:30px 0 0;aspect-ratio:16/10}
  .pkop-doek::after{background:linear-gradient(180deg,#130c0d 0%,rgba(19,12,13,0) 28%)}
  .pkop-waaier{justify-self:center;width:min(86vw,420px);margin:6px auto 0}
  .pm-l{width:70vw;right:-30vw;top:-40px}
}
@media (max-width:699px){
  .pm-pin{display:none}
  .pkop-doek{margin-top:26px}
  .wf{border-width:4px;border-radius:18px}
}
.pm-pin path{fill:rgba(215,7,7,.1);stroke:rgba(255,91,78,.28);stroke-width:.6}
.pm-pin circle{fill:none;stroke:rgba(255,91,78,.28);stroke-width:.6}

/* ── oefenkaart per plaats ── */
.oefen-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,5vw,80px);align-items:center}
.oefen-kol h2{margin:.25em 0 0;font-size:clamp(36px,4.1vw,62px);line-height:1.04;letter-spacing:-.03em}
.oefen-kol > p:not(.kicker):not(.of-wegkop){margin:18px 0 0;font-size:17px;color:rgba(255,255,255,.78)}
.of-legenda{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin:26px 0 0;padding:18px 0 0;border-top:1px solid rgba(255,255,255,.12)}
.of-legenda li{display:flex;align-items:center;gap:10px;font-size:15.5px;color:rgba(255,255,255,.8)}
.of-legenda b{font:900 26px/1 "Figtree",sans-serif;color:#fff;margin-right:4px}
.of-legenda i{flex:none;width:18px;height:18px;border-radius:50%}
.lg-rot{border:3px solid var(--rood-licht)}
.lg-ovw{background:#F5C400}
.lg-a{border-radius:3px!important;height:6px!important;background:#FF5B4E}
.lg-spoor{border-radius:0!important;height:0!important;border-top:3px dashed #9CC1FF}
.of-wegkop{margin:22px 0 10px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.wegchips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.wegchips li{padding:7px 12px;border-radius:9px;background:#F5C400;color:#111;font:900 15px/1 "Figtree",sans-serif}
.wegchips li.a{background:#C8102E;color:#fff}
.oefenkaart-vak{margin:0;position:relative}
.oefenkaart{display:block;width:100%;max-width:560px;margin:0 auto;height:auto;filter:drop-shadow(0 40px 60px rgba(0,0,0,.6))}
.oefenkaart-vak figcaption{margin-top:6px;text-align:center;font-size:13px;color:rgba(255,255,255,.55)}
.lw-t{fill:none;stroke:rgba(255,255,255,.2);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.lw-s{fill:none;stroke:rgba(255,255,255,.4);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lw-n{fill:none;stroke:rgba(255,255,255,.62);stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.lw-a{fill:none;stroke:#FF5B4E;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}
.lw-spoor{fill:none;stroke:#9CC1FF;stroke-width:1.8;stroke-dasharray:5 4}
.lk-rot{fill:rgba(255,91,78,.18);stroke:var(--rood-licht);stroke-width:2.4}
.lk-ovw circle{fill:#F5C400}
.lk-ovw path{stroke:#111;stroke-width:2;stroke-linecap:round}
.lk-rand{fill:none;stroke:rgba(255,255,255,.28);stroke-width:1.5}
.lk-rand2{fill:none;stroke:rgba(255,255,255,.08);stroke-width:1}
.lk-mid circle{fill:#fff;stroke:#D70707;stroke-width:3}
.lk-mid text{fill:#fff;font:800 15px "Figtree",sans-serif;paint-order:stroke;stroke:#140d0e;stroke-width:4px}
.lk-schaal path{stroke:rgba(255,255,255,.6);stroke-width:2}
.lk-schaal text{fill:rgba(255,255,255,.6);font:600 11px "Public Sans",sans-serif}
@media (max-width:899px){.oefen-split{grid-template-columns:minmax(0,1fr)}.oefen-kol{text-align:center}.of-legenda,.wegchips{justify-content:center}}
@media (max-width:699px){.oefen-kol h2{font-size:clamp(30px,9.4vw,38px)}.of-legenda{gap:10px 16px}.of-legenda b{font-size:22px}}
.lk-zee-l{fill:rgba(31,111,229,.22)}

/* ── leerlijn (schakel) ── */
.ll-kop{max-width:720px;margin-bottom:10px}
.ll-weg{position:relative;margin:0 0 4px}
.ll-weg > svg{display:block;width:100%;height:auto;overflow:visible}
.ll-asfalt{fill:none;stroke:#241819;stroke-width:34;stroke-linecap:round}
.ll-streep{fill:none;stroke:#fff;stroke-width:3;stroke-dasharray:18 16;opacity:.85}
.ll-auto rect{fill:#D70707}
.ll-haltes{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;counter-reset:h}
.ll-haltes li{position:relative;padding:20px 18px 20px;background:#fff;border:1px solid var(--lijn);border-radius:20px;box-shadow:0 24px 46px -34px rgba(90,16,16,.5)}
.ll-haltes li:last-child{background:linear-gradient(160deg,#221718,var(--zwart));color:#fff;border-color:transparent}
.ll-haltes li:last-child p{color:rgba(255,255,255,.72)}
.ll-nr{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--zwart);color:#fff;font:900 17px/1 "Figtree",sans-serif;transform:rotate(-6deg)}
.ll-haltes li:last-child .ll-nr{background:var(--rood)}
.ll-haltes h3{margin:14px 0 0;font-size:20px;line-height:1.15}
.ll-haltes p{margin:6px 0 0;font-size:14.5px;line-height:1.45;color:var(--zacht)}
.ll-feiten{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin:30px 0 0;padding:0}
.ll-feiten li{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15.5px}
.ll-feiten svg{width:22px;height:22px;color:var(--rood)}
@media (max-width:1179px){.ll-haltes{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:899px){.ll-kop{text-align:center;margin-inline:auto}.ll-kop .intro{margin-inline:auto}}
@media (max-width:699px){
  .ll-weg{margin:0 -8px 4px}
  .ll-haltes{grid-template-columns:minmax(0,1fr);gap:10px}
  .ll-haltes li{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:14px;padding:16px}
  .ll-haltes li > *:not(.ll-nr){grid-column:2}
  .ll-haltes .ll-nr{grid-row:span 2}
  .ll-haltes h3{margin:0;font-size:18px}
  .ll-feiten{flex-direction:column;align-items:flex-start;gap:10px;max-width:340px;margin-inline:auto}
}

/* ── keuzehendel (automaat) ── */
.hendel{display:grid;grid-template-columns:150px minmax(0,1fr);gap:26px;align-items:center;padding:30px;border-radius:28px;color:#fff;background:radial-gradient(circle at 20% 15%,rgba(255,91,78,.4),transparent 55%),linear-gradient(160deg,#241819,var(--zwart));box-shadow:0 44px 84px -46px rgba(90,14,14,.75)}
.hd-pook{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:80px;background:#0b0708;border:1px solid rgba(255,255,255,.1);box-shadow:inset 0 10px 24px rgba(0,0,0,.6)}
.hd-pook button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;border:0;border-radius:60px;background:transparent;color:rgba(255,255,255,.5);cursor:pointer;font-family:inherit;transition:background .2s ease,color .2s ease}
.hd-pook b{font:900 30px/1 "Figtree",sans-serif}
.hd-pook span{font-size:11.5px;font-weight:600;letter-spacing:.04em}
.hd-pook button:hover{color:#fff}
.hd-pook button[aria-checked="true"]{background:var(--rood);color:#fff;box-shadow:0 10px 24px -8px var(--rood-gloed)}
.hd-uitleg > div{min-height:150px}
.hd-letter{margin:0;font:900 96px/.85 "Figtree",sans-serif;color:var(--rood-licht)}
.hd-naam{margin:8px 0 0;font:900 26px/1.1 "Figtree",sans-serif}
.hd-uitleg > div > p:last-child{margin:8px 0 0;font-size:16.5px;color:rgba(255,255,255,.8)}
.hd-tip{margin:18px 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);font-size:14.5px;color:rgba(255,255,255,.65)}
@media (max-width:699px){.hendel{grid-template-columns:96px minmax(0,1fr);gap:18px;padding:20px}.hd-pook b{font-size:24px}.hd-pook span{font-size:10px}.hd-letter{font-size:64px}.hd-naam{font-size:21px}.hd-uitleg > div{min-height:170px}}

/* ── proeflesklok ── */
.verloop-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,70px);align-items:center;max-width:1100px;margin:0 auto}
.verloop-in .stappen{margin:0}
.pl-klok{position:relative;width:min(100%,380px);aspect-ratio:1;margin:0 auto}
.pl-klok > svg{width:100%;height:100%;transform:rotate(-90deg)}
.kl-ring{fill:#fff;stroke:#F2D3CD;stroke-width:14}
.kl-voortgang{fill:none;stroke:var(--rood);stroke-width:14;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;animation:kl-loop 3.2s ease-out .4s forwards}
@keyframes kl-loop{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.kl-voortgang{animation:none;stroke-dashoffset:0}}
.kl-streep{stroke:#E3C5BF;stroke-width:2;stroke-linecap:round}
.kl-midden{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.kl-midden b{font:900 clamp(64px,8vw,96px)/.9 "Figtree",sans-serif;letter-spacing:-.04em}
.kl-midden span{font-size:14px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rood-diep)}
.kl-stap{position:absolute;display:grid;place-items:center;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:18px;background:var(--zwart);color:#fff;box-shadow:0 0 0 6px #FBEDE9}
.kl-stap svg{width:26px;height:26px}
.kl-stap i{position:absolute;right:-6px;top:-6px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--rood);font:900 12px/1 "Figtree",sans-serif;font-style:normal}
.kl-4{background:var(--rood)}
.kl-4 i{background:var(--zwart)}
@media (max-width:899px){.verloop-in{grid-template-columns:minmax(0,1fr)}.pl-klok{width:min(78vw,320px)}}
@media (max-width:699px){.kl-stap{width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:14px}.kl-stap svg{width:22px;height:22px}}
@media (max-width:899px){
  .pkop-met-doek{display:flex;flex-direction:column}
  .pkop-met-doek .pkop-in{order:1;width:var(--kader)}
  .pkop-met-doek .pkop-doek{order:2;width:100%}
}
.pl-foto{position:relative;align-self:center;justify-self:center;width:min(100%,440px);margin:16px 16px 0 0}
.pl-foto .pkop-plaat{bottom:44px}
.pl-foto img{position:relative;width:100%;border-radius:24px;box-shadow:0 40px 70px -40px rgba(70,12,12,.7)}
.pl-foto figcaption{position:relative;display:flex;align-items:center;gap:9px;margin-top:16px;font-size:14px;font-weight:600;color:var(--zacht)}
.pl-foto figcaption::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--rood);box-shadow:0 0 0 4px rgba(215,7,7,.15)}
@media (max-width:699px){.pl-foto{width:min(80vw,340px)}}
.split-beeld .pl-foto picture{position:relative;inset:auto;display:block}
.split-beeld .pl-foto img{height:auto;object-fit:initial}
@media (max-width:899px){.pkop-met-waaier .pkop-in{grid-template-columns:minmax(0,1fr)}}
@media (max-width:699px){.pkop-waaier{aspect-ratio:1/.88}}
/* keuring 21-10: waaier zonder bedekte gezichten (middelste foto alleen over de onderkant van de zijfoto's) */
.pkop-waaier{aspect-ratio:1/1.08}
.wf{width:50%}
.wf-1{left:0;top:0;transform:rotate(-6deg)}
.wf-3{right:0;left:auto;top:4%;transform:rotate(6deg)}
.wf-2{left:25%;top:40%;width:50%;transform:rotate(-1.5deg)}
.wf.staand{width:42%}
.wf-2.staand{left:29%;top:34%}
@media (max-width:699px){.pkop-waaier{aspect-ratio:1/1.12}}
/* keuring 21-10: balans, kolommen eindigen samen */
.oefenkaart{max-width:440px}
.oefen-split{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
.pl-klok{width:min(100%,440px)}
.stap-kaart{padding:16px 22px}
.stap-kaart p{font-size:15px}
.stappen{gap:12px}
.pl-foto{width:min(100%,400px)}

/* ── 22-10: checklist voor je eerste les (proefles) — één witte kaart met afgevinkte vakjes, i.p.v. losse feitentegels ── */
.checklist{position:relative;margin-top:28px;padding:22px 24px 18px;background:#fff;border:1px solid var(--lijn);border-radius:22px;box-shadow:0 30px 60px -40px rgba(70,12,12,.55);text-align:left}
.checklist::before{content:"";position:absolute;left:24px;right:24px;top:0;height:4px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--rood),var(--rood-diep))}
.cl-kop{margin:0 0 6px;font:900 19px/1.2 "Figtree",sans-serif;letter-spacing:-.01em}
.checklist ul{list-style:none;margin:0;padding:0}
.checklist li{display:grid;grid-template-columns:26px 40px minmax(0,1fr);gap:12px;align-items:center;padding:13px 0}
.checklist li + li{border-top:1px dashed var(--lijn)}
.cl-vak{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--rood);color:#fff;transform:rotate(-4deg);box-shadow:0 8px 14px -8px rgba(168,4,4,.7)}
.checklist li:nth-child(even) .cl-vak{transform:rotate(4deg)}
.cl-vak svg{width:15px;height:15px}
.cl-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#FBEDE9;color:var(--rood-diep)}
.cl-ic svg{width:20px;height:20px}
.checklist b{display:block;font-size:16.5px;line-height:1.3}
.checklist small{display:block;font-size:14.5px;line-height:1.45;color:var(--zacht)}
.cl-noot{margin:8px 0 0;padding-top:12px;border-top:1px solid var(--lijn);font-size:13.5px;color:var(--zacht)}
.cl-noot a{color:var(--inkt);font-weight:700}
@media (max-width:699px){
  .checklist{padding:18px 16px 14px}
  .checklist li{grid-template-columns:24px minmax(0,1fr);padding:11px 0}
  .cl-ic{display:none}
  .checklist small{font-size:13.5px}
}

/* ── 22-10: kanalen als bento — garage + adres, groene WhatsApp-kaart met snelle vragen, bellen en mailen ── */
.ct-bento{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"plek wa wa" "plek bel mail";gap:18px}
.ct-plek{grid-area:plek;display:flex;flex-direction:column;margin:0;background:#fff;border:1px solid var(--lijn);border-radius:26px;overflow:hidden;box-shadow:0 34px 64px -42px rgba(70,12,12,.5)}
.ct-plek-foto{position:relative;flex:1;min-height:260px}
.ct-plek-foto picture{position:absolute;inset:0}
.ct-plek-foto img{width:100%;height:100%;object-fit:cover;object-position:20% 70%}
.ct-plek figcaption{display:grid;grid-template-columns:50px minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px 22px}
.ct-plek h3{margin:0;font-size:20px;color:var(--inkt)}
.ct-plek b{display:block;font-size:16px;color:var(--inkt)}
.ct-plek p{margin:2px 0 0;font-size:14.5px;color:var(--zacht)}
.ct-plek .ct-ic{background:var(--rood)}
.ct-route{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:var(--zwart);color:#fff;font-weight:700;font-size:14.5px;text-decoration:none;white-space:nowrap}
.ct-route svg{width:16px;height:16px}
.ct-route-licht{margin-top:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18)}
.ct-wa-kaart{grid-area:wa;position:relative;overflow:hidden;padding:26px 26px 22px;border-radius:26px;color:#fff;background:radial-gradient(70% 90% at 100% 0%,rgba(255,255,255,.08),transparent 60%),linear-gradient(150deg,#0F7E42,#0A5C2E);box-shadow:0 34px 64px -40px rgba(10,92,46,.75)}
.ct-wa-kaart::after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.2);border-radius:20px;pointer-events:none}
.ct-wa-kop{display:flex;align-items:center;gap:14px}
.ct-wa-kop .ct-ic{background:#fff;color:#128C4A}
.ct-wa-kop h3{margin:0;font-size:24px}
.ct-wa-kop b{font-size:16.5px}
.ct-wa-kaart > p{margin:14px 0 12px;font-size:15.5px;color:#fff}
.ct-snel{position:relative;z-index:1;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.ct-snel a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px 11px 16px;border-radius:16px 16px 16px 4px;background:#fff;color:#0B3D20;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 10px 20px -14px rgba(0,0,0,.45);transition:transform .2s ease}
.ct-snel a:hover{transform:translateX(4px)}
.ct-snel span{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#1FAF5A;color:#fff}
.ct-snel span svg{width:15px;height:15px}
.ct-bel{grid-area:bel;background:linear-gradient(160deg,#241819,var(--zwart));border-color:transparent}
.ct-bel h3,.ct-bel b{color:#fff}.ct-bel p{color:rgba(255,255,255,.7)}
.ct-bel .ct-ic{background:var(--rood)}
.ct-mail{grid-area:mail}
.ct-bento .ct-kaart{gap:6px}
.grond-donker .ct-plek{border-color:transparent}
.grond-donker .ct-bel{background:linear-gradient(160deg,#2b1f20,#1c1314);border:1px solid rgba(255,255,255,.12)}

/* ── 22-10: lestijden als weekrooster + lesgebied als kaart ── */
.tijd-kaart-rooster{display:flex;flex-direction:column}
.rooster{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;flex:1;min-height:230px;margin:6px 0 22px 52px;padding-bottom:28px}
.ro-as{position:absolute;left:-52px;top:0;bottom:28px;width:44px}
.ro-as span{position:absolute;right:0;transform:translateY(50%);font-size:12px;font-weight:700;color:rgba(255,255,255,.55);font-variant-numeric:tabular-nums}
.ro-dag{position:relative;display:flex;flex-direction:column;align-items:center}
.ro-baan{position:relative;flex:1;width:100%;max-width:46px;border-radius:12px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.06) 0 1px,transparent 1px calc(100% / 13)),rgba(255,255,255,.05)}
.ro-baan i{position:absolute;left:0;right:0;border-radius:12px;background:linear-gradient(180deg,var(--rood-licht),var(--rood) 60%,var(--rood-diep));box-shadow:0 14px 26px -12px rgba(215,7,7,.8)}
.ro-weekend .ro-baan i{background:linear-gradient(180deg,#fff,#F3D2CC)}
.ro-dag b{position:absolute;bottom:-28px;font-size:13.5px}
.tijd-kaart-kaart{display:flex;flex-direction:column;align-items:flex-start}
.tijd-kaart .kaart-vak{width:100%;padding:0;background:none;border:0;box-shadow:none}
.tijd-kaart .kaart-vak figcaption{justify-content:flex-start;padding-left:0}
@media (max-width:1179px){
  .ct-bento{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"plek wa" "bel mail"}
}
@media (max-width:699px){
  .ct-bento{grid-template-columns:minmax(0,1fr);grid-template-areas:"wa" "plek" "bel" "mail";gap:12px}
  .ct-plek-foto{min-height:0;aspect-ratio:16/9;flex:none}
  .ct-plek figcaption{grid-template-columns:minmax(0,1fr) auto;padding:16px 18px}
  .ct-plek .ct-ic{display:none}
  .ct-wa-kaart{padding:20px 18px 18px}
  .ct-snel a{font-size:14.5px}
  .rooster{flex:none;height:190px;min-height:0;gap:6px;margin-left:44px}
  .ro-as{left:-44px;width:38px}
  .ro-dag b{font-size:12px}
}

/* ── 22-10: extra's (faalangst/opfris/spoed) met eigen foto bovenin; ex-kaart-regels hierboven blijven voor de tekst ── */
.ex-met-foto{padding:0;overflow:hidden}
.ex-foto{margin:0;aspect-ratio:16/10;overflow:hidden}
.ex-foto picture,.ex-foto img{display:block;width:100%;height:100%}
.ex-foto img{object-fit:cover}
.ex-met-foto > :not(.ex-foto){margin-left:26px;margin-right:26px}
.ex-kop{display:flex;align-items:center;gap:14px;margin-top:22px}
.ex-kop h3{margin:0!important}
.ex-met-foto .ex-ic{width:48px;height:48px;border-radius:14px}
.ex-met-foto .knop{margin-bottom:26px}
@media (max-width:1179px){
  .ex-met-foto{display:flex!important;flex-direction:column}
  .ex-rij{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ex-met-foto > :not(.ex-foto){margin-left:18px;margin-right:18px}
  .ex-kop{flex-direction:column;align-items:flex-start;gap:10px}
}
@media (max-width:899px){.ex-rij{grid-template-columns:minmax(0,1fr)}}
@media (max-width:699px){
  .ex-met-foto{padding:0!important}
  .ex-foto{aspect-ratio:16/7}
  .ex-kop{flex-direction:row;align-items:center}
  .ex-met-foto .knop{margin-bottom:20px}
}

/* ── 22-10: over ons — vier genummerde kaarten met een eigen foto ── */
.punten-vier{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:18px;padding:0;list-style:none}
.punt-foto-kaart{flex-direction:column;gap:0;padding:0;overflow:hidden;border-radius:24px}
.punt-foto{margin:0;aspect-ratio:4/3;overflow:hidden}
.punt-foto picture,.punt-foto img{display:block;width:100%;height:100%}
.punt-foto img{object-fit:cover}
.punt-tekst{position:relative;padding:34px 22px 24px}
.punt-foto-kaart .punt-nr{position:absolute;top:-27px;left:20px;width:54px;height:54px;font-size:22px;box-shadow:0 14px 26px -12px rgba(215,7,7,.8)}
.punt-foto-kaart h3{margin:0;font-size:22px;line-height:1.15}
.punt-foto-kaart p{font-size:15px}
@media (max-width:1179px){.punten-vier{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:699px){
  .punten-vier{grid-template-columns:minmax(0,1fr);gap:14px}
  .punt-foto-kaart{display:grid!important;grid-template-columns:92px minmax(0,1fr);align-items:start;padding:14px!important}
  .punt-foto{aspect-ratio:1;border-radius:16px}
  .punt-tekst{padding:0 0 0 16px}
  .punt-foto-kaart .punt-nr{position:static;width:36px;height:36px;font-size:16px;border-radius:11px;margin-bottom:8px}
  .punt-foto-kaart h3{font-size:19px}
  .punt-foto-kaart p{font-size:14px;margin-top:4px}
}

.tijd-plaatsen{display:none}
@media (max-width:699px){.tijd-kaart-kaart .kaart-vak{display:none}.tijd-plaatsen{display:flex;margin-top:4px!important}}

/* ── 22-10: proefles in het kort — één kaart met rijen, label links en waarde rechts ── */
.pas{position:relative;margin-top:26px;padding:8px 24px;background:#fff;border:1px solid var(--lijn);border-radius:22px;box-shadow:0 30px 60px -40px rgba(70,12,12,.55);text-align:left}
.pas::before{content:"";position:absolute;left:24px;right:24px;top:0;height:4px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--rood),var(--rood-diep))}
.pas ul{list-style:none;margin:0;padding:0}
.pas li{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 0}
.pas li + li{border-top:1px dashed var(--lijn)}
.pas-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#FBEDE9;color:var(--rood-diep)}
.pas-ic svg{width:20px;height:20px}
.pas-k{font-size:15.5px;color:var(--zacht)}
.pas b{font:900 18px/1.2 "Figtree",sans-serif;letter-spacing:-.01em;text-align:right}
@media (max-width:699px){
  .pas{padding:4px 16px}
  .pas li{grid-template-columns:34px auto minmax(0,1fr);gap:10px;padding:11px 0}
  .pas-k{white-space:nowrap}
  .pas-ic{width:34px;height:34px;border-radius:10px}
  .pas-k{font-size:14px}
  .pas b{font-size:15.5px}
}
.punt-waarde{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:16px 0 0!important;padding-top:12px;border-top:1px dashed rgba(255,255,255,.18)}
.punt-waarde span{font-size:13.5px;color:rgba(255,255,255,.65)}
.punt-waarde b{font:900 18px/1.2 "Figtree",sans-serif;color:#fff;text-align:right}
.punt-foto-kaart{display:flex}.punt-tekst{flex:1;display:flex;flex-direction:column}.punt-waarde{margin-top:auto!important}
.punt-tekst > p:not(.punt-waarde){margin-bottom:16px}
@media (max-width:699px){.punt-waarde{margin-top:10px!important;padding-top:8px}.punt-waarde b{font-size:16px}}
/* 22-10 b: waarde = hoofdelement van de kaart (groot cijfer/feit + één korte regel), geen lopende tekst */
.punt-foto-kaart .punt-waarde{display:block;margin:14px 0 0!important;padding-top:14px}
.punt-foto-kaart .punt-waarde b{display:block;font:900 28px/1.05 "Figtree",sans-serif;letter-spacing:-.02em;color:var(--rood-licht);text-align:left}
.punt-foto-kaart .punt-waarde span{display:block;margin-top:6px;font-size:14px;color:rgba(255,255,255,.7)}
@media (max-width:699px){.punt-foto-kaart .punt-waarde b{font-size:22px}}
@media (min-width:1180px){.ex-met-foto > p:not(.ex-prijs){min-height:3.2em}}

@media (max-width:699px){.sectiekop.links{text-align:center;margin-inline:auto}.sectiekop.links .intro{margin-inline:auto}}
.tekst-inhoud .ti-kop{font-family:"Figtree",sans-serif;font-weight:900}

/* ── 22-10 (Sean: "hero is te lang, past niet in het scherm"): de paginakop past op elk laptopscherm (1280×720 en hoger).
   Tekstkolom breder (h1 in 2 regels, chips op één regel), minder lucht boven en onder, beeld rechts schaalt mee met de schermhoogte. ── */
@media (min-width:900px){
  .pkop{padding:clamp(26px,3vw,48px) 0 clamp(36px,4vw,64px)}
  .pkop-met-doek{min-height:clamp(440px,min(44vw,calc(100vh - 210px)),640px)}
  .pkop-met-doek .pkop-in{grid-template-columns:minmax(0,640px)}
  .pkop-lead{margin-top:16px;font-size:18px}
  .pkop-knoppen{margin-top:22px}
  .pkop-chips{margin-top:18px}
  .pkop-waaier{width:min(100%,480px,calc((100vh - 280px) / 1.08))}
  .pkop-foto{width:min(100%,440px,calc((100vh - 300px) * .8))}
  .pkop-beeld{max-width:calc((100vh - 260px) * 1.3)}
}
/* 26-10 over ons: één set app-telefoons recht op de kaart, geen rand of tweede vlak */
.split-beeld.kaart .app-een{margin:0;width:100%}
.split-beeld.kaart .app-een img{border-radius:0;filter:drop-shadow(0 24px 30px rgba(0,0,0,.55))}
/* 04-11 klantwens: naam op de rechterfoto van de waaier rechtsonder, anders valt hij achter de middelste foto */
.wf-3 figcaption{left:auto;right:10px}
