/* ==========================================================================
   TipiThuis — huisstijl v2 (rustig, licht, zonder beweging)
   Kleuren: crème, zand, blush, roos (logo), bes (actie), inkt, nacht (footer)
   Fonts:   Newsreader (koppen) · Outfit (tekst) · Nothing You Could Do (handtekening)
   Iconen:  Google Material Symbols Rounded (300) · merkiconen van de socials zelf
   ========================================================================== */

@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-var.woff2) format("woff2");font-weight:380 480;font-style:normal;font-display:swap}
@font-face{font-family:"Newsreader";src:url(/assets/fonts/newsreader-italic-var.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Outfit";src:url(/assets/fonts/outfit-var.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"National Park";src:url(/assets/fonts/nationalpark-bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Big Shoulders";src:url(/assets/fonts/bigshoulders-bold.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Erica One";src:url(/assets/fonts/ericaone-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Boldonse";src:url(/assets/fonts/boldonse-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Italiana";src:url(/assets/fonts/italiana-regular.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Hand";src:url(/assets/fonts/hand-nothingyoucoulddo.woff2) format("woff2");font-weight:400;font-display:swap}

:root{
  --cream:#FFF9F4; --paper:#FFFFFF; --sand:#F7EFE8; --blush:#F9E7E2; --blush-2:#F2D5CF;
  --rose:#E3878C; --berry:#B8365F; --berry-2:#9C2B50;
  --ink:#2B2140; --ink-soft:#615872; --ink-mute:#8A8295; --line:#ECE0D8; --line-2:#E2D3C9;
  --gold:#A87A2C; --gold-soft:#E4C27A;
  --night:#241C3D;
  --f-display:"Newsreader",Georgia,"Times New Roman",serif;
  --f-body:"Outfit",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-hand:"Hand","Segoe Script",cursive;
  --r-sm:12px; --r:20px; --r-lg:28px;
  --wrap:1200px; --gutter:clamp(1.25rem,4vw,2.5rem);
  --sec:clamp(4.5rem,8vw,7rem);
  --header-h:88px;
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{margin:0;background:var(--cream);color:var(--ink);font:400 1.0625rem/1.7 var(--f-body);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,h4{margin:0;font-weight:400;text-wrap:balance}
p{margin:0 0 1em;text-wrap:pretty}
p:last-child{margin-bottom:0}
ul,ol{padding-left:1.15em}
:focus-visible{outline:2px solid var(--berry);outline-offset:3px;border-radius:6px}
.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:1rem;top:-80px;z-index:200;background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:10px;text-decoration:none}
.skip:focus{top:1rem}

/* ---------- layout ---------- */
.wrap{width:100%;max-width:calc(var(--wrap) + 2 * var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.wrap--text{max-width:calc(760px + 2 * var(--gutter))}
.sec{padding-block:var(--sec)}
.sec--sm{padding-block:clamp(3rem,6vw,4.5rem)}
.sec--sand{background:var(--sand)}
.sec--blush{background:var(--blush)}
.sec--paper{background:var(--paper)}
.sec:not([class*="sec--"]):not([class*="th-s"]) + .sec:not([class*="sec--"]):not([class*="th-s"]){padding-top:0}
.grid-2{display:grid;gap:clamp(2rem,5vw,5rem);align-items:center}
@media (min-width:900px){.grid-2{grid-template-columns:1fr 1fr}.grid-2--rev>:first-child{order:2}.grid-2--top{align-items:start}}
.stack>*+*{margin-top:1rem}

/* ---------- typografie ---------- */
.eyebrow{display:block;font:600 .78rem/1.2 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.h1{font:400 clamp(2.6rem,5.2vw,4.25rem)/1.04 var(--f-display);letter-spacing:-.015em;color:var(--ink)}
.h2{font:400 clamp(2rem,3.6vw,3rem)/1.08 var(--f-display);letter-spacing:-.01em;color:var(--ink)}
.h3{font:400 clamp(1.4rem,2vw,1.65rem)/1.2 var(--f-display);color:var(--ink)}
.h4{font:600 1.05rem/1.35 var(--f-body)}
.h1 em,.h2 em{font-style:italic;color:var(--berry)}
.lead{font-size:clamp(1.1rem,1.4vw,1.22rem);line-height:1.65;color:var(--ink-soft);max-width:58ch}
.muted{color:var(--ink-soft)}
.small{font-size:.92rem}
.head{display:grid;gap:1rem 3rem;margin-bottom:clamp(2.25rem,4vw,3.5rem)}
.head .h2{max-width:20ch}
@media (min-width:900px){.head--split{grid-template-columns:1.1fr .9fr;align-items:end}.head--split .lead{justify-self:end}}
.head--center{text-align:center;justify-items:center}
.head--center .h2{max-width:22ch}
.prose{max-width:68ch}
.prose h2{font:400 clamp(1.6rem,2.6vw,2.1rem)/1.15 var(--f-display);margin:2.4em 0 .6em}
.prose h2:first-child{margin-top:0}
.prose h3{font:600 1.1rem/1.35 var(--f-body);margin:1.8em 0 .5em}
.prose a{color:var(--berry);text-underline-offset:3px}
.prose li{margin:.35em 0}
.signature{display:block;font:400 1.75rem/1 var(--f-hand);color:var(--berry);margin-top:1.4rem}

/* ---------- iconen ---------- */
.ic{width:1.35em;height:1.35em;flex:none;fill:currentColor}
.ic--lg{width:28px;height:28px}

/* ---------- knoppen & links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;height:52px;padding:0 1.6em;border-radius:999px;border:1.5px solid var(--berry);background:var(--berry);color:#fff;font:500 1rem/1 var(--f-body);text-decoration:none;cursor:pointer;white-space:nowrap;transition:background-color .2s,border-color .2s,color .2s}
.btn:hover{background:var(--berry-2);border-color:var(--berry-2)}
.btn .ic,.btn svg{width:1.25em;height:1.25em;fill:currentColor;flex:none}
.btn--line{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn--line:hover{background:var(--paper);border-color:var(--ink);color:var(--ink)}
.btn--light{background:#fff;color:var(--ink);border-color:#fff}
.btn--light:hover{background:var(--cream);border-color:var(--cream)}
.btn--sm{height:44px;padding:0 1.25em;font-size:.95rem}
.btns{display:flex;flex-wrap:wrap;gap:.75rem}
.link{display:inline-flex;align-items:center;gap:.35em;font-weight:500;color:var(--berry);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.link:hover{border-color:currentColor}
.link .ic{width:1.15em;height:1.15em}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:var(--cream);border-bottom:1px solid var(--line)}
.site-header__in{display:flex;align-items:center;gap:2rem;height:var(--header-h)}
.brand{display:flex;align-items:center;flex:none;text-decoration:none}
.brand img{height:58px;width:auto}
.nav{margin-left:auto}
.nav__list{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0}
.nav__list a{display:block;padding:.4rem 0;text-decoration:none;font:500 1rem/1.2 var(--f-body);color:var(--ink);border-bottom:1.5px solid transparent;transition:color .2s,border-color .2s}
.nav__list a:hover{color:var(--berry)}
.nav__list a[aria-current="page"]{color:var(--berry);border-color:var(--berry)}
.header-cta{flex:none}
.nav-toggle{display:none;flex:none;width:44px;height:44px;border:1px solid var(--line-2);border-radius:12px;background:transparent;cursor:pointer;align-items:center;justify-content:center;color:var(--ink)}
.nav-toggle .ic{width:26px;height:26px}
.nav-toggle .ic-close{display:none}
.nav-open .nav-toggle .ic-menu{display:none}
.nav-open .nav-toggle .ic-close{display:block}
.nav__extra{display:none}
@media (max-width:1080px){
  :root{--header-h:72px}
  .site-header__in{gap:.75rem}
  .brand img{height:46px}
  .nav-toggle{display:inline-flex}
  .header-cta{margin-left:auto;height:42px;padding:0 1.1em;font-size:.92rem}
  .nav{position:fixed;inset:var(--header-h) 0 0 0;margin:0;background:var(--cream);padding:1.5rem var(--gutter) 3rem;overflow:auto;display:none}
  .nav-open .nav{display:block}
  .nav-open{overflow:hidden}
  .nav__list{flex-direction:column;align-items:stretch;gap:0}
  .nav__list a{font:400 1.75rem/1.2 var(--f-display);padding:1rem 0;border-bottom:1px solid var(--line)}
  .nav__list a[aria-current="page"]{border-color:var(--line)}
  .nav__extra{display:grid;gap:.75rem;margin-top:2rem}
  .nav__extra .btn{width:100%}
  .nav__extra p{margin:0;color:var(--ink-soft)}
  .nav__extra a.tel{color:var(--berry);font-weight:500;text-decoration:none}
}
@media (max-width:420px){.header-cta{display:none}}

/* ---------- hero (home) ---------- */
.hero{padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(4rem,7vw,6rem)}
.hero__grid{display:grid;gap:clamp(2.5rem,5vw,4.5rem);align-items:center}
@media (min-width:960px){.hero__grid{grid-template-columns:1fr 1fr}}
.hero .h1{margin-bottom:1.25rem}
.hero .lead{margin-bottom:2rem}
.hero__photo{position:relative}
.hero__photo img{width:100%;aspect-ratio:4/4.4;object-fit:cover;border-radius:999px 999px var(--r-lg) var(--r-lg)}
.facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:0;margin:2.5rem 0 0;padding:1.5rem 0 0;border-top:1px solid var(--line);list-style:none}
.facts li{display:flex;align-items:center;gap:.6rem;padding-right:1.5rem;margin-right:1.5rem;border-right:1px solid var(--line);font-size:.97rem;color:var(--ink-soft);line-height:1.3}
.facts li:last-child{border:0;margin:0;padding:0}
.facts .ic{color:var(--rose);width:24px;height:24px}
.facts strong{display:block;color:var(--ink);font-weight:500}
@media (max-width:600px){.facts{grid-template-columns:1fr;gap:.9rem}.facts li{border:0;margin:0;padding:0}}

/* ---------- page hero varianten ---------- */
.ph{padding:clamp(2.5rem,5vw,4.5rem) 0 clamp(3.5rem,6vw,5rem)}
.ph .h1{margin-bottom:1.1rem}
.ph .lead{margin-bottom:1.75rem}
.ph--center{text-align:center}
.ph--center .lead{margin-inline:auto}
.ph--center .btns{justify-content:center}
.ph--sand{background:var(--sand)}
.ph--blush{background:var(--blush)}
.crumbs{font-size:.88rem;color:var(--ink-mute);margin-bottom:1.5rem}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0}
.ph--center .crumbs ol{justify-content:center}
.crumbs li+li::before{content:"/";margin-right:.4rem;opacity:.6}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--berry)}
.ph-photo img{width:100%;border-radius:var(--r-lg);object-fit:cover;aspect-ratio:5/4}
.ph-photo--tall img{aspect-ratio:4/5}

/* banner-hero (plaatsen) */
.banner{position:relative;padding-top:clamp(1.5rem,3vw,2.5rem)}
.banner__img img{width:100%;height:clamp(260px,38vw,460px);object-fit:cover;border-radius:var(--r-lg)}
.banner__card{position:relative;margin:-5.5rem clamp(1rem,4vw,3rem) 0;padding:clamp(1.75rem,3.5vw,2.75rem);background:var(--paper);border-radius:var(--r-lg);border:1px solid var(--line);max-width:760px}
.banner__card .h1{font-size:clamp(2.3rem,4.4vw,3.5rem);margin-bottom:1rem}
.inline-facts{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin:1.5rem 0 0;padding:0;list-style:none;font-size:.95rem;color:var(--ink-soft)}
.inline-facts li{display:flex;align-items:center;gap:.45rem}
.inline-facts .ic{color:var(--rose);width:22px;height:22px}
.banner__card{margin-inline:auto;text-align:center;max-width:820px}
.banner__card .crumbs ol,.banner__card .btns,.banner__card .inline-facts{justify-content:center}
.banner__card .lead{margin-inline:auto}
@media (max-width:640px){.banner__card{margin:-3rem 0 0;text-align:left}.banner__card .crumbs ol,.banner__card .btns,.banner__card .inline-facts{justify-content:flex-start}}
.tmini{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.tmini li{flex:0 0 calc((100% - 1rem) / 2)}
@media (min-width:640px){.tmini li{flex-basis:calc((100% - 2rem) / 3)}}
@media (min-width:1000px){.tmini li{flex-basis:calc((100% - 4rem) / 5)}}
.tmini a{display:flex;flex-direction:column;align-items:center;gap:.9rem;height:100%;padding:1.6rem 1rem 1.4rem;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line-2);text-decoration:none;text-align:center;transition:border-color .2s}
.tmini a:hover{border-color:var(--berry)}
.tmini__img{width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--sand)}
.tmini__img img{width:100%;height:100%;object-fit:cover}
.tmini__name{display:flex;align-items:center;justify-content:center;min-height:2.4rem;line-height:1.05}
.tmini__go{display:inline-flex;align-items:center;gap:.3rem;margin-top:auto;font-size:.9rem;font-weight:500;color:var(--berry)}
.tmini__go .ic{width:1.1em;height:1.1em}

/* ---------- foto's ---------- */
.img{border-radius:var(--r);overflow:hidden;background:var(--sand)}
.img img{width:100%;height:100%;object-fit:cover}
.r-4-5 img{aspect-ratio:4/5}.r-1 img{aspect-ratio:1}.r-4-3 img{aspect-ratio:4/3}.r-3-2 img{aspect-ratio:3/2}
.img img.pos-face{object-position:50% 24%}
img.pos-top{object-position:50% 10%}

/* ---------- stappen (tijdlijn) ---------- */
.timeline{display:grid;gap:2rem;list-style:none;margin:0;padding:0;counter-reset:t}
@media (min-width:860px){.timeline{grid-template-columns:repeat(4,1fr);gap:2.5rem}}
.timeline li{counter-increment:t;position:relative}
.timeline__n{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}
.timeline__n::before{content:counter(t);flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--rose);color:var(--berry);font:400 1.25rem/1 var(--f-display)}
.timeline__n::after{content:"";flex:1;height:1px;background:var(--line-2)}
.timeline li:last-child .timeline__n::after{background:transparent}
.timeline h3{font:400 1.4rem/1.2 var(--f-display);margin-bottom:.5rem}
.timeline p{color:var(--ink-soft);font-size:.98rem;margin:0}

/* ---------- thema-rij (home) ---------- */
.trow{display:grid;grid-template-columns:repeat(5,1fr);gap:1.25rem}
.tpick{display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.tpick .img img{aspect-ratio:3/4}
.tpick__name{display:flex;align-items:center;height:2.6rem;margin-top:.9rem;font-size:1.55rem;line-height:1}
.tpick p{margin:.4rem 0 .6rem;font-size:.94rem;line-height:1.5;color:var(--ink-soft)}
.tpick .link{margin-top:auto}
.tpick:hover .link{border-color:currentColor}
@media (max-width:1000px){.trow{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem 1.25rem}.tpick{flex:0 0 calc((100% - 2.5rem) / 3)}}
@media (max-width:640px){
  .trow{flex-direction:column;flex-wrap:nowrap;gap:0;border-top:1px solid var(--line)}
  .tpick{flex:none;display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:1.1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}
  .tpick .img{grid-row:1 / span 3;border-radius:var(--r-sm)}
  .tpick .img img{aspect-ratio:1}
  .tpick__name{height:auto;margin:0;align-self:end}
  .tpick p{margin:.3rem 0;font-size:.92rem}
  .tpick .link{margin:0;align-self:start}
}
.font-jungle{font-family:"National Park",var(--f-body);font-weight:700;text-transform:uppercase;color:#1F4A33;font-size:1.35rem!important;letter-spacing:.01em}
.font-cheer{font-family:"Big Shoulders",var(--f-body);font-weight:700;text-transform:uppercase;color:#D0136F;font-size:1.65rem!important}
.font-rainbow{font-family:"Erica One",var(--f-display);background:linear-gradient(90deg,#E8768A,#F2A05A,#D8B23E,#6DBE8A,#5E9FE0,#9C7FE0);-webkit-background-clip:text;background-clip:text;color:transparent}
.font-girl{font-family:"Boldonse",var(--f-body);text-transform:uppercase;color:#C2185B;font-size:1.05rem!important;line-height:1.5!important}
.font-boho{font-family:"Italiana",var(--f-display);color:#5B3A29;font-size:1.8rem!important}

/* ---------- pakketten-paneel ---------- */
.packs{display:grid;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--paper);overflow:hidden}
@media (min-width:860px){.packs{grid-template-columns:1fr 1fr}.pack+.pack{border-left:1px solid var(--line-2)}}
@media (max-width:859px){.pack+.pack{border-top:1px solid var(--line-2)}}
.pack{display:flex;flex-direction:column;padding:clamp(1.75rem,3.5vw,2.75rem)}
.pack__label{font:600 .78rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.pack h3{font:400 2rem/1.1 var(--f-display);margin:.6rem 0 .4rem}
.pack .muted{margin:0 0 1.5rem}
.price{display:flex;align-items:baseline;gap:.5rem;margin:0 0 1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.price strong{font:400 3.6rem/1 var(--f-display);letter-spacing:-.02em}
.price span{color:var(--ink-soft)}
.checks{list-style:none;margin:0 0 2rem;padding:0;display:grid;gap:.65rem}
.checks li{display:flex;gap:.7rem;align-items:flex-start;line-height:1.5}
.checks .ic{color:var(--rose);width:22px;height:22px;margin-top:.05em}
.pack .btn{margin-top:auto;align-self:flex-start}
.notebar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:1.5rem;padding:1.1rem 1.4rem;border-radius:var(--r);background:rgba(255,255,255,.6);font-size:.97rem;color:var(--ink-soft)}
.notebar .ic{color:var(--rose)}
.notebar strong{color:var(--ink);font-weight:500}
.notebar .link{margin-left:auto}

/* ---------- mozaïek ---------- */
.mosaic{display:grid;gap:clamp(.75rem,1.5vw,1.25rem);grid-template-columns:repeat(2,1fr)}
.mosaic .img{border-radius:var(--r)}
.mosaic .img img{height:100%;aspect-ratio:auto}
@media (min-width:860px){.mosaic{grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:repeat(2,minmax(220px,19vw))}.mosaic>:first-child{grid-row:span 2}}
@media (max-width:859px){.mosaic>:first-child{grid-column:span 2}.mosaic .img{aspect-ratio:1}.mosaic>:first-child.img{aspect-ratio:4/3}}

/* ---------- quotes ---------- */
.quotes{display:grid;gap:clamp(1.5rem,3vw,2.5rem)}
@media (min-width:900px){.quotes{grid-template-columns:1.25fr 1fr}}
.q-feature{margin:0;padding:clamp(2rem,4vw,3rem);border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line)}
.q-feature blockquote{margin:0 0 1.5rem;font:400 italic clamp(1.4rem,2.2vw,1.85rem)/1.4 var(--f-display);color:var(--ink)}
.q-side{display:grid;gap:1.25rem;align-content:start}
.q{margin:0;padding:1.5rem 0;border-top:1px solid var(--line-2)}
.q:first-child{border-top:0;padding-top:0}
.q blockquote{margin:0 0 .9rem;color:var(--ink-soft);line-height:1.65}
.q-by{display:flex;align-items:center;gap:.75rem;font-size:.95rem}
.q-by b{font-weight:500;color:var(--ink)}
.q-by span{color:var(--ink-mute)}
.stars{display:inline-flex;gap:2px;color:var(--gold-soft)}
.stars .ic{width:18px;height:18px}
.q-pair{display:grid;gap:1.5rem}
@media (min-width:860px){.q-pair{grid-template-columns:1fr 1fr}}
.q-card{margin:0;padding:clamp(1.5rem,3vw,2.25rem);border-radius:var(--r);background:var(--paper);border:1px solid var(--line)}
.q-card blockquote{margin:0 0 1.2rem;font:400 italic 1.25rem/1.5 var(--f-display)}

/* ---------- extra's (compact rij) ---------- */
.xrow{display:grid;gap:1.25rem;grid-template-columns:repeat(2,1fr)}
@media (min-width:960px){.xrow{grid-template-columns:repeat(4,1fr)}}
.xitem{text-decoration:none;color:var(--ink);display:flex;flex-direction:column}
.xitem .img img{aspect-ratio:1}
.xitem h3{font:400 1.3rem/1.2 var(--f-display);margin:1rem 0 .25rem}
.xitem span{font-size:.95rem;color:var(--ink-soft)}

/* ---------- werkgebied-band ---------- */
.area{display:grid;gap:2rem;align-items:center}
@media (min-width:900px){.area{grid-template-columns:.9fr 1.1fr;gap:5rem}}
.placelinks{display:grid;grid-template-columns:repeat(2,1fr);gap:0 2rem;list-style:none;margin:0;padding:0}
@media (min-width:640px){.placelinks{grid-template-columns:repeat(3,1fr)}}
.placelinks a{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.9rem 0;border-bottom:1px solid var(--line-2);text-decoration:none;font-weight:500;color:var(--ink);transition:color .2s}
.placelinks a:hover{color:var(--berry)}
.placelinks .ic{color:var(--rose);width:20px;height:20px}

/* ---------- FAQ ---------- */
.faq-layout{display:grid;gap:2.5rem}
@media (min-width:960px){.faq-layout{grid-template-columns:.85fr 1.15fr;gap:5rem}.faq-layout__aside{position:sticky;top:calc(var(--header-h) + 2rem);align-self:start}}
.faq{border-top:1px solid var(--line-2)}
.faq details{border-bottom:1px solid var(--line-2)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.35rem 0;font:500 1.06rem/1.4 var(--f-body)}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{flex:none;width:24px;height:24px;color:var(--berry)}
.faq summary .ic-minus{display:none}
.faq details[open] summary .ic-plus{display:none}
.faq details[open] summary .ic-minus{display:block}
.faq .a{padding:0 3rem 1.5rem 0;color:var(--ink-soft)}
.faq .a a{color:var(--berry)}
.contact-card{margin-top:2rem;padding:1.5rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--line-2);display:grid;gap:.75rem}
.contact-card a{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:500}
.contact-card .ic{color:var(--rose)}
.contact-card a:hover{color:var(--berry)}

/* ---------- CTA-kaart boven de footer ---------- */
.cta{padding-block:var(--sec)}
.sec:not(.sec--sand):not(.sec--blush):not(.sec--paper)+.cta{padding-top:0}
.cta__card{display:grid;border-radius:var(--r-lg);background:var(--blush);overflow:hidden}
@media (min-width:900px){.cta__card{grid-template-columns:1.15fr .85fr}}
.cta__body{padding:clamp(2rem,5vw,4rem);display:flex;flex-direction:column;justify-content:center}
.cta__body .h2{margin-bottom:1rem;max-width:16ch}
.cta__body .lead{margin-bottom:2rem}
.cta__contact{display:flex;flex-wrap:wrap;gap:.6rem 1.75rem;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--blush-2);font-size:.97rem}
.cta__contact a{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ink);font-weight:500}
.cta__contact a:hover{color:var(--berry)}
.cta__contact .ic{color:var(--berry)}
.cta__img{min-height:280px}
.cta__img img{width:100%;height:100%;object-fit:cover}

/* ---------- footer ---------- */
.site-footer{background:var(--sand);color:var(--ink-soft);padding:clamp(3.5rem,6vw,5rem) 0 2rem;border-top:1px solid var(--line)}
.foot-grid{display:grid;gap:2.5rem}
@media (min-width:900px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem}}
.foot-brand img{height:64px;width:auto;margin-bottom:1.5rem}
.foot-brand p{max-width:34ch;font-size:.97rem;color:var(--ink-soft)}
.site-footer h2{font:600 .78rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 1.25rem}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:.6rem;font-size:.97rem}
.site-footer a{color:var(--ink);text-decoration:none;transition:color .2s}
.site-footer a:hover{color:var(--berry)}
.site-footer address+ul{margin-top:1.25rem}
.site-footer address{font-style:normal;line-height:1.8;font-size:.97rem}
.socials{display:flex;gap:.6rem;margin-top:1.5rem}
.socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);transition:background-color .2s,border-color .2s,color .2s}
.socials a:hover{background:var(--berry);color:#fff;border-color:var(--berry)}
.socials a{width:44px;height:44px}
.socials svg{width:22px;height:22px;fill:currentColor;overflow:visible}
.foot-bottom{display:flex;flex-wrap:wrap;gap:.75rem 2rem;justify-content:space-between;margin-top:3.5rem;padding-top:1.5rem;border-top:1px solid var(--line-2);font-size:.88rem;color:var(--ink-mute)}
.foot-bottom nav{display:flex;flex-wrap:wrap;gap:1.5rem}
.foot-bottom a{color:var(--ink-soft)}

/* ---------- tabellen ---------- */
.table-wrap{overflow-x:auto;border:1px solid var(--line-2);border-radius:var(--r);background:var(--paper)}
.table{width:100%;border-collapse:collapse;font-size:.98rem;min-width:560px}
.table th,.table td{padding:1rem 1.25rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}
.table thead th{font:600 .78rem/1.2 var(--f-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);background:var(--sand)}
.table tbody th{font-weight:500}
.table td.num,.table th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.table tr:last-child>*{border-bottom:0}
.table a:not(.btn){color:var(--berry);text-decoration:none}
.table a:not(.btn):hover{text-decoration:underline}
.table .ic{width:22px;height:22px;color:var(--rose);display:inline-block;vertical-align:middle}
.table .no{color:var(--line-2)}
.table--compare td:not(:first-child),.table--compare th:not(:first-child){text-align:center}

/* ---------- formulieren ---------- */
.book{display:grid;gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media (min-width:1020px){.book{grid-template-columns:1.5fr .85fr}}
.form{display:grid;gap:1.25rem}
.fieldset{border:1px solid var(--line-2);margin:0;padding:clamp(1.4rem,3vw,2.1rem);border-radius:var(--r-lg);background:var(--paper)}
.fieldset legend{float:left;width:100%;padding:0;margin-bottom:1.35rem;display:flex;align-items:center;gap:.8rem;font:400 1.5rem/1.15 var(--f-display)}
.fieldset legend .n{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--rose);color:var(--berry);font-size:1rem}
.fieldset legend+*{clear:both}
.row{display:grid;gap:1rem}
@media (min-width:620px){.row--2{grid-template-columns:1fr 1fr}.row--3{grid-template-columns:repeat(3,1fr)}}
.field{display:grid;gap:.45rem;align-content:start}
.field label,.field .lbl{font-weight:500;font-size:.95rem}
.hint{font-size:.88rem;color:var(--ink-soft);margin:0}
.input,.select,.textarea{width:100%;height:52px;padding:0 1rem;border-radius:var(--r-sm);border:1px solid var(--line-2);background:#fff;transition:border-color .2s}
.textarea{height:auto;min-height:130px;padding:.85rem 1rem;resize:vertical}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--berry)}
.choice{display:grid;gap:.75rem}
@media (min-width:560px){.choice--2{grid-template-columns:1fr 1fr}.choice--3{grid-template-columns:repeat(3,1fr)}}
.opt{position:relative;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt__box{display:flex;flex-direction:column;gap:.25rem;height:100%;padding:1rem 1.1rem;border-radius:var(--r-sm);border:1px solid var(--line-2);background:#fff;transition:border-color .2s,background-color .2s}
.opt__box strong{display:flex;align-items:center;gap:.55rem;font-weight:500}
.opt__box small{color:var(--ink-soft);font-size:.88rem;line-height:1.4}
.opt__box .sw{width:14px;height:14px;border-radius:50%;flex:none}
.opt__box .ic{width:22px;height:22px;color:var(--rose)}
.opt input:checked+.opt__box{border-color:var(--berry);background:#FDF3F1}
.opt input:focus-visible+.opt__box{outline:2px solid var(--berry);outline-offset:2px}
.opt input:disabled+.opt__box{opacity:.45;cursor:not-allowed}
.stepper{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:var(--r-sm);background:#fff;overflow:hidden;height:52px}
.stepper button{width:52px;height:100%;border:0;background:transparent;cursor:pointer;color:var(--berry);display:grid;place-items:center}
.stepper button .ic{width:22px;height:22px}
.stepper input{flex:1;min-width:0;height:100%;border:0;border-inline:1px solid var(--line);text-align:center;font-weight:500;font-size:1.05rem;-moz-appearance:textfield;background:#fff}
.stepper input::-webkit-inner-spin-button{-webkit-appearance:none}
.checkline{display:flex;gap:.75rem;align-items:flex-start;font-size:.95rem}
.checkline input{width:20px;height:20px;margin-top:.2em;accent-color:var(--berry);flex:none}
.checkline a{color:var(--berry)}
.is-hidden{display:none!important}
.summary{position:sticky;top:calc(var(--header-h) + 1.5rem);border-radius:var(--r-lg);padding:clamp(1.5rem,3vw,2rem);background:var(--sand);border:1px solid var(--line-2)}
.summary h2{font:400 1.6rem/1.1 var(--f-display);margin:0 0 1.25rem}
.summary dl{display:grid;grid-template-columns:1fr auto;gap:.6rem 1rem;margin:0 0 1rem;font-size:.97rem}
.summary dt{color:var(--ink-soft)}
.summary dd{margin:0;text-align:right;font-weight:500;font-variant-numeric:tabular-nums}
.summary .total{display:flex;justify-content:space-between;align-items:baseline;padding-top:1.1rem;border-top:1px solid var(--line-2)}
.summary .total strong{font:400 2.4rem/1 var(--f-display);color:var(--berry);font-variant-numeric:tabular-nums}
.summary .note{font-size:.86rem;color:var(--ink-soft);margin:1rem 0 0}
.summary .contact{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line-2);display:grid;gap:.6rem}
.summary .contact a{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:500}
.summary .contact .ic{color:var(--rose)}
.hp{position:absolute!important;left:-9999px!important}
.steps-inline{display:flex;flex-wrap:wrap;gap:.5rem 2rem;margin:1.75rem 0 0;padding:0;list-style:none;font-size:.97rem;color:var(--ink-soft)}
.steps-inline li{display:flex;align-items:center;gap:.6rem}
.steps-inline b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--rose);color:var(--berry);font:400 .95rem/1 var(--f-display)}

/* ---------- prijzen ---------- */
.pricepanel{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-2);border-radius:var(--r-lg);background:var(--paper);overflow:hidden}
.pricepanel>div{padding:clamp(1.5rem,3vw,2.5rem)}
.pricepanel>div+div{border-left:1px solid var(--line-2)}
.pricepanel span{display:block;font:600 .78rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.pricepanel strong{display:block;font:400 clamp(3rem,6vw,4.5rem)/1 var(--f-display);margin:.9rem 0 .4rem;letter-spacing:-.02em}
.pricepanel p{margin:0;color:var(--ink-soft);font-size:.95rem}
.calc{display:grid;gap:1.1rem;padding:clamp(1.5rem,3vw,2.25rem);border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line-2)}
.calc__out{display:grid;gap:0;margin:.25rem 0 0}
.calc__out>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line)}
.calc__out dt{color:var(--ink-soft)}
.calc__out dd{margin:0;font-weight:500;font-variant-numeric:tabular-nums}
.calc__total{border-bottom:0!important;align-items:baseline}
.calc__total dt{color:var(--ink)!important;font-weight:500}
.calc__total output{font:400 2.2rem/1 var(--f-display);color:var(--berry)}
.formula{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1.5rem 0;font:400 1.35rem/1.3 var(--f-display)}
.formula span{padding:.3rem .8rem;border-radius:10px;background:var(--paper);border:1px solid var(--line-2)}
.pricelist{list-style:none;margin:0;padding:0;display:grid;gap:0}
@media (min-width:860px){.pricelist{grid-template-columns:1fr 1fr;column-gap:4rem}}
.pricelist li{display:flex;align-items:baseline;gap:.75rem;padding:1.1rem 0;border-bottom:1px solid var(--line-2)}
.pricelist li span:first-child{font-weight:500}
.pricelist li i{flex:1;border-bottom:1px solid var(--line);transform:translateY(-4px)}
.pricelist li span:last-child{color:var(--ink-soft);white-space:nowrap}
.pricelist a{color:inherit;text-decoration:none}
.pricelist a:hover{color:var(--berry)}

