/* ===========================================================
   BeFit Bunde — Gedeeld stijlsysteem (befit.css)
   Donker-luxe · mint-accent · lichte + lichtgroene rustvlakken
   Contrast WCAG AA gecontroleerd:
     ink op paper 17,0 · ink op groen-tint 15,6 · ink op tint-2 14,8
     link/eyebrow #356B5E op licht 5,9 · op tint 5,4
     on-dark op dark 17,4 · mint op dark 15,6 · ink op mint 14,5
   =========================================================== */
:root{
  --paper:#FAFBFB;--surface:#FFFFFF;--surface-2:#F2F5F3;
  --tint:#E8F3EE;--tint-2:#DDEFE8;            /* lichtgroene rustvlakken */
  --ink:#16191A;--ink-soft:#474D4D;--ink-mut:#6E7572;
  --dark:#11100E;--dark-2:#1A1A17;--dark-3:#23231F;
  --sage:#A7C5BD;--sage-ink:#2C4641;
  --green:#356B5E;                            /* accent-tekst op licht (AA) */
  --mint:#C9F1E6;--mint-soft:#E3F6F0;
  --on-dark:#F3F5F4;--on-dark-soft:#B9C2BF;--on-dark-mut:#828A88;
  --line:rgba(22,25,26,.10);--line-2:rgba(22,25,26,.16);--line-dk:rgba(255,255,255,.13);
  --shadow-sm:0 2px 12px rgba(22,25,26,.06);
  --shadow:0 26px 70px -34px rgba(20,25,23,.5);
  --shadow-lg:0 50px 120px -50px rgba(0,0,0,.7);
  --r:16px;--r-lg:24px;--wrap:1180px;
  --ease:cubic-bezier(.16,1,.3,1);
  --display:'Montserrat',system-ui,sans-serif;--body:'Open Sans',system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.7;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none;transition:color .2s var(--ease),opacity .2s var(--ease)}
