
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}img{max-width:100%;display:block}p{margin:0;text-wrap:pretty}h1,h2,h3,h4{margin:0}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}.sectie{padding:88px 0}.kolom{display:flex;flex-direction:column;gap:40px}.intro{max-width:70ch;display:flex;flex-direction:column;gap:14px}
.grid{display:grid;gap:18px}.grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.twee-kolom{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:48px;align-items:start}
.knoppen{display:flex;gap:14px;flex-wrap:wrap}.knop{display:inline-block;font-weight:700;font-size:16px;padding:14px 26px;border:0;cursor:pointer;font-family:inherit;text-decoration:none}.knop:hover{text-decoration:none}.knop-klein{font-size:15px;padding:10px 18px;white-space:nowrap}
.site-header{position:sticky;top:0;z-index:50}.site-header .wrap{padding-top:16px;padding-bottom:16px;display:flex;align-items:center;gap:24px}.site-nav{display:flex;gap:22px;margin-left:auto;font-weight:600;font-size:15px}
.menu-knop{display:none;margin-left:auto;width:44px;height:44px;border-radius:10px;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px}.menu-knop span{display:block;width:20px;height:2px;border-radius:2px;transition:transform .2s,opacity .2s}
.menu-knop[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-knop[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-knop[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1000px){.site-header .wrap{gap:12px}.site-header .knop-klein{display:none}.menu-knop{display:flex}.site-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;padding:8px 0 12px}.site-nav.open{display:flex}.site-nav a{padding:14px 24px;font-size:17px}}
.hero .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:48px;align-items:center}.hero-tekst{display:flex;flex-direction:column;gap:24px}.label{display:inline-flex;align-self:flex-start;align-items:center;padding:7px 16px;font-size:14px;font-weight:700}
.usps{display:flex;gap:10px 28px;flex-wrap:wrap;font-size:15px;font-weight:600;margin-top:8px}.hero-foto{display:flex;flex-direction:column;gap:10px;margin:0}.hero-foto img{width:100%;aspect-ratio:4/3;object-fit:cover}.hero-foto figcaption{font-size:14px}
.prijs{padding:44px 0}.prijs .wrap{display:flex;gap:20px 40px;align-items:center;justify-content:space-between;flex-wrap:wrap}.prijs .knop{white-space:nowrap}
.plaatsen{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}.plaatsen li{padding:8px 16px;font-size:15px;font-weight:600}.plaatsen-titel{font-size:17px;font-weight:700;margin-bottom:16px}
.regio-tekst,.formulier-tekst{display:flex;flex-direction:column;gap:16px}
.faq .wrap{max-width:860px}.faq-lijst{display:flex;flex-direction:column;gap:12px}.faq details{padding:18px 22px}.faq summary{list-style:none;cursor:pointer;font-weight:700;font-size:17px;display:flex;justify-content:space-between;gap:16px;align-items:center}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";font-size:22px;flex-shrink:0}.faq details[open] summary::after{content:"–"}.faq details p{font-size:16px;line-height:1.7;margin:14px 0 4px}
.cta .wrap{max-width:900px;display:flex;flex-direction:column;gap:20px;text-align:center;align-items:center}.cta .klein-label{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.cta .knoppen{justify-content:center;margin-top:6px}
.formulier{padding:30px 28px;display:flex;flex-direction:column;gap:16px}.formulier .rij{display:grid;grid-template-columns:1fr 1fr;gap:14px}.formulier label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700}.formulier input,.formulier textarea{width:100%;min-width:0;padding:12px 14px;font-family:inherit;font-size:15px}.formulier textarea{resize:vertical}.formulier small{font-size:13px}@media(max-width:480px){.formulier .rij{grid-template-columns:1fr}}
.site-footer{padding:64px 0 32px}.site-footer .wrap{display:flex;flex-direction:column;gap:40px}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px}.footer-kolom{display:flex;flex-direction:column;gap:10px}.footer-kolom h4{font-size:17px;font-weight:700}.footer-kolom p,.footer-kolom a{font-size:15.5px;line-height:1.6}.footer-kolom a.klein{font-size:14.5px}.footer-logo{width:170px;height:56px;object-fit:contain;object-position:left}.footer-onder{padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:14px}