/* ---------- thema-overzicht ---------- */
.tnav{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem 2.25rem;margin:2.25rem 0 0;padding:0;list-style:none}
.tnav li{display:flex;align-items:center;height:2.6rem}
.tnav a{display:block;text-decoration:none;font-size:1.5rem;line-height:1}
.tlist{display:grid;gap:clamp(4rem,8vw,6.5rem)}
.tline{display:grid;gap:2rem;align-items:center}
@media (min-width:900px){.tline{grid-template-columns:1fr 1fr;gap:5rem}}
.tline__img img{aspect-ratio:5/4;border-radius:var(--r-lg)}
.tline__name{display:block;font-size:2.4rem;line-height:1.05;margin-bottom:1rem}
.tline .font-girl{font-size:1.5rem!important}
.tline .font-cheer{font-size:2.6rem!important}
.tline .font-jungle{font-size:2.2rem!important}
.tline .font-boho{font-size:2.9rem!important}
.tline__for{display:flex;gap:.75rem;align-items:flex-start;margin:1.5rem 0;padding:1.1rem 1.25rem;border-radius:var(--r);background:var(--sand)}
.tline__for .ic{color:var(--rose);margin-top:.1em}
.tline__for p{margin:0}
.tline__for b{font-weight:500}
.taglist{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0 0 1.75rem;padding:0}
.taglist li{padding:.35rem .8rem;border-radius:8px;border:1px solid var(--line-2);font-size:.9rem;color:var(--ink-soft)}