h1,h2,h3,h4{font-family:var(--display);font-weight:800;line-height:1.1;letter-spacing:-.02em}
::selection{background:var(--mint);color:var(--ink)}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 1.4rem}
.eyebrow{font-family:var(--display);font-weight:700;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green);display:inline-flex;align-items:center;gap:.6rem}
.eyebrow::before{content:"";width:24px;height:2px;background:var(--sage)}
.eyebrow.lt{color:var(--mint)}.eyebrow.lt::before{background:var(--mint)}
.mint-mark{color:var(--mint);font-style:italic;font-weight:700}
.green-mark{color:var(--green);font-style:italic;font-weight:700}
/* Sections + heads */
.section{padding:4.75rem 0}
.section.dark{background:var(--dark);color:var(--on-dark)}
.section.tint{background:var(--tint)}
.section.tint-2{background:var(--tint-2)}
.section.surface-2{background:var(--surface-2)}
.section.dark h2,.section.dark h3{color:#fff}
.head{max-width:60ch;margin-bottom:2.4rem}
.head.center{margin:0 auto 2.4rem;text-align:center}
.head h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin:1rem 0 .9rem;color:var(--ink)}
.section.dark .head h2{color:#fff}
.head p{font-size:1.05rem;color:var(--ink-soft);max-width:54ch}
.section.dark .head p{color:var(--on-dark-soft)}
.head.center p{margin-left:auto;margin-right:auto}
/* Buttons + link */
.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:700;font-size:.9rem;padding:.9rem 1.5rem;border-radius:100px;border:1.5px solid transparent;cursor:pointer;transition:all .25s var(--ease);line-height:1;white-space:nowrap}
.btn .ar{transition:transform .25s var(--ease)}.btn:hover .ar{transform:translateX(4px)}
.btn--mint{background:var(--mint);color:var(--ink)}.btn--mint:hover{background:#b6ecdb;box-shadow:0 16px 30px -14px rgba(94,132,122,.55)}
.btn--dark{background:var(--ink);color:#fff}.btn--dark:hover{background:var(--sage-ink)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}.btn--ghost:hover{border-color:var(--green);color:var(--green)}
.btn--ghost-lt{background:transparent;color:#fff;border-color:rgba(255,255,255,.34)}.btn--ghost-lt:hover{border-color:var(--mint);color:var(--mint)}
.btn--lg{padding:1.05rem 1.9rem;font-size:.98rem}
.btn--block{width:100%;justify-content:center}
.link{font-family:var(--display);font-weight:700;font-size:.88rem;color:var(--green);display:inline-flex;gap:.4rem;align-items:center}.link:hover{color:var(--ink)}
.section.dark .link{color:var(--mint)}.section.dark .link:hover{color:#fff}
/* Topbar + Nav */
.topbar{background:#0C0B0A;color:var(--on-dark-soft);font-size:.78rem}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 1.4rem}
.topbar a{color:var(--on-dark-soft)}.topbar a:hover{color:var(--mint)}
.topbar .dot{width:7px;height:7px;border-radius:50%;background:#5fd39c;display:inline-block;margin-right:.4rem;box-shadow:0 0 8px rgba(95,211,156,.7)}
.topbar__l,.topbar__r{display:flex;align-items:center;gap:1.2rem}
.nav{position:sticky;top:0;z-index:60;background:rgba(250,251,251,.82);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .25s,box-shadow .25s,background .25s}
.nav.is-scrolled{background:rgba(255,255,255,.94);border-bottom-color:var(--line);box-shadow:0 8px 28px -18px rgba(20,25,23,.45)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.4rem}
.brand{display:flex;align-items:center;gap:.65rem}
.brand__mark{width:40px;height:40px;border-radius:11px;background:var(--mint);color:var(--ink);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:.9rem}
.brand__name{font-family:var(--display);font-weight:800;font-size:1.08rem;color:#fff;line-height:1}
.brand__tag{font-size:.64rem;letter-spacing:.15em;text-transform:uppercase;color:var(--on-dark-mut);font-weight:600;white-space:nowrap}
.menu{display:flex;align-items:center;gap:.15rem;list-style:none}
.menu a{font-family:var(--display);font-weight:600;font-size:.86rem;padding:.5rem .65rem;border-radius:8px;color:var(--on-dark-soft);white-space:nowrap}
.menu a:hover,.menu a.active{color:#fff;background:rgba(255,255,255,.07)}
.nav__cta{display:flex;align-items:center;gap:.55rem}
.nav__toggle{display:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--line-dk);background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.nav__toggle span{width:20px;height:2px;background:#fff;border-radius:2px}
.drawer{position:fixed;inset:0;z-index:80;background:var(--dark);color:#fff;transform:translateX(100%);transition:transform .3s var(--ease);display:flex;flex-direction:column;padding:1.1rem 1.4rem}
.drawer.open{transform:none}
.drawer__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.8rem}
.drawer__close{width:44px;height:44px;border:1px solid var(--line-dk);border-radius:10px;background:transparent;color:#fff;font-size:1.3rem}
.drawer a.dl{font-family:var(--display);font-weight:700;font-size:1.35rem;padding:.65rem 0;border-bottom:1px solid var(--line-dk);color:#fff}
.drawer .btn{margin-top:1.4rem;justify-content:center}
/* Home hero (donker, foto-overlay) */
.hero{position:relative;min-height:64vh;display:flex;align-items:center;color:var(--on-dark);overflow:hidden;background:var(--dark)}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,10,9,.92),rgba(11,10,9,.72) 45%,rgba(11,10,9,.45)),radial-gradient(120% 90% at 80% 20%,rgba(201,241,230,.14),transparent 55%)}
.hero .wrap{position:relative;z-index:1;padding-top:3.5rem;padding-bottom:3.5rem}
.hero__in{max-width:620px}
.hero h1{font-size:clamp(2.3rem,5vw,3.7rem);color:#fff;margin:1.3rem 0 1.1rem;letter-spacing:-.03em}
.hero__sub{font-size:1.12rem;color:var(--on-dark-soft);max-width:40ch;margin-bottom:1.9rem}
.hero__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1.5rem}
.hero__rev{display:flex;align-items:center;gap:.55rem;font-size:.88rem;color:var(--on-dark-soft)}
.hero__rev:hover{color:var(--mint)}
.stars{color:#E8B23A;letter-spacing:1px;font-size:.95rem}
.hero__rev b{color:#fff;font-weight:700}
/* Subpagina-hero (compact) */
.phero{position:relative;background:var(--dark);color:var(--on-dark);overflow:hidden}
.phero__bg{position:absolute;inset:0;z-index:0}
.phero__bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.phero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,10,9,.9),rgba(11,10,9,.66) 55%,rgba(11,10,9,.44)),radial-gradient(110% 80% at 85% 15%,rgba(201,241,230,.12),transparent 55%)}
.phero .wrap{position:relative;z-index:1;padding:3.6rem 1.4rem 3.4rem;max-width:var(--wrap)}
.phero h1{font-size:clamp(2rem,4.4vw,3rem);color:#fff;margin:1rem 0 .9rem}
.phero p{color:var(--on-dark-soft);max-width:50ch;font-size:1.05rem}
.phero__actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
/* USP strip */
.usps__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.usp{display:flex;gap:.85rem;align-items:flex-start}
.usp__ic{width:42px;height:42px;border-radius:11px;background:var(--mint-soft);display:grid;place-items:center;flex-shrink:0}
.usp__ic svg{width:21px;height:21px;stroke:var(--sage-ink);fill:none;stroke-width:1.8}
.usp h3{font-family:var(--display);font-size:.98rem;margin-bottom:.15rem;color:var(--ink)}
.usp p{font-size:.84rem;color:var(--ink-mut);line-height:1.5}
/* Aanbod-kaarten */
.offers{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.offer{position:relative;border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.offer:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.offer__img{aspect-ratio:3/2.4;overflow:hidden}
.offer__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.offer:hover .offer__img img{transform:scale(1.06)}
.offer__b{padding:1.4rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.offer__b h3{font-family:var(--display);font-size:1.12rem;color:var(--ink)}
.offer__b p{font-size:.88rem;color:var(--ink-soft);flex:1;line-height:1.6}
.offer__b .link{margin-top:.2rem}
/* CTA band */
.ctaband{background:var(--dark-2);color:#fff;border-radius:var(--r-lg);padding:2.4rem 2.6rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.ctaband::after{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(201,241,230,.16),transparent 60%)}
.ctaband__t{position:relative;z-index:1}
.ctaband h3{font-family:var(--display);font-size:clamp(1.3rem,2.6vw,1.7rem);color:#fff;margin-bottom:.3rem}
.ctaband p{color:var(--on-dark-soft);font-size:.95rem}
.ctaband .btn{position:relative;z-index:1}
/* Split (PT e.d.) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:3.2rem;align-items:center}
.split--rev .split__media{order:2}
.split__media{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shadow-lg);position:relative}
.split__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.split__media:hover img{transform:scale(1.04)}
.split h2{font-size:clamp(1.8rem,3.2vw,2.4rem);margin:1rem 0 1rem}
.split p{color:var(--ink-soft);margin-bottom:1.2rem;max-width:48ch}
.section.dark .split p{color:var(--on-dark-soft)}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.6rem}
.chips li{font-family:var(--display);font-weight:600;font-size:.82rem;padding:.45rem .9rem;border-radius:100px;background:var(--tint);color:var(--sage-ink)}
.section.dark .chips li{background:rgba(255,255,255,.06);border:1px solid var(--line-dk);color:var(--on-dark)}
/* Review bar */
.revbar .wrap{display:flex;align-items:center;justify-content:center;gap:1.4rem;flex-wrap:wrap;text-align:center}
.revbar .big{font-family:var(--display);font-weight:800;font-size:1.6rem;color:var(--ink)}
.revbar .stars{font-size:1.1rem}
.revbar p{color:var(--ink-soft);font-size:.95rem;max-width:46ch}
/* Instagram */
.ig__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem;margin-top:.5rem}
.ig__tile{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden}
.ig__tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.ig__tile:hover img{transform:scale(1.08)}
/* Footer */
.foot{background:#161410;color:var(--on-dark);padding:4rem 0 1.5rem}
.foot__grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:2.4rem;padding-bottom:2.4rem;border-bottom:1px solid var(--line-dk)}
.foot__brand .brand__name{font-size:1.2rem}
.foot p.tag{color:var(--on-dark-mut);font-size:.9rem;margin:1rem 0 1.3rem;max-width:34ch;line-height:1.7}
.foot__soc{display:flex;gap:.55rem}
.foot__soc a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line-dk);display:grid;place-items:center}
.foot__soc a:hover{background:var(--mint);border-color:var(--mint)}
.foot__soc svg{width:17px;height:17px;fill:#fff}.foot__soc a:hover svg{fill:var(--ink)}
.foot h4{font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);margin-bottom:.95rem;font-weight:700}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.foot ul a,.foot ul li{color:var(--on-dark-soft);font-size:.9rem}.foot ul a:hover{color:#fff}
.foot__bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding-top:1.4rem;font-size:.78rem;color:var(--on-dark-mut)}
.foot__bottom a{color:var(--on-dark-mut)}.foot__bottom a:hover{color:#fff}
/* Mobile CTA + FAB */
.mcta{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(17,16,14,.97);backdrop-filter:blur(10px);border-top:1px solid var(--line-dk);padding:.6rem .8rem;display:none;gap:.6rem}
.mcta .btn{flex:1;justify-content:center;padding:.85rem}
.fab{position:fixed;right:1rem;bottom:5rem;z-index:71;width:52px;height:52px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(37,211,102,.6)}
.fab svg{width:27px;height:27px;fill:#fff}
/* ---- Lidmaatschappen: prijskaarten ---- */
.pricing{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;max-width:880px;margin:0 auto}
.plan{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:2rem;position:relative;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.plan:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.plan--featured{border-color:var(--sage);box-shadow:var(--shadow)}
.plan__flag{position:absolute;top:1.3rem;right:1.3rem;background:var(--mint);color:var(--sage-ink);font-family:var(--display);font-weight:700;font-size:.7rem;letter-spacing:.05em;padding:.35rem .7rem;border-radius:100px}
.plan h3{font-family:var(--display);font-size:1.3rem;margin-bottom:.3rem;color:var(--ink)}
.plan__sub{color:var(--ink-mut);font-size:.9rem;margin-bottom:1.3rem}
.tiers{list-style:none;display:flex;flex-direction:column;gap:.1rem;margin-bottom:1.5rem}
.tier{display:flex;align-items:baseline;justify-content:space-between;padding:.85rem 0;border-bottom:1px solid var(--line)}
.tier:last-child{border-bottom:none}
.tier__label{font-size:.92rem;color:var(--ink-soft)}
.tier__price{font-family:var(--display);font-weight:800;font-size:1.25rem;color:var(--ink)}
.tier__price small{font-weight:600;font-size:.78rem;color:var(--ink-mut)}
.tier--best .tier__price{color:var(--green)}
.plan .btn{width:100%;justify-content:center}
.note-card{background:var(--tint);border-radius:var(--r);padding:1.4rem 1.6rem;max-width:880px;margin:1.4rem auto 0;display:flex;gap:1rem;align-items:flex-start}
.note-card svg{width:22px;height:22px;stroke:var(--sage-ink);fill:none;stroke-width:2;flex-shrink:0;margin-top:.2rem}
.note-card b{font-family:var(--display);color:var(--ink)}
.note-card p{font-size:.92rem;color:var(--ink-soft)}
.incl{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;max-width:860px;margin:2.2rem auto 0}
.incl span{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:600;font-size:.85rem;color:var(--sage-ink);background:var(--surface);border:1px solid var(--line);padding:.55rem 1rem;border-radius:100px}
.incl svg{width:15px;height:15px;stroke:var(--green);fill:none;stroke-width:2.6}
/* ---- Feature blocks (Fitness) ---- */
.features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.feat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.feat:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.feat__img{aspect-ratio:16/10;overflow:hidden}
.feat__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.feat:hover .feat__img img{transform:scale(1.05)}
.feat__b{padding:1.4rem}
.feat__b h3{font-family:var(--display);font-size:1.08rem;margin-bottom:.4rem;color:var(--ink)}
.feat__b p{font-size:.9rem;color:var(--ink-soft);line-height:1.6}
/* ---- Lescards + rooster (Groepslessen) ---- */
.rooster{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
.rooster th,.rooster td{padding:.85rem 1rem;text-align:left;font-size:.88rem;border-bottom:1px solid var(--line)}
.rooster th{font-family:var(--display);background:var(--tint);color:var(--sage-ink);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase}
.rooster td b{font-family:var(--display)}
.rooster tr:last-child td{border-bottom:none}
.classes{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
.class-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.class-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.class-card__top{display:flex;align-items:center;gap:.5rem;margin-bottom:.7rem;flex-wrap:wrap}
.tag-pill{font-family:var(--display);font-weight:700;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;padding:.28rem .6rem;border-radius:100px;background:var(--tint);color:var(--sage-ink)}
.tag-pill.live{background:var(--mint);color:var(--sage-ink)}
.tag-pill.virtual{background:var(--surface-2);color:var(--ink-soft)}
.tag-pill.lesmills{background:#111;color:#fff}
.legal{max-width:760px;margin:0 auto}
.legal h2{font-family:var(--display);font-size:1.25rem;color:var(--ink);margin:2.1rem 0 .6rem}
.legal h2:first-of-type{margin-top:0}
.legal p,.legal li{color:var(--ink-soft);line-height:1.7;font-size:.95rem}
.legal ul{margin:.4rem 0 1.1rem 1.15rem}
.legal li{margin:.3rem 0}
.legal a{color:var(--green);font-weight:600}
.legal .upd{color:var(--ink-mut);font-size:.85rem;margin-bottom:1.6rem}
.class-card h3{font-family:var(--display);font-size:1.1rem;margin-bottom:.35rem;color:var(--ink)}
.class-card .meta{font-size:.8rem;color:var(--ink-mut);margin-bottom:.6rem}
.class-card p{font-size:.88rem;color:var(--ink-soft);margin-bottom:.8rem;line-height:1.6}
/* ---- Stappen (PT-proces) ---- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;counter-reset:s}
.step{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem}
.step__n{font-family:var(--display);font-weight:800;font-size:1.1rem;color:var(--green);margin-bottom:.5rem}
.step h3{font-family:var(--display);font-size:1rem;margin-bottom:.3rem;color:var(--ink)}
.step p{font-size:.84rem;color:var(--ink-mut);line-height:1.55}
.section.dark .step{background:var(--dark-2);border-color:var(--line-dk)}
.section.dark .step h3{color:#fff}.section.dark .step p{color:var(--on-dark-soft)}
.section.dark .step__n{color:var(--mint)}
/* ---- Pakketten (Voeding) ---- */
.packages{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.pack{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.9rem;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.pack:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.pack--featured{border-color:var(--sage);box-shadow:var(--shadow)}
.pack h3{font-family:var(--display);font-size:1.2rem;margin-bottom:.3rem;color:var(--ink)}
.pack__price{font-family:var(--display);font-weight:800;font-size:1.6rem;color:var(--ink);margin:.4rem 0 1.1rem}
.pack ul{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.4rem;flex:1}
.pack li{display:flex;gap:.55rem;font-size:.9rem;color:var(--ink-soft)}
.pack li svg{width:16px;height:16px;stroke:var(--green);fill:none;stroke-width:2.6;flex-shrink:0;margin-top:.25rem}
.pack .btn{width:100%;justify-content:center}
.pro-strip{background:var(--tint);border-radius:var(--r);padding:1.3rem 1.6rem;margin-top:1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.pro-strip b{font-family:var(--display);color:var(--ink)}
.pro-strip p{font-size:.9rem;color:var(--ink-soft)}
/* ---- Contact ---- */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:2.6rem;align-items:start}
.cinfo{display:flex;flex-direction:column;gap:1.3rem}
.cinfo__row{display:flex;gap:.85rem;align-items:flex-start}
.cinfo__ic{width:42px;height:42px;border-radius:11px;background:var(--tint);display:grid;place-items:center;flex-shrink:0}
.cinfo__ic svg{width:20px;height:20px;stroke:var(--sage-ink);fill:none;stroke-width:1.8}
.cinfo__row b{font-family:var(--display);display:block;color:var(--ink);font-size:.95rem}
.cinfo__row span,.cinfo__row a{color:var(--ink-soft);font-size:.92rem}
.cinfo__row a:hover{color:var(--green)}
.form{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.8rem;box-shadow:var(--shadow-sm)}
.field{margin-bottom:1rem}
.field label{display:block;font-family:var(--display);font-weight:600;font-size:.82rem;color:var(--ink);margin-bottom:.4rem}
.field input,.field textarea,.field select{width:100%;padding:.8rem .95rem;border:1.5px solid var(--line-2);border-radius:12px;font-family:var(--body);font-size:.95rem;color:var(--ink);background:var(--paper);transition:border-color .2s}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--green)}
.field textarea{min-height:130px;resize:vertical}
.form .btn{width:100%;justify-content:center;margin-top:.4rem}
.map-embed{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);margin-top:2.5rem}
.map-embed iframe{width:100%;height:340px;border:0;display:block}
/* ---- FAQ ---- */
.faq{max-width:780px;margin:0 auto}
.qa{border-bottom:1px solid var(--line)}
.qa__q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:1.2rem 0;font-family:var(--display);font-weight:700;font-size:1.02rem;color:var(--ink);display:flex;justify-content:space-between;gap:1rem;align-items:center}
.qa__q .pm{flex-shrink:0;transition:transform .25s var(--ease);color:var(--green);font-size:1.3rem}
.qa.open .qa__q .pm{transform:rotate(45deg)}
.qa__a{max-height:0;overflow:hidden;transition:max-height .3s var(--ease)}
.qa__a p{padding:0 0 1.2rem;color:var(--ink-soft);font-size:.94rem}
/* Reveal */
.reveal{opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.reveal.in{opacity:1;transform:none}
/* Responsive */
@media(max-width:980px){
  .menu,.nav__cta .btn{display:none}.nav__toggle{display:flex}
  .usps__grid{grid-template-columns:1fr 1fr;gap:1.5rem 1.2rem}
  .offers{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr;gap:1.8rem}.split--rev .split__media,.split__media{order:-1;max-width:560px}
  .features,.classes,.packages{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(2,1fr)}
  .contact-grid{grid-template-columns:1fr;gap:2rem}
  .foot__grid{grid-template-columns:1fr 1fr}
  .ig__grid{grid-template-columns:repeat(3,1fr)}
  .rooster{display:block;overflow-x:auto;white-space:nowrap}
}
@media(max-width:560px){
  .section{padding:3.6rem 0}
  .topbar__l{display:none}
  .topbar .wrap{padding:.34rem 1.1rem;justify-content:center}
  .topbar__r{gap:.9rem}
  .topbar .topbar__r .tb-item{display:none}
  .topbar .tb-wa{white-space:nowrap;font-size:.78rem}
  .hero{min-height:auto}
  .hero .wrap{padding-top:2.6rem;padding-bottom:2.6rem;min-height:62vh;max-height:70vh;display:flex;flex-direction:column;justify-content:center}
  .hero h1{font-size:clamp(2rem,8.5vw,2.6rem)}
  .hero__actions{flex-direction:column;align-items:stretch}.hero__actions .btn{width:100%;justify-content:center}
  .usps__grid{grid-template-columns:1fr 1fr;gap:1.3rem .9rem}
  .offers,.pricing,.features,.classes,.packages{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .ctaband{flex-direction:column;align-items:flex-start;padding:2rem 1.5rem}
  .pro-strip{flex-direction:column;align-items:flex-start}
  .foot__grid{grid-template-columns:1fr}
  .ig__grid{grid-template-columns:repeat(3,1fr)}
  .mcta{display:flex}.fab{bottom:5.2rem}body{padding-bottom:4rem}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* ===== Verfijning: lichte header, topbar-iconen, partners, strakke chips ===== */
.nav .brand{gap:.8rem}
.nav .brand__mark{width:44px;height:44px}
.nav .brand__name{color:var(--ink)}
.nav .brand__tag{color:var(--ink-mut)}
.nav .menu a{color:var(--ink-soft)}
.nav .menu a:hover,.nav .menu a.active{color:var(--ink);background:var(--surface-2)}
.nav .nav__toggle{border-color:var(--line-2)}
.nav .nav__toggle span{background:var(--ink)}
.nav .btn--ghost-lt{color:var(--ink);border-color:var(--line-2)}
.nav .btn--ghost-lt:hover{border-color:var(--green);color:var(--green)}
/* Topbar-items met iconen + WhatsApp CTA */
.topbar .tb-item{display:inline-flex;align-items:center;gap:.42rem}
.topbar .tb-item svg{width:14px;height:14px;stroke:var(--mint);fill:none;stroke-width:2}
.topbar .tb-wa{display:inline-flex;align-items:center;gap:.45rem;color:#fff;font-weight:600}
.topbar .tb-wa svg{width:15px;height:15px;fill:#25D366}
.topbar .tb-wa:hover{color:var(--mint)}
/* Compacter blok direct onder hero */
.section.compact{padding-top:2.8rem;padding-bottom:3.4rem}
/* Chips strak en compact */
.chips{align-items:center;gap:.5rem}
.chips li{white-space:nowrap;font-size:.78rem;padding:.42rem .85rem}
/* Lokale partners */
.partners__row{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap}
.partner{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:.55rem 1.3rem .55rem .6rem;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.partner:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.partner__logo{width:36px;height:36px;border-radius:9px;background:var(--tint);display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:.78rem;color:var(--sage-ink);flex-shrink:0}
.partner b{font-family:var(--display);font-size:.92rem;color:var(--ink);display:block;line-height:1.15}
.partner span{font-size:.76rem;color:var(--ink-mut)}

/* ===== Verfijning ronde 2: nav-underline, beweging, specs, upsell, lidmaatschapskaarten ===== */
/* Geanimeerde underline in navigatie */
.nav .menu a{position:relative;background:none}
.nav .menu a::after{content:"";position:absolute;left:.65rem;right:.65rem;bottom:.32rem;height:2px;background:var(--green);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease)}
.nav .menu a:hover,.nav .menu a.active{color:var(--ink);background:none}
.nav .menu a:hover::after,.nav .menu a.active::after{transform:scaleX(1)}
/* Zachte beweging in hero/phero-foto's */
@keyframes slowzoom{from{transform:scale(1)}to{transform:scale(1.09)}}
.hero__bg img,.phero__bg img{animation:slowzoom 24s ease-in-out infinite alternate}
/* Fitness: spec-blokken (de ruimte zelf) */
.specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.spec{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;display:flex;gap:.85rem;align-items:flex-start;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.spec:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.spec__ic{width:42px;height:42px;border-radius:11px;background:var(--mint-soft);display:grid;place-items:center;flex-shrink:0}
.spec__ic svg{width:21px;height:21px;stroke:var(--sage-ink);fill:none;stroke-width:1.8}
.spec h3{font-family:var(--display);font-size:.96rem;color:var(--ink);margin-bottom:.2rem}
.spec p{font-size:.82rem;color:var(--ink-mut);line-height:1.5}
.spec--accent{background:var(--mint-soft);border-color:var(--mint)}
/* Upsell / funnel call-out */
.upsell{background:var(--tint);border:1px solid var(--tint-2);border-radius:var(--r);padding:1.3rem 1.6rem;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap}
.upsell__t{display:flex;gap:.85rem;align-items:center}
.upsell__ic{width:40px;height:40px;border-radius:11px;background:var(--surface);display:grid;place-items:center;flex-shrink:0}
.upsell__ic svg{width:20px;height:20px;stroke:var(--green);fill:none;stroke-width:2}
.upsell p{color:var(--sage-ink);font-size:.95rem}
.upsell p b{font-family:var(--display)}
.section.dark .upsell{background:rgba(255,255,255,.05);border-color:var(--line-dk)}
.section.dark .upsell p{color:var(--on-dark-soft)}
.section.dark .upsell__ic{background:rgba(255,255,255,.08)}
/* Lidmaatschapskaarten: subgroep-kop + flag */
.group-head{display:flex;align-items:center;gap:.8rem;margin:0 0 1.2rem}
.group-head h3{font-family:var(--display);font-size:1.15rem;color:var(--ink)}
.group-head .line{flex:1;height:1px;background:var(--line)}
.pack__flag{display:inline-block;align-self:flex-start;background:var(--mint);color:var(--sage-ink);font-family:var(--display);font-weight:700;font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;padding:.3rem .7rem;border-radius:100px;margin-bottom:.7rem}
.pack__term{font-family:var(--display);font-weight:600;font-size:.8rem;color:var(--green);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.2rem}
.pack__unit{font-size:.8rem;color:var(--ink-mut);font-weight:600}
.pack__sub{font-size:.82rem;color:var(--ink-mut);font-weight:600;margin:-.7rem 0 1.1rem}
/* Bedrijfsfitness-partners */
.bf-partners{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.bf-partners span{font-family:var(--display);font-weight:600;font-size:.82rem;color:var(--sage-ink);background:var(--surface);border:1px solid var(--line);border-radius:100px;padding:.5rem 1rem}
/* Lokaal verbonden */
.local{display:grid;grid-template-columns:1.1fr .9fr;gap:2.4rem;align-items:center}
.local__partners{display:flex;flex-direction:column;gap:.8rem}
@media(max-width:980px){.specs{grid-template-columns:1fr 1fr}.local{grid-template-columns:1fr;gap:1.6rem}}
@media(max-width:560px){.specs{grid-template-columns:1fr}.upsell{flex-direction:column;align-items:flex-start}.group-head .line{display:none}}

/* ===== Verfijning ronde 3: echt logo, opvallender featured-kaart, teamfoto ===== */
/* Logo in header / footer / drawer */
.brand__logo{height:40px;width:auto;display:block}
.foot__logo{height:42px;width:auto;display:block;margin-bottom:1.1rem}
.drawer__logo{height:34px;width:auto;display:block}
@media(max-width:560px){.brand__logo{height:34px}}
/* Featured-kaart duidelijker laten opvallen, met kleur */
.pack--featured{border:1.5px solid var(--sage);background:linear-gradient(180deg,var(--mint-soft),var(--surface) 58%);box-shadow:0 34px 90px -44px rgba(20,25,23,.6);position:relative;overflow:hidden}
.pack--featured::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--mint),var(--green))}
.pack--featured .pack__price{color:var(--green)}
.pack__flag{background:var(--green);color:#fff;font-size:.7rem;box-shadow:0 6px 16px -6px rgba(53,107,94,.6)}
@media(min-width:561px){.pack--featured{transform:translateY(-10px)}.pack--featured:hover{transform:translateY(-16px)}}
/* Teamfoto in 'Lokaal verbonden' */
.local__img{width:100%;border-radius:var(--r-lg);object-fit:cover;aspect-ratio:4/5;box-shadow:var(--shadow);display:block}

/* ===== Ronde 4: live rooster, rittenkaart, Instagram-hover ===== */
/* Virtuagym rooster-embed */
.rooster-embed{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.rooster-embed iframe{display:block;width:100%;min-height:840px;border:0;background:var(--surface)}
@media(max-width:640px){.rooster-embed iframe{min-height:900px}}
/* Rittenkaart */
.ritten{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;background:var(--tint);border:1px solid var(--sage);border-radius:var(--r-lg);padding:2rem 2.2rem;margin-top:2.4rem}
.ritten h3{font-family:'Montserrat',sans-serif;font-size:clamp(1.4rem,2.6vw,1.9rem);margin:.5rem 0 .55rem}
.ritten p{color:var(--ink-soft);max-width:48ch}
.ritten__prices{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.2rem}
.ritten__price{background:var(--surface);border-radius:14px;padding:.85rem 1.1rem;box-shadow:var(--shadow-sm,0 8px 24px -18px rgba(20,25,23,.5))}
.ritten__price b{display:block;font-family:'Montserrat',sans-serif;font-weight:800;font-size:1.45rem;color:var(--green);line-height:1.1}
.ritten__price span{display:block;font-size:.8rem;color:var(--ink-mut);margin-top:.15rem;max-width:24ch}
@media(max-width:640px){.ritten{padding:1.5rem}.ritten .btn{width:100%;justify-content:center}}
/* Instagram-tegel hover-overlay (signaleert: klikbaar naar Instagram) */
.ig__tile::after{content:"";position:absolute;inset:0;background:rgba(17,16,14,0);transition:background .35s var(--ease);pointer-events:none}
.ig__tile:hover::after{background:rgba(17,16,14,.30)}

/* ===== Sfeergalerij (fitness) - masonry, volledige foto's ===== */
.gallery{column-count:3;column-gap:1rem}
.gallery__item{break-inside:avoid;margin:0 0 1rem;overflow:hidden;border-radius:var(--r-lg);box-shadow:var(--shadow);display:block;position:relative;background:var(--dark)}
.gallery__item img{width:100%;height:auto;display:block;transition:transform .7s var(--ease)}
.gallery__item::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(11,10,9,.20));opacity:0;transition:opacity .4s var(--ease)}
.gallery__item:hover img{transform:scale(1.05)}
.gallery__item:hover::after{opacity:1}
@media(max-width:980px){.gallery{column-count:2}}
@media(max-width:560px){
  .gallery{column-count:1;column-gap:0}
  .gallery__item{margin-bottom:.85rem}
  .head{margin-bottom:1.6rem}
  .hero__sub{font-size:1.02rem;margin-bottom:1.6rem}
  .btn--lg{padding:1.02rem 1.5rem;font-size:.98rem}
  .local__img{aspect-ratio:4/5;max-height:72vh}
}

/* Groepslessen sfeer + mobiele hero-leesbaarheid */
.les-sfeer{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.les-sfeer figure{margin:0;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:3/2}
.les-sfeer img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease)}
.les-sfeer figure:hover img{transform:scale(1.05)}
@media(max-width:780px){.les-sfeer{grid-template-columns:1fr}}

/* Samenwerking mini-foto's */
.samen-thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:.55rem;margin-top:.8rem}
.samen-thumbs figure{margin:0;aspect-ratio:1;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.samen-thumbs img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease)}
.samen-thumbs figure:hover img{transform:scale(1.08)}
@media(max-width:560px){.samen-thumbs{grid-template-columns:repeat(3,1fr)}}
