:root{--yellow:#FFD100;--black:#111;--off:#f5f1e7;--white:#fff;--muted:#6f6c65;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--off);color:var(--black);line-height:1.5}a{color:inherit}img,video{max-width:100%}
.site-header{position:sticky;top:0;z-index:50;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 max(20px,calc((100% - var(--max))/2));background:rgba(17,17,17,.96);border-bottom:4px solid var(--yellow);backdrop-filter:blur(10px)}
.brand img{width:205px;height:auto;display:block}.nav{display:flex;align-items:center;gap:25px;color:#fff;font-size:.9rem;font-weight:850}.nav a{text-decoration:none}.nav-cta{background:var(--yellow);color:#111;padding:11px 15px;border-radius:7px}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.5rem}
.hero{min-height:790px;position:relative;overflow:hidden;display:flex;align-items:center;color:#fff;background:#111}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(1.08) contrast(1.04)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.94) 0%,rgba(0,0,0,.78) 45%,rgba(0,0,0,.26) 74%,rgba(0,0,0,.45) 100%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%)}
.checker-band{position:absolute;left:0;right:0;height:24px;z-index:4;background:repeating-conic-gradient(#111 0 25%,var(--yellow) 0 50%) 0/24px 24px}.checker-band.top{top:0}.checker-band.bottom{bottom:0}.hero-content{width:min(var(--max),calc(100% - 40px));margin:auto;position:relative;z-index:5;padding:115px 0 135px}.eyebrow,.kicker{margin:0 0 10px;font-weight:950;font-size:.78rem;letter-spacing:.18em}.hero h1{font-size:clamp(4rem,9vw,8.8rem);line-height:.82;letter-spacing:-.065em;margin:10px 0 20px;max-width:800px}.hero-punch{display:inline-block;background:var(--yellow);color:#111;font-size:clamp(1rem,2vw,1.45rem);font-weight:1000;padding:8px 13px;transform:rotate(-1deg);margin:0 0 17px}.hero-copy{max-width:590px;font-size:1.1rem;color:#eee}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:2px solid transparent;border-radius:8px;font-weight:950;text-decoration:none;cursor:pointer;font:inherit;transition:.2s ease}.btn:hover{transform:translateY(-2px)}.btn-yellow{background:var(--yellow);color:#111}.btn-outline{border-color:#fff;color:#fff;background:rgba(0,0,0,.15)}.btn-black{background:#111;color:#fff}.signature{margin-top:25px;font-weight:900;letter-spacing:.09em;font-size:.78rem;color:#ddd}.hero-logo-panel{position:absolute;z-index:5;right:7%;bottom:85px;width:300px;padding:11px 15px;background:rgba(255,209,0,.95);border:4px solid #111;transform:rotate(3deg);box-shadow:9px 9px 0 rgba(0,0,0,.7)}
.ticker{overflow:hidden;background:var(--yellow);border-bottom:4px solid #111}.ticker-track{display:flex;gap:18px;width:max-content;padding:14px 0;font-weight:1000;letter-spacing:.08em;animation:ticker 23s linear infinite}.ticker-track b{font-weight:900}@keyframes ticker{to{transform:translateX(-36%)}}
.section{max-width:var(--max);margin:auto;padding:110px 20px}.section-heading{max-width:820px;margin-bottom:48px}.kicker{color:#786400}.kicker.dark{color:#111}.section h2,.brand-story h2,.gift h2,.final-cta h2{margin:0;font-size:clamp(2.3rem,5vw,4.9rem);line-height:.96;letter-spacing:-.05em}.section-heading>p:last-child{font-size:1.06rem;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fff;border:3px solid #111;border-radius:14px;padding:26px;min-height:275px;box-shadow:8px 8px 0 var(--yellow)}.card span{background:#111;color:#fff;font-weight:950;border-radius:99px;padding:6px 9px;font-size:.77rem}.card h3{font-size:1.4rem;margin:48px 0 9px}.card p{color:#595959}
.brand-story{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center;padding:95px max(20px,calc((100% - var(--max))/2));background:#171717;color:#fff}.brand-copy>p:not(.kicker):not(.last-word){max-width:600px;font-size:1.08rem;color:#ddd}.quote-stack{display:grid;gap:10px;margin:27px 0}.quote-stack blockquote{margin:0;padding:12px 15px;border-left:5px solid var(--yellow);background:#222;font-weight:800}.last-word{font-size:1.35rem;font-weight:1000}.car-card{min-height:470px;background:var(--yellow);border:4px solid #fff;border-radius:22px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#111}.car-card>p{position:absolute;bottom:20px;margin:0;font-weight:1000;letter-spacing:.08em;font-size:.76rem}.road-lines{position:absolute;inset:0;background:linear-gradient(165deg,transparent 0 43%,rgba(255,255,255,.55) 43% 45%,transparent 45% 55%,rgba(255,255,255,.55) 55% 57%,transparent 57%)}.car-shape{width:85%;position:relative;z-index:2;transform:rotate(-3deg)}.roof-sign{width:130px;margin:auto;background:#111;color:var(--yellow);text-align:center;padding:7px;font-weight:1000;border-radius:9px 9px 0 0}.car-body{height:170px;background:#f0c500;border:6px solid #111;border-radius:74px 90px 24px 24px;position:relative}.glass{position:absolute;top:23px;height:58px;background:#1c1c1c;border:4px solid #111}.g1{left:17%;width:30%;border-radius:31px 8px 8px 8px}.g2{right:17%;width:30%;border-radius:8px 31px 8px 8px}.side-logo{position:absolute;left:31%;bottom:26px;font-weight:1000;font-size:1.25rem;font-style:italic}.side-logo em{font-style:italic;color:var(--yellow);-webkit-text-stroke:2px #111}.side-logo strong{background:#111;color:var(--yellow);padding:4px 7px;margin-left:4px}.mini-checkers{position:absolute;left:26%;right:26%;top:93px;height:14px;background:repeating-linear-gradient(90deg,#111 0 14px,var(--yellow) 14px 28px)}.wheel{position:absolute;bottom:-35px;width:73px;height:73px;border-radius:50%;background:#111;border:12px solid #373737}.w1{left:15%}.w2{right:15%}
.gift{display:grid;grid-template-columns:1fr 330px;gap:70px;align-items:center;background:var(--yellow);padding:90px max(20px,calc((100% - var(--max))/2));border-top:4px solid #111;border-bottom:4px solid #111}.gift>div:first-child{max-width:760px}.gift p:not(.kicker){font-size:1.08rem;max-width:660px}.gift .btn{margin-top:15px}.stamp{aspect-ratio:1;border:12px solid #111;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-9deg)}.stamp small{font-weight:1000;letter-spacing:.18em}.stamp strong{font-size:3.1rem;line-height:1}.stamp span{font-size:2rem;margin-top:8px}
.booking-form{background:#111;color:#fff;padding:34px;border-radius:22px;box-shadow:14px 14px 0 var(--yellow)}.mode-switch{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.mode-switch label{cursor:pointer}.mode-switch input{position:absolute;opacity:0}.mode-switch span{display:block;padding:10px 15px;border:2px solid #555;border-radius:99px;font-weight:850}.mode-switch input:checked+span{background:var(--yellow);border-color:var(--yellow);color:#111}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{display:grid;gap:7px;font-size:.85rem;font-weight:800}.form-grid .full{grid-column:1/-1}input,textarea{width:100%;padding:14px;background:#191919;color:#fff;border:2px solid #454545;border-radius:8px;font:inherit;outline:none}input:focus,textarea:focus{border-color:var(--yellow)}.consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0;font-size:.8rem;color:#ddd}.consent input{width:auto;margin-top:4px}.form-note{font-size:.76rem;color:#aaa}.hidden{display:none!important}.honeypot{
  position:fixed!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}
.faq-list{display:grid;gap:12px}details{background:#fff;border:3px solid #111;border-radius:12px;padding:18px 20px}summary{cursor:pointer;font-weight:950;font-size:1.05rem}details p{color:#595959;margin-bottom:0}.final-cta{text-align:center;background:var(--yellow);padding:90px 20px;border-top:4px solid #111}.final-cta img{width:min(370px,80%);margin-bottom:23px}.final-cta>p{font-weight:950;letter-spacing:.16em}.final-cta .btn{margin-top:28px}footer{background:#111;color:#fff;padding:32px max(20px,calc((100% - var(--max))/2));display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}footer>img{width:180px}.footer-links{display:flex;gap:18px;font-size:.85rem}.footer-links a{text-decoration:none}footer>p{grid-column:1/-1;color:#888;font-size:.76rem;margin:0}
@media(max-width:930px){.nav{display:none;position:absolute;top:76px;left:0;right:0;background:#111;padding:20px;flex-direction:column;align-items:stretch}.nav.open{display:flex}.menu-btn{display:block}.hero-logo-panel{width:230px;right:5%}.steps{grid-template-columns:1fr 1fr}.brand-story,.gift{grid-template-columns:1fr}.stamp{width:240px;margin:auto}}
@media(max-width:620px){.site-header{height:66px}.brand img{width:170px}.nav{top:66px}.hero{min-height:730px}.hero-video{object-position:55% center}.hero-content{padding:95px 0 125px}.hero h1{font-size:clamp(3.8rem,18vw,5.8rem)}.hero-logo-panel{display:none}.hero-actions .btn{width:100%}.steps{grid-template-columns:1fr}.section{padding:80px 17px}.brand-story,.gift{padding:75px 17px}.car-card{min-height:390px}.car-body{height:135px}.wheel{width:58px;height:58px;bottom:-30px}.side-logo{font-size:1rem}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.booking-form{padding:22px;box-shadow:8px 8px 0 var(--yellow)}footer{grid-template-columns:1fr}.footer-links{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.hero-video{display:none}.hero{background:url('assets/gymtaxi-poster.jpg') center/cover no-repeat}}


.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:60;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#111;
  color:#fff;
  border:3px solid var(--yellow);
  border-radius:999px;
  padding:13px 16px;
  font-weight:950;
  text-decoration:none;
  box-shadow:0 10px 28px rgba(0,0,0,.24);
}
.whatsapp-float:hover{transform:translateY(-2px)}
@media (max-width:620px){
  .whatsapp-float span{display:none}
  .whatsapp-float{
    width:54px;
    height:54px;
    justify-content:center;
    padding:0;
    font-size:1.25rem;
  }
}




.hero-play-fallback{
  display:none;
  position:absolute;
  z-index:20;
  left:50%;
  bottom:74px;
  transform:translateX(-50%);
  border:2px solid #111;
  background:#FFD100;
  color:#111;
  padding:13px 18px;
  border-radius:999px;
  font-weight:950;
  font-size:.95rem;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  cursor:pointer;
  white-space:nowrap;
}
.hero-play-fallback.show{display:block}

@media (min-width:901px){
  .hero-play-fallback.show{display:none}
}


.pricing-section{
  background:#111;
  color:#fff;
  padding:110px 22px;
  border-top:4px solid var(--yellow);
  border-bottom:4px solid var(--yellow);
}
.pricing-inner{max-width:var(--max);margin:0 auto}
.pricing-head .kicker{color:var(--yellow)}
.pricing-head .section-sub{color:#cfcfcf}
.pricing-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:42px;
}
.price-card{
  position:relative;
  background:#1b1b1b;
  border:2px solid #3a3a3a;
  border-radius:18px;
  padding:30px;
  display:flex;
  flex-direction:column;
  min-height:500px;
}
.price-card.featured{
  border-color:var(--yellow);
  box-shadow:10px 10px 0 var(--yellow);
}
.price-label{
  position:absolute;
  top:-15px;
  left:20px;
  background:var(--yellow);
  color:#111;
  padding:7px 10px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:1000;
  letter-spacing:.08em;
}
.price-kicker{
  margin:12px 0 0;
  font-size:.8rem;
  font-weight:950;
  letter-spacing:.15em;
  color:var(--yellow);
}
.price-card h3{
  font-size:4.6rem;
  line-height:1;
  letter-spacing:-.06em;
  margin:18px 0 0;
}
.price-sub{color:#bdbdbd;font-weight:800}
.price-card ul{
  list-style:none;
  padding:0;
  margin:24px 0 28px;
  display:grid;
  gap:11px;
  flex:1;
}
.price-card li:before{
  content:"✓ ";
  color:var(--yellow);
  font-weight:1000;
}
.btn-outline{
  background:transparent;
  color:#fff;
  border-color:var(--yellow);
}
.price-summary{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:35px;
  color:#d5d5d5;
}
.price-summary strong{color:var(--yellow)}
.booking-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin:0 0 26px;
}
.booking-option-title{
  display:block;
  font-size:.88rem;
  font-weight:900;
  margin-bottom:9px;
}
.package-switch{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.package-switch label{cursor:pointer}
.package-switch input{position:absolute;opacity:0}
.package-switch span{
  display:block;
  border:2px solid #555;
  padding:11px 16px;
  border-radius:999px;
  font-weight:850;
}
.package-switch input:checked+span{
  background:var(--yellow);
  border-color:var(--yellow);
  color:#111;
}
.vlog-toggle{
  display:flex;
  align-items:flex-start;
  gap:11px;
  background:#1b1b1b;
  border:2px solid #444;
  border-radius:12px;
  padding:15px;
  cursor:pointer;
}
.vlog-toggle input{
  width:auto;
  margin-top:4px;
  accent-color:var(--yellow);
}
.vlog-toggle span{display:grid;gap:3px}
.vlog-toggle small{color:#bdbdbd;font-weight:500;line-height:1.35}
@media (max-width:900px){
  .pricing-grid{grid-template-columns:1fr}
  .price-card{min-height:auto}
  .booking-options{grid-template-columns:1fr}
}


/* V7: mobiele hero exact binnen beeld houden */
#prijzen, #boek, #faq, #hoe, #voor-wie, #verras{
  scroll-margin-top:90px;
}

@media(max-width:620px){
  .hero{
    display:flex;
    align-items:center;
    overflow:hidden;
  }

  .hero-content{
    width:100%;
    max-width:none;
    margin:0;
    padding:95px 18px 125px;
  }

  .hero h1{
    width:100%;
    max-width:100%;
    font-size:clamp(3.15rem,15vw,4.65rem);
    line-height:.86;
    letter-spacing:-.055em;
    overflow-wrap:normal;
  }

  .hero-punch{
    max-width:100%;
    font-size:1rem;
  }

  .hero-copy{
    max-width:100%;
    font-size:1.02rem;
  }

  .hero-actions{
    width:100%;
  }

  .hero-actions .btn{
    width:100%;
    padding-left:14px;
    padding-right:14px;
    text-align:center;
  }

  .pricing-section{
    padding:80px 17px;
  }

  .price-card{
    padding:25px 22px;
  }

  .price-card h3{
    font-size:4rem;
  }

  .price-summary{
    align-items:center;
    flex-direction:column;
    gap:5px;
    text-align:center;
  }

  .price-summary > span:nth-of-type(1),
  .price-summary > span:nth-of-type(2){
    display:none;
  }
}


/* V8 pricing spacing */
.pricing-section{
  padding-left:40px;
  padding-right:40px;
}
.pricing-inner{
  width:100%;
  max-width:1180px;
  margin:0 auto;
}
.pricing-head{
  max-width:780px;
  margin-bottom:10px;
}
.pricing-grid{
  margin-top:52px;
}
@media (max-width:900px){
  .pricing-section{
    padding-left:22px;
    padding-right:22px;
  }
}
@media (max-width:620px){
  .pricing-section{
    padding-left:18px;
    padding-right:18px;
  }
}


/* V9 language switch */
.header-tools{
  display:flex;
  align-items:center;
  gap:12px;
}
.lang-switch{
  display:flex;
  align-items:center;
  gap:7px;
  color:#fff;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.08em;
  white-space:nowrap;
}
.lang-switch a{
  color:#fff;
  text-decoration:none;
  opacity:.58;
}
.lang-switch a.active{
  color:var(--yellow);
  opacity:1;
}
.lang-switch span{opacity:.35}

@media(max-width:930px){
  .header-tools{margin-left:auto}
}
@media(max-width:620px){
  .lang-switch{font-size:.72rem;gap:5px}
  .header-tools{gap:7px}
  .menu-btn{padding:4px 6px}
}

/* Simple legal pages */
.legal-page{
  max-width:900px;
  margin:0 auto;
  padding:90px 20px 110px;
}
.legal-page h1{
  font-size:clamp(2.7rem,6vw,5rem);
  line-height:.95;
  margin:0 0 30px;
  letter-spacing:-.05em;
}
.legal-page h2{margin-top:36px}
.legal-page p,.legal-page li{color:#4f4c46}


/* V11 — prevent horizontal page drift on desktop and mobile */
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overflow-x:clip;
}
body{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
  overflow-x:clip;
  position:relative;
}
main,
.site-header,
.hero,
.ticker,
.section,
.brand-story,
.pricing-section,
.gift,
.final-cta,
footer{
  width:100%;
  max-width:100%;
  min-width:0;
}
.site-header,
.brand-story,
.gift,
footer{
  padding-left:max(20px,calc((100% - var(--max))/2));
  padding-right:max(20px,calc((100% - var(--max))/2));
}
.hero-content,
.pricing-inner,
.booking-form,
.form-grid,
.booking-options,
.pricing-grid{
  min-width:0;
}
.hero-punch,
.hero-copy,
.card,
.price-card,
.vlog-toggle,
details{
  max-width:100%;
}
img,video,svg{
  max-width:100%;
}
@media(max-width:620px){
  .site-header,
  .brand-story,
  .gift,
  footer{
    padding-left:17px;
    padding-right:17px;
  }
}