body{margin:0;background:#F7F7F5;color:#1C1F23;font-family:'Karla',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.55}
a{color:#0F766E;text-decoration:none}a:hover{color:#0B5C56;text-decoration:underline}
h2{font-size:clamp(32px,4.2vw,46px);font-weight:800;letter-spacing:-.02em;color:#1C1F23;line-height:1.1}h3{font-size:21px;font-weight:800;color:#1C1F23}
.intro p,.regio-tekst p,.formulier-tekst p{font-size:17px;line-height:1.7;color:#4F555C}
.knop{border-radius:999px}.knop-groen{background:#0F766E;color:#fff}.knop-groen:hover{background:#0B5C56;color:#fff}.knop-goud{background:#F4C542;color:#1C1F23}.knop-goud:hover{background:#E0B12E;color:#1C1F23}.knop-rand{border:2px solid #1C1F23;color:#1C1F23;padding:12px 26px}.knop-rand:hover{background:#1C1F23;color:#fff}.knop-rand-wit{border:2px solid rgba(255,255,255,.6);color:#fff;padding:12px 26px}.knop-rand-wit:hover{background:#fff;color:#0F766E}
.site-header{background:#F7F7F5;border-bottom:1px solid #DEDED9}.logo{font-weight:800;font-size:22px;color:#1C1F23;letter-spacing:-.02em}.logo span{color:#0F766E}.logo:hover{text-decoration:none}.site-nav a{color:#1C1F23}.site-nav a:hover{color:#0F766E;text-decoration:none}
.menu-knop{background:#fff;border:1px solid #DEDED9}.menu-knop span{background:#1C1F23}@media(max-width:1000px){.site-nav{background:#F7F7F5;border-bottom:1px solid #DEDED9}.site-nav a{border-top:1px solid #DEDED9}}
.hero{padding:0;background:#1C1F23;color:#fff;position:relative;overflow:hidden}.hero .wrap{grid-template-columns:1fr;gap:0;min-height:560px;align-items:end;padding-top:96px;padding-bottom:72px;position:relative;z-index:2}
.hero::before{content:"";position:absolute;inset:0;background:url('../img/team-west-friesland.webp') center/cover no-repeat;opacity:.55}.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,33,28,.15) 0%,rgba(42,33,28,.9) 70%)}
.hero-foto{display:none}.hero h1{font-size:clamp(42px,6vw,72px);font-weight:800;line-height:1.02;letter-spacing:-.03em;color:#fff;max-width:17ch}.hero-lead{font-size:18px;line-height:1.7;color:#E6E8EA;max-width:58ch}
.label{background:#F4C542;color:#1C1F23;border-radius:999px}.usps{color:#F4C542}
.donker{background:#0F766E;color:#fff}.donker h2{color:#fff}.donker .intro p{color:#CDEBE8}
.kaart-donker{background:#fff;color:#1C1F23;border-radius:24px;padding:28px 26px;display:flex;flex-direction:column;gap:10px}.kaart-donker h3{color:#0F766E}.kaart-donker p{font-size:15.5px;line-height:1.7;color:#4F555C}
.prijs{background:#F4C542;color:#1C1F23}.prijs h2{font-size:clamp(24px,3vw,32px)}.prijs p{font-size:16px;color:#3E3410;margin-top:6px}.prijs strong{color:#1C1F23;font-size:19px}.prijs .knop-groen{background:#1C1F23;color:#fff}.prijs .knop-groen:hover{background:#0D0F11;color:#fff}
.wit{background:#F7F7F5}.zand-donker{background:#ECECE8}
.kaart{background:#fff;border-radius:24px;padding:28px 26px;display:flex;flex-direction:column;gap:10px;border:1px solid #DEDED9}.kaart-wit{background:#fff;border-radius:24px;padding:28px 26px;display:flex;flex-direction:column;gap:10px}.kaart p,.kaart-wit p{font-size:15.5px;line-height:1.7;color:#4F555C}
.kaart-wit h3::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:#0F766E;margin-right:10px}
.plaatsen-titel{color:#0F766E}.plaatsen li{background:#fff;border:1px solid #DEDED9;border-radius:999px;color:#1C1F23}
.faq details{background:#fff;border:1px solid #DEDED9;border-radius:20px}.faq summary{color:#1C1F23}.faq summary::after{color:#0F766E}.faq details p{color:#4F555C}
.cta{background:#1C1F23}.cta .klein-label{color:#F4C542}.cta p{font-size:17px;line-height:1.7;color:#BFC5CB;max-width:62ch}
.formulier-tekst .noot{color:#0F766E;font-size:15.5px}.formulier{background:#fff;border-radius:28px;border:1px solid #DEDED9}.formulier label{color:#1C1F23}.formulier input,.formulier textarea{border:1px solid #DEDED9;border-radius:14px;background:#F7F7F5;color:#1C1F23}.formulier input:focus,.formulier textarea:focus{outline:2px solid #0F766E}.formulier small{color:#7C838A}
.site-footer{background:#F7F7F5;border-top:1px solid #DEDED9}.footer-kolom h4{color:#1C1F23}.footer-kolom p{color:#4F555C}.footer-onder{border-top:1px solid #DEDED9;color:#7C838A}

.plaatsen a{color:inherit;text-decoration:none;display:block}.plaatsen li:has(a):hover{border-color:#0F766E;color:#0F766E}
.kruimel{display:flex;gap:8px;flex-wrap:wrap;font-size:14px;color:#E6E8EA}.kruimel a{color:#F4C542}.kruimel a:hover{color:#fff}
.vinkjes{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.vinkjes li{font-size:16px;color:#4F555C;padding-left:28px;position:relative;line-height:1.5}.vinkjes li::before{content:"✓";position:absolute;left:0;color:#0F766E;font-weight:800}
@media(max-width:700px){.hero::before{background-image:url('../img/team-west-friesland-800.webp')}}
