/* Visuele update. Betaalroutes en beheerde programma-inhoud blijven leidend. */
:root{--blue:#0755ae;--sky:#b9eaff;--ink:#082e62;--muted:#435e7a;--paper:#eef8ff;--border:#c9e3f5;--yellow:#ffdf24}
body{font-size:17px;line-height:1.65;background:#fff}
h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:800}
.topline{background:#082e62;color:#fff;font-size:13px;font-weight:700}
.site-header{padding:23px 5%;gap:20px}
.site-header nav{font-size:14px;gap:25px}
.nav-account{border-radius:100px;font-size:14px;padding:14px 23px;background:var(--blue)}
.brand-mark{font-size:44px}.brand-mark span{font-size:11px}.brand-sub{font-size:17px}
.eyebrow{font-size:13px;letter-spacing:1.5px}.red{color:#0755ae}
.hero{min-height:690px;background:#0755ae;border-radius:0 0 58px 58px}
.hero-photo{object-position:75% 55%;filter:saturate(1.25)}
.hero-shade{background:linear-gradient(90deg,#003879f5 0%,#0355afd9 40%,#0065b24a 72%,#0060a526 100%)}
.hero:after{content:'';position:absolute;width:180px;height:180px;right:-70px;top:-65px;border:18px solid #b9eaff55;border-radius:50%;z-index:-1}
.hero-content{padding:84px 5% 100px;max-width:850px}
.hero .eyebrow{color:white;font-size:14px;letter-spacing:1.6px}
.hero h1{font-size:clamp(80px,8.5vw,132px);line-height:.96;letter-spacing:-1px;margin:27px 0 30px;font-style:italic;text-shadow:0 5px 0 #002d6577}
.hero h1 em{color:var(--yellow);display:inline-block;transform:rotate(-3deg)}
.hero-content p{font-size:20px;line-height:1.65;max-width:510px;color:white;font-weight:500}
.button{border-radius:100px;font-size:16px;font-weight:800;padding:18px 27px;min-height:54px;transition:transform .18s,box-shadow .18s}
.primary{background:var(--yellow);color:#082e62;box-shadow:0 5px 0 #bd9800}
.button:hover{filter:none;transform:translateY(-3px);box-shadow:0 8px 20px #002c6533}
.button:disabled{transform:none;box-shadow:none}
.outline{border:2px solid white;background:#00367655;color:white}
.hero-actions{gap:18px}.hero-badge{border-radius:30px 30px 30px 5px;background:var(--yellow);color:#082e62;right:5%;bottom:85px;transform:rotate(-5deg);padding:25px 30px;box-shadow:0 8px 0 #00285c88}
.hero-badge small{font-size:12px;font-weight:800;letter-spacing:.8px}.hero-badge strong{font-size:78px}.hero-badge span{font-size:14px;font-weight:700}
.hero-bottom{font-size:13px;left:5%;right:5%;bottom:24px}
.services{padding:58px 5% 45px;gap:26px}
.service-tile{border-radius:26px;border:2px solid #d7ecfa;box-shadow:0 9px 0 #edf6fc}
.service-tile>div:not(.service-graphic){padding:30px}.service-tile>div>span{font-size:12px;color:#435e7a;letter-spacing:1px}
.service-tile h2{font-size:40px}.service-tile p{font-size:17px;color:#435e7a}.service-tile b{font-size:16px;color:#0755ae}
.service-graphic{background:var(--yellow);height:240px}.service-graphic strong{font-size:126px}.service-graphic>span{font-size:13px!important}.service-graphic>b{font-size:12px}
.benefit-strip{margin:0 5%;border:0;border-radius:24px;background:#e6f5ff;padding:27px 32px;gap:24px}
.benefit-strip b{width:48px;height:48px;flex-shrink:0;display:grid;place-items:center;border-radius:50%;background:white;color:#0755ae;font-size:29px}
.benefit-strip span{font-size:17px}.benefit-strip small{font-size:14px;color:#435e7a}
.section{padding:85px 5%}.programs{background:linear-gradient(#fff,#edf8ff)}
.section-heading h2,h2{font-size:clamp(46px,4.5vw,68px);line-height:1.05}.section-heading p{font-size:18px;max-width:430px;color:#435e7a}
.program-grid{gap:18px;grid-template-columns:repeat(5,minmax(0,1fr))}
.program-card,.program-card:nth-child(n){background:#fff;color:#082e62;border:2px solid #bddcf4;border-radius:26px;padding:27px 20px;min-height:570px;box-shadow:0 7px 0 #d9ecf9}
.program-card.featured{background:#0755ae;color:white;border-color:#0755ae;box-shadow:0 7px 0 #003b82}
.program-card .card-label{align-self:flex-start;background:#e6f5ff;color:#0755ae;border-radius:100px;padding:7px 11px;font-size:11px;letter-spacing:.5px;min-height:30px}
.program-card.featured .card-label{background:var(--yellow);color:#082e62;font-size:12px}
.program-card h3{font-size:35px;min-height:70px;margin:20px 0 14px}
.program-card .description{font-size:15px;line-height:1.6;color:#435e7a;min-height:76px}
.program-card.featured .description{color:#fff}
.program-card .price{background:#eaf6ff;border:0;color:#082e62;width:140px;height:140px;font-size:43px;font-weight:800;margin:10px auto 24px;box-shadow:inset 0 0 0 5px #fff}
.program-card.featured .price{background:var(--yellow);box-shadow:inset 0 0 0 5px #fff8}
.program-card .price small{color:#365272;font-size:13px}
.features{font-size:16px;line-height:1.5;color:#082e62;padding:0;margin-bottom:25px}
.features li{margin:11px 0;padding-left:25px}.features li:before{color:#0755ae;font-size:18px}
.features li.polish{background:var(--yellow);color:#082e62;border-radius:10px;padding:6px 10px 6px 29px;font-weight:800}.features li.polish:before{left:9px;color:#082e62}
.featured .features,.featured .features li:before{color:white}
.program-card .button,.program-card.featured .button{font-size:15px;padding:15px 10px;justify-content:center;background:var(--yellow);color:#082e62;box-shadow:0 4px 0 #cba700}
.program-card .member-hint{font-size:12px;color:#435e7a}.program-card.featured .member-hint{color:white}
.section-note{font-size:14px;line-height:1.7;color:#435e7a;max-width:900px;margin-top:32px}
.membership-section{margin:0 3%;border-radius:40px;background:linear-gradient(120deg,#07448c,#0876d2);padding:65px 5%;gap:60px}
.membership-intro h2{font-size:65px}.membership-intro em{color:var(--yellow)}.membership-intro>.eyebrow{color:white;font-size:13px}
.membership-intro p{color:white;font-size:18px}.membership-intro .fineprint{font-size:14px}.discount-stamp strong{color:var(--yellow);font-size:115px}.discount-stamp span{font-size:13px;font-weight:700}
.membership-actions{background:white;color:#082e62;border:0;border-radius:28px;padding:38px;box-shadow:0 9px 0 #003a8166}
.membership-actions h3{font-size:47px}.membership-actions p{font-size:17px;color:#435e7a}.membership-actions small{font-size:14px;color:#435e7a;max-width:none}
.membership-actions .button{max-width:none}.membership-actions .outline{background:#edf8ff;border:2px solid #b9dbf3;color:#0755ae;box-shadow:none}
.steps{gap:24px}.steps article{background:#edf8ff;border:0;border-radius:25px;padding:30px}
.steps article>span{display:inline-block;background:#0755ae;color:white;border-radius:100px;padding:8px 15px;font-size:13px}.steps h3{font-size:37px}.steps p{font-size:17px;color:#435e7a}
.faq{border-radius:40px 40px 0 0;background:#edf8ff}.faq summary{font-size:18px}.faq details p{font-size:17px;color:#435e7a}.faq details{padding:22px 0}
footer{padding:42px 5%}footer p,footer>div{font-size:14px;color:#435e7a}
dialog{border-radius:26px;padding:38px;width:min(580px,calc(100% - 24px))}dialog h2{font-size:43px}dialog>p{font-size:16px;color:#435e7a}
label{font-size:16px}input,select,textarea{border-radius:12px;padding:14px;border:2px solid #bdd6ec;font-size:17px}
input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ed9d00;outline-offset:4px}
.consent,.checkout-note{font-size:14px;color:#435e7a}.checkout-total{border-radius:16px;font-size:17px}.checkout-total strong{font-size:38px}.dialog-close{width:44px;height:44px;border-radius:50%;background:#edf8ff;color:#082e62;top:10px;right:10px}
@media(max-width:1250px){.program-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-content{max-width:720px}.hero-badge{right:4%;padding:21px}.hero-badge strong{font-size:64px}.site-header nav{gap:16px;font-size:13px}.program-card{min-height:560px}.program-card h3,.program-card .description{min-height:0}}
@media(max-width:900px){.hero-badge{position:relative;display:inline-block;right:auto;bottom:auto;margin:0 5% 70px}.hero-content{padding-bottom:25px;max-width:720px}.hero{min-height:0}.services{gap:18px}.service-tile>div:not(.service-graphic){padding:24px}.benefit-strip{grid-template-columns:1fr}.membership-section{grid-template-columns:1fr;gap:30px}.membership-intro{max-width:none}}
@media(max-width:780px){body{font-size:17px}.site-header nav{font-size:13px;gap:12px;line-height:1.5}.nav-account{font-size:13px;padding:12px 16px}.hero{border-radius:0 0 30px 30px}.hero-content{padding:52px 6% 24px}.hero h1{font-size:clamp(76px,15vw,110px)}.hero-content p{font-size:18px}.hero .eyebrow{font-size:12px}.hero-shade{background:linear-gradient(90deg,#003879ef,#0052aa9c)}.hero-actions{align-items:stretch}.hero-actions .button{justify-content:center;width:100%}.hero-badge{margin-left:6%;padding:16px 24px;transform:rotate(-3deg)}.hero-badge strong{font-size:56px}.hero-badge small{font-size:11px}.hero-badge span{font-size:13px}.hero-bottom{font-size:11px}.services{grid-template-columns:1fr;padding:35px 6%}.benefit-strip{margin:0 6%;padding:24px}.section{padding:55px 6%}.section-heading h2{font-size:49px}.program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.program-card{padding:24px 18px;min-height:0}.program-card h3{font-size:33px}.program-card .description{font-size:15px}.features{font-size:16px}.program-card .button{font-size:15px}.membership-section{margin:0 4%;padding:40px 6%;border-radius:28px}.membership-intro h2{font-size:51px}.membership-actions{padding:28px}.membership-actions h3{font-size:41px}.steps{grid-template-columns:1fr}.faq{border-radius:28px 28px 0 0}.topline{font-size:11px}.topline a{font-size:11px}}
@media(max-width:540px){.program-grid{grid-template-columns:1fr}.program-card{padding:28px}.program-card h3{font-size:40px;margin-bottom:12px}.program-card .description{font-size:17px}.program-card .price{width:150px;height:150px;font-size:48px}.features{font-size:18px}.program-card .button{font-size:17px}.program-card .member-hint{font-size:14px}.program-card .card-label{font-size:12px}.hero-content p{font-size:17px}.button{font-size:16px;padding:17px 20px}.brand-sub{font-size:14px;letter-spacing:2px}.hero-bottom span{max-width:190px}.membership-actions h3{font-size:38px}dialog{padding:52px 24px 28px}dialog h2{font-size:36px}}
/* Elke programmakaart krijgt een eigen kleur, met contrasterende teksten. */
.program-card:nth-child(2){background:#08766f;border-color:#08766f;box-shadow:0 7px 0 #05554f}
.program-card:nth-child(3){background:#6543a3;border-color:#6543a3;box-shadow:0 7px 0 #452c75}
.program-card:nth-child(4){background:#a5411d;border-color:#a5411d;box-shadow:0 7px 0 #752d13}
.program-card:nth-child(5){background:#156b9c;border-color:#156b9c;box-shadow:0 7px 0 #0e4d73}
.program-card:nth-child(n+2){color:#fff}
.program-card:nth-child(n+2) .description,.program-card:nth-child(n+2) .features,.program-card:nth-child(n+2) .features li:before,.program-card:nth-child(n+2) .member-hint{color:#fff}
.program-card:nth-child(n+2) .card-label{background:#ffffff;color:#082e62}
.program-card:nth-child(n+2) .price{background:#fff;box-shadow:inset 0 0 0 5px #e4f3fc}
.program-card.featured{background:#0755ae;border-color:#0755ae;box-shadow:0 7px 0 #003b82}
.program-card.featured .card-label,.program-card.featured .price{background:var(--yellow);color:#082e62}
.service-tile:nth-child(1){background:#e2f5ff;border-color:#a4d7f5}.service-tile:nth-child(2){background:#fff5bc;border-color:#f3d75c}.service-tile:nth-child(3){background:#e6f6eb;border-color:#aedcc0}
.steps article:nth-child(1){background:#e2f5ff}.steps article:nth-child(2){background:#fff5bc}.steps article:nth-child(3){background:#e6f6eb}
.brand-logo{display:block;width:280px;max-width:100%}.brand-logo-crop{display:block;width:100%;aspect-ratio:2048/340;overflow:hidden;position:relative}
.brand-logo-crop img{position:absolute;top:0;left:0;display:block;width:100%;height:auto;max-width:none}
.brand-domain{display:block;color:#43505e;font:700 17px/1.4 'DM Sans',Arial,sans-serif;letter-spacing:.25px;text-align:right;margin-top:4px}
@media(max-width:780px){.brand-logo{width:235px}.brand-domain{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.program-card,.service-tile{transition:none;transform:none}.hero h1 em,.hero-badge{transform:none}}
