/* Visuele update. Betaalroutes en beheerde programma-inhoud blijven leidend. */
:root{--blue:#c90016;--sky:#ffd7dc;--ink:#302329;--muted:#66565c;--paper:#fff5f6;--border:#f0cdd2;--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:#302329;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:#c90016}
.hero{min-height:690px;background:#c90016;border-radius:0 0 58px 58px}
.hero-photo{object-position:75% 55%;filter:saturate(1.25)}
.hero-shade{background:linear-gradient(90deg,#710010f5 0%,#ba0014d9 40%,#d800194a 72%,#d8001926 100%)}
.hero:after{content:'';position:absolute;width:180px;height:180px;right:-70px;top:-65px;border:18px solid #ffd7dc55;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 #71001077}
.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:#302329;box-shadow:0 5px 0 #bd9800}
.button:hover{filter:none;transform:translateY(-3px);box-shadow:0 8px 20px #71001033}
.button:disabled{transform:none;box-shadow:none}
.outline{border:2px solid white;background:#71001055;color:white}
.hero-actions{gap:18px}.hero-badge{border-radius:30px 30px 30px 5px;background:var(--yellow);color:#302329;right:5%;bottom:85px;transform:rotate(-5deg);padding:25px 30px;box-shadow:0 8px 0 #71001088}
.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 #f0d7da;box-shadow:0 9px 0 #fff0f2}
.service-tile>div:not(.service-graphic){padding:30px}.service-tile>div>span{font-size:12px;color:#66565c;letter-spacing:1px}
.service-tile h2{font-size:40px}.service-tile p{font-size:17px;color:#66565c}.service-tile b{font-size:16px;color:#c90016}
.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:#fff0f2;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:#c90016;font-size:29px}
.benefit-strip span{font-size:17px}.benefit-strip small{font-size:14px;color:#66565c}
.section{padding:85px 5%}.programs{background:linear-gradient(#fff,#fff5f6)}
.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:#66565c}
.program-grid{gap:18px;grid-template-columns:repeat(5,minmax(0,1fr))}
.program-card,.program-card:nth-child(n){background:#fff;color:#302329;border:2px solid #f0cdd2;border-radius:26px;padding:27px 20px;min-height:570px;box-shadow:0 7px 0 #f4d9dd}
.program-card.featured{background:#c90016;color:white;border-color:#c90016;box-shadow:0 7px 0 #8a0010}
.program-card .card-label{align-self:flex-start;background:#fff0f2;color:#c90016;border-radius:100px;padding:7px 11px;font-size:11px;letter-spacing:.5px;min-height:30px}
.program-card.featured .card-label{background:var(--yellow);color:#302329;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:#66565c;min-height:76px}
.program-card.featured .description{color:#fff}
.program-card .price{background:#fff0f2;border:0;color:#302329;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:#66565c;font-size:13px}
.features{font-size:16px;line-height:1.5;color:#302329;padding:0;margin-bottom:25px}
.features li{margin:11px 0;padding-left:25px}.features li:before{color:#c90016;font-size:18px}
.features li.polish{background:var(--yellow);color:#302329;border-radius:10px;padding:6px 10px 6px 29px;font-weight:800}.features li.polish:before{left:9px;color:#302329}
.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:#302329;box-shadow:0 4px 0 #cba700}
.program-card .member-hint{font-size:12px;color:#66565c}.program-card.featured .member-hint{color:white}
.section-note{font-size:14px;line-height:1.7;color:#66565c;max-width:900px;margin-top:32px}
.membership-section{margin:0 3%;border-radius:40px;background:linear-gradient(120deg,#9e0012,#e30613);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:#302329;border:0;border-radius:28px;padding:38px;box-shadow:0 9px 0 #8a001066}
.membership-actions h3{font-size:47px}.membership-actions p{font-size:17px;color:#66565c}.membership-actions small{font-size:14px;color:#66565c;max-width:none}
.membership-actions .button{max-width:none}.membership-actions .outline{background:#fff5f6;border:2px solid #efc8ce;color:#c90016;box-shadow:none}
.steps{gap:24px}.steps article{background:#fff5f6;border:0;border-radius:25px;padding:30px}
.steps article>span{display:inline-block;background:#c90016;color:white;border-radius:100px;padding:8px 15px;font-size:13px}.steps h3{font-size:37px}.steps p{font-size:17px;color:#66565c}
.faq{border-radius:40px 40px 0 0;background:#fff5f6}.faq summary{font-size:18px}.faq details p{font-size:17px;color:#66565c}.faq details{padding:22px 0}
footer{padding:42px 5%}footer p,footer>div{font-size:14px;color:#66565c}
dialog{border-radius:26px;padding:38px;width:min(580px,calc(100% - 24px))}dialog h2{font-size:43px}dialog>p{font-size:16px;color:#66565c}
label{font-size:16px}input,select,textarea{border-radius:12px;padding:14px;border:2px solid #ebcbd0;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:#66565c}.checkout-total{border-radius:16px;font-size:17px}.checkout-total strong{font-size:38px}.dialog-close{width:44px;height:44px;border-radius:50%;background:#fff5f6;color:#302329;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,#710010ef,#ba00149c)}.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:#302329}
.program-card:nth-child(n+2) .price{background:#fff;box-shadow:inset 0 0 0 5px #ffe1e5}
.program-card.featured{background:#c90016;border-color:#c90016;box-shadow:0 7px 0 #8a0010}
.program-card.featured .card-label,.program-card.featured .price{background:var(--yellow);color:#302329}
.service-tile:nth-child(1){background:#fff0f2;border-color:#efc8ce}.service-tile:nth-child(2){background:#fff4ec;border-color:#efd0bd}.service-tile:nth-child(3){background:#f8f4f2;border-color:#e8d9d4}
.steps article:nth-child(1){background:#fff0f2}.steps article:nth-child(2){background:#fff4ec}.steps article:nth-child(3){background:#f8f4f2}
.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}}

/* AVIA-rood: herkenbare acties, rustige vlakken en heldere contrasten. */
:root{--red:#e30613}
.topline{background:var(--red)}.topline a{color:#fff}
.site-header{border-bottom:3px solid var(--red)}
.site-header nav a:hover{color:var(--red)}
.nav-account{background:var(--red);border-color:var(--red);color:#fff}
.site-header nav .nav-account:hover{background:#bd0011;color:#fff}
.primary{background:var(--red);color:#fff;box-shadow:0 5px 0 #a90010}
.hero-actions .primary{background:white;color:#bd0011;box-shadow:0 5px 0 #79000c66}
.hero h1 em,.membership-intro em,.discount-stamp strong{color:#fff}
.hero-badge{background:#fff;color:#bd0011}
.service-graphic{background:var(--red);color:#fff}
.service-graphic>span,.service-graphic>b{color:#fff!important}
.program-card .button,.program-card.featured .button{background:var(--red);color:#fff;box-shadow:0 4px 0 #a90010}
.program-card:nth-child(n+2) .button,.program-card.featured .button{background:#fff;color:#bd0011;box-shadow:0 4px 0 #0002}
.program-card:nth-child(2){background:#b92336;border-color:#b92336;box-shadow:0 7px 0 #8f1827}
.program-card:nth-child(3){background:#92243a;border-color:#92243a;box-shadow:0 7px 0 #701c2c}
.program-card:nth-child(4){background:#78353f;border-color:#78353f;box-shadow:0 7px 0 #57262e}
.program-card:nth-child(5){background:#5f3039;border-color:#5f3039;box-shadow:0 7px 0 #442129}
.program-card.featured{background:var(--red);border-color:var(--red);box-shadow:0 7px 0 #a90010}
.program-card.featured .price,.program-card.featured .card-label{background:#fff;color:#bd0011}
.program-card .price small{color:#66565c}
.features li.polish{background:#fff0f2;color:#92243a}.features li.polish:before{color:#92243a!important}
input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#e30613}
.hero a:focus-visible,.membership-section a:focus-visible{outline-color:#fff}

/* Preserve the full artwork for configurable logos. */
.brand-logo-crop{aspect-ratio:auto;overflow:visible}
.brand-logo-crop img{position:static;width:100%;height:auto;max-height:110px;object-fit:contain}
.brand-domain{display:none}

/* Unlimited subscription: a short lift when visible, then a quiet pause. */
.services .service-blue{
 position:relative;z-index:1;
 border-color:var(--brand-primary,#e30613);
 box-shadow:0 10px 28px rgba(30,20,25,.16);
}
.services .service-blue.subscription-attention{
 animation:subscription-lift 8s ease-in-out infinite;
}
@keyframes subscription-lift{
 0%,14%,100%{transform:translateY(0)}
 4%,10%{transform:translateY(-8px)}
 7%{transform:translateY(-3px)}
}
.services .service-blue:hover,.services .service-blue:focus-visible{
 animation:none;transform:translateY(-5px);
 box-shadow:0 14px 34px rgba(30,20,25,.22);
}
@media(prefers-reduced-motion:reduce){
 .services .service-blue.subscription-attention{animation:none}
 .services .service-blue:hover,.services .service-blue:focus-visible{transform:none}
}

/* Keep the scroll bar inside the rounded subscription dialog. */
#subscriptionDialog{padding:0;overflow:hidden;border-radius:26px;max-height:calc(100dvh - 32px)}
#subscriptionDialog .subscription-dialog-scroll{padding:38px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;scrollbar-width:thin}
@media(max-width:540px){#subscriptionDialog .subscription-dialog-scroll{padding:52px 24px 28px}}
