/* Ome Jan, eerste versie van de site. Beeldtaal van Bernds homepage-opzet: Gabarito, crème, chocoladebruin,
   pasteltjes als markeerstift en korrel over de donkere vlakken. */
:root{
  --creme:#FFFBF2; --vanille:#FBF4D5; --bruin:#4A2B1C; --blauw:#CFE3EE; --roze:#F6D3D8; --oranje:#C4501B;
  --wit:#FFFFFF; --rond:40px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:var(--creme);color:var(--bruin);font-family:'Gabarito',system-ui,sans-serif;font-size:18px;line-height:1.5;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--bruin);outline-offset:3px}
.donker a:focus-visible,.donker button:focus-visible{outline-color:var(--vanille)}
p{margin:0}
h1,h2,h3{margin:0;font-weight:900;letter-spacing:-.055em;line-height:.9}
h1{font-size:clamp(60px,8.4vw,132px);letter-spacing:-.06em;line-height:.88}
h2{font-size:clamp(42px,5.6vw,80px)}
h3{font-size:26px;letter-spacing:-.035em;line-height:1}
.lead{font-size:clamp(19px,1.7vw,24px);line-height:1.4;max-width:820px}
/* korte tekstvlakken: elke zin een eigen regel, en breekt hij toch, dan netjes verdeeld */
.r{display:block;text-wrap:pretty}
.r+.r{margin-top:.15em}
.klein{font-size:15px;line-height:1.45}
.vrij{max-width:1280px;margin:0 auto;padding:0 24px}
.blok{padding:0 16px}
.blok>.binnen{max-width:1312px;margin:0 auto;border-radius:var(--rond);padding:clamp(40px,6vw,80px) clamp(20px,4vw,56px);position:relative;overflow:hidden}
.ruimte{margin-bottom:clamp(64px,8vw,110px)}
.donker{background:var(--bruin);color:var(--vanille)}
.korrel{position:absolute;inset:0;background:url(img/korrel.png) 0 0/200px;mix-blend-mode:overlay;opacity:.22;pointer-events:none}
.boven{position:relative}

/* markeerstift */
.stift{display:inline-block;border-radius:14px;padding:0 .12em .05em;margin:.04em 0}
.stift.blauw{background:var(--blauw);transform:rotate(-2.5deg)}
.stift.roze{background:var(--roze);transform:rotate(2deg)}
.stift.vanille{background:var(--vanille);transform:rotate(-2deg)}
.stift.oranje{background:var(--oranje);color:var(--creme);transform:rotate(3deg)}

/* knoppen en labels */
.knoppen{display:flex;flex-wrap:wrap;gap:12px}
.knop{display:inline-block;font:800 17px/1 'Gabarito',sans-serif;padding:16px 26px;border-radius:999px;text-decoration:none;border:2.5px solid var(--bruin);background:var(--bruin);color:var(--vanille);cursor:pointer}
.knop.lijn{background:transparent;color:var(--bruin)}
.donker .knop{background:var(--vanille);color:var(--bruin);border-color:var(--vanille)}
.donker .knop.lijn{background:transparent;color:var(--vanille)}
.knop.klein{font-size:15px;padding:12px 20px}
.labels{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.label{border:2px solid currentColor;border-radius:999px;padding:4px 14px;font-size:14px;font-weight:800}
.label.vol{background:var(--vanille);color:var(--bruin);border-color:var(--vanille)}

/* menu */
.kop{padding:16px 16px 0}
.kop nav{max-width:1280px;margin:0 auto;padding:8px 10px 8px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;background:var(--wit);border-radius:32px;box-shadow:0 1px 0 rgba(74,43,28,.08)}
.kop .merk img{height:46px;width:auto}
.kop .links{display:flex;flex-wrap:wrap;gap:4px 24px;font-size:16px;font-weight:700}
.kop .links a{text-decoration:none}
.kop .links a[aria-current]{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.kop .acties{display:flex;gap:8px;align-items:center}
@media (max-width:860px){.kop .links{order:3;width:100%;justify-content:center;padding:4px 0 6px}}

/* hero */
.logoblok .binnen{padding:clamp(28px,4vw,48px) clamp(20px,4vw,56px)}
.logoblok .groot{width:min(620px,78%);height:auto;margin:0 auto}
.logoblok .onder{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 40px;margin-top:28px}
.held{display:flex;flex-wrap:wrap;align-items:center;gap:48px;padding-top:56px}
.held .tekst{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:28px}
.stapel{flex:1 1 400px;max-width:520px;height:600px;position:relative;margin:0 auto}
.telefoon{position:absolute;aspect-ratio:9/16;border-radius:26px;overflow:hidden;box-shadow:0 18px 40px rgba(74,43,28,.18)}
.telefoon img,.foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.telefoon::after,.foto::after{content:"";position:absolute;inset:0;background:url(img/korrel.png) 0 0/180px;mix-blend-mode:overlay;opacity:.3}
.telefoon .tag,.foto .tag{position:absolute;z-index:1;left:12px;bottom:12px;background:var(--creme);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800}
.telefoon .tag.top{top:12px;bottom:auto;background:var(--oranje);color:var(--creme)}
.telefoon.video{background:var(--bruin)}
.telefoon iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.t1{left:0;top:70px;width:46%;transform:rotate(-5deg)}
.t2{right:0;top:0;width:46%;transform:rotate(4deg)}
.t3{left:27%;top:150px;width:48%;box-shadow:0 24px 50px rgba(74,43,28,.25)}
@media (max-width:560px){.stapel{height:470px}}

/* sectiekop met uitleg ernaast */
.sectiekop{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 40px;margin-bottom:36px}
.sectiekop p{max-width:560px}

/* droombeeld */
.droom{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px 64px;align-items:start}
.droom .sticker{display:inline-block;background:var(--roze);border-radius:999px;padding:10px 20px;font-weight:900;font-size:22px;letter-spacing:-.02em;transform:rotate(-3deg);margin:20px 0}
.droom .lijstje{display:flex;flex-direction:column;gap:14px;font-size:20px}
@media (max-width:800px){.droom{grid-template-columns:1fr}}

/* werk */
.werk{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px 20px}
.werk figure{margin:0;display:flex;flex-direction:column;gap:12px}
.foto{aspect-ratio:9/14;border-radius:24px;overflow:hidden;position:relative}
.werk figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px}
.werk figcaption b{font-size:20px;letter-spacing:-.02em}
.pil{border-radius:999px;padding:3px 10px;font-size:12px;font-weight:800;background:var(--blauw)}
.pil.roze{background:var(--roze)}

/* week */
.week{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0}
@media (max-width:1000px){.week{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * clamp(20px,4vw,56px));padding:0 clamp(20px,4vw,56px) 6px}.week li{flex:0 0 230px;scroll-snap-align:start}}
.week li{background:var(--creme);border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:14px;min-height:210px}
.week .dag{align-self:flex-start;background:var(--bruin);color:var(--vanille);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:800}
.week li.slot{background:var(--oranje);color:var(--creme)}
.week li.slot .dag{background:var(--creme);color:var(--bruin)}

/* portaal */
.portaal{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.portaal .tekst{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:24px}
.scherm{flex:1 1 420px;min-width:0;background:var(--creme);color:var(--bruin);border-radius:28px;padding:22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 60px rgba(0,0,0,.25)}
.scherm .rij{display:flex;gap:12px;align-items:center;background:var(--wit);border-radius:18px;padding:10px}
.scherm .duim{width:52px;height:72px;border-radius:12px;overflow:hidden;position:relative;flex:none;background:var(--roze)}
.scherm .duim img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scherm .wat{flex:1;min-width:0}
.scherm .wat b{display:block;font-size:16px}
.scherm .wat span{font-size:13px;opacity:.75}
.status{border-radius:999px;padding:4px 10px;font-size:12px;font-weight:800;background:var(--blauw);white-space:nowrap}
.status.oranje{background:var(--oranje);color:var(--creme)}
.status.bruin{background:var(--bruin);color:var(--vanille)}

/* prijs */
.prijs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 56px;align-items:center}
.bedrag{font-size:clamp(64px,9vw,120px);font-weight:900;letter-spacing:-.06em;line-height:.9}
.bedrag small{font-size:22px;letter-spacing:-.01em;font-weight:700}
.vinkjes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px;font-size:19px}
.vinkjes li{padding-left:34px;position:relative}
.vinkjes li::before{content:"✓";position:absolute;left:0;top:-1px;width:24px;height:24px;border-radius:999px;background:var(--bruin);color:var(--vanille);font-size:14px;font-weight:900;display:grid;place-items:center}
.donker .vinkjes li::before{background:var(--vanille);color:var(--bruin)}
@media (max-width:800px){.prijs{grid-template-columns:1fr}}
.toppings{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;list-style:none;margin:0;padding:0}
.toppings li{background:var(--wit);border-radius:20px;padding:18px 20px;display:flex;justify-content:space-between;gap:12px;font-weight:700}
.toppings li span:last-child{white-space:nowrap}

