
/* ==========================================================================
   Salsation bij PatriX Danza — site.css  ("Salsation Soft"), versie 6
   Eén stylesheet voor alle pagina's. Kleuren en maten staan in :root.
   Deel 1 is ongewijzigd overgenomen uit versie 1; deel 2 (onderaan) bevat
   de aanvullingen van versie 2 t/m 6. Foto's staan als WebP in assets/img/
   (naam-breedte.webp) en worden via srcset geladen.
   ========================================================================== */

@font-face{font-family:'DM Sans PD';src:url(dm-sans-variable.52699934a6.woff2) format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}

:root{
  --bg:#FAF6F3; --blush:#F1E3DD; --rose:#D9B8C0; --rose2:#B4959D; --mauve:#665359; --mauve-d:#54444A;
  --ink:#161317; --ink2:#5B4F54; --ink3:#6F6267; --line:#E6D8D2; --card:#FFFFFF;
  --pink:#FF3366;                                   /* merk-roze: accenten, punten, sterren */
  --btn:linear-gradient(120deg,#E31556 0%,#D6006A 100%); /* knop-roze: AA-contrast met witte tekst */
  --on-mauve:#EADADF;
  --sh-sm:0 1px 2px rgba(22,19,23,.05),0 8px 18px -8px rgba(102,83,89,.22);
  --sh:0 2px 6px rgba(22,19,23,.04),0 28px 56px -28px rgba(102,83,89,.45);
  --sh-pink:0 16px 30px -14px rgba(227,21,86,.6);
  --f:'DM Sans PD','DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:32px;
}

/* ---------- base ---------- */
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--f);margin:0;font-weight:700;line-height:1.02;letter-spacing:-.045em}
h3,h4{letter-spacing:-.03em;line-height:1.15}
p{margin:0}
a{color:inherit}
img{display:block;max-width:100%}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit}
.wrap{max-width:1304px;margin:0 auto;padding:0 32px;position:relative}
.ic{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.warm{filter:saturate(.72) sepia(.14) contrast(.97) brightness(1.04)}
.accent{color:var(--mauve)}
.pinkdot{color:var(--pink)}
.muted{color:var(--ink2)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-100px;z-index:100;background:var(--ink);color:#fff;padding:12px 20px;border-radius:999px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--pink);outline-offset:3px;border-radius:8px}
a.btn:focus-visible,button:focus-visible{border-radius:999px}

/* ---------- type ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0 16px 0 12px;border-radius:999px;background:var(--blush);font-weight:600;font-size:15px;color:var(--mauve);letter-spacing:-.005em}
.eyebrow::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--pink)}
.eyebrow.on-light{background:#fff}
.eyebrow.on-dark{background:rgba(255,255,255,.12);color:#fff}
.h2{font-size:58px;margin-top:18px}
.lead{font-size:20px;color:var(--ink2);line-height:1.6}
.center{text-align:center}
.center .lead{max-width:660px;margin:18px auto 0}

/* ---------- buttons: pill + ronde pijl ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:60px;padding:0 30px;border-radius:999px;font:600 18px/1.1 var(--f);letter-spacing:-.01em;white-space:nowrap;text-decoration:none;border:0;cursor:pointer}
.btn.has-dot{padding:0 7px 0 28px;justify-content:space-between}
.btn .dot{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.btn .dot .ic{width:20px;height:20px;stroke-width:2.2}
.btn-primary{background:var(--btn);color:#fff;box-shadow:var(--sh-pink)}
.btn-primary .dot{background:#fff;color:var(--ink)}
.btn-primary:hover{filter:brightness(1.06)}
.btn-ghost{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.btn-ghost .dot{background:var(--ink);color:#fff}
.btn-ghost:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink .dot{background:var(--pink);color:#fff}
.btn-light{background:#fff;color:var(--ink)}
.btn-light .dot{background:var(--ink);color:#fff}
.btn-sm{min-height:50px;padding:0 22px;font-size:16px}
.btn-sm.has-dot{padding:0 6px 0 20px;gap:12px}
.btn-sm .dot{width:38px;height:38px}
.btn-sm .dot .ic{width:17px;height:17px}
.btn-block{width:100%}
.link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-weight:600;color:var(--ink);text-decoration:none}
.link .dot{width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.link .dot .ic{width:16px;height:16px;stroke-width:2.4}
.link:hover{text-decoration:underline;text-underline-offset:4px}
.on-dark .link{color:#fff}
.on-dark .link .dot{background:#fff;color:var(--ink)}
.btns{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- chips & tags ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);font-weight:500;font-size:16px;color:var(--ink)}
.chip .ic{width:18px;height:18px;color:var(--mauve)}
.tag{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 12px;border-radius:999px;font-weight:600;font-size:14px;background:var(--blush);color:var(--mauve);white-space:nowrap}
.tag .ic{width:15px;height:15px}
.tag-rose,.ticks .tag-rose{background:#8A4A5C;color:#fff;font-weight:700}
.tag-ink{background:var(--ink);color:#fff}
.tag-white{background:#fff;color:var(--ink)}
.tag-pink{background:var(--pink);color:#161317}
.pill{display:inline-flex;align-items:center;gap:12px;min-height:46px;padding:5px 18px 5px 6px;border-radius:999px;background:#fff;box-shadow:var(--sh-sm);font-weight:500;font-size:16px}
.pill b{display:inline-flex;align-items:center;height:34px;padding:0 14px;border-radius:999px;background:var(--ink);color:#fff;font-size:14px;font-weight:600;white-space:nowrap}

/* ---------- bubbles / cards ---------- */
.bub{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--blush);color:var(--mauve);flex:none}
.bub .ic{width:26px;height:26px}
.bub-m{background:var(--mauve);color:#fff}
.bub-p{background:var(--pink);color:#161317}
.bub-w{background:#fff;color:var(--mauve)}
.bub-sm{width:44px;height:44px}
.bub-sm .ic{width:22px;height:22px}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh)}
.badge{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 22px 0 7px;border-radius:999px;background:#fff;box-shadow:var(--sh);font-size:16px;font-weight:500;color:var(--ink2);white-space:nowrap}
.badge b{color:var(--ink);font-weight:700}
.badge .bub{width:40px;height:40px}
.badge .bub .ic{width:20px;height:20px}
.badge.ink{background:var(--ink);color:var(--on-mauve)}
.badge.ink b{color:#fff}
.photo-pill{border-radius:999px;overflow:hidden;box-shadow:var(--sh);background:var(--blush)}
.photo-pill img,.photo-card img{width:100%;height:100%;object-fit:cover}
.photo-card{border-radius:28px;overflow:hidden;background:var(--blush);position:relative}
.photo-card figcaption{position:absolute;left:14px;bottom:14px}
.ig-note{font-size:14px;color:var(--ink3)}

/* ---------- waves ---------- */
.waves{display:block;width:100%}
.waves.w-down{height:150px}
.blob{position:absolute;border-radius:50%;pointer-events:none}

/* ==========================================================================
   HEADER / NAV
   ========================================================================== */
.site-head{position:sticky;top:0;z-index:50;background:rgba(250,246,243,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;height:104px}
.nav .logo{display:block;flex:none}
.nav .logo img{height:66px;width:auto}
.nav .menu{display:flex;gap:2px;padding:6px;background:#fff;border-radius:999px;box-shadow:var(--sh-sm)}
.nav .menu a{display:flex;align-items:center;height:46px;padding:0 19px;border-radius:999px;font-weight:500;font-size:16px;color:var(--ink);text-decoration:none;white-space:nowrap}
.nav .menu a:hover{background:var(--blush)}
.nav .menu a[aria-current="page"]{background:var(--ink);color:#fff}
.nav .actions{display:flex;align-items:center;gap:10px}
.portal{display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 20px;border-radius:999px;font-weight:500;font-size:16px;color:#fff;background:var(--mauve);text-decoration:none;white-space:nowrap}
.portal .ic{width:19px;height:19px}
.portal:hover{background:var(--mauve-d)}
.burger{display:none;width:50px;height:50px;border-radius:50%;border:0;background:#fff;box-shadow:var(--sh-sm);align-items:center;justify-content:center;cursor:pointer}
.burger .ic{width:22px;height:22px}
.burger .i-close{display:none}
.menu-open .burger .i-open{display:none}
.menu-open .burger .i-close{display:block}
.mnav{display:none}

/* ==========================================================================
   HERO (gedeeld)
   ========================================================================== */
.hero{position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:30px;align-items:start;padding-top:28px}
.hero h1{font-size:112px;font-weight:800;line-height:.93;letter-spacing:-.055em;margin-top:28px}
.hero .sub{font-size:36px;font-weight:700;letter-spacing:-.04em;color:var(--mauve);margin-top:18px;line-height:1.1}
.hero .lead{margin-top:22px;max-width:550px}
.hero .btns{margin-top:34px}
.hero .waves{margin-top:-200px;position:relative;z-index:3;height:280px}
.crumb{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:500;color:var(--ink3)}
.crumb a{color:var(--ink3)}
.crumb .ic{width:16px;height:16px}
.crumb span[aria-current]{color:var(--ink);font-weight:600}
.trust{display:flex;align-items:center;gap:14px;margin-top:30px;font-size:16px;color:var(--ink2)}
.trust b{color:var(--ink);font-weight:600}
.avs{display:flex}
.avs span{width:42px;height:42px;border-radius:50%;border:3px solid var(--bg);margin-left:-10px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:15px;color:#fff}
.avs span:first-child{margin-left:0}

/* compositie: grote staande pill + kleine pill + zwevende kaart */
.comp{position:relative;height:640px}
.comp .ph-main{position:absolute;right:20px;top:0;width:390px;height:620px}
.comp .ph-main img{object-position:50% 30%}
.comp .ph-side{position:absolute;left:40px;top:300px;width:220px;height:320px;border:8px solid var(--bg);box-shadow:none}
.comp .ring{position:absolute;left:0;top:30px;width:180px;height:180px;border-radius:50%;background:var(--rose);opacity:.5}
.comp .float{position:absolute;left:0;top:96px;z-index:2}
.comp .badge-pos{position:absolute;right:-6px;top:110px;z-index:2}
.comp.wide .ph-main{width:520px;height:300px;top:10px;right:0}
.comp.wide .ph-side{left:30px;top:250px;width:240px;height:300px}
.comp.wide .badge-pos{top:330px;right:20px}
.comp.wide{height:560px}

.trial-card{width:300px;padding:20px;border-radius:28px;background:#fff;box-shadow:var(--sh)}
.trial-card .lbl{font-size:14px;font-weight:600;color:var(--ink3)}
.trial-card .row{display:flex;align-items:center;gap:14px;margin-top:12px}
.trial-card .date{width:58px;height:62px;border-radius:30px;background:var(--blush);display:flex;align-items:center;justify-content:center;color:var(--mauve)}
.trial-card .date .ic{width:26px;height:26px}
.trial-card h3{font-size:22px}
.trial-card .meta{font-size:15px;color:var(--ink2)}
.trial-card .btn{width:100%;margin-top:16px}

/* ==========================================================================
   SECTIES
   ========================================================================== */
.sec{padding:100px 0 0}
.sec.after-wave{padding-top:36px}
.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:60px;align-items:end}
.mauve{background:var(--mauve);color:#fff}
.mauve .lead,.mauve p{color:var(--on-mauve)}
.mauve h2,.mauve h3{color:#fff}
/* witte kaarten binnen donkere (mauve) secties: tekst weer donker */
.mauve .loc,.mauve .soon-card,.mauve .card,.mauve .bring{color:var(--ink)}
.mauve .loc h3,.mauve .soon-card h3,.mauve .bring h3{color:var(--ink)}
.mauve .soon-card p,.mauve .loc p,.mauve .bring p{color:var(--ink2)}
.on-dark .loc .link,.on-dark .soon-card .link{color:var(--ink)}
.on-dark .loc .link .dot{background:var(--ink);color:#fff}
.panel{margin:100px 16px 0;padding:88px 0;border-radius:40px;background:var(--blush);position:relative;overflow:hidden}
.panel.mauve-panel{background:var(--mauve);color:#fff}
.spacer{height:100px}

/* stats */
.stats{padding:18px 0 40px}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{display:flex;align-items:center;gap:18px;padding:0 30px}
.stat:first-child{padding-left:0}
.stat+.stat{border-left:1.5px solid rgba(255,255,255,.18)}
.stat .bub{background:rgba(255,255,255,.12);color:#fff}
.stat .n{font-size:52px;font-weight:700;letter-spacing:-.05em;line-height:1;color:#fff}
.stat .l{font-size:17px;color:var(--on-mauve);margin-top:6px;line-height:1.3}

/* pijlers */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.pillar{padding:12px 12px 32px;border-radius:32px;background:#fff;box-shadow:var(--sh);position:relative}
.pillar .img{height:210px;border-radius:105px;overflow:hidden}
.pillar .img img{width:100%;height:100%;object-fit:cover}
.pillar>.bub{position:absolute;left:30px;top:186px;width:64px;height:64px;border:5px solid #fff}
.pillar .body{padding:46px 20px 0}
.pillar h3{font-size:34px;letter-spacing:-.04em}
.pillar p{margin-top:10px;color:var(--ink2)}

/* zo ziet een les eruit */
.look{display:grid;grid-template-columns:minmax(0,620px) minmax(0,1fr);gap:72px;align-items:center}
.look .photo-card{aspect-ratio:16/9;max-width:640px;box-shadow:var(--sh)}
.look .stack{position:relative}
.look .stack .mini{position:absolute;right:-28px;bottom:-56px;width:170px;aspect-ratio:9/16;max-height:300px;border:7px solid var(--bg);border-radius:90px;box-shadow:var(--sh)}
.look ul.ticks{margin-top:26px;display:grid;gap:14px}
.ticks li{display:flex;gap:14px;align-items:flex-start}
.ticks .bub{width:44px;height:44px}
.ticks .bub .ic{width:22px;height:22px}
.ticks b{display:block;font-size:19px;letter-spacing:-.02em}
.ticks span{color:var(--ink2);font-size:17px}

/* weekkaart (home) */
.lp-grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:64px;align-items:center}
.week{padding:30px}
.week-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.week-top h3{font-size:28px;letter-spacing:-.04em}
.days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:22px}
.day{height:78px;border-radius:999px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-weight:600;font-size:16px;color:#A3969B;background:var(--bg)}
.day i{width:7px;height:7px;border-radius:50%;background:transparent}
.day.has{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.day.has i{background:var(--pink)}
.day.on{background:var(--ink);color:#fff;box-shadow:none}
.day.on i{background:var(--pink)}
.rows{margin-top:20px;display:flex;flex-direction:column;gap:10px}
.row-c{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 14px 14px 26px;border-radius:999px;background:var(--bg);text-decoration:none}
.row-c.on{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.row-c .t{font-size:26px;font-weight:700;letter-spacing:-.04em;line-height:1}
.row-c .t small{display:block;font-size:14px;font-weight:500;letter-spacing:0;color:var(--ink3);margin-top:6px}
.row-c h4{font-size:20px;display:flex;align-items:center;gap:10px}
.row-c .meta{display:flex;align-items:center;gap:6px;font-size:16px;color:var(--ink2);margin-top:2px}
.row-c .meta .ic{width:16px;height:16px;color:var(--mauve)}
.row-c .go{width:48px;height:48px;border-radius:50%;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1.5px var(--line)}
.row-c.on .go{background:var(--ink);color:#fff;box-shadow:none}
.price-teaser{display:grid;gap:10px;margin-top:28px}
.price-teaser li{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:0 10px 0 22px;border-radius:999px;background:#fff;font-size:17px}
.price-teaser li b{font-size:20px;letter-spacing:-.03em}
.price-teaser li .tag{margin-left:auto}

/* Patricia-blok (home/over/proefles) */
.pat{display:grid;grid-template-columns:minmax(0,540px) minmax(0,1fr);gap:96px;align-items:center}
.wavephoto{position:relative;height:660px}
.wavephoto .wavebox{position:absolute;left:0;right:0;bottom:0;height:470px;border-radius:40px;background:var(--blush);overflow:hidden}
.wavephoto .wavebox .waves{position:absolute;left:0;bottom:0;height:280px}
.wavephoto .frame{position:absolute;left:50%;margin-left:-180px;top:0;width:360px;height:600px}
.wavephoto .frame img{object-position:50% 35%}
.wavephoto .b1{position:absolute;right:-10px;top:120px;z-index:2}
.wavephoto .b2{position:absolute;left:-14px;bottom:110px;z-index:2}
.wavephoto .sticker{position:absolute;right:-10px;top:90px;background:var(--ink);color:#fff;border-radius:999px;padding:13px 22px;font-size:20px;font-weight:700;letter-spacing:-.02em;transform:rotate(-6deg);z-index:2}
.pat .lead{margin-top:24px}
blockquote.pq{margin:32px 0 0;padding:6px 0 6px 26px;border-left:5px solid var(--pink);font-size:30px;font-weight:600;letter-spacing:-.035em;line-height:1.2}
.pat .chips{margin-top:30px}
.pat .link{margin-top:28px}

/* reviews (mauve paneel) */
.rev-head{display:flex;justify-content:space-between;align-items:end;gap:40px}
.rev-head .tag{background:rgba(255,255,255,.14);color:#fff}
.revs{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:24px;margin-top:48px}
.rev{padding:34px;border-radius:32px;background:var(--bg);color:var(--ink);display:flex;flex-direction:column}
.rev p{font-size:19px;line-height:1.6;margin-top:18px;flex:1;color:var(--ink)}
.rev-photo{border-radius:32px;overflow:hidden;position:relative;min-height:340px}
.rev-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.rev-photo figcaption{position:absolute;left:16px;bottom:16px}
.stars{display:flex;gap:3px;color:var(--pink)}
.stars .ic{width:22px;height:22px}
.who{display:flex;align-items:center;gap:14px;margin-top:28px}
.who .av{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;color:#fff;flex:none}
.who b{display:block;font-size:17px;font-weight:600}
.who small{font-size:15px;color:var(--ink2)}

/* events (home teaser + events-pagina) */
.ev{display:grid;grid-template-columns:minmax(0,640px) minmax(0,1fr);gap:24px;margin-top:48px}
.ev-big{position:relative;min-height:500px;border-radius:32px;overflow:hidden;background:var(--mauve)}
.ev-big img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.ev-big .ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(102,83,89,0) 30%,rgba(50,38,43,.92) 100%)}
.ev-big .txt{position:absolute;left:34px;right:34px;bottom:32px;color:#fff}
.ev-big .txt h3{font-size:46px;letter-spacing:-.045em;margin-top:14px}
.ev-big .txt p{margin-top:10px;font-size:18px;color:rgba(255,255,255,.9);max-width:520px}
.ev-col{display:grid;gap:24px}
.ev-card{border-radius:32px;padding:30px 32px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;background:var(--blush)}
.ev-card.c2{background:#EBD3D8}
.ev-card h3{font-size:30px;letter-spacing:-.04em;margin-top:14px}
.ev-card p{color:var(--ink2);margin-top:8px}
.ev-card .when{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

/* ==========================================================================
   CTA-BAND + FOOTER
   ========================================================================== */
.cta{background:var(--blush);position:relative}
.cta .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);align-items:center;gap:40px;padding-top:96px}
.cta h2{font-size:68px;line-height:1}
.cta p{font-size:20px;color:var(--ink2);margin-top:22px;max-width:560px}
.cta .btns{margin-top:34px}
.cta .photos{position:relative;height:430px}
.cta .ph1{position:absolute;right:20px;top:0;width:280px;height:420px}
.cta .ph1 img{object-position:50% 25%}
.cta .ph2{position:absolute;left:30px;top:120px;width:190px;height:270px;border:7px solid var(--blush);box-shadow:none}
.cta .sticker{position:absolute;left:0;top:40px;background:var(--ink);color:#fff;border-radius:999px;padding:12px 22px;font-weight:700;font-size:20px;letter-spacing:-.02em;transform:rotate(-6deg);z-index:2}
.cta .waves{margin-top:-190px;position:relative;z-index:1;height:280px}

.foot{background:var(--mauve);color:#fff;padding:24px 0 36px}
.foot a{color:inherit;text-decoration:none}
.foot a:hover{text-decoration:underline;text-underline-offset:3px}
.foot .top{display:grid;grid-template-columns:1.3fr 1fr 1fr .9fr;gap:48px}
.foot .brand img{height:100px;width:auto}
.foot .brand p{margin-top:18px;color:var(--on-mauve);font-size:17px;max-width:300px}
.foot .soc{display:flex;gap:10px;margin-top:22px}
.foot .soc a{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;color:#fff}
.foot .soc a:hover{background:rgba(255,255,255,.22)}
.foot h2{font-size:20px;margin-bottom:18px;letter-spacing:-.02em;line-height:1.2}
.foot li{margin-bottom:12px;font-size:17px;color:var(--on-mauve)}
.foot li b{display:block;color:#fff;font-weight:600}
.foot .row{display:flex;align-items:flex-start;gap:10px}
.foot .row .ic{margin-top:4px;color:var(--rose);width:18px;height:18px}
.foot .route{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-weight:600;color:#fff;font-size:16px}
.foot .route .ic{margin:0;color:#fff;width:16px;height:16px}
.foot .fbtns{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:8px}
.foot .fbtns .btn{min-height:48px}
.foot .btn-light{color:var(--ink)}
.foot .btn-primary{color:#fff}
.foot .btn:hover{text-decoration:none}
.foot .bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:56px;padding-top:24px;border-top:1.5px solid rgba(255,255,255,.18);font-size:15px;color:var(--on-mauve)}
.foot .bottom nav{display:flex;gap:22px}

/* ==========================================================================
   LESSEN
   ========================================================================== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;position:relative}
.steps::before{content:"";position:absolute;left:16%;right:16%;top:63px;border-top:2px dashed rgba(255,255,255,.3)}
.step{position:relative;padding:32px;border-radius:32px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.12)}
.step .num{width:62px;height:62px;border-radius:50%;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;letter-spacing:-.04em;position:relative}
.step:first-child .num{background:var(--pink);color:#161317}
.step .ico{position:absolute;right:30px;top:36px;color:rgba(255,255,255,.5)}
.step .ico .ic{width:34px;height:34px;stroke-width:1.6}
.step h3{font-size:28px;margin-top:24px;letter-spacing:-.035em}
.step p{margin-top:10px}

.sched-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.sched{margin-top:40px;padding:32px;border-radius:36px}
.sched-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.sched-top h3{font-size:26px;display:flex;align-items:center;gap:12px;letter-spacing:-.035em}
.legend{display:flex;gap:20px;font-size:15px;color:var(--ink2)}
.legend span{display:flex;align-items:center;gap:8px}
.legend i{width:10px;height:10px;border-radius:50%;background:var(--pink)}
.legend i.v{background:var(--rose2)}
.wk{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin-top:24px}
.wk div{height:88px;border-radius:999px;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#A3969B;font-weight:600;font-size:17px}
.wk div small{font-weight:500;font-size:14px}
.wk div.has{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.wk div.has small{color:#C8104E;font-weight:600}
.classes{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}
.cls{padding:24px;border-radius:28px;background:var(--bg);display:flex;flex-direction:column}
.cls .d{display:flex;justify-content:space-between;align-items:center;gap:8px}
.cls .d b{font-size:19px;font-weight:600;letter-spacing:-.02em}
.cls .time{font-size:40px;font-weight:700;line-height:1;margin-top:18px;letter-spacing:-.05em}
.cls .time span{color:var(--ink3);font-size:22px;letter-spacing:-.03em;font-weight:600}
.cls h3{font-size:22px;margin-top:12px}
.cls ul{margin-top:10px;flex:1}
.cls li{display:flex;align-items:center;gap:8px;font-size:16px;color:var(--ink2);margin-top:6px}
.cls li .ic{width:17px;height:17px;color:var(--mauve)}
.cls .btn{margin-top:22px;width:100%;min-height:54px;font-size:16px;padding:0 6px 0 20px}
.cls .btn .dot{width:42px;height:42px}
.sched-note{margin-top:18px;font-size:15px;color:var(--ink3);display:flex;align-items:center;gap:8px}
.sched-note .ic{width:17px;height:17px;color:var(--mauve)}

/* prijzen */
.price-group{margin-top:56px}
.price-group+.price-group{margin-top:48px}
.pg-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pg-head h3{font-size:28px;letter-spacing:-.04em}
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px;align-items:stretch}
.price{position:relative;padding:32px 28px 28px;border-radius:32px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);display:flex;flex-direction:column}
.price.pop{background:var(--mauve);color:#fff;box-shadow:var(--sh)}
.price .label{position:absolute;top:-18px;left:28px;min-height:36px;padding:0 16px 0 8px;border-radius:999px;background:var(--pink);color:#161317;display:flex;align-items:center;gap:8px;font-weight:600;font-size:15px;white-space:nowrap}
.price .label i{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.35);display:flex;align-items:center;justify-content:center}
.price .label .ic{width:15px;height:15px}
.price .kind{font-weight:600;font-size:15px;color:var(--ink3)}
.price.pop .kind{color:var(--rose)}
.price h4{font-size:28px;margin-top:8px;line-height:1.1;letter-spacing:-.035em}
.price .amt{display:flex;align-items:baseline;gap:8px;margin-top:16px;flex-wrap:wrap}
.price .amt b{font-size:56px;font-weight:700;letter-spacing:-.05em;line-height:1}
.price .amt span{font-size:16px;color:var(--ink3)}
.price.pop .amt span{color:var(--on-mauve)}
.price .amt b.free{color:#C8104E}
.price .desc{font-size:16px;color:var(--ink2);margin-top:10px;line-height:1.5}
.price.pop .desc{color:var(--on-mauve)}
.price ul{margin:22px 0 26px;padding-top:22px;border-top:1.5px solid var(--line);flex:1}
.price.pop ul{border-color:rgba(255,255,255,.2)}
.price li{display:flex;gap:10px;font-size:16.5px;margin-bottom:12px;line-height:1.4}
.price li .ok{width:24px;height:24px;border-radius:50%;background:var(--blush);color:var(--mauve);display:flex;align-items:center;justify-content:center;flex:none}
.price.pop li .ok{background:rgba(255,255,255,.16);color:#fff}
.price li .ok .ic{width:14px;height:14px;stroke-width:3}
.price .btn{width:100%;min-height:56px;font-size:17px;padding:0 6px 0 22px}
.price .btn .dot{width:44px;height:44px}
.price-note{margin-top:22px;text-align:center;font-size:15px;color:var(--ink3)}
.usp{display:flex;align-items:center;gap:24px;margin-top:40px;padding:14px;border-radius:999px;background:var(--blush)}
.usp .bub{width:72px;height:72px}
.usp .bub .ic{width:34px;height:34px}
.usp h3{font-size:24px;letter-spacing:-.035em}
.usp p{color:var(--ink2);font-size:17px;margin-top:2px}
.usp .btn{margin-left:auto}

/* app */
.app-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:60px;align-items:center;position:relative}
.feat{margin-top:28px}
.feat li{display:flex;align-items:center;gap:14px;margin-top:14px;font-size:18px;font-weight:500}
.feat .bub{width:46px;height:46px;background:#fff}
.feat .bub .ic{width:22px;height:22px}
.stores{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.store{display:flex;align-items:center;gap:12px;min-height:64px;padding:0 26px 0 20px;border-radius:999px;background:var(--ink);color:#fff;text-decoration:none}
.store .ic{width:28px;height:28px}
.store small{display:block;font-size:12px;font-weight:500;opacity:.8;line-height:1.1}
.store b{display:block;font-size:21px;font-weight:700;letter-spacing:-.03em;line-height:1.1}
.panel .wavebg{position:absolute;left:0;right:0;bottom:0}
.panel .wavebg .waves{height:280px}
.phone-wrap{position:relative;height:600px}
.phone{position:absolute;left:120px;top:0;width:300px;height:600px;border-radius:52px;background:var(--ink);padding:11px;box-shadow:0 40px 80px -30px rgba(80,55,65,.55);z-index:2}
.screen{width:100%;height:100%;border-radius:42px;background:var(--bg);overflow:hidden;position:relative;padding:20px 18px}
.screen .sb{display:flex;justify-content:space-between;font-size:13px;font-weight:600;padding:0 8px}
.screen .notch{position:absolute;left:50%;top:10px;transform:translateX(-50%);width:96px;height:26px;border-radius:20px;background:var(--ink)}
.screen .hi{margin-top:24px;font-size:24px;font-weight:700;letter-spacing:-.04em}
.screen .hi small{display:block;font-size:13px;font-weight:500;letter-spacing:0;color:var(--ink3)}
.credit{margin-top:14px;padding:16px 18px;border-radius:24px;background:var(--mauve);color:#fff;display:flex;justify-content:space-between;align-items:center}
.credit b{font-size:36px;font-weight:700;letter-spacing:-.05em;line-height:1}
.credit small{display:block;font-size:12px;opacity:.9}
.credit .ic{width:30px;height:30px}
.sdays{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:16px}
.sdays span{height:54px;border-radius:999px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--ink3);line-height:1.1}
.sdays span b{font-size:17px;color:var(--ink);letter-spacing:-.03em}
.sdays span.on{background:var(--ink);color:#fff}
.sdays span.on b{color:#fff}
.scls{margin-top:10px;padding:11px 12px;border-radius:22px;background:#fff;display:flex;align-items:center;gap:10px}
.scls .tm{font-size:17px;font-weight:700;letter-spacing:-.03em;line-height:1;width:50px}
.scls .tm small{display:block;font-size:11px;font-weight:500;letter-spacing:0;color:var(--ink3);margin-top:3px}
.scls .nm{flex:1;font-weight:600;font-size:14px;line-height:1.25}
.scls .nm small{display:block;font-weight:400;font-size:12px;color:var(--ink3)}
.scls .bt{height:30px;padding:0 12px;border-radius:999px;background:var(--btn);color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center}
.scls .okk{height:30px;padding:0 10px;border-radius:999px;background:#E2F2E8;color:#246343;font-size:12px;font-weight:600;display:flex;align-items:center;gap:4px}
.scls .okk .ic{width:12px;height:12px;stroke-width:3}
.snote{margin-top:12px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink2);padding:0 6px}
.snote .ic{width:16px;height:16px;color:var(--pink)}
.tabbar{position:absolute;left:12px;right:12px;bottom:12px;height:58px;border-radius:999px;background:#fff;box-shadow:var(--sh-sm);display:flex;justify-content:space-around;align-items:center;color:#B4A7AC}
.tabbar .ic{width:22px;height:22px}
.tabbar .on{color:var(--pink)}
.toast{position:absolute;right:-10px;top:120px;width:270px;padding:16px;border-radius:24px;background:#fff;box-shadow:var(--sh);display:flex;gap:12px;align-items:center;z-index:3}
.toast .bub{width:42px;height:42px;background:#E2F2E8;color:#246343}
.toast .bub .ic{width:20px;height:20px;stroke-width:2.6}
.toast b{display:block;font-size:17px;font-weight:700;letter-spacing:-.02em;line-height:1.2}
.toast small{font-size:14px;color:var(--ink2)}
.phone-ring{position:absolute;left:40px;top:60px;width:460px;height:460px;border-radius:50%;background:#fff;opacity:.55}

/* locaties */
.locs{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:48px}
.loc{padding:12px;border-radius:32px;background:#fff;box-shadow:var(--sh);display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:stretch}
.loc .img{border-radius:24px;overflow:hidden;min-height:240px}
.loc .img img{width:100%;height:100%;object-fit:cover}
.loc .body{padding:18px 18px 18px 0;display:flex;flex-direction:column}
.loc h3{font-size:30px;letter-spacing:-.04em}
.loc .addr{display:flex;gap:8px;color:var(--ink2);margin-top:10px;font-size:17px;line-height:1.5;font-style:normal}
.loc .addr .ic{color:var(--mauve);margin-top:3px;width:18px;height:18px}
.loc .chips{margin-top:16px;gap:8px}
.loc .chip{min-height:36px;font-size:15px;background:var(--bg);box-shadow:none}
.loc .chip.ex{background:transparent;color:var(--ink3);font-size:14px;padding:0 6px}
.loc .link{margin-top:auto;padding-top:14px}

/* workshops-band */
.ws{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:56px;align-items:center;padding:16px 48px 16px 16px;border-radius:40px;background:var(--blush)}
.ws .img{height:300px;border-radius:28px 150px 150px 28px;overflow:hidden}
.ws .img img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.ws h2{font-size:46px;margin-top:14px}
.ws .items{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ws .item{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:26px;background:#fff}
.ws .item h3{font-size:20px}
.ws .item p{font-size:16px;color:var(--ink2);margin-top:4px;line-height:1.45}
.ws .link{margin-top:20px}

/* FAQ (details/summary) */
.faq{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:72px;align-items:start}
.faq-item{background:#fff;border-radius:28px;box-shadow:inset 0 0 0 1.5px var(--line);margin-bottom:14px}
.faq-item summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 20px 20px 30px;min-height:64px;font-weight:600;font-size:21px;letter-spacing:-.02em;line-height:1.3;cursor:pointer;list-style:none;border-radius:28px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .pm{width:44px;height:44px;border-radius:50%;background:var(--blush);color:var(--mauve);display:flex;align-items:center;justify-content:center;flex:none;transition:transform .2s}
.faq-item[open]{box-shadow:var(--sh)}
.faq-item[open] .pm{background:var(--ink);color:#fff;transform:rotate(45deg)}
.faq-item .a{padding:0 70px 24px 30px;color:var(--ink2);font-size:18px}
.faq-item .a p+p{margin-top:10px}
.ask{margin-top:32px;padding:14px 16px 14px 14px;border-radius:999px;background:var(--blush);display:flex;gap:16px;align-items:center}
.ask img{width:76px;height:76px;border-radius:50%;object-fit:cover;object-position:50% 20%;flex:none}
.ask b{font-size:19px;font-weight:700;letter-spacing:-.02em;display:block}
.ask p{font-size:16px;color:var(--ink2)}
.ask-btns{display:flex;gap:8px;margin-left:auto}
.ask-btns a{width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center}

/* ==========================================================================
   FORMULIEREN (proefles + contact)
   ========================================================================== */
.form-card{position:relative;z-index:4;padding:40px;border-radius:40px;background:#fff;box-shadow:0 2px 6px rgba(22,19,23,.04),0 50px 90px -40px rgba(70,45,55,.45)}
.form-card h2{font-size:38px;letter-spacing:-.045em;margin:0}
.form-sub{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:8px;color:var(--ink2);font-size:17px}
.fs{margin:24px 0 0;padding:0;border:0;min-width:0}
.fs legend,.lbl{display:block;font-weight:600;font-size:16px;margin-bottom:10px;padding:0}
.lbl small,.fs legend small{font-weight:500;font-size:14px;color:var(--ink3);margin-left:6px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:block;margin-top:18px}
.two .field{margin-top:0}
.field input,.field select,.field textarea{width:100%;min-height:60px;border-radius:999px;background:var(--bg);border:1.5px solid #D9C9C3;padding:0 22px;font:400 18px var(--f);color:var(--ink);appearance:none;-webkit-appearance:none}
.field textarea{border-radius:28px;padding:16px 22px;min-height:150px;resize:vertical;line-height:1.5}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23161317' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 20px center;background-size:20px;padding-right:52px}
.field input::placeholder,.field textarea::placeholder{color:#76696E}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;background:#fff;border-color:var(--ink);box-shadow:0 0 0 5px rgba(255,51,102,.18)}
.choice{display:grid;gap:12px}
.choice.c2{grid-template-columns:1fr 1fr}
.choice.c3{grid-template-columns:repeat(3,1fr)}
.choice.c4{grid-template-columns:1fr 1fr}
.opt{position:relative;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt>span{display:flex;gap:12px;align-items:center;min-height:60px;padding:12px 18px;border-radius:26px;background:var(--bg);box-shadow:inset 0 0 0 1.5px #D9C9C3;line-height:1.25}
.opt .rd{width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #B9AAB0;flex:none;display:flex;align-items:center;justify-content:center;color:#fff}
.opt .rd .ic{width:14px;height:14px;stroke-width:3.2;opacity:0}
.opt b{display:block;font-size:18px;font-weight:700;letter-spacing:-.02em}
.opt small{display:block;font-size:15px;color:var(--ink2);margin-top:2px}
.opt input:checked+span{background:#fff;box-shadow:inset 0 0 0 2px var(--ink)}
.opt input:checked+span .rd{background:var(--ink);box-shadow:none}
.opt input:checked+span .rd .ic{opacity:1}
.opt input:focus-visible+span{outline:3px solid var(--pink);outline-offset:3px}
.opt input:disabled+span{opacity:.4;cursor:not-allowed}
.choice.c3 .opt>span{padding:12px 12px;gap:10px}
.choice.c3 .opt b{font-size:17px}
.choice.c3 .opt small{font-size:14px}
.opt.pillopt>span{justify-content:center;border-radius:999px;min-height:54px;text-align:center;font-weight:600}
.opt.pillopt input:checked+span{background:var(--ink);color:#fff}
.check{display:flex;gap:12px;align-items:flex-start;margin-top:22px;font-size:16px;color:var(--ink2);cursor:pointer}
.check input{width:24px;height:24px;margin:1px 0 0;accent-color:var(--ink);flex:none}
.check a{color:var(--ink);font-weight:600}
.form-card .submit{width:100%;min-height:68px;font-size:19px;margin-top:28px;padding:0 8px 0 30px}
.form-card .submit .dot{width:52px;height:52px}
.privacy-line{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:15px;color:var(--ink3);text-align:center}
.privacy-line .ic{width:16px;height:16px}
.thanks{text-align:center;padding:30px 10px 10px}
.thanks:focus{outline:none}
.thanks .bub{width:84px;height:84px;background:#E2F2E8;color:#246343;margin:0 auto}
.thanks .bub .ic{width:40px;height:40px;stroke-width:2.4}
.thanks h2{margin-top:22px}
.thanks p{color:var(--ink2);margin:14px auto 0;max-width:420px}
.thanks .btns{justify-content:center;margin-top:26px}

/* proefles */
.pf-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,600px);gap:72px;align-items:start;padding-top:28px;position:relative;z-index:4}
.pf-grid .form-card{margin-bottom:-330px}
.pf-grid h1{font-size:88px}
.vsteps{margin-top:36px;display:flex;flex-direction:column;position:relative}
.vsteps::before{content:"";position:absolute;left:27px;top:40px;bottom:40px;border-left:2px dashed var(--rose)}
.vstep{display:flex;gap:20px;align-items:center;padding:11px 0;position:relative}
.vstep .num{width:56px;height:56px;border-radius:50%;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;letter-spacing:-.04em;box-shadow:inset 0 0 0 2px var(--ink);flex:none}
.vstep.on .num{background:var(--pink);color:#161317;box-shadow:none}
.vstep h3{font-size:24px;letter-spacing:-.035em}
.vstep p{font-size:17px;color:var(--ink2);margin-top:2px}
.hello{display:flex;align-items:center;gap:16px;margin-top:36px;padding:8px 26px 8px 8px;border-radius:999px;background:#fff;box-shadow:var(--sh-sm);width:max-content;max-width:100%}
.hello img{width:62px;height:62px;border-radius:50%;object-fit:cover;object-position:50% 20%;flex:none}
.hello b{display:block;font-size:20px;font-weight:700;letter-spacing:-.03em;line-height:1.2}
.hello small{font-size:15px;color:var(--ink2)}
.exp-m{padding:250px 0 40px}
.exp{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:24px;margin-top:44px}
.hour{padding:34px;border-radius:32px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.12);display:flex;flex-direction:column}
.track{display:flex;align-items:center;gap:14px;font-weight:600;font-size:15px;color:var(--on-mauve)}
.track .bar{flex:1;height:10px;border-radius:99px;background:linear-gradient(90deg,#FF3366,#D9B8C0)}
.phases{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:26px;flex:1}
.phase{padding:24px;border-radius:26px;background:rgba(255,255,255,.08)}
.phase .bub{width:52px;height:52px;background:#fff;color:var(--mauve)}
.phase .bub .ic{width:24px;height:24px}
.phase h3{font-size:24px;margin-top:18px;letter-spacing:-.035em}
.phase p{font-size:17px;margin-top:6px;line-height:1.5}
.tip{display:flex;align-items:center;gap:14px;margin-top:18px;padding:14px 22px;border-radius:999px;background:rgba(255,255,255,.1);font-size:17px}
.tip b{color:#fff}
.tip .ic{width:24px;height:24px;color:var(--pink)}
.exp-side{display:grid;gap:20px;align-content:start}
.exp-side .photo-card{aspect-ratio:16/9}
.bring{padding:30px;border-radius:32px;background:var(--blush);color:var(--ink)}
.bring h3{font-size:28px;letter-spacing:-.04em;color:var(--ink)}
.bring p{font-size:17px;color:var(--ink2);margin-top:6px}
.bring ul{margin-top:18px;display:grid;gap:10px}
.bring li{display:flex;align-items:center;gap:14px;padding:7px;border-radius:999px;background:#fff;font-weight:600;font-size:17px}
.bring li .bub{width:44px;height:44px}
.bring li .bub .ic{width:22px;height:22px}
.bigq .qm{color:var(--pink)}
.bigq .qm .ic{width:56px;height:56px}
.bigq blockquote{margin:12px 0 0;font-size:76px;font-weight:700;line-height:.98;letter-spacing:-.05em}
.sig{display:flex;align-items:center;gap:14px;margin-top:26px;font-size:18px;color:var(--ink2)}
.sig b{color:var(--ink);font-weight:600}
.sig .line{width:40px;height:3px;border-radius:9px;background:var(--pink)}
.mini-rev{margin-top:40px;padding:26px 30px;border-radius:32px;background:#fff;box-shadow:var(--sh-sm);max-width:620px}
.mini-rev .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.mini-rev p{font-size:19px;margin-top:12px}

/* ==========================================================================
   OVER PATRICIA
   ========================================================================== */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:80px;align-items:start}
.chapters{margin-top:40px;position:relative}
.chapters::before{content:"";position:absolute;left:27px;top:30px;bottom:30px;border-left:2px dashed var(--rose)}
.chapter{display:grid;grid-template-columns:56px minmax(0,1fr);gap:24px;padding-bottom:34px;position:relative}
.chapter:last-child{padding-bottom:0}
.chapter .num{width:56px;height:56px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--ink);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;letter-spacing:-.04em}
.chapter:first-child .num{background:var(--pink);box-shadow:none;color:#161317}
.chapter h3{font-size:30px;letter-spacing:-.04em;margin-top:8px}
.chapter p{color:var(--ink2);margin-top:10px;font-size:19px}
.collage{position:relative;height:720px}
.collage .c1{position:absolute;right:0;top:0;width:380px;height:380px;border-radius:40px}
.collage .c2{position:absolute;left:0;top:300px;width:300px;height:400px;border-radius:150px;border:8px solid var(--bg)}
.collage .c2 img{object-position:50% 40%}
.collage .sticker{position:absolute;right:20px;top:420px;background:var(--ink);color:#fff;border-radius:999px;padding:12px 22px;font-weight:700;font-size:19px;letter-spacing:-.02em;transform:rotate(-5deg)}
.mission{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:72px;align-items:center}
.mission blockquote{margin:18px 0 0;font-size:72px;font-weight:700;line-height:1;letter-spacing:-.05em;color:#fff}
.mission .lead{margin-top:26px;color:var(--on-mauve)}
.mission .photo-card{aspect-ratio:9/16;max-height:560px;border-radius:200px;max-width:320px;margin-left:auto}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.fact{padding:28px;border-radius:32px;background:#fff;box-shadow:var(--sh-sm)}
.fact h3{font-size:24px;margin-top:20px;letter-spacing:-.035em}
.fact p{color:var(--ink2);margin-top:8px;font-size:17px}
.flags{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap}
.flags span{min-height:32px;padding:0 12px;border-radius:999px;background:var(--blush);color:var(--mauve);font-weight:700;font-size:14px;display:inline-flex;align-items:center}
.gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:260px 260px;gap:16px;margin-top:48px}
.gallery .g{border-radius:28px;overflow:hidden;background:var(--blush);position:relative}
.gallery .g img{width:100%;height:100%;object-fit:cover}
.gallery .g1{grid-row:span 2}
.gallery .g figcaption{position:absolute;left:14px;bottom:14px}
.ig-band{display:flex;align-items:center;gap:24px;margin-top:28px;padding:14px 14px 14px 26px;border-radius:999px;background:var(--blush)}
.ig-band .txt{flex:1}
.ig-band b{font-size:20px;letter-spacing:-.02em}
.ig-band p{color:var(--ink2);font-size:16px}

/* ==========================================================================
   EVENTS
   ========================================================================== */
.types{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.type{border-radius:32px;background:#fff;box-shadow:var(--sh);overflow:hidden;display:flex;flex-direction:column}
.type .img{height:220px;overflow:hidden;background:var(--blush)}
.type .img img{width:100%;height:100%;object-fit:cover}
.type .body{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}
.type h3{font-size:30px;letter-spacing:-.04em}
.type p{color:var(--ink2);margin-top:10px}
.type ul{margin-top:16px;display:grid;gap:8px}
.type li{display:flex;gap:10px;align-items:flex-start;font-size:17px}
.type li .ic{width:18px;height:18px;color:var(--mauve);margin-top:4px}
.soon{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.soon-card{border-radius:32px;padding:26px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);display:flex;flex-direction:column;gap:16px}
.soon-card .top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.soon-card .date{display:flex;align-items:center;gap:14px}
.soon-card .date .cal{width:64px;height:68px;border-radius:32px;background:var(--bg);border:1.5px dashed var(--rose2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--ink3);line-height:1.1}
.soon-card .date .cal b{font-size:20px;color:var(--mauve)}
.soon-card h3{font-size:24px;letter-spacing:-.035em}
.soon-card p{color:var(--ink2);font-size:17px}
.soon-card .btn{margin-top:auto}
.poster{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);border-radius:40px;overflow:hidden;background:var(--mauve);color:#fff;position:relative}
.poster .left{padding:56px 56px 150px;position:relative;z-index:2}
.poster h3{font-size:56px;line-height:1;letter-spacing:-.05em;margin-top:18px}
.poster h3 span{color:var(--rose)}
.poster p{color:var(--on-mauve);margin-top:16px;max-width:560px}
.poster .prog{display:grid;gap:10px;margin-top:26px;max-width:460px}
.poster .prog li{display:flex;justify-content:space-between;align-items:center;min-height:56px;padding:0 22px;border-radius:999px;background:rgba(255,255,255,.1);font-size:18px}
.poster .prog b{font-size:20px;letter-spacing:-.02em}
.poster .right{position:relative;z-index:2;padding:56px 56px 150px 0;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.poster .datebox{width:200px;height:220px;border-radius:100px;background:var(--bg);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center}
.poster .datebox b{font-size:88px;line-height:.9;letter-spacing:-.06em}
.poster .datebox span{font-size:22px;font-weight:600;letter-spacing:-.02em;color:var(--mauve)}
.poster .datebox small{font-size:16px;color:var(--ink2);margin-top:4px}
.poster address{font-style:normal;color:var(--on-mauve);font-size:17px;display:flex;gap:10px}
.poster address .ic{color:var(--rose);margin-top:4px}
.poster .waves{position:absolute;left:0;right:0;bottom:0;height:170px;z-index:1}

/* ==========================================================================
   CONTACT
   ========================================================================== */
.contact-cards{display:grid;gap:14px;margin-top:34px;max-width:560px}
.ccard{display:flex;align-items:center;gap:16px;min-height:76px;padding:10px 12px 10px 10px;border-radius:999px;background:#fff;box-shadow:var(--sh-sm);text-decoration:none}
.ccard .txt{flex:1}
.ccard b{display:block;font-size:19px;letter-spacing:-.02em}
.ccard small{display:block;font-size:16px;color:var(--ink2)}
.ccard .go{width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.ccard:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,620px);gap:72px;align-items:start}

/* ==========================================================================
   PRIVACY
   ========================================================================== */
.prose{max-width:820px;margin:0 auto}
.prose .note{display:flex;gap:14px;align-items:flex-start;padding:18px 22px;border-radius:24px;background:#FFF1D6;color:#5C4300;font-size:17px;margin-top:28px}
.prose .note .ic{color:#8A6400;margin-top:3px}
.prose article{margin-top:32px;padding:44px 48px;border-radius:36px;background:#fff;box-shadow:var(--sh-sm)}
.prose h2{font-size:30px;letter-spacing:-.04em;margin-top:36px}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:var(--ink2);font-size:18px}
.prose p{margin-top:12px}
.prose ul{margin-top:12px;display:grid;gap:8px}
.prose li{padding-left:26px;position:relative}
.prose li::before{content:"";position:absolute;left:6px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--pink)}
.prose a{color:var(--ink);font-weight:600}
.prose .upd{font-size:15px;color:var(--ink3);margin-top:16px}

/* ==========================================================================
   BLOG
   ========================================================================== */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.fchip{min-height:46px;padding:0 20px;border-radius:999px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);font:500 16px var(--f);color:var(--ink);cursor:pointer}
.fchip:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.fchip[aria-pressed="true"]{background:var(--ink);color:#fff;box-shadow:none}
.featured{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;border-radius:40px;overflow:hidden;background:#fff;box-shadow:var(--sh);margin-top:44px;text-decoration:none;color:inherit}
.featured .img{background:var(--blush);min-height:400px;position:relative}
.featured .img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.featured .body{padding:44px 48px;display:flex;flex-direction:column;justify-content:center}
.featured h2{font-size:44px;line-height:1.05;letter-spacing:-.045em;margin-top:16px}
.featured p.teaser{color:var(--ink2);margin-top:16px;font-size:19px}
.featured .btn{margin-top:26px;align-self:flex-start}
.featured:hover h2{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.post-tags{display:flex;flex-wrap:wrap;gap:8px}
.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:15px;color:var(--ink3);margin-top:12px}
.post-meta span{display:inline-flex;align-items:center;gap:6px}
.post-meta .ic{width:16px;height:16px}
.author{display:flex;align-items:center;gap:12px;margin-top:22px;font-size:16px;color:var(--ink2)}
.author img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.author b{color:var(--ink);font-weight:600}
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.post{border-radius:32px;background:#fff;box-shadow:var(--sh-sm);padding:10px 10px 26px;display:flex;flex-direction:column;text-decoration:none;color:inherit}
.post .img{aspect-ratio:16/10;border-radius:24px;overflow:hidden;background:var(--blush)}
.post .img img{width:100%;height:100%;object-fit:cover}
.post .body{padding:20px 16px 0;display:flex;flex-direction:column;flex:1}
.post h3{font-size:24px;letter-spacing:-.035em;margin-top:14px;line-height:1.15}
.post p{color:var(--ink2);font-size:17px;margin-top:8px;line-height:1.5}
.post .post-meta{margin-top:auto;padding-top:16px}
a.post:hover{box-shadow:inset 0 0 0 2px var(--ink),var(--sh-sm)}
a.post:hover h3{text-decoration:underline;text-underline-offset:4px}
.post .tag-white{box-shadow:inset 0 0 0 1.5px var(--line)}
.post[hidden],.featured[hidden]{display:none}
.no-posts{margin-top:30px;color:var(--ink2)}
.igstrip-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.igstrip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:32px}
.igstrip a{display:block;aspect-ratio:1/1;border-radius:28px;overflow:hidden;background:var(--blush);position:relative}
.igstrip img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.igstrip a:hover img{transform:scale(1.04)}
.igstrip a span{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ink);display:flex;align-items:center;justify-content:center}

/* artikel */
.art-head{max-width:860px;margin:0 auto;padding-top:28px;text-align:left}
.art-head h1{font-size:68px;font-weight:800;line-height:1;letter-spacing:-.05em;margin-top:20px}
.art-head .lead{margin-top:22px}
.art-hero{max-width:1000px;margin:40px auto 0;border-radius:40px;overflow:hidden;background:var(--blush);aspect-ratio:21/9}
.art-hero img{width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.article{max-width:700px;margin:0 auto;font-size:19px;line-height:1.75;color:#2B2428}
.article h2{font-size:34px;letter-spacing:-.04em;line-height:1.1;margin-top:56px;color:var(--ink)}
.article p{margin-top:18px}
.article a{color:var(--ink);font-weight:600;text-decoration-color:var(--pink);text-decoration-thickness:2px;text-underline-offset:3px}
.article ul.steps-list,.article ol.book{margin-top:18px;display:grid;gap:14px}
.article .steps-list li{display:grid;grid-template-columns:52px minmax(0,1fr);gap:16px;align-items:start}
.article .steps-list .bub{width:52px;height:52px}
.article .steps-list .bub .ic{width:24px;height:24px}
.article .steps-list b,.article ol.book b{color:var(--ink)}
.article ol.book{counter-reset:b}
.article ol.book li{counter-increment:b;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.article ol.book li::before{content:counter(b);width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}
.article figure{margin:40px 0 0}
.article figure .ph{border-radius:32px;overflow:hidden;aspect-ratio:16/9;background:var(--blush)}
.article figure img{width:100%;height:100%;object-fit:cover}
.article figcaption{font-size:15px;color:var(--ink3);margin-top:12px;padding-left:6px}
.pullquote{margin:48px 0 0;padding:34px 0 0;border-top:2px solid var(--line);font-size:38px;font-weight:700;line-height:1.12;letter-spacing:-.045em;color:var(--mauve)}
.pullquote .ic{width:44px;height:44px;color:var(--pink);display:block;margin-bottom:12px}
.pullquote cite{display:block;font-style:normal;font-size:16px;font-weight:500;letter-spacing:0;color:var(--ink3);margin-top:14px}
.tipbox{margin-top:36px;padding:28px 30px;border-radius:32px;background:var(--blush)}
.tipbox h3{font-size:24px;letter-spacing:-.035em;display:flex;align-items:center;gap:12px;color:var(--ink)}
.tipbox ul{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.tipbox li{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:999px;background:#fff;font-weight:600;font-size:17px;line-height:1.25}
.tipbox li .bub{width:42px;height:42px}
.tipbox li .bub .ic{width:21px;height:21px}
.inline-cta{margin-top:44px;padding:30px 32px;border-radius:32px;background:var(--mauve);color:#fff;display:flex;align-items:center;gap:24px}
.inline-cta h3{font-size:28px;letter-spacing:-.04em;color:#fff}
.inline-cta p{color:var(--on-mauve);margin-top:4px;font-size:17px}
.inline-cta .btn{margin-left:auto;flex:none}
.signoff{margin-top:40px;display:flex;align-items:center;gap:16px;padding:18px 22px 18px 18px;border-radius:999px;background:#fff;box-shadow:var(--sh-sm)}
.signoff img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.signoff b{display:block;font-size:20px;letter-spacing:-.02em;color:var(--ink)}
.signoff small{font-size:15px;color:var(--ink2)}
.share{max-width:700px;margin:44px auto 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-top:26px;border-top:1.5px solid var(--line)}
.share b{margin-right:6px;font-size:17px}
.share a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);text-decoration:none;font-weight:500;font-size:16px}
.share a:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.share a .ic{width:16px;height:16px}
.note-ex{max-width:700px;margin:24px auto 0;display:flex;gap:12px;align-items:flex-start;padding:16px 20px;border-radius:22px;background:#FFF1D6;color:#5C4300;font-size:16px}
.note-ex .ic{color:#8A6400;margin-top:3px}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1240px){
  .nav .actions .portal{padding:0 14px}
  .nav .actions .portal .pt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
@media (max-width:1100px){
  /* mobiel menu (hamburger) */
  .nav{height:84px}
  .nav .logo img{height:52px}
  .nav .menu,.nav .actions .portal{display:none}
  .burger{display:flex}
  .site-head .mnav{display:none;position:absolute;left:12px;right:12px;top:calc(100% - 4px);padding:14px;border-radius:30px;background:#fff;box-shadow:var(--sh)}
  .site-head.menu-open .mnav{display:block}
  .mnav a.ml{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 20px;border-radius:999px;font-size:19px;font-weight:600;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}
  .mnav a.ml[aria-current="page"]{background:var(--ink);color:#fff}
  .mnav a.ml .ic{width:18px;height:18px;opacity:.5}
  .mnav .mbtns{display:grid;gap:10px;margin-top:12px;padding-top:14px;border-top:1.5px solid var(--line)}
  .mnav .mbtns .btn,.mnav .mbtns .portal{width:100%;justify-content:center;min-height:56px}
  .mnav .mbtns .btn.has-dot{justify-content:space-between}
  .mnav .mbtns .portal .pt{position:static;width:auto;height:auto;clip:auto}
}
@media (max-width:1180px){
  .hero h1{font-size:96px}
  .nav .menu a{padding:0 13px;font-size:15px}
  .comp .ph-main{width:340px}
  .facts{grid-template-columns:1fr 1fr}
  .stat{padding:0 18px;gap:12px}
  .stat .n{font-size:42px;white-space:nowrap}
  .stat .l{font-size:15px}
}

@media (max-width:900px){
  .hero-grid,.pf-grid,.lp-grid,.pat,.look,.story,.mission,.contact-grid,.faq,.app-grid,.sec-head{grid-template-columns:minmax(0,1fr)}
  .hero-grid{gap:28px}
  .sec-head{gap:16px}
  .pat,.story,.look,.contact-grid,.faq{gap:40px}
  .comp{height:470px;max-width:520px}
  .comp .ph-main{right:0;width:250px;height:440px}
  .comp .ph-side{width:140px;height:210px;left:0;top:20px;border-width:6px}
  .comp .ring{display:none}
  .comp .float{left:0;top:auto;bottom:60px}
  .comp .badge-pos{display:none}
  .comp.wide{height:330px}
  .comp.wide .ph-main{width:100%;height:200px;top:0}
  .comp.wide .ph-side{width:140px;height:180px;left:10px;top:150px}
  .trial-card{width:240px;padding:14px;border-radius:22px}
  .trial-card .date{width:48px;height:52px}
  .trial-card h3{font-size:19px}
  .trial-card .meta{font-size:14px}
  .trial-card .btn{min-height:46px;font-size:15px}
  .hero .waves{margin-top:-90px;height:120px}
  .pillars,.steps,.classes,.locs,.types,.soon,.revs,.ev,.facts{grid-template-columns:minmax(0,1fr)}
  .prices{grid-template-columns:1fr 1fr}
  .steps::before{display:none}
  .wavephoto{height:460px;max-width:460px}
  .wavephoto .wavebox{height:320px}
  .wavephoto .frame{margin-left:-130px;width:260px;height:430px}
  .look .stack .mini{right:-8px;bottom:-40px;width:120px}
  .collage{height:520px;max-width:520px}
  .collage .c1{width:300px;height:300px}
  .collage .c2{width:220px;height:300px;top:220px}
  .collage .sticker{top:330px}
  .mission .photo-card{margin:0;max-width:260px}
  .poster{grid-template-columns:1fr}
  .poster .right{padding:0 40px 150px}
  .poster .left{padding:40px 40px 24px}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px 220px}
  .gallery .g1{grid-row:span 1;grid-column:span 2}
  .ws{grid-template-columns:1fr;padding:14px 14px 28px}
  .featured{grid-template-columns:1fr}
  .featured .img{min-height:0;aspect-ratio:16/9}
  .posts{grid-template-columns:1fr 1fr}
  .igstrip{grid-template-columns:1fr 1fr}
  .art-hero{border-radius:28px}
  .ws .img{height:220px}
  .phone-wrap{max-width:480px}
  .foot .top{grid-template-columns:1fr 1fr}
  .cta .wrap{grid-template-columns:minmax(0,1fr);padding-top:60px;gap:24px}
  .cta .photos{max-width:480px}
}

@media (max-width:600px){
  body{font-size:17px}
  .wrap{padding:0 20px}
  .h2{font-size:40px}
  .lead{font-size:18px}
  .btn{min-height:58px;font-size:17px;white-space:normal;text-align:left;line-height:1.2}
  .form-card .submit{font-size:17px;padding:0 6px 0 22px;min-height:62px}
  .form-card .submit .dot{width:48px;height:48px}
  .choice.c3.keep3{grid-template-columns:repeat(3,1fr);gap:8px}
  .choice.keep3 .opt>span{padding:10px 6px;font-size:16px}
  .filters{flex-wrap:nowrap;overflow-x:auto;margin-right:-20px;padding:0 20px 6px 0;scrollbar-width:none}
  .fchip{flex:none}
  .posts.scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding:0 20px 8px 0;gap:14px}
  .posts.scroll>*{flex:0 0 290px;scroll-snap-align:start}
  .btns{flex-direction:column;align-items:stretch}
  .nav .actions .btn{min-height:46px;padding:0 5px 0 16px;font-size:15px;box-shadow:none;gap:10px}
  .nav .actions .btn .dot{width:36px;height:36px}
  .nav .actions{gap:8px}
  .hero h1{font-size:62px;margin-top:20px}
  .pf-grid h1{font-size:58px}
  .hero .sub{font-size:27px}
  .pill{font-size:14px}
  .pill .hd{display:none}
  .trust{font-size:15px}
  .sec{padding-top:72px}
  .sec.after-wave{padding-top:24px}
  .spacer{height:72px}
  .panel{margin:72px 8px 0;padding:52px 0;border-radius:32px}
  .stats{padding:8px 0 24px}
  .stats .grid{grid-template-columns:1fr 1fr}
  .stat{flex-direction:column;align-items:flex-start;gap:10px;padding:18px 14px}
  .stat:first-child{padding-left:14px}
  .stat+.stat{border-left:0}
  .stat:nth-child(2n){border-left:1.5px solid rgba(255,255,255,.18)}
  .stat:nth-child(n+3){border-top:1.5px solid rgba(255,255,255,.18)}
  .stat .bub{width:44px;height:44px}
  .stat .bub .ic{width:22px;height:22px}
  .stat .n{font-size:36px}
  .stat .l{font-size:14px}
  .pillars{gap:14px;margin-top:32px}
  .pillar{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:center;padding:10px;border-radius:28px}
  .pillar .img{height:140px;border-radius:52px}
  .pillar>.bub{display:none}
  .pillar .body{padding:0 6px 0 0}
  .pillar h3{font-size:24px}
  .pillar p{font-size:16px;line-height:1.5;margin-top:6px}
  .week{padding:16px;border-radius:26px}
  .week-top h3{font-size:21px;white-space:nowrap}
  .week .tag{font-size:12px;padding:0 10px}
  .days{gap:4px}
  .day{height:62px;font-size:14px}
  .row-c{grid-template-columns:70px minmax(0,1fr);gap:12px;padding:12px 12px 12px 18px;border-radius:24px}
  .row-c .t{font-size:21px}
  .row-c h4{font-size:18px}
  .row-c h4 .tag{display:none}
  .row-c .meta{font-size:14px;white-space:nowrap}
  .row-c .meta .ic{display:none}
  .row-c .go{display:none}
  .price-teaser li{font-size:15px;padding-left:18px}
  .price-teaser li b{font-size:18px}
  .wavephoto{height:440px}
  .wavephoto .frame{margin-left:-125px;width:250px;height:410px}
  .wavephoto .b1{top:50px;right:-4px}
  .wavephoto .b2{bottom:40px;left:-4px}
  .badge{min-height:46px;font-size:14px;padding:0 14px 0 6px}
  .badge .bub{width:34px;height:34px}
  blockquote.pq{font-size:24px}
  .rev-head{flex-direction:column;align-items:flex-start;gap:14px}
  .revs{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px;gap:14px;margin-top:32px}
  .revs>*{flex:0 0 300px;scroll-snap-align:start}
  .rev{padding:26px}
  .rev p{font-size:17px}
  .rev-photo{min-height:360px}
  .ev-big{min-height:330px}
  .ev-big .txt{left:24px;right:24px;bottom:24px}
  .ev-big .txt h3{font-size:34px}
  .ev-card{padding:26px}
  .ev-card h3{font-size:26px}
  .cta h2{font-size:42px}
  .cta p{font-size:18px}
  .cta .photos{height:270px}
  .cta .ph1{width:180px;height:262px;right:0}
  .cta .ph2{width:130px;height:190px;left:20px;top:60px}
  .cta .sticker{left:0;top:16px;font-size:17px}
  .cta .waves{margin-top:-60px;height:96px}
  .foot{padding:16px 0 28px}
  .foot .top{grid-template-columns:1fr;gap:32px}
  .foot .bottom{flex-direction:column;align-items:flex-start;gap:10px}
  .faq-item summary{font-size:19px;padding:16px 16px 16px 22px}
  .faq-item .a{padding:0 22px 22px}
  .ask{border-radius:32px;flex-wrap:wrap}
  .sched-head{flex-direction:column;align-items:flex-start}
  .sched{padding:16px;border-radius:28px}
  .wk{gap:4px}
  .wk div{height:68px;font-size:15px}
  .wk div small{font-size:12px}
  .legend{display:none}
  .prices{grid-template-columns:1fr}
  .usp{flex-direction:column;align-items:flex-start;border-radius:32px;padding:24px}
  .usp .btn{margin-left:0}
  .phone{left:50%;margin-left:-150px}
  .phone-ring{display:none}
  .toast{right:0;top:auto;bottom:-20px;width:250px}
  .loc{grid-template-columns:1fr}
  .loc .body{padding:6px 10px 12px}
  .ws .items{grid-template-columns:1fr}
  .ws h2{font-size:34px}
  .form-card{padding:22px;border-radius:30px}
  .form-card h2{font-size:30px}
  .form-sub{flex-direction:column;align-items:flex-start;gap:10px}
  .two,.choice.c2,.choice.c3{grid-template-columns:1fr}
  .choice.c4{grid-template-columns:1fr}
  .pf-grid .form-card{margin-bottom:0}
  .exp-m{padding:28px 0 32px}
  .exp,.phases{grid-template-columns:1fr}
  .tip{border-radius:24px}
  .bigq blockquote{font-size:46px}
  .chapter{grid-template-columns:48px minmax(0,1fr);gap:16px}
  .chapters::before{left:23px}
  .chapter .num{width:48px;height:48px;font-size:19px}
  .chapter h3{font-size:25px;margin-top:6px}
  .chapter p{font-size:17px}
  .collage{height:470px}
  .collage .c1{width:260px;height:260px}
  .collage .c2{width:190px;height:270px;top:190px}
  .collage .sticker{top:300px;right:0;font-size:16px}
  .mission blockquote{font-size:44px}
  .facts{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:200px 150px 150px}
  .ig-band{flex-direction:column;align-items:flex-start;border-radius:32px;padding:22px}
  .poster .left{padding:30px 24px 10px}
  .poster .right{padding:10px 24px 120px}
  .poster h3{font-size:38px}
  .poster .datebox{width:160px;height:170px;border-radius:85px}
  .poster .datebox b{font-size:64px}
  .poster .waves{height:100px}
  .type .img{height:190px}
  .ccard{border-radius:28px}
  .prose article{padding:26px 22px;border-radius:28px}
  .prose h2{font-size:25px}
  .featured .body{padding:26px 24px 30px}
  .featured h2{font-size:32px}
  .posts{grid-template-columns:1fr}
  .igstrip{gap:10px}
  .igstrip a{border-radius:20px}
  .art-head h1{font-size:42px}
  .art-hero{aspect-ratio:16/10;margin-top:28px}
  .article{font-size:18px}
  .article h2{font-size:28px;margin-top:44px}
  .pullquote{font-size:29px}
  .tipbox{padding:22px}
  .tipbox ul{grid-template-columns:1fr}
  .inline-cta{flex-direction:column;align-items:flex-start;padding:26px 24px}
  .inline-cta .btn{margin-left:0;width:100%}
  .signoff{border-radius:28px}
  .waves.w-down{height:80px}
  .wavephoto .wavebox .waves{height:200px}
  .panel .wavebg .waves{height:140px}
}

/* ==========================================================================
   VERSIE 2 — aanvullingen (14-10-2026)
   Zelfde tokens, typografie en vormtaal als versie 1. Nieuwe kleuren staan
   hieronder als variabele; alle overige waarden komen uit :root bovenaan.
   ========================================================================== */
:root{
  --note-bg:#FFF1D6; --note-ink:#5C4300; --note-ic:#8A6400;   /* notitie / open punt */
  --ok-bg:#E2F2E8; --ok-ink:#246343;                           /* bevestiging */
  --rose-bg:#F3DDE2; --rose-ink:#8A4A5C;                       /* tag-rose */
  --deep-pink:#C8104E;
  --hl:#FFE7A8; --hl-ink:#3D2C00;                              /* markering 'open punten' */
}
html{scroll-padding-top:120px}

/* ---------- H1 met zoekwoord (kicker) ---------- */
.h1-kick{display:block;font-size:22px;font-weight:700;letter-spacing:-.025em;line-height:1.25;color:var(--mauve);margin-bottom:16px}
.hero h1 .h1-kick{font-size:22px;letter-spacing:-.025em;line-height:1.25;font-weight:700}
.hero h1.h1-sub{font-size:88px;line-height:.96}
.reg{font-size:.5em;vertical-align:.9em;line-height:0;letter-spacing:0;margin-left:.05em;font-weight:600}
.hero .sub + .lead{margin-top:18px}

/* ---------- Actueel-balk (één regel, los te zetten) ---------- */
.actueel{background:var(--ink);color:#fff;font-size:15px;line-height:1.4}
.actueel .wrap{display:flex;align-items:center;justify-content:center;gap:10px 12px;flex-wrap:wrap;min-height:44px;padding-top:8px;padding-bottom:8px;text-align:center}
.actueel .wrap::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pink);flex:none}
.actueel a{color:#fff;font-weight:600;text-underline-offset:3px;white-space:nowrap}
.actueel a .ic{width:15px;height:15px;vertical-align:-2px;margin-left:4px}

/* proefles: formulierkaart zonder overlap (lengte wisselt per tab) */
.pf-grid.nolap .form-card{margin-bottom:0}
.exp-m.nolap{padding-top:56px}
/* titel juridische pagina's */
.doc-h1{font-size:80px;font-weight:800;letter-spacing:-.055em;line-height:.95;margin-top:22px}
.act-s{display:none}
.js .foot{padding-bottom:84px}

/* ---------- placeholders en open punten ---------- */
.todo{display:inline;padding:1px 9px;border-radius:999px;border:1.5px dashed var(--rose2);background:var(--bg);color:var(--ink3);font-weight:500;font-size:.88em;letter-spacing:0;white-space:normal}
.mauve .todo,.on-dark .todo,.foot .todo,.poster .todo{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.mauve .loc .todo,.mauve .evx .todo,.mauve .soon-card .todo{background:var(--bg);border-color:var(--rose2);color:var(--ink3)}
html.show-open .tbc{background:var(--hl);color:var(--hl-ink);border-radius:4px;box-shadow:0 0 0 3px var(--hl);cursor:help}
html.show-open .todo{background:var(--hl);color:var(--hl-ink);border-color:#C79A2B}
html.show-open .is-ph{outline:3px dashed #C79A2B;outline-offset:6px}
.notice{display:flex;gap:14px;align-items:flex-start;padding:16px 22px;border-radius:24px;background:var(--note-bg);color:var(--note-ink);font-size:16px;line-height:1.5}
.notice .ic{color:var(--note-ic);margin-top:2px}
.notice b{color:var(--hl-ink)}
.notice a{color:var(--hl-ink);font-weight:600}

/* prototype-schakelaar (alleen in het HTML-ontwerp, niet in WordPress) */
.proto{display:none;position:fixed;left:14px;bottom:14px;z-index:40;align-items:center;gap:10px;min-height:44px;padding:0 16px 0 8px;border-radius:999px;border:0;background:#fff;box-shadow:var(--sh);font:600 14px/1.1 var(--f);color:var(--ink);cursor:pointer}
.js .proto{display:inline-flex}
.proto .sw{width:34px;height:20px;border-radius:99px;background:#CDBCB6;position:relative;transition:background .2s;flex:none}
.proto .sw::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .2s}
.proto[aria-pressed="true"] .sw{background:var(--ink)}
.proto[aria-pressed="true"] .sw::after{transform:translateX(14px)}
.proto small{display:block;font-weight:500;font-size:12px;color:var(--ink3);margin-top:2px}

/* golf van pagina naar een mauve band (buiten de hero) */
.waves.w-up{height:150px;margin-top:100px}

/* ---------- winkels / app ---------- */
a.store:hover{background:#2E272B}
.appid{display:flex;align-items:center;gap:16px;margin-top:30px}
.appid img{width:72px;height:72px;flex:none;border-radius:18px;box-shadow:var(--sh-sm);background:#fff}
.appid b{display:block;font-size:20px;letter-spacing:-.02em;line-height:1.2}
.appid small{display:block;font-size:15px;color:var(--ink2)}
.screen .hi .ex{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:99px;background:var(--blush);color:var(--mauve);font-size:11px;font-weight:600;letter-spacing:0;vertical-align:3px}

/* ---------- rooster zonder klikken ---------- */
.row-c{text-decoration:none}
div.row-c{grid-template-columns:96px minmax(0,1fr)}
.cls .where{margin-top:10px}
.sched-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-top:22px;padding:12px 12px 12px 28px;border-radius:999px;background:var(--blush)}
.sched-cta p{font-weight:600;font-size:18px;letter-spacing:-.02em}
.sched-cta p small{display:block;font-weight:500;font-size:15px;color:var(--ink2);letter-spacing:0}
.sched-cta .btns{gap:10px}
.week-note{margin-top:16px;font-size:15px;color:var(--ink3);display:flex;gap:8px;align-items:flex-start}
.week-note .ic{width:17px;height:17px;color:var(--mauve);margin-top:3px}

/* ---------- prijzen: extra uitlegbanden ---------- */
.usps{display:grid;gap:14px;margin-top:40px}
.usps .usp{margin-top:0}

/* ---------- eventkaart met flyer ---------- */
.evx{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:32px;align-items:center;padding:14px 30px 14px 14px;border-radius:var(--r);background:#fff;box-shadow:var(--sh);color:var(--ink)}
.evx .flyer{display:block;border-radius:24px;overflow:hidden;aspect-ratio:1/1;background:var(--blush)}
.evx .flyer img{width:100%;height:100%;object-fit:cover}
.evx h3{font-size:36px;letter-spacing:-.045em;margin-top:14px;color:var(--ink)}
.evx .lead{font-size:18px;margin-top:10px;color:var(--ink2)}
.evx .meta{display:grid;gap:8px;margin-top:18px}
.evx .meta li{display:flex;gap:10px;align-items:flex-start;font-size:17px;color:var(--ink2);line-height:1.45}
.evx .meta .ic{width:19px;height:19px;color:var(--mauve);margin-top:3px}
.evx .meta b{color:var(--ink);font-weight:600}
.evx .btns{margin-top:24px}
.ev-next{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:24px;margin-top:44px;align-items:stretch}
.mauve .evx p,.mauve .evx li{color:var(--ink2)}
.mauve .evx h3{color:var(--ink)}

/* ---------- tijdlijn terugblik ---------- */
.tl{margin-top:48px;position:relative;display:grid;gap:18px}
.tl::before{content:"";position:absolute;left:131px;top:16px;bottom:16px;border-left:2px dashed var(--rose)}
.tl-item{display:grid;grid-template-columns:110px 44px minmax(0,1fr);grid-template-areas:"when dot card";align-items:start}
.tl-when{grid-area:when;padding:30px 16px 0 0;text-align:right;font-weight:700;font-size:19px;letter-spacing:-.02em;line-height:1.2}
.tl-when small{display:block;font-weight:500;font-size:14px;color:var(--ink3);letter-spacing:0;margin-top:2px}
.tl-dot{grid-area:dot;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px var(--ink);margin:30px auto 0;position:relative;z-index:1}
.tl-item:first-child .tl-dot{background:var(--pink);box-shadow:none}
.tl-card{grid-area:card;display:grid;grid-template-columns:132px minmax(0,1fr);gap:24px;align-items:center;padding:12px 26px 12px 12px;border-radius:30px;background:#fff;box-shadow:var(--sh-sm)}
.tl-card .flyer{width:132px;height:132px;border-radius:22px;overflow:hidden;background:var(--blush);display:flex;align-items:center;justify-content:center;color:var(--mauve)}
.tl-card .flyer img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.tl-card .flyer .ic{width:42px;height:42px;stroke-width:1.6}
.tl-card h3{font-size:25px;letter-spacing:-.035em}
.tl-card p{font-size:16.5px;color:var(--ink2);margin-top:6px;line-height:1.5}
.tl-card .chips{margin-top:12px;gap:8px}
.tl-card .chip{min-height:32px;font-size:14px;padding:0 12px;background:var(--bg);box-shadow:none}
.tl-card .chip .ic{width:15px;height:15px}

/* ---------- proefles: widget of formulier ---------- */
.seg{display:none;gap:6px;padding:6px;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line);margin-top:22px}
.js .seg{display:flex}
.seg button{flex:1;min-height:52px;border-radius:999px;border:0;background:transparent;font:600 16px/1.15 var(--f);color:var(--ink);cursor:pointer;padding:6px 14px;letter-spacing:-.01em}
.seg button small{display:block;font-weight:500;font-size:12.5px;color:var(--ink3);letter-spacing:0;margin-top:2px}
.seg button[aria-selected="true"]{background:var(--ink);color:#fff}
.seg button[aria-selected="true"] small{color:var(--on-mauve)}
.opt-label{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:14px;font-weight:600;color:var(--mauve)}
.opt-label::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pink)}
.js .opt-label{display:none}
.vg{margin-top:20px;border-radius:28px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line);overflow:hidden}
.vg-top{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border-bottom:1.5px solid var(--line)}
.vg-top b{display:block;font-size:18px;letter-spacing:-.02em;line-height:1.25}
.vg-top small{display:block;font-size:14.5px;color:var(--ink2)}
.vg-body{padding:24px 20px 26px;text-align:center}
.vg-body .bub{width:72px;height:72px;margin:0 auto}
.vg-body .bub .ic{width:34px;height:34px}
.vg-body h3{font-size:24px;letter-spacing:-.035em;margin-top:16px}
.vg-body p{color:var(--ink2);font-size:16.5px;max-width:420px;margin:8px auto 0;line-height:1.5}
.vg-body .btns{justify-content:center;margin-top:22px}
.vg-steps{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:18px}
.vg-steps span{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);font-size:14px;font-weight:600}
.vg-frame{display:block;width:100%;height:640px;border:0;background:#fff}
.vg-foot{padding:12px 18px;font-size:14px;color:var(--ink3);border-top:1.5px solid var(--line);background:#fff;display:flex;gap:8px;align-items:center}
.vg-foot .ic{width:16px;height:16px}
[role="tabpanel"][hidden]{display:none}

/* ---------- nieuwsbrief / WhatsApp-blok ---------- */
.news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,540px);gap:40px;align-items:center;padding:36px 40px;border-radius:36px;background:var(--blush)}
.news h2{font-size:38px;letter-spacing:-.045em;line-height:1.05;margin:0}
.news .txt p{color:var(--ink2);margin-top:10px;font-size:18px}
.news form{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.news .field{margin:0;flex:1 1 250px}
.news .field input{background:#fff}
.news .btn{flex:none}
.news .wa{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px;font-size:16px;color:var(--ink2)}
.news .wa .btn{min-height:48px}
.news .thanks{padding:8px 0;text-align:left}
.news .thanks h3{font-size:24px;letter-spacing:-.03em}
.news .thanks p{margin:6px 0 0;max-width:none}
.news .lbl{font-size:15px}
.foot .news{background:var(--mauve-d);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.14);margin:8px 0 56px}
.foot .news h2{color:#fff;font-size:32px;margin:0;line-height:1.05;letter-spacing:-.045em}
.foot .news .txt p,.foot .news .wa,.foot .news .lbl{color:var(--on-mauve)}
.foot .news .lbl small{color:var(--on-mauve)}
.foot .news .field input{border-color:transparent}
.foot .news .thanks h3{color:#fff}
.foot .news .thanks p{color:var(--on-mauve)}

/* ---------- reviews: placeholder tot er echte quotes zijn ---------- */
.rev.ph{background:transparent;color:#fff;border:2px dashed rgba(255,255,255,.4)}
.rev.ph p{color:var(--on-mauve)}
.rev.ph .qm{color:var(--pink)}
.rev.ph .qm .ic{width:34px;height:34px}
.rev.ph .who .av{background:rgba(255,255,255,.14);color:#fff}
.rev.ph .who b{color:#fff}
.rev.ph .who small{color:var(--on-mauve)}
.rev-note{margin-top:22px;font-size:15px;color:var(--on-mauve);display:flex;gap:8px;align-items:center}
.rev-note .ic{width:17px;height:17px;color:var(--rose)}

/* ---------- footer v2: 5 kolommen + nieuwsbrief ---------- */
.foot .top{grid-template-columns:1.3fr .9fr .9fr 1fr 1fr;gap:36px}
.foot li a .ic{width:15px;height:15px;vertical-align:-2px;margin-left:4px}
.foot .apps{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.foot .apps a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px 0 10px;border-radius:999px;background:rgba(255,255,255,.12);font-size:15px;font-weight:600;color:#fff}
.foot .apps a .ic{width:18px;height:18px;margin:0}
.foot .apps a:hover{background:rgba(255,255,255,.22);text-decoration:none}
.foot .bottom p{display:flex;flex-wrap:wrap;gap:4px 14px}

/* ---------- mobiel menu: tweede rij ---------- */
.mnav .msub{display:none}

/* ---------- FAQ-pagina ---------- */
.faq-page{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);gap:72px;align-items:start}
.faq-side{position:sticky;top:132px}
.faq-side nav{display:grid;gap:8px;margin-top:4px}
.faq-side nav a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 10px 0 22px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);font-weight:600;font-size:17px;text-decoration:none;color:var(--ink)}
.faq-side nav a:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.faq-side nav a .dot{width:34px;height:34px;border-radius:50%;background:var(--blush);color:var(--mauve);display:flex;align-items:center;justify-content:center}
.faq-side nav a .dot .ic{width:16px;height:16px}
.faq-side .ask{flex-wrap:wrap;border-radius:32px}
.faq-side .ask .ask-btns{margin-left:92px}
.faq-group+.faq-group{margin-top:56px}
.faq-group h2{font-size:40px;letter-spacing:-.045em;margin-bottom:22px}
.faq-item .a ul{margin-top:10px;display:grid;gap:6px}
.faq-item .a li{padding-left:22px;position:relative}
.faq-item .a li::before{content:"";position:absolute;left:4px;top:11px;width:7px;height:7px;border-radius:50%;background:var(--pink)}
.faq-item .a a{color:var(--ink);font-weight:600}

/* ---------- contentpagina's zonder foto-hero ---------- */
.page-head{padding-top:28px}
.page-head h1{font-size:96px;font-weight:800;letter-spacing:-.055em;line-height:.94;margin-top:22px}
.page-head .lead{margin-top:20px;max-width:720px}
.page-head .chips{margin-top:26px}
.page-head .notice{margin-top:26px;max-width:820px}

/* ---------- blog: ideeën ---------- */
.post .tag-idea{background:var(--note-bg);color:var(--note-ink)}

/* ---------- event-detail ---------- */
.ev-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:64px;align-items:center;padding-top:28px;position:relative;z-index:4}
.ev-hero h1{font-size:96px}
.ev-hero .flyer-card{position:relative;border-radius:40px;overflow:hidden;box-shadow:var(--sh);aspect-ratio:1/1;background:var(--blush)}
.ev-hero .flyer-card img{width:100%;height:100%;object-fit:cover}
.ev-hero .flyer-wrap{position:relative}
.ev-hero .flyer-wrap .badge{position:absolute;left:-18px;bottom:40px;z-index:2}
.ev-hero .flyer-wrap .sticker{position:absolute;right:-12px;top:30px;background:var(--ink);color:#fff;border-radius:999px;padding:12px 22px;font-weight:700;font-size:19px;letter-spacing:-.02em;transform:rotate(-6deg);z-index:2}
.poster .prog.order li{justify-content:flex-start;gap:14px}
.poster .prog .n{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;flex:none}
.poster .when{font-size:20px;font-weight:600;color:#fff;margin-top:4px}
.poster .route{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:600;text-underline-offset:3px}
.poster .route .ic{width:16px;height:16px;margin:0;color:#fff}
.incl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}
.incl .fact{display:flex;flex-direction:column}
.signup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:56px;align-items:center}
.signup ol{display:grid;gap:12px;margin-top:26px}
.signup li{display:flex;gap:16px;align-items:center;padding:10px 22px 10px 10px;border-radius:999px;background:#fff;box-shadow:var(--sh-sm)}
.signup li .num{width:46px;height:46px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:19px;flex:none}
.signup li:first-child .num{background:var(--pink);color:#161317}
.signup li b{display:block;font-size:18px;letter-spacing:-.02em}
.signup li small{display:block;font-size:15px;color:var(--ink2)}

/* ---------- 404 ---------- */
.nf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:56px;align-items:center}
.nf ul{display:grid;gap:10px;margin-top:30px;max-width:520px}

/* ---------- responsive aanvullingen ---------- */
@media (max-width:1240px){
  .foot .top{grid-template-columns:1.2fr 1fr 1fr;gap:36px 32px}
  .foot .top .brand{grid-row:span 2}
}
@media (max-width:1180px){
  .hero h1.h1-sub{font-size:76px}
  .ev-hero h1{font-size:80px}
  .page-head h1{font-size:84px}
}
@media (max-width:1100px){
  .mnav .msub{display:flex;flex-wrap:wrap;gap:8px;padding:12px 8px 2px}
  .mnav .msub a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;background:var(--bg);font-size:15px;font-weight:600;color:var(--ink);text-decoration:none}
}
@media (max-width:900px){
  .evx{grid-template-columns:minmax(0,1fr);padding:12px 12px 28px;gap:22px}
  .evx .body{padding:0 12px}
  .evx .flyer{max-width:440px}
  .ev-next,.news,.faq-page,.ev-hero,.signup,.nf{grid-template-columns:minmax(0,1fr)}
  .faq-side{position:static}
  .faq-page,.ev-hero,.signup,.nf{gap:40px}
  .news{gap:22px;padding:28px}
  .incl{grid-template-columns:1fr}
  .ev-hero .flyer-wrap{max-width:520px}
  .foot .top{grid-template-columns:1fr 1fr}
  .foot .top .brand{grid-row:auto;grid-column:span 2}
}
@media (max-width:600px){
  .h1-kick,.hero h1 .h1-kick{font-size:18px;margin-bottom:12px}
  .hero h1.h1-sub{font-size:48px;line-height:1}
  .ev-hero h1{font-size:54px}
  .page-head h1{font-size:54px}
  .actueel{font-size:14px}
  .act-l{display:none}
  .act-s{display:inline}
  .doc-h1{font-size:40px;line-height:1}
  .exp-m.nolap{padding-top:28px}
  .proto .pl{display:none}
  .proto{padding:0 10px;min-height:44px}
  .actueel .wrap{min-height:40px;gap:6px 10px}
  .sched-cta{border-radius:28px;padding:20px;flex-direction:column;align-items:stretch}
  .sched-cta .btns{flex-direction:column}
  div.row-c{grid-template-columns:70px minmax(0,1fr)}
  .evx h3{font-size:28px}
  .tl::before{left:11px}
  .tl-item{grid-template-columns:24px minmax(0,1fr);grid-template-areas:"dot when" ". card";column-gap:12px}
  .tl-when{text-align:left;padding:0 0 10px;font-size:17px}
  .tl-dot{margin:1px 0 0}
  .tl-card{grid-template-columns:88px minmax(0,1fr);gap:16px;padding:10px 16px 14px 10px;border-radius:24px}
  .tl-card .flyer{width:88px;height:88px;border-radius:16px}
  .tl-card h3{font-size:20px}
  .tl-card p{font-size:15.5px}
  .tl-card .chips{display:none}
  .seg button{font-size:15px;padding:6px 10px}
  .vg-frame{height:560px}
  .news{padding:22px;border-radius:28px}
  .news h2,.foot .news h2{font-size:28px}
  .news form{flex-direction:column;align-items:stretch}
  .news .field{flex:none}
  .news .btn{width:100%}
  .foot .top{grid-template-columns:1fr}
  .foot .top .brand{grid-column:auto}
  .faq-group h2{font-size:32px}
  .ev-hero .flyer-wrap .badge{left:-4px;bottom:20px}
  .ev-hero .flyer-wrap .sticker{right:-4px;top:16px;font-size:16px}
  .ev-hero .flyer-card{border-radius:30px}
  .signup li{border-radius:26px}
  .waves.w-up{height:80px;margin-top:72px}
  .proto{left:10px;bottom:10px}
  .appid img{width:60px;height:60px}
}
/* ---------- aanvulling 14-10-2026: lid worden + bedankpagina's ---------- */
.price-card{padding:26px}
.price-card .price-teaser{margin-top:0}
.price-card .price-teaser li{background:var(--bg)}
.choose{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:40px}
.choose .fact{display:flex;flex-direction:column;padding:30px}
.choose .fact h3{font-size:28px;letter-spacing:-.04em}
.ticks-s{display:grid;gap:10px;margin:18px 0 0}
.ticks-s li{display:flex;gap:10px;align-items:flex-start;font-size:17px;color:var(--ink2);line-height:1.45}
.ticks-s .ic{width:18px;height:18px;color:var(--mauve);margin-top:3px}
.choose .from{margin:20px 0 22px;font-size:17px;color:var(--ink2)}
.choose .from b{font-size:24px;color:var(--ink);letter-spacing:-.03em}
.choose .btn{margin-top:auto;align-self:flex-start}
.ig-band .band-ic{width:64px;height:64px;border-radius:16px;box-shadow:var(--sh-sm);flex:none;background:#fff}
.ig-band .band-stores{margin-top:0;flex:none}
.ig-band .band-stores .store{min-height:54px}
.pill b .ic{width:15px;height:15px;color:var(--pink);margin-right:2px}
.h3-like{font-size:22px;letter-spacing:-.03em;line-height:1.2;margin-top:36px}
.nf .h3-like + ul{margin-top:14px}
@media (max-width:1100px){.ig-band{flex-wrap:wrap}}
@media (max-width:900px){.choose{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){
  .choose .fact{padding:24px}
  .choose .fact h3{font-size:24px}
  .choose .btn{align-self:stretch}
  .ig-band .band-stores{width:100%;flex-direction:column}
  .price-card{padding:16px}
}
/* ---------- snelheids- en toegankelijkheidsronde (14-10-2026) ---------- */
:root{--ink-off:#7A6D72}                  /* uitgeschakelde dagen: 4,6:1 op --bg (was #A3969B, 2,6:1) */
.day,.wk div{color:var(--ink-off)}
.day.has,.wk div.has{color:var(--ink)}
.day.on{color:#fff}
/* tekst op doorschijnende kaartjes in mauve: wit (5,8:1) i.p.v. --on-mauve (4,3:1) */
.mauve .step p,.mauve .phase p,.mauve .tip,.mauve .hour .track,.on-dark .step p{color:#fff}
.price.pop .kind{color:var(--on-mauve)}
/* titel in de proefleskaart is geen kop (kopvolgorde H1 > H2) */
.trial-card .tc-title{font-size:22px;font-weight:700;letter-spacing:-.03em;line-height:1.15;color:var(--ink)}
/* focusrand wit op donkere vlakken (roze haalt daar geen 3:1) */
.mauve :focus-visible,.on-dark :focus-visible,.foot :focus-visible,.poster :focus-visible,.panel.mauve-panel :focus-visible,.inline-cta :focus-visible{outline-color:#fff}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
@media (max-width:900px){.trial-card .tc-title{font-size:19px}}
/* reflow tot 320 px (WCAG 1.4.10) */
.foot .bottom nav{flex-wrap:wrap;gap:8px 22px}
.ccard .txt{min-width:0}
.ccard small{overflow-wrap:anywhere}
@media (max-width:400px){
  .stat .n{font-size:30px}
  .tag{white-space:normal}
  .btn{overflow-wrap:anywhere}
}
/* veilige marges op telefoons met inkeping (ook in de online voorbeeldversie) */
.site-head{top:env(safe-area-inset-top,0px)}
.proto{bottom:calc(14px + env(safe-area-inset-bottom,0px))}
/* ---------- versie 3 (14-10-2026, na de vragenlijst) ---------- */
.loc-info{font-size:15.5px;color:var(--ink2);margin-top:12px;line-height:1.5}
.loc-note{display:flex;gap:12px;align-items:flex-start;margin-top:20px;padding:14px 20px;border-radius:22px;background:var(--blush);font-size:16px;line-height:1.5;color:var(--ink2)}
.loc-note .ic{color:var(--mauve);margin-top:3px;flex:none}
.loc-note b{color:var(--ink)}
.mauve .loc-note{background:rgba(255,255,255,.08);color:#fff}
.mauve .loc-note b,.mauve .loc-note .ic{color:#fff}
.poster .prog .t{margin-left:auto;font-size:16px;font-weight:600;color:#fff;white-space:nowrap;font-variant-numeric:tabular-nums}
@media (max-width:600px){
  .poster .prog li{flex-wrap:wrap;row-gap:2px;padding-top:8px;padding-bottom:8px}
  .poster .prog .t{margin-left:46px;width:100%;font-size:15px}
}
@media print{.proto,.actueel,.site-head,.burger{display:none}}

/* ==========================================================================
   Versie 4 (feedback Martijn op versie 3, 14-10-2026)
   ========================================================================== */
/* Golven zijn decoratie: ze vangen geen klikken meer op. Heroknoppen liggen boven de golf. */
.waves{pointer-events:none}
.hero-grid>div:first-child{position:relative;z-index:4;padding-bottom:64px}
/* Sectiekop: inleiding onder de kop in plaats van los rechtsboven */
.sec-head{grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}
.sec-head .lead{max-width:680px}
.sec.tight{padding-top:56px}
/* Prijsregels: bedrag niet tegen de rand; prijs per les klein eronder */
.price-teaser li{padding:8px 24px;min-height:58px}
.price-teaser li>span:first-child{display:flex;flex-direction:column;gap:2px;line-height:1.3}
.price-teaser li small{font-size:14px;font-weight:500;color:var(--ink3)}
.price-teaser li.best{box-shadow:inset 0 0 0 1.5px var(--rose2)}
.price-teaser li .tag-best{background:var(--blush);color:var(--mauve);font-size:13px;min-height:28px;padding:0 12px;white-space:nowrap}
/* Weekkaart: locaties met plaatsnaam en route */
.week .meta a{color:inherit;text-decoration:underline;text-decoration-color:var(--rose2);text-underline-offset:3px}
.week-locs{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:10px}
/* Stappen: zonder stippellijn en iconen */
.steps::before{display:none}
/* Lid worden: wat altijd inbegrepen is, prijs per les, rekenregel */
.no-fee{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.no-fee li{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 22px 0 12px;border-radius:999px;background:#fff;box-shadow:var(--sh);font-size:17px;color:var(--ink2)}
.no-fee .ic{width:30px;height:30px;padding:7px;border-radius:50%;background:var(--blush);color:var(--mauve);stroke-width:3;flex:none}
.no-fee b{color:var(--ink);font-weight:600}
.price .per{font-size:14.5px;color:var(--ink3);margin-top:6px}
.price.pop .per{color:var(--on-mauve)}
.save-note{display:flex;gap:10px;align-items:flex-start;margin-top:20px;font-size:15.5px;line-height:1.55;color:var(--ink2);max-width:860px}
.save-note .ic{width:18px;height:18px;color:var(--mauve);margin-top:3px;flex:none}
/* Reviews: voorbeeldteksten herkenbaar */
.rev.ex{position:relative}
.rev .ex-tag{position:absolute;top:24px;right:24px;font-size:13px;font-weight:600;padding:4px 12px;border-radius:999px;background:var(--blush);color:var(--mauve)}
/* Over: eigen choreo's */
.choreo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:72px;align-items:center}
.choreo .ticks{margin-top:26px;display:grid;gap:14px}
.choreo-ph{width:100%;max-width:360px;aspect-ratio:3/4;justify-self:center}
/* Locaties: foto in 4:3 (de bron is klein), route onder de foto */
.loc{align-items:start}
.loc .side{display:flex;flex-direction:column;gap:12px}
.loc .img{display:block;aspect-ratio:4/3;min-height:0}
.loc .side .link{margin-top:0;padding:0 0 4px 8px}
.loc .body{padding:14px 18px 18px 0}
.loc-note a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* Events: kaart 'Datum volgt' met foto en twee knoppen */
.soon-card.next .next-ph{aspect-ratio:16/10;border-radius:22px;overflow:hidden}
.soon-card.next .next-ph img{width:100%;height:100%;object-fit:cover}
.next-btns{display:grid;gap:10px;margin-top:auto}
.next-btns .btn{width:100%;min-height:54px;font-size:16px;white-space:normal;text-align:left}
@media (max-width:900px){
  .choreo{grid-template-columns:minmax(0,1fr);gap:40px}
  .hero-grid>div:first-child{padding-bottom:32px}
}
@media (max-width:600px){
  .sec.tight{padding-top:40px}
  .hero-grid>div:first-child{padding-bottom:16px}
  .price-teaser li{padding:8px 18px;border-radius:28px}
  .price-teaser li .tag-best{display:none}
  .no-fee{justify-content:flex-start}
  .loc .side .link{padding-left:4px}
  .loc .body{padding:4px 10px 12px}
}
.rev-head .link{white-space:nowrap;flex:none}
.choreo-ph{aspect-ratio:2/3;max-width:340px}
@media (max-width:400px){.page-head h1{font-size:42px}}
.price-teaser li b{white-space:nowrap}
@media (max-width:600px){
  .price-teaser li b{font-size:18px}
  .loc{display:flex;flex-direction:column;gap:14px}
  .loc .side{display:contents}
  .loc .body{order:1}
  .loc .side .link{order:2;padding:0 10px 8px}
  .loc .img,.loc .minimap{align-self:stretch}
}

/* ==========================================================================
   Versie 5 (feedback Martijn op versie 4, 14-10-2026)
   ========================================================================== */
/* Rooster: dagen zijn knoppen. Gekozen dag = donker; nog een keer klikken = alles weer zichtbaar. */
button.day{border:0;font:600 16px/1 var(--f);cursor:pointer;width:100%;padding:0}
button.day:hover{box-shadow:inset 0 0 0 2px var(--ink)}
button.day.on,button.day.on:hover{background:var(--ink);color:#fff;box-shadow:none}
.wk button{height:88px;width:100%;border:0;border-radius:999px;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--ink-off);font:600 17px/1.1 var(--f);cursor:pointer;padding:0}
.wk button small{font-weight:500;font-size:14px}
.wk button.has{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}
.wk button.has small{color:#C8104E;font-weight:600}
.wk button:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.wk button.on,.wk button.on:hover{background:var(--ink);color:#fff;box-shadow:none}
.wk button.on small{color:#fff}
.row-c[hidden],.cls[hidden]{display:none}
.day-empty{display:flex;gap:10px;align-items:flex-start;margin-top:14px;padding:16px 20px;border-radius:22px;background:var(--bg);font-size:16px;line-height:1.5;color:var(--ink2)}
.day-empty[hidden]{display:none}
.day-empty .ic{width:18px;height:18px;color:var(--mauve);margin-top:3px;flex:none}
.day-empty b{color:var(--ink)}
.sched .day-empty{margin-top:20px}
/* Blog (ontwerp versie 1) */
.page-head .filters{margin-top:30px}
.page-head .featured{margin-top:28px}
a.post{color:inherit}
a.post:hover h3{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.post.soon{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line)}
.post.soon .img{opacity:.85}
.blog-note{display:flex;gap:10px;align-items:flex-start;margin-top:28px;font-size:15.5px;line-height:1.5;color:var(--ink2);max-width:860px}
.blog-note .ic{width:18px;height:18px;color:var(--mauve);margin-top:3px;flex:none}
.article .art-prices{margin-top:22px}
.article .art-prices li{font-size:17px}
.article figure .ph-flyer{aspect-ratio:auto;max-width:420px;background:none}
.article figure .ph-flyer img{height:auto;object-fit:contain}
@media (max-width:600px){
  .wk button{height:68px;font-size:15px}
  .wk button small{font-size:12px}
  button.day{font-size:14px}
}
.classes .day-empty{grid-column:1/-1;align-self:start}
.rows .day-empty{margin-top:0}
.week .rows,.sched .classes{align-content:start}
@media (max-width:600px){.row-c .meta{white-space:normal;flex-wrap:wrap}}
/* Google-score bij de reviews (Home) */
.g-score{flex:none;text-align:right}
.g-score p{margin:0}
.g-score b{font-size:44px;letter-spacing:-.05em;line-height:1;color:#fff;font-variant-numeric:tabular-nums;margin-right:10px}
.g-score .stars{color:var(--pink);font-size:20px;letter-spacing:2px;vertical-align:6px}
.g-score .g-n{color:var(--on-mauve);font-size:15px;margin-top:4px}
.g-score .link{margin-top:6px}
@media (max-width:600px){.g-score{text-align:left}}
.revs.four{grid-template-columns:1.1fr 1fr 1fr 1fr}
@media (max-width:1100px) and (min-width:901px){.revs.four{grid-template-columns:1fr 1fr}}
/* Groot citaat (Proefles): schaalt mee, zodat lange woorden niet buiten de kolom vallen tussen 900 en 1240 px */
@media (min-width:601px){.bigq blockquote{font-size:clamp(44px,5vw,76px)}}
/* Tabletbreedte (601-1000 px): cijferband in 2 kolommen, roosterkaarten in 2 kolommen (liepen buiten beeld) */
@media (min-width:1001px){.stats .grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1101px){.classes{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1100px) and (min-width:901px){.classes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1000px) and (min-width:601px){
  .stats .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat{padding:18px 24px}
  .stat:first-child{padding-left:24px}
  .stat+.stat{border-left:0}
  .stat:nth-child(2n){border-left:1.5px solid rgba(255,255,255,.18)}
  .stat:nth-child(n+3){border-top:1.5px solid rgba(255,255,255,.18)}
}
@media (max-width:1100px) and (min-width:901px){.look{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px}}

/* ==========================================================================
   Versie 6 (feedback Martijn op versie 5, 15-10-2026)
   ========================================================================== */
/* Google-score in de banner (Home) en op Proefles */
.trust{flex-wrap:wrap;row-gap:10px}
.g-trust{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 10px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink2);text-decoration:none;font-size:15px}
.g-trust:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.g-trust .stars,.g-mini .stars{color:var(--pink);letter-spacing:1px;font-size:14px}
.g-trust b{color:var(--ink)}
.g-mini{display:flex;align-items:center;gap:12px;flex-wrap:wrap;text-decoration:none;color:var(--ink2)}
.g-mini p{margin:0;font-size:16px}
.g-mini b{color:var(--ink);font-size:22px;letter-spacing:-.03em}
/* Rooster: eerstvolgende les */
.nextb{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;background:var(--pink);color:#161317;font-size:12.5px;font-weight:700;letter-spacing:.01em;margin-left:8px;vertical-align:middle}
.nextb[hidden]{display:none}
.row-c.is-next{box-shadow:inset 0 0 0 2px var(--pink)}
.cls.is-next{box-shadow:inset 0 0 0 2px var(--pink)}
.cls .d{flex-wrap:wrap;gap:6px}
.cls .d .nextb{margin-left:0}
button.day.is-next:not(.on)::after,.wk button.is-next:not(.on)::after{content:"";position:absolute;inset:-4px;border-radius:999px;box-shadow:0 0 0 2px var(--pink);pointer-events:none}
button.day,.wk button{position:relative}
/* Proefles: datums */
.choice.dates{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:600px){.choice.dates{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Locaties: klein kaartje */
.loc .minimap{display:block;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1.5px var(--line);aspect-ratio:5/3;background:#F4EAE5}
.loc .minimap img{display:block;width:100%;height:100%;object-fit:cover}
/* Vaste proefles-knop op mobiel: klein, rechtsonder, pas na de banner */
.mcta{display:none}
@media (max-width:760px){
  .mcta{display:inline-flex;align-items:center;gap:10px;position:fixed;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:60;
        min-height:46px;padding:0 5px 0 18px;border-radius:999px;background:var(--ink);color:#fff;font:600 15px/1 var(--f);text-decoration:none;
        box-shadow:0 10px 26px -8px rgba(22,19,23,.45);transform:translateY(140%);opacity:0;transition:transform .25s,opacity .25s;pointer-events:none}
  .mcta .dot{width:36px;height:36px;border-radius:50%;background:var(--pink);color:#161317;display:flex;align-items:center;justify-content:center}
  .mcta .dot .ic{width:16px;height:16px;stroke-width:2.4}
  .mcta.show{transform:none;opacity:1;pointer-events:auto}
}
@media (prefers-reduced-motion:reduce){.mcta{transition:none}}
/* Voorbeeldpagina masterclass */
.ex-banner{display:flex;gap:10px;align-items:flex-start;max-width:1200px;margin:16px auto 0;padding:12px 18px;border-radius:18px;background:var(--note-bg);color:var(--note-ink);font-size:15px;line-height:1.5;width:calc(100% - 48px)}
.ex-banner .ic{width:18px;height:18px;flex:none;margin-top:2px}
.ex-banner b{color:#3D2C00}
.ev-hero .flyer-card.tall{aspect-ratio:3/4}
.ev-hero .flyer-card.tall img{object-position:50% 30%}
.ticket-card h3{font-size:24px;letter-spacing:-.035em}
.ticket-card select{appearance:auto}
.ticket-total{display:flex;justify-content:space-between;align-items:baseline;margin:18px 0 6px;padding:14px 18px;border-radius:18px;background:var(--bg);font-size:16px;color:var(--ink2)}
.ticket-total b{font-size:26px;color:var(--ink);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
/* Voor leden */
.vl-top{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:28px}
.vl-top .stores{margin-top:0}
.vl-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.vl-grid .fact{display:flex;flex-direction:column}
.vl-grid .fact .link{margin-top:auto;padding-top:12px}
.vl-grid .fact p a{color:var(--ink);font-weight:600}
@media (max-width:1100px){.vl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.vl-grid{grid-template-columns:minmax(0,1fr)}}
.ig-band .band-av{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:50% 20%;flex:none}
/* 404 */
.nf404 .nf-count{font-weight:700;color:var(--mauve);letter-spacing:.04em;font-size:15px}
.nf404 .nf-num{display:flex;gap:.04em;font-size:clamp(110px,16vw,210px);font-weight:800;letter-spacing:-.06em;line-height:.82;margin-top:6px}
.nf404 .nf-num span{color:transparent;-webkit-text-stroke:3px var(--mauve)}
.nf404 .nf-num .o{color:var(--pink);-webkit-text-stroke:0;transform:rotate(-8deg);display:inline-block}
.nf404 h1{margin-top:22px}
.nf-links{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:600px){.nf-links{grid-template-columns:minmax(0,1fr)}.nf404 .nf-num span{-webkit-text-stroke:2px var(--mauve)}}
.g-trust{white-space:nowrap}
.g-trust{padding:5px 12px 5px 10px;font-size:14.5px;gap:6px}
@media (min-width:901px){.prices{grid-template-columns:repeat(3,minmax(0,1fr))}}
.price .btn{white-space:normal;text-align:left}
.tl-card>div{min-width:0}
@media (max-width:400px){.tl-card .link{font-size:15px;gap:8px}}
@media (max-width:760px){
  .site-head .actions .btn{transition:opacity .2s,visibility .2s}
  html.mcta-on .site-head .actions .btn{opacity:0;visibility:hidden}
}
/* Afgelopen event: knop zonder actie */
.btn-ended{gap:10px;background:var(--blush);color:var(--mauve);box-shadow:inset 0 0 0 1.5px var(--rose2);cursor:default;padding:0 26px}
.btn-ended .ic{width:18px;height:18px;stroke-width:2.6}

/* ---------- v6, telefooncontrole 19-10-2026 ---------- */
/* Mobiel menu: past altijd in het scherm (hoogte zet site.js), scrolt zelf; de pagina staat stil */
@media (max-width:1100px){
  .site-head .mnav{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  html.menu-lock{overflow:hidden}
  html.menu-lock body{overflow:visible}   /* anders wordt body de scrollcontainer en glijdt de sticky header weg */
  html.menu-lock .mcta{visibility:hidden;opacity:0;pointer-events:none}
  .mnav .msub a{min-height:44px}
}
.burger{flex:none}
/* Smalle telefoons (320–360 px): de headerknop blijft op één regel */
@media (max-width:360px){
  .nav .actions .btn{padding:0 4px 0 12px;font-size:14px;gap:8px;white-space:nowrap}
  .nav .actions .btn .dot{width:32px;height:32px}
  .nav .actions{gap:6px}
  .site-head .nav{gap:8px;padding-left:16px;padding-right:16px}   /* menuknop en focusring vrij van de rand op 320 px */
}
/* Grotere tikvlakken zonder dat de opmaak verschuift */
.crumb a{display:inline-block;padding:10px 4px;margin:-10px -4px}
.foot li a,.foot .bottom a{display:inline-block;padding:10px 0;margin:-10px 0}
/* Ronde foto onder blogartikelen: niet laten krimpen */
.signoff img{flex:0 0 64px}
/* Leesbaarheid kleine tekst */
.store small{font-size:13px}
@media (max-width:600px){
  .gallery .g figcaption{left:8px;right:8px;bottom:8px}
  .gallery .g figcaption .tag{font-size:13px;padding:4px 10px;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
}

/* telefooncontrole 19-10-2026, deel 1 */
.sched-note{display:block;position:relative;padding-left:25px}
.sched-note .ic{position:absolute;left:0;top:.2em}
a[href^="tel:"]{white-space:nowrap}
.meta a,a.route{display:inline-block;padding:9px 0;margin:-9px 0}
.g-trust{min-height:44px}
.actueel p{font-size:15px}
.ccard .txt small{overflow-wrap:normal}
@media (max-width:600px){
  .poster .prog li{display:grid;grid-template-columns:32px 1fr;column-gap:14px;align-items:center}
  .poster .prog li .n{grid-row:span 2}
  .poster .prog li .t{grid-column:2;margin-left:0;width:auto}
  .wavephoto .sticker{right:12px}
  .hero .pill{margin-top:8px}
}

/* Actueel-balk na de einddatum weg (vroege script zet .no-actueel) */
.no-actueel .actueel{display:none}

/* hercontrole telefoon 20-10-2026 */
.btn[href^="mailto:"]{overflow-wrap:normal}
.foot .apps a{min-height:44px}
@media (max-width:600px){
  .row-c .meta{display:block;white-space:normal}
  .row-c .meta .sep{display:none}
  .row-c .meta a{display:block;padding:11px 0;margin:-11px 0}
}

/* toegankelijkheid 20-10-2026 */
.foot .news .field input:focus{border-color:var(--ink);box-shadow:none;outline:3px solid #fff;outline-offset:3px}
.field input,.field select,.field textarea{border-color:#8C7D82}
.poster .prog .n{background:#fff;color:var(--mauve)}
.ev-big .ov{background:linear-gradient(180deg,rgba(102,83,89,0) 10%,rgba(50,38,43,.92) 100%)}
main:focus{outline:none}
@media (max-width:760px){
  html{scroll-padding-bottom:84px}
  .mcta{visibility:hidden;transition:transform .25s,opacity .25s,visibility 0s linear .25s}
  .mcta.show{visibility:visible;transition:transform .25s,opacity .25s,visibility 0s}
}

/* ==========================================================================
   Hercontrole 21-10: scheidingspunt "·" nooit los aan een regeleinde of -begin.
   Het punt hoort bij het volgende deel; begint dat deel op een nieuwe regel, dan valt het punt
   in de afgesneden strook links en is het weg. Schermlezers lezen het punt niet voor.
   ========================================================================== */
.dots{display:inline-flex;flex-wrap:wrap;margin-left:-.8em;clip-path:inset(-.5em -.5em -.5em .8em)}
.dots>*{position:relative;margin-left:.8em}
.dots>*+*::before{content:"\00B7";content:"\00B7"/"";position:absolute;left:-.55em}

/* ==========================================================================
   WordPress (v6-staging): added by export.py. Scoped to body.pd-v6.
   ========================================================================== */
body.pd-v6{margin:0;padding:0}
body.pd-v6 .wp-site-blocks,body.pd-v6 .entry-content,body.pd-v6 .wp-block-post-content,body.pd-v6 .wp-block-html{margin:0;padding:0;max-width:none}
body.pd-v6 #main>p:empty,body.pd-v6 #main>br{display:none}
/* sticky header below the WP admin bar (32px; 46px below 783px; at <=600px the bar scrolls away) */
body.admin-bar .site-head{top:32px}
@media screen and (max-width:782px){body.admin-bar .site-head{top:46px}}
@media screen and (max-width:600px){body.admin-bar .site-head{top:0}}
@media screen and (min-width:901px){body.admin-bar .faq-side{top:164px}}
/* Home: badge onder het gezicht op de hoofdfoto */
.comp.badge-laag .badge-pos{top:430px}

/* Over: video's, laden pas na een klik */
.yt-wrap{margin-top:56px}
.yt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.yt-item{margin:0;min-width:0}
.yt-btn,.yt-frame{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:24px;overflow:hidden;background:var(--ink)}
.yt-btn{position:relative;padding:0;cursor:pointer}
.yt-btn img{display:block;width:100%;height:100%;object-fit:cover}
.yt-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:#D6006A;color:#fff}
.yt-play .ic{width:26px;height:26px}
.yt-btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.yt-item figcaption{margin-top:10px;font-weight:600}
.yt-note{margin-top:16px;font-size:15px}
@media (max-width:900px){.yt-grid{grid-template-columns:minmax(0,1fr)}}