/* ---------- over ons ---------- */
.pull{margin:2.5rem 0;padding-left:1.5rem;border-left:2px solid var(--rose);font:400 italic clamp(1.4rem,2.4vw,1.8rem)/1.4 var(--f-display);color:var(--ink)}
.whys{display:grid;gap:2.5rem 3rem;list-style:none;margin:0;padding:0}
@media (min-width:700px){.whys{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.whys{grid-template-columns:repeat(3,1fr)}}
.whys .ic{width:32px;height:32px;color:var(--rose);margin-bottom:1rem}
.whys h3{font:400 1.35rem/1.2 var(--f-display);margin-bottom:.4rem}
.whys p{margin:0;color:var(--ink-soft);font-size:.98rem}
.trio{display:grid;gap:1rem}
@media (min-width:760px){.trio{grid-template-columns:repeat(3,1fr)}}
.trio .img img{aspect-ratio:4/5}

/* ---------- extra's-pagina ---------- */
.products{display:grid;gap:clamp(1.25rem,2.5vw,2rem)}
@media (min-width:760px){.products{grid-template-columns:1fr 1fr}}
.product{display:grid;grid-template-columns:42% 1fr;gap:1.5rem;align-items:start;padding:1.25rem;border-radius:var(--r-lg);border:1px solid var(--line-2);background:var(--paper)}
.product .img img{aspect-ratio:1}
.product h2{font:400 1.55rem/1.15 var(--f-display);margin:.35rem 0 .5rem}
.product p{color:var(--ink-soft);font-size:.96rem;margin:0 0 .75rem}
.product .price-tag{display:block;font-weight:500;color:var(--berry);margin-bottom:1rem}
.product ul{margin:0 0 1rem;padding-left:1.1em;font-size:.94rem;color:var(--ink-soft)}
@media (max-width:480px){.product{grid-template-columns:1fr}}
.invite{display:grid;gap:clamp(2rem,4vw,3rem)}
.invite__img img{width:100%;border-radius:var(--r-lg)}
.invite__cols{display:grid;gap:2rem}
@media (min-width:860px){.invite__cols{grid-template-columns:1fr 1fr;gap:4rem}}
.example{padding:1.5rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--line-2);font:400 italic 1.2rem/1.55 var(--f-display)}
.quad{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.quad .img img{aspect-ratio:1}

/* ---------- privacy ---------- */
.doc{display:grid;gap:2.5rem}
@media (min-width:960px){.doc{grid-template-columns:260px 1fr;gap:5rem}.doc__toc{position:sticky;top:calc(var(--header-h) + 2rem);align-self:start}}
.doc__toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--line-2)}
.doc__toc a{display:block;padding:.45rem 0 .45rem 1.1rem;text-decoration:none;color:var(--ink-soft);font-size:.95rem}
.doc__toc a:hover{color:var(--berry)}
.doc__toc .eyebrow{margin-bottom:.9rem}
.tldr{display:grid;gap:1rem;margin-top:2.5rem}
@media (min-width:760px){.tldr{grid-template-columns:repeat(3,1fr)}}
.tldr div{padding:1.4rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--line-2)}
.tldr .ic{color:var(--rose);width:28px;height:28px;margin-bottom:.8rem}
.tldr b{display:block;font-weight:500;margin-bottom:.25rem}
.tldr p{margin:0;font-size:.95rem;color:var(--ink-soft)}
.prose section{scroll-margin-top:calc(var(--header-h) + 1.5rem)}

/* ---------- lightbox ---------- */
.lightbox{border:0;padding:0;background:transparent;max-width:min(94vw,1100px);max-height:92vh}
.lightbox::backdrop{background:rgba(36,28,61,.86)}
.lightbox img{max-height:84vh;width:auto;border-radius:14px;margin:auto}
.lightbox p{color:#fff;text-align:center;margin:.75rem 0 0;font-size:.95rem}
.lightbox__close{position:fixed;top:1rem;right:1rem;width:46px;height:46px;border-radius:50%;border:0;background:#fff;color:var(--ink);cursor:pointer;display:grid;place-items:center}
.lightbox__close .ic{width:24px;height:24px}

/* ---------- galerij ---------- */
.gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:clamp(150px,30vw,270px);grid-auto-flow:dense;gap:clamp(.6rem,1.4vw,1rem)}
@media (min-width:900px){.gallery{grid-template-columns:repeat(3,1fr)}}
.gallery figure{position:relative;margin:0;border-radius:var(--r);overflow:hidden;background:var(--sand)}
.gallery .g-tall{grid-row:span 2}
.gallery .g-wide{grid-column:span 2}
.gallery button{all:unset;display:block;cursor:zoom-in;width:100%;height:100%}
.gallery img{width:100%;height:100%;object-fit:cover}
@media (max-width:899px){.gallery{grid-auto-rows:auto}.gallery figure{aspect-ratio:1}.gallery .g-tall{grid-row:auto}.gallery .g-wide{grid-column:auto}.gallery figure:first-child:nth-last-child(odd){grid-column:span 2;aspect-ratio:3/2}}

/* ---------- v2: pagina-specifieke onderdelen ---------- */
.ph-split{display:grid;gap:2rem 4rem;align-items:center}
@media (min-width:960px){.ph-split{grid-template-columns:1.25fr .75fr}.ph-split--end{align-items:end}}
.ph-photo--land img{aspect-ratio:4/3}
.jump{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}
.jump a{display:inline-flex;align-items:center;height:40px;padding:0 1rem;border-radius:999px;border:1px solid var(--line-2);text-decoration:none;font-size:.95rem;font-weight:500;color:var(--ink);transition:border-color .2s,color .2s}
.jump a:hover{border-color:var(--berry);color:var(--berry)}

/* prijzen */
.pricecard{display:grid;gap:0;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line-2);overflow:hidden}
.pricecard .pricepanel{border:0;border-radius:0;border-bottom:1px solid var(--line-2)}
.pricecard__foot{display:flex;align-items:center;gap:.7rem;margin:0;padding:1.1rem clamp(1.5rem,3vw,2.5rem);font-size:.95rem;color:var(--ink-soft)}
.pricecard__foot .ic{color:var(--rose)}
.pricecard__foot b{color:var(--ink);font-weight:500}
@media (max-width:420px){.pricepanel{grid-template-columns:1fr}.pricepanel>div+div{border-left:0;border-top:1px solid var(--line-2)}}
.table .t-small{font-size:.92rem;color:var(--ink-soft);line-height:1.45}
.table--compare td{width:28%}
.table .no{color:var(--ink-mute)}
.table tfoot th,.table tfoot td{background:var(--sand);border-bottom:0;border-top:1px solid var(--line-2);padding-block:1.25rem}
.table tfoot td strong{display:block;font:400 2rem/1 var(--f-display);margin-bottom:.75rem}
.table tfoot th{font-weight:500}
.examples{list-style:none;margin:0;padding:0;border-top:1px solid var(--line-2)}
.examples li{display:grid;grid-template-columns:1fr auto;gap:.25rem 2rem;align-items:baseline;padding:1.25rem 0;border-bottom:1px solid var(--line-2)}
.examples__k{font-weight:500}
.examples__f{grid-column:1;color:var(--ink-soft);font-size:.95rem;font-variant-numeric:tabular-nums}
.examples strong{grid-column:2;grid-row:1/span 2;align-self:center;font:400 1.9rem/1 var(--f-display);font-variant-numeric:tabular-nums}
@media (min-width:860px){.examples li{grid-template-columns:1.1fr 1fr 9rem}.examples__f{grid-column:2}.examples strong{grid-column:3;grid-row:1;text-align:right}}
.pricelist a{display:inline-flex;align-items:center;gap:.65rem;font-weight:500}
.pricelist a .ic{color:var(--rose)}
.pricelist li>span:last-child{text-align:right}
.formula-card{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(1.5rem,3vw,2.5rem);border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line-2)}
.grid-2--stretch{align-items:stretch}
.formula-card .formula{margin-top:0}
.sec--blush .formula span{background:var(--paper)}
.tip{display:flex;gap:.8rem;align-items:flex-start;margin:2rem 0 0;padding:1.15rem 1.35rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--line-2);color:var(--ink-soft)}
.tip .ic{color:var(--gold);margin-top:.1em}
.tip b{color:var(--ink);font-weight:500}