/* citaten */
.citaten{columns:3 300px;column-gap:20px}
.citaten blockquote{break-inside:avoid;margin:0 0 20px;background:var(--wit);border-radius:24px;padding:24px}
.citaten blockquote p{font-size:18px}
.citaten cite{display:block;margin-top:14px;font-style:normal;font-weight:800;font-size:15px}

/* over */
.over{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 64px;align-items:center}
.over .fotos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.over .fotos .foto{aspect-ratio:4/5}
.over .fotos .foto:nth-child(2){transform:translateY(32px)}
@media (max-width:800px){.over{grid-template-columns:1fr}}

/* vragen */
.vragen details{border-top:2px solid var(--bruin);padding:18px 0}
.vragen details:last-child{border-bottom:2px solid var(--bruin)}
.vragen summary{font-size:22px;font-weight:900;letter-spacing:-.02em;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.vragen summary::-webkit-details-marker{display:none}
.vragen summary::after{content:"+";font-size:28px;line-height:.8}
.vragen details[open] summary::after{content:"–"}
.vragen details p{margin-top:10px;max-width:680px}

/* slot */
.slot-cta .binnen{background:var(--vanille);display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
.slot-cta h2{font-size:clamp(64px,10vw,160px);letter-spacing:-.06em;line-height:.85}
.slot-cta p{max-width:820px;font-size:20px}

/* formulier */
.formulier{display:grid;gap:14px;max-width:560px}
.formulier label{display:grid;gap:6px;font-weight:800;font-size:15px}
.formulier input,.formulier textarea{font:500 17px 'Gabarito',sans-serif;color:var(--bruin);background:var(--wit);border:2px solid var(--bruin);border-radius:16px;padding:14px 16px;width:100%}
.formulier textarea{min-height:120px;resize:vertical}
.formulier .verborgen{position:absolute;left:-9999px}
.melding{font-weight:700;min-height:1.5em}

/* voet */
.voet .binnen{padding:28px clamp(20px,4vw,56px) 20px}
.voet .kolommen{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px 40px;font-size:15px;line-height:1.7}
.voet .kolommen b{display:block;font-size:13px;letter-spacing:.06em;text-transform:uppercase;opacity:.8}
.voet a{text-decoration:none}
.voet a:hover{text-decoration:underline}
.voet button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.voet .haaks{font-weight:900;font-size:22px;letter-spacing:-.02em}
.voet .klein{opacity:.8;margin-top:18px;padding-top:14px;border-top:1px solid rgba(251,244,213,.2)}

/* portaal-animatie */
.scherm .rij{transition:background .3s,box-shadow .3s}
.scherm .rij.nu{box-shadow:0 0 0 3px var(--oranje)}
.scherm .status{transition:background .3s,color .3s}
.scherm .status.klaar{background:#CDE8D2}
.stappen{display:flex;gap:6px;flex-wrap:wrap;list-style:none;margin:6px 0 0;padding:0}
.stappen li{font-size:13px;font-weight:800;border-radius:999px;padding:4px 10px;background:var(--vanille);opacity:.55;transition:opacity .3s,background .3s}
.stappen li.nu{opacity:1;background:var(--oranje);color:var(--creme)}
.cursor{position:absolute;width:22px;height:22px;border-radius:999px;background:rgba(196,80,27,.35);border:2px solid var(--oranje);pointer-events:none;transition:transform .6s cubic-bezier(.3,.7,.2,1),opacity .3s;opacity:0}
.cursor.tik{animation:tik .35s}
@keyframes tik{50%{transform:var(--pos) scale(.7)}}
@media (prefers-reduced-motion:reduce){.cursor{display:none}}

/* echte merklogo's bij het portaal (img/social, CC0); bewust geen knoppen, ze zijn niet klikbaar */
.kanalen{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.kanalen .klein{opacity:.8;margin-right:4px}
.kanalen img{width:24px;height:24px;padding:4px;box-sizing:content-box;background:#fff;border-radius:7px}