/* extra's */
.product{grid-template-columns:40% 1fr;align-items:center}
.product .img{border-radius:var(--r-sm)}
.product h2{margin:0 0 .3rem}
.product .price-tag{margin-bottom:.75rem}
.trio--sm{grid-template-columns:repeat(3,1fr)}
.trio--sm .img img{aspect-ratio:3/4}
.invite__head{display:grid;gap:1rem 4rem}
@media (min-width:900px){.invite__head{grid-template-columns:1fr 1fr;align-items:end}.invite__head .eyebrow{grid-column:1/-1;margin:0}}
.invite__head .h2{max-width:18ch}
.invite__img{border-radius:var(--r-lg);overflow:hidden}
.invite__img img{width:100%;aspect-ratio:2.2/1;object-fit:cover}
.invite .h4{margin-bottom:1rem}
.example{margin:0}

/* over ons */
.ph--story .h1{max-width:16ch;margin-inline:auto}
.wide-photo{max-width:880px;margin:clamp(2.5rem,5vw,3.5rem) auto 0;border-radius:var(--r-lg);overflow:hidden}
.wide-photo img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:50% 12%}
@media (max-width:700px){.wide-photo img{aspect-ratio:1}}
.framed{margin:0 auto;width:100%;max-width:460px}
.framed figcaption{margin-top:1rem;text-align:center;font:400 1.35rem/1 var(--f-hand);color:var(--berry)}
.bigquote{margin:0 0 1.5rem;font:400 italic clamp(1.6rem,3vw,2.3rem)/1.35 var(--f-display);color:var(--ink)}
.bigquote p{margin:0}
.wrap--text.center .muted{max-width:58ch;margin-inline:auto}
.whys--center{text-align:center}
.whys--center .ic{margin-inline:auto}
.whys--center p{max-width:32ch;margin-inline:auto}
.q-stack{display:grid;gap:1.25rem}

/* veelgestelde vragen */
.contact-card--hero{margin:0;background:var(--paper);border:1px solid var(--line-2);padding:clamp(1.5rem,3vw,2rem)}
.faqpage{display:grid;gap:2.5rem}
@media (min-width:960px){.faqpage{grid-template-columns:290px 1fr;gap:4.5rem}.faqnav{position:sticky;top:calc(var(--header-h) + 2rem);align-self:start}}
.faqnav ol{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.faqnav a{display:flex;align-items:center;gap:.75rem;padding:.8rem 1rem;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--paper);text-decoration:none;font-weight:500;transition:border-color .2s,color .2s}
.faqnav a:hover{border-color:var(--berry);color:var(--berry)}
.faqnav .ic{color:var(--rose);width:22px;height:22px}
.faqnav span{flex:1}
.faqnav small{color:var(--ink-mute);font-size:.85rem;font-variant-numeric:tabular-nums}
@media (max-width:959px){.faqnav ol{grid-template-columns:1fr 1fr}.faqnav a{padding:.7rem .85rem;font-size:.93rem}.faqnav small{display:none}}
.faqgroups{display:grid;gap:clamp(3rem,6vw,4.5rem)}
.faqgroup{scroll-margin-top:calc(var(--header-h) + 1.5rem)}
.faqgroup .h3{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}
.faqgroup .h3 .ic{width:30px;height:30px;color:var(--rose)}

/* boeken */
.ph--book{padding-bottom:clamp(2rem,4vw,3rem);border-bottom:1px solid var(--line)}
.ph--book .steps-inline{margin:0;display:grid;gap:.8rem}
.sec--book{padding-top:clamp(2.5rem,5vw,3.5rem)}
.submit{justify-self:start;min-width:260px}
@media (max-width:480px){.submit{width:100%;min-width:0}}

/* werkgebied */
.ways{display:grid;gap:0;padding:clamp(1.5rem,3vw,2.25rem);border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--blush-2)}
.ways__item{display:grid;grid-template-columns:48px 1fr;gap:1.1rem;align-items:start;padding:1.25rem 0;border-bottom:1px solid var(--line)}
.ways__item:first-child{padding-top:0}
.ways__item .ic{width:48px;height:48px;padding:12px;border-radius:50%;background:var(--blush);color:var(--berry)}
.ways__item h2{margin:.35rem 0 .3rem}
.ways__item p{margin:0;color:var(--ink-soft);font-size:.97rem}
.ways .link{margin-top:1.25rem;justify-self:start}
.addr{display:flex;gap:.8rem;align-items:flex-start;margin-top:2rem;padding:1.15rem 1.35rem;border-radius:var(--r);background:var(--sand);font-style:normal;line-height:1.6}
.addr .ic{color:var(--rose);margin-top:.15em}
.addr b{font-weight:500}

/* compacte thema-links (ook op plaatspagina's) */
.others{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}
@media (min-width:600px){.others{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.others{grid-template-columns:repeat(4,1fr)}.others--5{grid-template-columns:repeat(5,1fr)}}
.others a{display:flex;align-items:center;gap:.9rem;height:76px;padding:0 1.1rem 0 .65rem;border-radius:999px;background:var(--paper);border:1px solid var(--t-line,var(--line-2));text-decoration:none;color:var(--ink);transition:border-color .2s}
.others a:hover{border-color:var(--t-icon,var(--berry))}
.others__img{flex:none;width:58px;height:58px;border-radius:50%;overflow:hidden;background:var(--sand)}
.others__img img{width:100%;height:100%;object-fit:cover}
.others__name{flex:1;min-width:0;line-height:1.1!important}
.others .ic{color:var(--t-icon,var(--rose));width:22px;height:22px;flex:none}
.others .font-jungle{font-size:1.1rem!important}
.others .font-cheer{font-size:1.45rem!important}
.others .font-rainbow{font-size:1.2rem}
.others .font-girl{font-size:.78rem!important}
.others .font-boho{font-size:1.55rem!important}
.others--5 a{padding-right:.9rem}

/* CTA zonder foto */
.cta__card--solo{grid-template-columns:1fr!important;text-align:center}
.cta__card--solo .cta__body{align-items:center;padding-block:clamp(3rem,6vw,4.5rem)}
.cta__card--solo .h2{max-width:20ch}
.cta__card--solo .lead{margin-inline:auto}
.cta__card--solo .btns,.cta__card--solo .cta__contact{justify-content:center}

/* privacy */
.ph--doc .tldr{margin-top:2.5rem}
.tldr div{background:var(--paper)}
.doc__toc a{display:flex;gap:.75rem;align-items:baseline;border-left:2px solid transparent;margin-left:-1px}
.doc__toc a span{font-size:.8rem;color:var(--ink-mute);font-variant-numeric:tabular-nums}
.doc__toc a:hover{border-left-color:var(--berry)}
.doc__date{display:inline-block;padding:.35rem .8rem;border-radius:999px;background:var(--sand);font-size:.88rem;color:var(--ink-soft)}
.doc__body section+section{margin-top:3rem}
.doc__body h2{margin-top:0}
.doc__body h2{display:flex;align-items:baseline;gap:.85rem}
.doc__body h2 span{font:500 .85rem/1 var(--f-body);color:var(--rose);font-variant-numeric:tabular-nums;transform:translateY(-.2em)}
.doc__body .addr{margin-top:1rem}
.doc__q{display:flex;gap:.8rem;align-items:flex-start;margin-top:3rem;padding:1.25rem 1.4rem;border-radius:var(--r);background:var(--blush)}
.doc__q .ic{color:var(--berry);margin-top:.1em}
.doc__q p{margin:0}

/* bedankt & 404 */
.msg{padding-block:clamp(4rem,10vw,8rem)}
.msg__ic{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 1.75rem;border-radius:50%;background:var(--blush);color:var(--berry)}
.msg__ic .ic{width:34px;height:34px}
.msg .h1{max-width:16ch;margin:0 auto 1.25rem}
.msg .lead{margin:0 auto 2rem}
.msg .btns{justify-content:center}

.center{text-align:center}
.mt-1{margin-top:1rem}.mt-2{margin-top:2rem}.mt-3{margin-top:3rem}
.table-wrap{position:relative}
@media (max-width:520px){.product{grid-template-columns:1fr}.product .img img{aspect-ratio:16/10}}
.pricelist{grid-template-columns:minmax(0,1fr)}
@media (min-width:860px){.pricelist{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pricelist li>span:last-child{white-space:normal;max-width:45%}
.pricelist li a span{white-space:normal;color:var(--ink)}
.pricelist li a{min-width:0}
.q-by .stars,.stars{color:#D4A23A}
@media (max-width:420px){.nav-toggle{margin-left:auto}}
@media (max-width:520px){.btns:not(.btns--inline) .btn{flex:1 1 100%}}
@media (max-width:899px){.cta__img{min-height:0}.cta__img img{aspect-ratio:3/2;height:auto}}

/* ---------- v2.1 ---------- */
/* mobiel menu: thema's en socials onderin */
.nav__label{font:600 .76rem/1 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 .25rem!important}
.nav__themes{list-style:none;margin:0 0 .75rem;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.nav__themes a{display:flex;align-items:center;gap:.65rem;padding:.4rem .75rem .4rem .4rem;border-radius:999px;background:var(--paper);border:1px solid var(--line);text-decoration:none;font-weight:500;font-size:.95rem;color:var(--ink)}
.nav__thumb{flex:none;width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--sand)}
.nav__thumb img{width:100%;height:100%;object-fit:cover}
.nav__extra .socials{margin-top:.5rem}
.nav__extra .socials a{border-color:var(--line-2);background:var(--paper);color:var(--ink)}
/* prijzen: alleen het verschil */
.same{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;padding:1.25rem 1.5rem;border-radius:var(--r);background:var(--sand)}
.same__label{font:600 .76rem/1.2 var(--f-body);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.same__list{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;list-style:none;margin:0;padding:0;font-size:.95rem}
.same__list li{display:flex;align-items:center;gap:.4rem}
.same__list .ic{width:20px;height:20px;color:var(--rose)}
.table--diff td{width:34%;color:var(--ink-soft);font-size:.95rem;line-height:1.5}
.table--diff .yes{display:inline-flex;align-items:center;gap:.4rem;color:var(--ink);font-weight:500}
.table--diff .yes .ic{width:20px;height:20px;color:var(--berry)}
/* over ons: teamfoto */
.teamphoto{position:relative;margin:0;justify-self:center;width:100%;max-width:520px}
.teamphoto .img img{aspect-ratio:1}
.teamphoto figcaption{position:absolute;left:1.25rem;bottom:1.25rem;padding:.5rem 1.1rem .6rem;border-radius:999px;background:var(--paper);font:400 1.35rem/1 var(--f-hand);color:var(--berry)}
h1,h2,h3{overflow-wrap:break-word}
.nav__thumb--ic{display:grid;place-items:center;background:var(--blush);color:var(--berry)}
.nav__thumb--ic .ic{width:20px;height:20px}
.table--diff tfoot td{color:var(--ink)}

/* tabellen op mobiel: rijen worden kaartjes */
.table--fit{min-width:0}
@media (max-width:700px){
  .table--stack{min-width:0}
  .table--stack thead{display:none}
  .table--stack tr{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 1rem;padding:1.1rem 1.15rem;border-bottom:1px solid var(--line)}
  .table--stack tr:last-child{border-bottom:0}
  .table--stack th[scope=row]{grid-column:1/-1;padding:0;border:0;font-size:1rem}
  .table--stack td{display:block;width:auto!important;padding:0;border:0;text-align:left!important}
  .table--stack td::before{content:attr(data-label);display:block;margin-bottom:.3rem;font:600 .7rem/1.2 var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
  .table--stack td.num{white-space:normal}
  .table--stack tfoot tr{background:var(--sand)}
  .table--stack tfoot th,.table--stack tfoot td{background:transparent;border:0;padding:0}
  .table--stack tfoot td strong{font-size:1.7rem;margin-bottom:.6rem}
  .table--fit th,.table--fit td{padding:.85rem .9rem}
}
@media (max-width:700px){.table--fit{font-size:.9rem}.table--fit .num{white-space:normal}.table--fit thead th{letter-spacing:.06em}}
@media (max-width:700px){.table.table--fit td.num,.table.table--fit th.num{white-space:normal}.table.table--fit th,.table.table--fit td{padding:.8rem .75rem}}

/* ---------- v2.2: koppen-ornament en golvende overgangen ---------- */
:root{--edge-wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 48V28C200 6 420 0 640 16S1060 46 1260 34S1400 18 1440 20V48Z'/%3E%3C/svg%3E");--edge-wave2:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 48V18C160 30 360 44 600 34S1020 4 1240 10S1400 26 1440 30V48Z'/%3E%3C/svg%3E");--edge-canopy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 48' preserveAspectRatio='none'%3E%3Cpath d='M0 48V30Q40 -15 80 30Q110 -2 140 30Q200 -5 260 30Q290 4 320 30Q350 -2 380 30Q425 -15 470 30Q500 -5 530 30Q575 -15 620 30Q670 -5 720 30Q750 -15 780 30Q820 4 860 30Q910 -15 960 30Q1000 -5 1040 30Q1090 -15 1140 30Q1190 4 1240 30Q1285 -15 1330 30Q1385 -5 1440 30V48Z'/%3E%3C/svg%3E");--edge-zig:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 20'%3E%3Cpath d='M0 20V12L20 0L40 12V20Z'/%3E%3C/svg%3E");--edge-scallop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 20'%3E%3Cpath d='M0 20V12A30 12 0 0 1 60 12V20Z'/%3E%3C/svg%3E");--edge-scallop-s:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 14'%3E%3Cpath d='M0 14V9A18 9 0 0 1 36 9V14Z'/%3E%3C/svg%3E");--zz:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 12'%3E%3Cpath d='M2 10L10 2L18 10L26 2L34 10L42 2L50 10L58 2' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
/* overgangen: de sectie tekent zijn eigen bovenrand */
.edge{position:relative}
.edge::before{content:"";position:absolute;left:0;right:0;bottom:calc(100% - 1px);height:var(--edge-h,clamp(22px,3.2vw,46px));background:inherit;-webkit-mask:var(--edge-img,var(--edge-wave)) left bottom/100% 100% no-repeat;mask:var(--edge-img,var(--edge-wave)) left bottom/100% 100% no-repeat;pointer-events:none;z-index:1}
.edge--alt{--edge-img:var(--edge-wave2)}
.edge--zig{--edge-h:16px}
.edge--zig::before{-webkit-mask:var(--edge-zig) left bottom/32px 16px repeat-x;mask:var(--edge-zig) left bottom/32px 16px repeat-x}
.edge--scallop{--edge-h:18px}
.edge--scallop::before{-webkit-mask:var(--edge-scallop) left bottom/54px 18px repeat-x;mask:var(--edge-scallop) left bottom/54px 18px repeat-x}
.edge--scallop-s{--edge-h:12px}
.edge--scallop-s::before{-webkit-mask:var(--edge-scallop-s) left bottom/30px 12px repeat-x;mask:var(--edge-scallop-s) left bottom/30px 12px repeat-x}
.edge--canopy{--edge-img:var(--edge-canopy);--edge-h:clamp(26px,3.6vw,50px)}
.site-footer.edge::before{background:var(--sand)}

/* ---------- thema-overzicht: elk thema in zijn eigen kleur ---------- */
.tband{--tb-bg:var(--cream);--tb-ink:var(--ink);--tb-mute:var(--ink-soft);--tb-acc:var(--berry);--tb-acc-ink:#fff;--tb-acc-2:var(--berry-2);--tb-eb:var(--gold);--tb-line:var(--line-2);--tb-card:rgba(255,255,255,.7);--tb-icon:var(--rose);
  position:relative;padding-block:clamp(4.5rem,8vw,6.5rem);background:var(--tb-bg);color:var(--tb-ink);overflow-x:clip}
.tband__deco{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.tband__deco img{position:absolute}
.tband .tline{position:relative;z-index:1}
.tband .eyebrow{color:var(--tb-eb)}
.tband .lead{color:var(--tb-mute)}
.tband__title{display:block;font-size:2.6rem;line-height:1.05;margin:0 0 1rem}
.tband .tline__for{background:var(--tb-card);border:1px solid var(--tb-line)}
.tband .tline__for .ic{color:var(--tb-icon)}
.tband .tline__for b{color:var(--tb-ink)}
.tband .taglist li{border-color:var(--tb-line);color:var(--tb-mute);background:var(--tb-card)}
.tband__btn{background:var(--tb-acc);border-color:var(--tb-acc);color:var(--tb-acc-ink)}
.tband__btn:hover{background:var(--tb-acc-2);border-color:var(--tb-acc-2);color:var(--tb-acc-ink)}
.tband__btn2{color:var(--tb-ink);border-color:var(--tb-line)}
.tband__btn2:hover{background:var(--tb-ink);border-color:var(--tb-ink);color:var(--tb-bg)}
.tline__img{display:grid;place-items:center}
.tframe{width:min(100%,540px)}
.tframe img{width:100%;aspect-ratio:5/4;object-fit:cover;display:block}
@media (min-width:900px){.tband .tline{grid-template-columns:1fr 1fr;gap:5rem}.tband--cheer .tline__img,.tband--girl .tline__img{order:2}}
/* jungle */
.tband--jungle{--tb-bg:#1F4532;--tb-ink:#F6EED6;--tb-mute:#D5DCC6;--tb-acc:#E9C46A;--tb-acc-ink:#1C3A2A;--tb-acc-2:#F2D488;--tb-eb:#E9C46A;--tb-line:rgba(246,238,214,.28);--tb-card:rgba(255,255,255,.07);--tb-icon:#E9C46A}
.tband--jungle .tband__title{color:#E9C46A!important;font-size:2.5rem!important}
.tband--jungle .tframe{padding:12px 12px 44px;background:#FFFDF6;border-radius:3px;transform:rotate(-2deg)}
.tband--jungle .d1{width:clamp(140px,16vw,230px);left:-60px;top:-30px;transform:rotate(160deg);opacity:.5}
.tband--jungle .d2{width:clamp(150px,17vw,250px);right:-70px;bottom:-60px;transform:rotate(-30deg);opacity:.45}
/* cheer */
.tband--cheer{--tb-bg:#FFE6F1;--tb-ink:#3A1430;--tb-mute:#6E4A61;--tb-acc:#D6136F;--tb-acc-2:#B80F5F;--tb-eb:#B80F5F;--tb-line:#F5BCD6;--tb-icon:#D6136F}
.tband--cheer .tband__title{font-size:3rem!important}
.tband--cheer .tframe{padding:14px;background:#D6136F;border-radius:30px}
.tband--cheer .tframe img{border-radius:18px}
.tband--cheer .d1{width:clamp(110px,12vw,160px);right:-30px;top:8%;transform:rotate(-12deg);opacity:.8}
.tband--cheer .d2{width:clamp(80px,9vw,120px);left:-30px;bottom:8%;transform:rotate(20deg);opacity:.6}
/* rainbow */
.tband--rainbow{--tb-bg:#FFF6EA;--tb-ink:#3B2F5C;--tb-mute:#635A7C;--tb-acc:#5B4693;--tb-acc-2:#4A3880;--tb-eb:#7A5BC9;--tb-line:#E4D9F1;--tb-icon:#C2416A}
.tband--rainbow .tband__title{font-size:2.8rem}
.tband--rainbow .tframe{padding:10px;border-radius:34px;background:conic-gradient(from 200deg,#F4A1A8,#F7C08A,#F6E08E,#A8DDB5,#9CC7EE,#C3A9EE,#F4A1A8)}
.tband--rainbow .tframe img{border-radius:26px}
.tband--rainbow .d1{width:min(110vw,1000px);left:50%;bottom:-12%;transform:translateX(-50%);opacity:.18}
.tband--rainbow .d2{width:clamp(120px,13vw,190px);right:4%;top:10%;opacity:.95}
/* girlpower */
.tband--girl{--tb-bg:#FCE6EE;--tb-ink:#4A1030;--tb-mute:#74475D;--tb-acc:#C2185B;--tb-acc-2:#A3124B;--tb-eb:#A3124B;--tb-line:#F1C2D3;--tb-icon:#C2185B}
.tband--girl .tband__title{font-size:1.9rem!important;line-height:1.3!important}
.tband--girl .tframe{width:min(100%,440px);padding:20px;border-radius:999px 999px 26px 26px;background:linear-gradient(160deg,#F1D78E,#CDA55A 55%,#E8C978)}
.tband--girl .tframe img{aspect-ratio:4/4.6;border-radius:999px 999px 12px 12px}
.tband--girl .d1{width:clamp(100px,10vw,140px);right:6%;top:9%;opacity:.8}
.tband--girl .d2{width:clamp(80px,8vw,110px);left:3%;bottom:10%;transform:rotate(-10deg);opacity:.5}
/* boho */
.tband--boho{--tb-bg:#F3EADF;--tb-ink:#4E3324;--tb-mute:#77604F;--tb-acc:#9A5534;--tb-acc-ink:#FFF8EE;--tb-acc-2:#844629;--tb-eb:#9A5534;--tb-line:#DDCAB3;--tb-icon:#9A5534}
.tband--boho .tband__title{color:#5B3A29!important;font-size:3.2rem!important}
.tband--boho .tframe{width:min(100%,440px);padding:10px;border:1.5px solid #B8643F;border-radius:999px 999px 18px 18px}
.tband--boho .tframe img{aspect-ratio:4/4.6;border-radius:999px 999px 10px 10px}
.tband--boho .d1{width:min(80vw,480px);right:-8%;bottom:-10%;opacity:.22}
.tband--boho .d2{width:clamp(60px,6vw,90px);left:2%;bottom:-6px;opacity:.85}
@media (max-width:899px){.tline__txt{order:2}.tband .tline{gap:2.5rem}.tband__deco .d1,.tband__deco .d2{opacity:.25}}

.cta__img--bezorgbus img{object-position:72% 40%}

/* contact */
.contact-grid{display:grid;gap:clamp(2rem,4vw,3rem);align-items:start}
@media (min-width:1000px){.contact-grid{grid-template-columns:1.45fr .85fr}}
.form.fieldset{gap:1.15rem;display:grid}
.form__title{margin-bottom:.25rem}
.opt-l{font-weight:400;color:var(--ink-mute)}
.contact-aside{display:grid;gap:1rem}
.aside-card{padding:clamp(1.4rem,3vw,1.75rem);border-radius:var(--r-lg);background:var(--sand);display:grid;gap:.5rem;justify-items:start}
.aside-card>.ic{width:30px;height:30px;color:var(--rose);margin-bottom:.25rem}
.aside-card p{margin:0;color:var(--ink-soft);font-size:.97rem}
.aside-card .btn,.aside-card .link{margin-top:.5rem}
.aside-card--book{background:var(--blush)}
.contact-card--hero a{word-break:break-word}
:where(.edge){background-color:var(--cream)}

.foot-bottom .credit{color:var(--ink-soft)}
.foot-bottom .credit a{color:var(--ink);font-weight:500;text-decoration:none;transition:color .2s}
.foot-bottom .credit a:hover{color:var(--berry)}

/* ==========================================================================
   v4 — streepjes voor de captions, rustige kaarten zonder stippellijnen,
   minder witruimte, symmetrische rasters, stories met eigen video's
   ========================================================================== */
:root{--sec:clamp(3.25rem,6vw,5rem);--card-line:var(--line)}
.sec--sm{padding-block:clamp(2.5rem,5vw,3.5rem)}
.head{margin-bottom:clamp(1.75rem,3vw,2.5rem);gap:.85rem}
.hero{padding:clamp(2rem,4vw,3.25rem) 0 clamp(3rem,5.5vw,4.5rem)}
.ph{padding:clamp(2rem,4vw,3.25rem) 0 clamp(2.75rem,5vw,4rem)}
.cta{padding-block:clamp(3rem,5.5vw,4.5rem)}
.site-footer{padding-top:clamp(3rem,5vw,4.25rem)}
.foot-bottom{margin-top:2.75rem}
.tlist{gap:clamp(3rem,6vw,4.5rem)}
.tband{padding-block:clamp(3.5rem,6vw,5rem)}
.facts{margin-top:2rem}

/* ---------- caption met een dun streepje (zoals SalonbyFlow en Penthouse Pilar) ---------- */
.eyebrow{display:flex;align-items:center;gap:14px}
.eyebrow::before,.eyebrow::after{content:"";flex:none;width:38px;height:1px;background:currentColor;opacity:.6}
.eyebrow::after{display:none}
.head--split .eyebrow,.head--center .eyebrow,.center .eyebrow,.ph--center .eyebrow,.cta__card--solo .eyebrow,.banner__card .eyebrow,.msg .eyebrow{justify-content:center}
.head--split .eyebrow::after,.head--center .eyebrow::after,.center .eyebrow::after,.ph--center .eyebrow::after,.cta__card--solo .eyebrow::after,.banner__card .eyebrow::after,.msg .eyebrow::after{display:block}
@media (max-width:640px){.banner__card .eyebrow{justify-content:flex-start}.banner__card .eyebrow::after{display:none}}

/* ---------- koppen: symmetrisch ---------- */
.head--split,.head--center{grid-template-columns:1fr!important;text-align:center;justify-items:center}
.head--split .lead,.head--center .lead{justify-self:center;margin-inline:auto;max-width:60ch}
.head .h2{max-width:22ch;margin-inline:auto}
.head:not(.head--split):not(.head--center) .h2{margin-inline:0}
.h2{font-size:clamp(2rem,3.8vw,3.15rem);line-height:1.06}
.h2 em,.h3 em{font-style:italic;color:var(--berry)}
body[class*="theme-"] main .h2 em{color:inherit}

/* ---------- foto's: afgerond met een zacht vlak erachter ---------- */
.photo-offset{position:relative;isolation:isolate;padding:0 18px 18px 0}
.photo-offset::before{content:"";position:absolute;inset:18px 0 0 18px;border-radius:calc(var(--r-lg) + 2px);background:var(--blush);z-index:-1}
.sec--blush .photo-offset::before,.ph--blush .photo-offset::before{background:var(--blush-2)}
.sec--sand .photo-offset::before{background:var(--blush)}
.hero__photo img{aspect-ratio:1/1.04;border-radius:var(--r-lg)}
.teamphoto figcaption{position:static;margin-top:1rem;padding:0;background:none;text-align:center}
.snap{margin:0 auto;width:100%;max-width:420px;padding:12px 12px 0;background:#fff;border-radius:6px;box-shadow:0 1px 0 var(--line-2),0 18px 34px -18px rgba(43,33,64,.24);rotate:-1.5deg}
.snap .img{border-radius:3px}
.snap .img img{aspect-ratio:4/5}
.snap figcaption{margin:0!important;padding:.85rem 0 1rem;text-align:center;font:400 1.4rem/1 var(--f-hand);color:var(--berry)}

/* ---------- zo werkt het: vier gelijke kaarten (zonder verbindingslijn) ---------- */
.timeline{position:relative;gap:2.25rem 1.25rem;padding-top:24px}
.timeline li{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.5rem 1.35rem 1.6rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--card-line)}
.timeline__n{position:absolute;left:50%;top:0;translate:-50% -50%;margin:0!important}
.timeline__n::before{background:var(--paper);width:48px;height:48px;border:1.5px solid var(--rose);font-size:1.35rem}
.timeline__n::after{display:none}
.timeline h3{font-size:1.35rem}

/* ---------- pakketten: twee gelijke kaarten ---------- */
.packs{border:0;background:transparent;overflow:visible;gap:clamp(1rem,2vw,1.5rem)}
.packs .pack{background:var(--paper);border-radius:var(--r-lg);border:1px solid var(--card-line)!important}
.pack{padding:clamp(2rem,3.5vw,2.75rem)}

/* ---------- recensies: drie gelijke kaarten ---------- */
.reviews{display:grid;gap:clamp(1rem,2vw,1.5rem);list-style:none;margin:0;padding:0}
@media (min-width:900px){.reviews{grid-template-columns:repeat(3,1fr)}}
@media (min-width:600px) and (max-width:899px){.reviews{grid-template-columns:1fr 1fr}.reviews>:last-child:nth-child(odd){grid-column:1/-1}}
.reviews>li{display:flex}
.rcard{flex:1;display:flex;flex-direction:column;margin:0;padding:clamp(1.6rem,3vw,2.1rem);border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--card-line)}
.rcard__q{display:block;height:2.4rem;font:400 4.6rem/1 var(--f-display);color:var(--rose)}
.rcard blockquote{margin:0 0 1.5rem;font:400 italic 1.16rem/1.55 var(--f-display);color:var(--ink)}
.rcard .q-by{margin-top:auto;padding-top:1.1rem;border-top:1px solid var(--line);flex-wrap:wrap}
.reviews__more{display:flex;justify-content:center;margin-top:clamp(1.5rem,3vw,2.25rem)}
.reviews__more .btn .ic{color:#D4A23A}

/* ---------- extra's op de home: vier gelijke kaarten ---------- */
.xcards{display:grid;gap:clamp(1rem,2vw,1.5rem);list-style:none;margin:0;padding:0}
@media (min-width:1040px){.xcards{grid-template-columns:repeat(4,1fr)}}
@media (min-width:540px) and (max-width:1039px){.xcards{grid-template-columns:1fr 1fr}}
.xcards>li{display:flex}
.xcard{flex:1;display:flex;flex-direction:column;padding:10px 10px 1.4rem;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--card-line);text-decoration:none;color:var(--ink);transition:border-color .2s}
.xcard:hover{border-color:var(--rose)}
.xcard__img{border-radius:calc(var(--r-lg) - 8px);overflow:hidden;background:var(--sand)}
.xcard__img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.xcard h3{font:400 1.45rem/1.15 var(--f-display);margin:1.1rem .75rem .35rem}
.xcard p{margin:0 .75rem 1rem;color:var(--ink-soft);font-size:.96rem;line-height:1.55}
.xcard__price{margin:auto .75rem 0;align-self:flex-start;display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem;border-radius:999px;background:var(--blush);color:var(--berry);font-weight:500;font-size:.92rem}
.xcard__price--free{background:#E9F2E4;color:#3F6B3A}
.xcard__price .ic{width:18px;height:18px}
.xnote{display:flex;justify-content:center;align-items:center;gap:.6rem;margin:1.5rem auto 0;color:var(--ink-soft);font-size:.97rem;text-align:center}
.xnote .ic{color:var(--rose);flex:none}

/* ---------- rekenvoorbeelden als bonnetjes ---------- */
.receipts{display:grid;gap:clamp(1.5rem,3vw,2.25rem);list-style:none;margin:0;padding:0 0 10px;align-items:stretch}
@media (min-width:860px){.receipts{grid-template-columns:repeat(3,1fr)}}
@media (max-width:859px){.receipts{max-width:440px;margin-inline:auto}}
.receipt{position:relative;display:flex;flex-direction:column;padding:1.6rem 1.5rem 1.5rem;background:var(--paper);border-radius:var(--r-sm) var(--r-sm) 0 0;filter:drop-shadow(0 1px 0 var(--line-2)) drop-shadow(0 12px 16px rgba(43,33,64,.05))}
.receipt::after{content:"";position:absolute;left:0;right:0;top:100%;height:9px;background:conic-gradient(from -45deg at 50% 100%,var(--paper) 90deg,transparent 0) 0 0/18px 9px repeat-x}
.receipt__shop{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:0 0 1rem;font:600 .72rem/1 var(--f-body);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-mute)}
.receipt__t{font:400 1.55rem/1.15 var(--f-display);text-align:center;margin:0}
.receipt__s{margin:.35rem 0 0;text-align:center;color:var(--ink-soft);font-size:.94rem}
.receipt__lines{flex:1;align-content:start;margin:1.25rem 0 0;padding:1rem 0;border-block:1px solid var(--line);display:grid;gap:.6rem;font-size:.95rem;font-variant-numeric:tabular-nums}
.receipt__lines div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.receipt__lines dt{color:var(--ink-soft)}
.receipt__lines i{display:none}
.receipt__lines dd{margin:0;white-space:nowrap;color:var(--ink)}
.receipt__total{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:1rem}
.receipt__total span{font-weight:500}
.receipt__total strong{font:400 2.2rem/1 var(--f-display);color:var(--berry);font-variant-numeric:tabular-nums}
.receipt__note{margin:.6rem 0 0;font-size:.84rem;color:var(--ink-mute);text-align:right}
.receipts-foot{margin:1.5rem auto 0;text-align:center;color:var(--ink-soft);font-size:.95rem;max-width:60ch}

/* ---------- prijslijst extra's (één kolom, gecentreerd) ---------- */
.pricelist{max-width:760px;margin-inline:auto;grid-template-columns:minmax(0,1fr)!important}
.pricelist li{display:grid;grid-template-columns:minmax(0,auto) 1fr minmax(0,auto);align-items:baseline;column-gap:.9rem}
.pricelist li i{border-bottom:1px solid var(--line);transform:translateY(-5px)}
.pricelist li a span:last-child{white-space:normal;max-width:none;text-align:left;color:var(--ink)}
.pricelist li>span:last-child{max-width:none;text-align:right;white-space:nowrap}
@media (max-width:600px){.pricelist li{grid-template-columns:minmax(0,1fr) auto}.pricelist li i{display:none}.pricelist li>span:last-child{white-space:normal;max-width:10.5rem}}

/* ---------- CTA ---------- */
.cta__card:not(.cta__card--solo) .cta__img{margin:12px 12px 12px 0;border-radius:calc(var(--r-lg) - 8px);overflow:hidden}
@media (max-width:899px){.cta__card:not(.cta__card--solo) .cta__img{margin:0 12px 12px}}

/* ---------- thema-overzicht: geen boogvormen ---------- */
.tband--girl .tframe{border-radius:30px;padding:18px}
.tband--girl .tframe img{aspect-ratio:4/4.7;border-radius:16px}
.tband--boho .tframe{border-radius:150px 18px 150px 18px;padding:10px}
.tband--boho .tframe img{aspect-ratio:4/4.7;border-radius:140px 10px 140px 10px}

/* ---------- Over ons: Deluxe-kaart ---------- */
.deluxe-card{padding:clamp(2rem,4vw,3rem) clamp(1.5rem,4vw,3.5rem);border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--card-line)}
.deluxe-card__ic{display:grid;place-items:center;width:56px;height:56px;margin:0 auto 1.1rem;border-radius:50%;background:var(--blush);color:var(--berry)}
.deluxe-card__ic .ic{width:28px;height:28px}
.deluxe-card .muted{max-width:58ch;margin-inline:auto}

/* ---------- extra's-pagina: drie gelijke kaarten ---------- */
.products{grid-template-columns:1fr!important}
@media (min-width:900px){.products{grid-template-columns:repeat(3,1fr)!important}.products .product{grid-template-columns:1fr!important;align-items:start;align-content:start}.product .img img{aspect-ratio:4/3}}
.product{padding:10px 10px 1.5rem;border:1px solid var(--card-line);gap:1.1rem}
.product__b{padding:0 .75rem}
.product .img{border-radius:calc(var(--r-lg) - 8px)}
.product__links{display:flex;flex-wrap:wrap;gap:.6rem 1.25rem}
@media (min-width:600px) and (max-width:899px){.product{grid-template-columns:38% 1fr!important;align-items:center;padding:10px}}
.jump{gap:.4rem}
.jump a{height:38px;padding:0 .9rem;font-size:.93rem}

/* ---------- gratis uitnodigingen ---------- */
.invites{display:grid;gap:clamp(1rem,2vw,1.5rem);list-style:none;margin:0;padding:0}
@media (min-width:600px){.invites{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.invites{grid-template-columns:repeat(3,1fr)}}
.invite-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 10px 1.5rem;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--card-line)}
.invite-card__img{display:block;width:100%;border-radius:calc(var(--r-lg) - 8px);overflow:hidden;background:var(--sand)}
.invite-card__img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.invite-card__t{display:flex;align-items:center;justify-content:center;min-height:2.6rem;margin:1rem 0 .2rem;font:400 1.5rem/1.1 var(--f-display)}
.invite-card__t.font-jungle{font-size:1.2rem!important}.invite-card__t.font-cheer{font-size:1.6rem!important}.invite-card__t.font-rainbow{font-size:1.35rem}.invite-card__t.font-girl{font-size:.9rem!important}.invite-card__t.font-boho{font-size:1.75rem!important}
.invite-card p{margin:0 1rem 1.1rem;color:var(--ink-soft);font-size:.94rem}
.invite-card .btn{margin-top:auto}
.isteps{display:grid;gap:1rem 1.5rem;list-style:none;margin:clamp(1.75rem,3vw,2.5rem) 0 0;padding:0}
@media (min-width:860px){.isteps{grid-template-columns:repeat(3,1fr)}}
.isteps li{display:flex;gap:1rem;align-items:flex-start;padding:1.1rem 1.25rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--card-line)}
.isteps li>span{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--blush);color:var(--berry)}
.isteps h3{font:600 1rem/1.3 var(--f-body);margin:.15rem 0 .2rem}
.isteps p{margin:0;font-size:.93rem;color:var(--ink-soft)}
.tinvite{display:grid;gap:1.5rem 3rem;align-items:center;margin-top:clamp(1.5rem,3vw,2.25rem);padding:clamp(1.25rem,3vw,2rem);border-radius:var(--r-lg);background:var(--t-card,var(--paper));border:1px solid var(--t-line,var(--card-line))}
@media (min-width:860px){.tinvite{grid-template-columns:380px 1fr}}
.tinvite__img{display:block;border-radius:calc(var(--r-lg) - 8px);overflow:hidden}
.tinvite__img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tinvite .h3{margin:0 0 .6rem}
.tinvite .muted{margin:0 0 1.25rem;max-width:52ch}
.btns--inline{align-items:center;gap:.75rem 1.5rem}
.reviews__more .btn,.slaunch .btn,.tinvite .btn{white-space:normal;height:auto;min-height:52px;padding-block:.75rem;text-align:center}

/* ---------- boekingsformulier ---------- */
.opt--link{text-decoration:none;color:inherit}
.opt--link:hover .opt__box{border-color:var(--berry)}
.pickup{display:flex;gap:.75rem;align-items:center;padding:1rem 1.15rem;border-radius:var(--r-sm);background:var(--sand);color:var(--ink-soft);font-size:.95rem;line-height:1.5}
.pickup .ic{flex:none;color:var(--rose)}
.pickup b{color:var(--ink);font-weight:500}
.field .select,.field .input{width:100%}

/* ---------- werkgebied: zones ---------- */
.zones{display:grid;gap:clamp(1rem,2vw,1.5rem);list-style:none;margin:0;padding:0}
@media (min-width:900px){.zones{grid-template-columns:repeat(3,1fr)}}
.zone{display:flex;flex-direction:column;padding:clamp(1.5rem,2.6vw,2rem);border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--card-line)}
.zone__head{display:flex;align-items:center;gap:.9rem;padding-bottom:1.1rem;margin-bottom:1.1rem;border-bottom:1px solid var(--line)}
.zone__ic{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--blush);color:var(--berry)}
.zone__ic .ic{width:24px;height:24px}
.zone h3{font:400 1.45rem/1.15 var(--f-display);margin:0}
.zone__head p{margin:.15rem 0 0;font-size:.9rem;color:var(--ink-soft)}
.zone__towns{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;margin:0 0 1.25rem;padding:0}
.zone__towns a,.zone__towns span,.zone__towns em{display:inline-flex;align-items:center;height:34px;padding:0 .8rem;border-radius:999px;font-size:.92rem;text-decoration:none}
.zone__towns a{background:var(--blush);color:var(--berry);font-weight:500;transition:background-color .2s}
.zone__towns a:hover{background:var(--blush-2)}
.zone__towns span{border:1px solid var(--line-2);color:var(--ink-soft)}
.zone__towns em{color:var(--ink-mute);padding-left:.25rem}
.zone__cost{display:flex;align-items:center;gap:.5rem;margin:auto 0 0;font-size:.92rem;font-weight:500;color:var(--ink)}
.zone__cost .ic{color:var(--rose);width:22px;height:22px}
.placelinks{grid-template-columns:repeat(2,minmax(0,1fr))!important}

/* ---------- werkgebied: bezorgkosten als formule + tegels ---------- */
.fbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.7rem;margin:0 auto;font:400 clamp(1.3rem,2.4vw,1.7rem)/1.2 var(--f-display);color:var(--ink)}
.fbar span{padding:.4rem 1rem;border-radius:12px;background:var(--paper);border:1px solid var(--card-line)}
.fbar b{font-weight:400;color:var(--rose)}
.fbar strong{padding:.4rem 1rem;border-radius:12px;background:var(--berry);color:#fff;font-weight:400}
.fnote{margin:1rem auto 0;max-width:62ch;text-align:center;color:var(--ink-soft);font-size:.97rem}
.ktiles{display:grid;gap:.75rem;list-style:none;margin:clamp(1.75rem,3vw,2.5rem) 0 0;padding:0;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:700px){.ktiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1000px){.ktiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ktile{display:flex;flex-direction:column;gap:.15rem;height:100%;padding:1.05rem 1.2rem;border-radius:var(--r);background:var(--paper);border:1px solid var(--card-line);text-decoration:none;color:var(--ink);transition:border-color .2s}
a.ktile:hover{border-color:var(--rose)}
.ktile b{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-weight:500;font-size:1rem}
a.ktile b{color:var(--berry)}
.ktile b .ic{width:18px;height:18px;color:var(--rose);flex:none}
.ktile span{font-size:.9rem;color:var(--ink-soft)}
.ktile strong{margin-top:.35rem;font:400 1.45rem/1 var(--f-display);font-variant-numeric:tabular-nums}
.ktile--any{background:var(--blush);border-color:var(--blush)}
.ktile--any strong{font-size:1.15rem;color:var(--berry)}
.kfoot{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.5rem;margin-top:1.5rem;font-size:.95rem;color:var(--ink-soft)}

/* ==========================================================================
   Video's van Instagram — rondjes, videokaarten en de viewer
   ========================================================================== */
.sbub{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 1.15rem;list-style:none;margin:0;padding:0}
.sbub__b{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.55rem;width:96px;text-align:center}
.sbub__ring{display:block;width:88px;height:88px;padding:3px;border-radius:50%;background:conic-gradient(from 200deg,#E3878C,#E4C27A,#C2185B,#B8365F,#E3878C)}
.sbub__ring img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--cream);background:var(--sand)}
.sbub__l{font-size:.88rem;font-weight:500;line-height:1.2;color:var(--ink);white-space:nowrap}
.sbub__b:hover .sbub__l{color:var(--berry)}
.sbub__b:focus-visible .sbub__ring{outline:2px solid var(--berry);outline-offset:3px}
.sbub__b.is-seen .sbub__ring{background:var(--line-2)}
@media (max-width:820px){
  .sbub{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding:4px var(--gutter) 6px;scroll-padding-inline:var(--gutter)}
  .sbub::-webkit-scrollbar{display:none}
  .sbub li{flex:none}
  .sbub__b{width:80px}.sbub__ring{width:74px;height:74px}.sbub__l{font-size:.8rem}
}
.reels{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.75rem,1.6vw,1.25rem);list-style:none;margin:clamp(1.75rem,3vw,2.5rem) 0 0;padding:0}
@media (max-width:860px){.reels{grid-template-columns:repeat(2,1fr)}}
.reel{all:unset;box-sizing:border-box;cursor:pointer;position:relative;display:block;width:100%;aspect-ratio:9/16;border-radius:var(--r-lg);overflow:hidden;background:var(--sand);isolation:isolate}
.reel img{width:100%;height:100%;object-fit:cover}
.reel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,20,44,0) 50%,rgba(28,20,44,.72));z-index:0}
.reel__play{position:absolute;left:50%;top:50%;translate:-50% -50%;z-index:1;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--berry);transition:background-color .2s}
.reel__play .ic{width:30px;height:30px;margin-left:3px}
.reel:hover .reel__play{background:#fff}
.reel:focus-visible{outline:2px solid var(--berry);outline-offset:3px}
.reel__cap{position:absolute;left:1.1rem;right:1.1rem;bottom:1rem;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;color:#fff;font-weight:500;font-size:.98rem;line-height:1.3;text-align:left}
.reel__cap small{flex:none;padding:.15rem .5rem;border-radius:999px;background:rgba(0,0,0,.35);font-size:.8rem;font-variant-numeric:tabular-nums}
@media (max-width:820px){.reel__cap{left:.85rem;right:.85rem;bottom:.8rem;font-size:.86rem}.reel__play{width:50px;height:50px}}
.slaunch{display:grid;gap:1.5rem 3rem;align-items:center;margin:0 auto clamp(2rem,4vw,3rem);max-width:920px;padding:clamp(1.5rem,3.5vw,2.5rem);border-radius:var(--r-lg);background:var(--t-card,var(--paper));border:1px solid var(--t-line,var(--card-line))}
@media (min-width:760px){.slaunch{grid-template-columns:auto 1fr}}
.slaunch__fan{all:unset;cursor:pointer;position:relative;display:block;justify-self:center;width:250px;height:250px}
.slaunch__p{position:absolute;top:8px;width:128px;aspect-ratio:9/16;border-radius:14px;overflow:hidden;border:4px solid #fff;box-shadow:0 12px 24px -14px rgba(43,33,64,.45);background:var(--sand)}
.slaunch__p img{width:100%;height:100%;object-fit:cover}
.slaunch__p:nth-child(1){left:6px;rotate:-8deg;top:20px}
.slaunch__p:nth-child(2){left:61px;z-index:2}
.slaunch__p:nth-child(3){left:116px;rotate:8deg;top:20px}
.slaunch__play{position:absolute;left:50%;top:50%;translate:-50% -36%;z-index:3;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--t-accent,var(--berry));color:var(--t-accent-ink,#fff);box-shadow:0 8px 18px -8px rgba(0,0,0,.4)}
.slaunch__play .ic{width:30px;height:30px;margin-left:3px}
.slaunch__fan:focus-visible .slaunch__play{outline:2px solid var(--ink);outline-offset:3px}
.slaunch__txt .h3{margin:0 0 .5rem}
.slaunch__txt .muted{margin:0 0 1.25rem;max-width:44ch}
@media (max-width:759px){.slaunch{text-align:center}.slaunch__txt .eyebrow{justify-content:center}.slaunch__txt .eyebrow::after{display:block}.slaunch__txt .muted{margin-inline:auto}}
/* viewer */
html.sv-open{overflow:hidden}
.sv{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#fff;overflow:hidden}
.sv::backdrop{background:rgba(20,15,34,.94)}
.sv__stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:clamp(.75rem,2vw,1.5rem)}
.sv__frame{position:relative;height:min(92vh,880px);height:min(92dvh,880px);aspect-ratio:9/16;max-width:100vw;border-radius:16px;overflow:hidden;background:#000;outline:0;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.sv__media,.sv__media img,.sv__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sv__media video{background:#000}
.sv__shade{position:absolute;inset:0 0 auto;height:120px;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,0));pointer-events:none;z-index:1}
.sv__bars{position:absolute;left:10px;right:10px;top:10px;z-index:3;display:flex;gap:4px}
.sv__bars span{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}
.sv__bars i{display:block;height:100%;background:#fff;transform-origin:left center;transform:scaleX(0)}
.sv__top{position:absolute;left:12px;right:6px;top:22px;z-index:4;display:flex;align-items:center;gap:.6rem}
.sv__av{flex:none;width:38px;height:38px;border-radius:50%;padding:2px;background:conic-gradient(from 200deg,#E3878C,#E4C27A,#C2185B,#E3878C)}
.sv__av img{width:100%;height:100%;border-radius:50%;background:#fff;object-fit:contain}
.sv__who{flex:1;min-width:0;display:flex;align-items:baseline;gap:.5rem;font-size:.92rem;line-height:1.2;text-shadow:0 1px 4px rgba(0,0,0,.35);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sv__who b{font-weight:600}
.sv__title{opacity:.85}
.sv__btn{flex:none;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.sv__btn:hover{background:rgba(255,255,255,.14)}
.sv__btn .ic{width:26px;height:26px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.35))}
.sv .ic-play,.sv.is-paused .ic-pause,.sv .ic-off,.sv.is-muted .ic-on{display:none}
.sv.is-paused .ic-play,.sv.is-muted .ic-off{display:block}
.sv:not(.is-video) .sv__mute{visibility:hidden}
.sv__tap{position:absolute;top:80px;bottom:70px;z-index:2;padding:0;border:0;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent}
.sv__tap--prev{left:0;width:34%}.sv__tap--next{right:0;width:66%}
.sv__tap:focus-visible{outline:2px solid #fff;outline-offset:-6px}
.sv__ig{position:absolute;left:50%;bottom:16px;translate:-50% 0;z-index:3;display:inline-flex;align-items:center;gap:.45rem;padding:.55rem 1rem;border-radius:999px;background:rgba(0,0,0,.42);color:#fff;font-size:.88rem;font-weight:500;text-decoration:none;white-space:nowrap;backdrop-filter:blur(6px)}
.sv__ig svg{width:18px;height:18px;fill:currentColor}
.sv__ig:hover{background:rgba(0,0,0,.6)}
.sv__nav{flex:none;display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);cursor:pointer}
.sv__nav .ic{width:28px;height:28px}
.sv__nav:hover{background:#fff}
@media (max-width:640px){
  .sv__stage{gap:0}
  .sv__nav{display:none}
  .sv__frame{height:100%;width:100%;aspect-ratio:auto;border-radius:0}
  .sv__bars{top:max(10px,env(safe-area-inset-top))}
  .sv__top{top:calc(max(10px,env(safe-area-inset-top)) + 12px)}
  .sv__ig{bottom:max(16px,env(safe-area-inset-bottom))}
}

/* ---------- kleine telefoon-optimalisaties ---------- */
@media (max-width:539px){.xcard__img img,.invite-card__img img{aspect-ratio:16/10}}
.select{appearance:none;-webkit-appearance:none;padding-right:2.75rem;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23B8365F' d='M480-373.85q-7.23 0-13.46-2.3-6.23-2.31-11.85-7.93L274.92-563.85q-8.3-8.3-8.5-20.88-.19-12.58 8.5-21.27 8.7-8.69 21.08-8.69 12.38 0 21.08 8.69L480-442.77l162.92-162.92q8.31-8.31 20.89-8.5 12.57-.19 21.27 8.5 8.69 8.69 8.69 21.08 0 12.38-8.69 21.07L505.31-384.08q-5.62 5.62-11.85 7.93-6.23 2.3-13.46 2.3Z'/%3E%3C/svg%3E") no-repeat right .9rem center/22px 22px;cursor:pointer}
.eyebrow{align-items:flex-start;line-height:1.35}
.eyebrow::before,.eyebrow::after{margin-top:.62em}
@media (max-width:600px){
  .fbar{gap:.35rem;font-size:1.05rem}
  .fbar span,.fbar strong{padding:.3rem .6rem;border-radius:10px}
}
@media (max-width:519px){
  .ktiles{grid-template-columns:1fr;gap:.5rem}
  .ktile{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:1rem;padding:.85rem 1.1rem}
  .ktile b{grid-column:1;justify-content:flex-start}
  .ktile b .ic{display:none}
  .ktile span{grid-column:1}
  .ktile strong{grid-column:2;grid-row:1 / span 2;margin:0;font-size:1.3rem}
  .ktile--any strong{font-size:1rem}
}

/* ---------- infobalk boven de header (in de knopkleur) ---------- */
.topbar{background:var(--t-topbar,var(--blush));color:var(--ink);font-size:.86rem;line-height:1.3}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:40px}
.topbar p{margin:0;display:flex;align-items:center;gap:.45rem}
.topbar .ic{width:18px;height:18px;color:var(--t-accent,var(--berry))}
.topbar ul{display:flex;align-items:center;gap:1.5rem;list-style:none;margin:0;padding:0}
.topbar a{display:inline-flex;align-items:center;gap:.45rem;color:inherit;text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:border-color .2s}
.topbar a:hover{border-color:currentColor}
.topbar a svg{width:16px;height:16px;fill:var(--t-accent,var(--berry));flex:none}
.topbar a:hover{color:var(--t-accent,var(--berry))}
@media (max-width:760px){.topbar p,.topbar .tb-ig{display:none}.topbar__in{justify-content:center}}
.sw--jungle{background:#1F4532}.sw--cheer{background:#D6136F}.sw--rainbow{background:linear-gradient(90deg,#E8768A,#F2A05A,#D8B23E,#6DBE8A,#5E9FE0,#9C7FE0)}.sw--girl{background:#C2185B}.sw--boho{background:#9A5534}
.sw--mix{background:conic-gradient(#1F4532,#D6136F,#5B4693,#C2185B,#9A5534,#1F4532)}
/* plaatsen als nette chips (geen afgebroken namen) */
.placelinks{display:flex!important;flex-wrap:wrap;gap:.5rem}
.placelinks li{display:block}
.placelinks a{display:inline-flex;align-items:center;gap:.4rem;height:38px;padding:0 .95rem;border:1px solid var(--line-2);border-radius:999px;background:var(--paper);font-size:.94rem;white-space:nowrap}
.placelinks a:hover{border-color:var(--rose)}
.placelinks .ic{width:16px;height:16px}
@media (max-width:1080px){.nav{top:var(--nav-top,var(--header-h))}}

/* ---------- v5: dropdown onder Thema's (alleen desktop; op mobiel staan de thema's al in het menu) ---------- */
.has-dd{position:relative}
.nav__list .dd-link{display:flex;align-items:flex-start;gap:.2rem;padding:.4rem 0 0;border-bottom:0}
.dd-link>span{display:block;padding-bottom:.4rem;border-bottom:1.5px solid transparent;transition:border-color .2s}
.nav__list .dd-link[aria-current="page"]>span{border-color:currentColor}
.dd-chev{display:grid;place-items:center;height:1.2em;font-style:normal;color:var(--ink-mute);transition:color .2s}
.dd-chev .ic{width:18px;height:18px;transition:rotate .2s}
.dd-link:hover .dd-chev,.dd-link[aria-current="page"] .dd-chev{color:currentColor}
.dd{display:none;position:absolute;z-index:70;top:calc(50% + var(--header-h)/2 + 10px);left:-1.15rem;width:350px;padding:.55rem;border-radius:20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 26px 50px -26px rgba(43,33,64,.32);animation:ddIn .16s ease-out}
.has-dd:hover::after,.has-dd:focus-within::after,.has-dd.is-open::after{content:"";position:absolute;z-index:69;left:-1.15rem;width:350px;top:100%;height:calc(var(--header-h)/2 + 12px - 50%)}
@keyframes ddIn{from{opacity:0}}
@media (prefers-reduced-motion:reduce){.dd{animation:none}}
.has-dd:hover .dd,.has-dd:focus-within .dd,.has-dd.is-open .dd{display:block}
.has-dd:hover .dd-chev .ic,.has-dd:focus-within .dd-chev .ic,.has-dd.is-open .dd-chev .ic{rotate:180deg}
.has-dd.is-shut .dd{display:none}
@media (hover:none){.has-dd:hover:not(.is-open):not(:focus-within) .dd{display:none}}
.dd__list{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.nav__list .dd__list a{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:.95rem;padding:.5rem;border:0;border-radius:14px;color:var(--ink);transition:background-color .2s}
.nav__list .dd__list a:hover,.nav__list .dd__list a.is-current{background:var(--sand);color:var(--ink)}
.dd__img{display:block;width:56px;height:56px;border-radius:12px;overflow:hidden;background:var(--sand)}
.dd__img img{width:100%;height:100%;object-fit:cover}
.dd__txt{display:grid;gap:.2rem;min-width:0}
.dd__txt b{font:500 1rem/1.2 var(--f-body)}
.dd__txt small{font-size:.84rem;line-height:1.3;color:var(--ink-soft)}
.nav__list .dd__all{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.4rem .5rem 0;padding:.85rem 0 .45rem;border:0;border-top:1px solid var(--line);font:500 .95rem/1.2 var(--f-body);color:var(--berry)}
.nav__list .dd__all:hover{color:var(--berry-2)}
.dd__all .ic{width:20px;height:20px;transition:translate .2s}
.dd__all:hover .ic{translate:3px 0}
body[class*="theme-"] .nav__list .dd__all{color:var(--t-accent)}
@media (max-width:1080px){.dd,.dd-chev{display:none!important}.nav__list .dd-link{display:block;padding:1rem 0;border-bottom:1px solid var(--line)}.dd-link>span{padding:0;border:0}}

/* ---------- v5: wat in beide pakketten zit, symmetrisch ---------- */
.same{display:block;padding:clamp(1.5rem,3vw,2.1rem) clamp(1rem,3vw,2rem) clamp(1.25rem,2.5vw,1.6rem);border-radius:var(--r);background:var(--sand);text-align:center}
.same .same__label{justify-content:center;margin:0 0 clamp(1.25rem,2.5vw,1.6rem)}
.same .same__label::after{display:block}
.same__list{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem .75rem;list-style:none;margin:0;padding:0;font-size:.95rem;font-weight:500;color:var(--ink)}
@media (min-width:560px){.same__list{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.same__list{grid-template-columns:repeat(6,1fr)}}
.same__list li{display:flex;flex-direction:column;align-items:center;gap:.6rem;line-height:1.25}
.same__ic{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--paper);color:var(--berry)}
.same__ic .ic{width:24px;height:24px;color:inherit}
.same__note{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:clamp(1.25rem,2.5vw,1.6rem) 0 0;padding-top:1.1rem;border-top:1px solid var(--line-2);font-size:.92rem;color:var(--ink-soft)}
.same__note .ic{flex:none;width:20px;height:20px;color:var(--berry)}
@media (max-width:559px){.same__note{flex-direction:column;gap:.45rem;text-align:center;text-wrap:balance}.same .same__label{gap:10px}.same .same__label::before,.same .same__label::after{width:18px}}
@media (max-width:379px){.same .same__label{letter-spacing:.1em}}
/* v5: launcher met twee video's (Cheerleader) symmetrisch */
.slaunch__fan--2 .slaunch__p:nth-child(1){left:28px;top:16px;rotate:-6deg;z-index:1}
.slaunch__fan--2 .slaunch__p:nth-child(2){left:94px;top:16px;rotate:6deg;z-index:2}
.slaunch__fan--2 .slaunch__play{translate:-50% -40%}
.nw{white-space:nowrap}
@media (min-width:960px){.faqnav span{white-space:nowrap}}
.faqnav li{display:flex}.faqnav a{flex:1}
@media (max-width:479px){.faqnav ol{grid-template-columns:1fr}.faqnav small{display:inline}}
/* v5: 'ook in de buurt' gecentreerd, zodat de plaatsen netjes in het midden uitlijnen */
.nearby{max-width:900px;text-align:center}
.nearby .eyebrow{justify-content:center}.nearby .eyebrow::after{display:block}
.nearby .h3{margin:0 0 .4rem}
.nearby .muted{margin:0 auto}
.nearby .placelinks{justify-content:center;margin-top:1.5rem}

/* ---- v6: Schijndel-pagina, tips-pagina */
ul.ways{list-style:none;margin:1.75rem 0 0}
ul.ways .ways__item:last-child{border-bottom:0;padding-bottom:0}
.ways__item h3{margin:.35rem 0 .3rem}
.sec--sand .addr{background:var(--paper)}
.buren{list-style:none;margin:0;padding:0;display:grid;gap:1.25rem}
@media (min-width:900px){.buren{grid-template-columns:repeat(3,1fr);gap:1.5rem}}
.buur{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(1.75rem,3vw,2.25rem) clamp(1.25rem,2.5vw,1.75rem);border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--blush-2)}
.buur__ic .ic{display:block;width:52px;height:52px;padding:13px;border-radius:50%;background:var(--blush);color:var(--berry)}
.buur .h3{margin:1rem 0 .25rem}
.buur__dist{margin:0;font-size:.92rem;color:var(--ink-mute)}
.buur__txt{margin:1rem 0 1.4rem;color:var(--ink-soft);font-size:.97rem;max-width:34ch}
.buur__cost{display:inline-flex;align-items:center;gap:.45rem;margin:auto 0 1.1rem;padding:.4rem .95rem;border-radius:999px;background:var(--sand);font-size:.9rem;font-weight:500;color:var(--ink)}
.buur__cost .ic{width:20px;height:20px;color:var(--rose)}
.gteaser{display:grid;gap:1.1rem;justify-items:center;text-align:center;margin-top:clamp(2.5rem,5vw,3.5rem);padding:clamp(1.5rem,3vw,2rem);border-radius:var(--r-lg);background:var(--sand)}
.gteaser__img{display:block;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--blush)}
.gteaser__img img{width:100%;height:100%;object-fit:cover}
.gteaser__txt .eyebrow{justify-content:center;margin-bottom:.6rem}
.gteaser__txt .eyebrow::after{display:block}
.gteaser__txt .h4{margin:0 0 .3rem;font:400 1.5rem/1.2 var(--f-display)}
.gteaser__txt p:last-child{margin:0;color:var(--ink-soft);font-size:.97rem;max-width:52ch}
@media (min-width:760px){.gteaser{grid-template-columns:96px 1fr auto;justify-items:start;text-align:left;align-items:center;gap:1.75rem}.gteaser__txt .eyebrow{justify-content:flex-start}.gteaser__txt .eyebrow::after{display:none}}
.faqgroups .gteaser{margin-top:0}
.ph .doc__date{display:inline-flex;align-items:center;gap:.45rem;background:var(--paper)}
.ph .doc__date .ic{width:18px;height:18px;color:var(--rose)}
.gids{max-width:760px}
.gids .checks{margin:1.25rem 0 1.5rem}
.gids .checks--2{display:grid;gap:.65rem 2rem}
@media (min-width:600px){.gids .checks--2{grid-template-columns:1fr 1fr}}
.gids__fig{margin:1.75rem 0 0}
.r-16-9 img{aspect-ratio:16/9}
.gids__fig figcaption{display:flex;gap:.6rem;align-items:flex-start;margin-top:.9rem;font-size:.95rem;color:var(--ink-soft)}
.gids__fig figcaption .ic{flex:none;width:22px;height:22px;color:var(--rose);margin-top:.1em}
.gids__note{display:flex;gap:.8rem;align-items:flex-start;padding:1.15rem 1.35rem;border-radius:var(--r);background:var(--blush);color:var(--ink-soft);font-size:.97rem}
.gids__note .ic{flex:none;width:24px;height:24px;color:var(--berry);margin-top:.1em}
.plan{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:.75rem}
.plan li{display:grid;grid-template-columns:4.2rem 1fr;gap:.1rem 1rem;margin:0;padding:1rem 1.15rem;border-radius:var(--r-sm);background:var(--paper);border:1px solid var(--line-2)}
.plan time{grid-row:span 2;font:400 1.3rem/1.2 var(--f-display);color:var(--berry);font-variant-numeric:tabular-nums}
.plan b{font-weight:600;line-height:1.35}
.plan span{color:var(--ink-soft);font-size:.95rem;line-height:1.5}
@media (min-width:760px){.plan{grid-template-columns:repeat(3,1fr);gap:1rem}.plan li{grid-template-columns:1fr;align-content:start;padding:1.25rem 1.25rem 1.35rem}.plan time{grid-row:auto;font-size:1.55rem;margin-bottom:.35rem}}
.tideas{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:0}
.tideas>li{display:grid;grid-template-columns:72px 1fr;gap:1.25rem;align-items:center;margin:0;padding:1.15rem 0;border-bottom:1px solid var(--line)}
.tideas>li:first-child{border-top:1px solid var(--line)}
.tideas__img{display:block;width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--sand)}
.tideas__img img{width:100%;height:100%;object-fit:cover}
.prose .tideas h3{margin:0 0 .4rem;line-height:1.1}
.prose .tideas h3 a{text-decoration:none}
.tideas h3 span{font-size:1.5rem;line-height:1.1}
.tideas h3 .font-jungle{font-size:1.3rem!important}
.tideas h3 .font-girl{font-size:1rem!important;line-height:1.3!important}
.tideas h3 .font-boho{font-size:1.75rem!important}
@media (max-width:899px){.grid-2--media-last>.photo-offset:first-child{order:2}}
.tideas ul{margin:0;padding-left:1.1rem;color:var(--ink-soft);font-size:.97rem}
.tideas ul li{margin:.15em 0}
