/* Manii Beach, flow A naar het ritme van Webflow-template Ambrosia (bewijs/referentie-ambrosia/):
   enorm serif-woordmerk, fotostrook onder een boog, lopende band, gestapelde categorieen met nummertags,
   donkere uitnodiging met zijtab, menu met tabs en stippellijnen. Merk: bordeaux en zand van Manii,
   hun eigen Gilda Display + Urbanist. */
@font-face{font-family:"Gilda Display";src:url(../fonts/gilda-display-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Urbanist;src:url(../fonts/urbanist-var.woff2) format("woff2");font-weight:300 700;font-display:swap}
:root{--creme:#f6efe7;--zand:#ebe0d4;--maroon:#62041f;--maroon-d:#40020f;--inkt:#1d1013;--zacht:#5a4a4d;--lijn:rgba(29,16,19,.16);
  --kop:"Gilda Display",Georgia,"Times New Roman",serif;--tekst:Urbanist,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--kader:1240px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--creme);color:var(--inkt);font-family:var(--tekst);font-size:17px;line-height:1.6;font-weight:400}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--kop);font-weight:400;line-height:1.08;margin:0}
p{margin:0 0 1em}
figure{margin:0}
.kader{width:min(100% - 40px,var(--kader));margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.verborgen{display:none!important}

/* seizoensbalk (letterlijk van hun homepage) */
.seizoen{background:var(--maroon);color:#f6efe7;text-align:center;font-size:13px;letter-spacing:.04em;padding:8px 16px}
.seizoen p{margin:0}

/* kop */
.kop{position:sticky;top:0;z-index:40;background:rgba(246,239,231,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--lijn)}
.kop__balk{display:flex;align-items:center;gap:22px;min-height:70px}
.merk{font-family:var(--kop);font-size:30px;text-decoration:none;letter-spacing:.01em;padding-right:22px;border-right:1px solid var(--lijn);line-height:70px}
.kop__pil{border:1px solid var(--lijn);border-radius:99px;padding:5px 14px;font-size:13px;white-space:nowrap}
.kop__nav{display:flex;gap:24px;margin-left:auto}
.kop__nav a{text-decoration:none;font-size:15px;font-weight:500;position:relative}
.kop__nav a[aria-current=page]::after,.kop__nav a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor}
.knop{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:99px;padding:12px 24px;font:600 15px/1.2 var(--tekst);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .2s,color .2s}
.knop--donker{background:var(--inkt);color:#f6efe7}
.knop--donker:hover{background:var(--maroon)}
.knop--rand{border-color:var(--inkt);background:transparent;color:var(--inkt)}
.knop--rand:hover{background:var(--inkt);color:#f6efe7}
.knop--licht{background:#f6efe7;color:var(--maroon)}
.knoppen{display:flex;flex-wrap:wrap;gap:12px}
.menuknop{display:none;margin-left:auto;width:46px;height:46px;border:1px solid var(--lijn);border-radius:50%;background:none;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.menuknop span{display:block;width:18px;height:1.5px;background:var(--inkt)}
.navlaag{position:fixed;inset:0;z-index:60;background:var(--maroon);color:#f6efe7;display:flex;flex-direction:column;justify-content:center;padding:40px 28px;gap:10px}
.navlaag[hidden]{display:none}
.navlaag a{font-family:var(--kop);font-size:40px;text-decoration:none}
.navlaag__sluit{position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:50%;border:1px solid rgba(246,239,231,.4);background:none;color:inherit;font-size:18px;cursor:pointer}

/* hero */
.hero{padding:54px 0 0;overflow:hidden}
.hero__tekst{text-align:center;position:relative}
.hero h1{display:flex;flex-direction:column;align-items:center}
.hero__merk{font-size:clamp(96px,22vw,300px);line-height:.86;letter-spacing:-.01em;text-transform:uppercase}
.hero__sub{font-size:clamp(22px,3.2vw,40px);text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
.hero__tag{font-size:14px;letter-spacing:.24em;text-transform:uppercase;margin:12px 0 0;color:var(--zacht)}
.hero__lijn{display:block;width:1px;height:56px;background:var(--inkt);margin:22px auto 0}
.hero__rand{display:flex;justify-content:space-between;align-items:flex-end;margin-top:-20px;font-size:13px;text-transform:uppercase;letter-spacing:.06em}
.hero__rand small{display:block;font-size:12px}
.hero__rand a{text-decoration:none}
.badge{display:inline-block;background:var(--maroon);color:#f6efe7;padding:3px 9px;margin-top:4px}
.boog{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:22px;border-radius:50% 50% 0 0 / 120px 120px 0 0;overflow:hidden;border-bottom:4px solid var(--maroon)}
.boog figure{aspect-ratio:3/4;overflow:hidden}
.boog img{width:100%;height:100%;object-fit:cover}

/* secties */
.sectie{padding:110px 0}
.sectie--zand{background:var(--zand)}
.sectie--maroon{background:var(--maroon);color:#f6efe7}
.label{display:inline-block;font-size:13px;letter-spacing:.06em;color:var(--zacht);margin-bottom:18px}
.label--link{color:var(--inkt);text-decoration:underline;text-underline-offset:4px}
.label--licht{color:rgba(246,239,231,.85)}
.kopgroot{font-size:clamp(38px,5.4vw,72px);margin-bottom:24px}
.statement{font-size:clamp(28px,3.4vw,44px);margin-bottom:22px;max-width:18ch}
.over{padding-top:90px}
.over__grid{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:70px}
.over__grid p{max-width:58ch;color:var(--zacht)}
.grootbeeld{position:relative;border-radius:22px;overflow:hidden;margin-top:6px;aspect-ratio:16/8}
.grootbeeld img{width:100%;height:100%;object-fit:cover}
.grootbeeld__merk{position:absolute;right:28px;bottom:16px;font-family:var(--kop);font-size:clamp(40px,6vw,80px);color:#f6efe7;text-shadow:0 2px 20px rgba(0,0,0,.35)}

/* lopende band */
.band{background:var(--inkt);color:#f6efe7;overflow:hidden;padding:30px 0;border-top:1px solid #3a2a2d;border-bottom:1px solid #3a2a2d}
.band__rij{display:flex;gap:28px;white-space:nowrap;width:max-content;animation:band 38s linear infinite;font-family:var(--kop);text-transform:uppercase;font-size:clamp(20px,2.4vw,30px);letter-spacing:.04em}
.band i{font-style:normal;color:#c58b6c}
@keyframes band{to{transform:translateX(-50%)}}

/* categorieen (gestapeld zoals Ambrosia) */
.cats__grid{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;row-gap:40px}
.cat{text-decoration:none;display:block}
.cat h3{font-size:clamp(40px,5.6vw,76px);margin-bottom:22px}
.cat figure{position:relative;overflow:hidden;border-radius:4px;aspect-ratio:4/5}
.cat img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.cat:hover img{transform:scale(1.04)}
.cat .tag{position:absolute;left:0;bottom:0;background:var(--inkt);color:#f6efe7;font-size:13px;padding:8px 14px}
.cat--2{margin-top:180px;text-align:right}
.cat--2 figure,.cat--4 figure{aspect-ratio:1/1}
.cat--3{margin-top:0}
.cat--4{margin-top:180px;text-align:right}

/* uitnodiging */
.uitnodiging{position:relative;min-height:640px;display:flex;align-items:flex-end;color:#f6efe7;overflow:hidden}
.uitnodiging__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.uitnodiging::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,16,19,.15),rgba(29,16,19,.7))}
.uitnodiging__in{position:relative;z-index:1;padding-bottom:80px}
.uitnodiging__tekst{font-family:var(--kop);font-size:clamp(32px,4.4vw,58px);line-height:1.12;max-width:16ch;margin:0}
.zijtab{position:absolute;z-index:2;right:0;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;background:#f6efe7;color:var(--inkt);padding:26px 16px;text-decoration:none;font-weight:600;font-size:15px;letter-spacing:.06em}

/* menu-blok */
.menu-blok__kop{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;margin-bottom:46px}
.menu-blok__kop .label{grid-column:1/-1;margin:0}
.menu-blok__kop .kopgroot{max-width:15ch;margin:0}
.rondje{width:150px;height:150px;border-radius:50%;border:1px dashed var(--maroon);display:grid;place-items:center;text-decoration:none;color:var(--maroon);font-weight:600;transition:background .2s,color .2s}
.rondje:hover{background:var(--maroon);color:#f6efe7}
.menu-blok__grid{display:grid;grid-template-columns:5fr 7fr;gap:60px;align-items:start}
.menu-blok__foto{border-radius:4px;overflow:hidden;aspect-ratio:3/4;position:sticky;top:96px}
.menu-blok__foto img{width:100%;height:100%;object-fit:cover}
.tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.tab{border:1px solid var(--inkt);background:none;border-radius:99px;padding:9px 20px;font:500 15px var(--tekst);cursor:pointer;color:var(--inkt)}
.tab[aria-selected=true]{background:var(--inkt);color:#f6efe7}
.mk-lijst{list-style:none;margin:0;padding:0}
.mk-gerecht{padding:18px 0;border-bottom:1px solid var(--lijn)}
.mk-rij{display:flex;align-items:baseline;gap:14px}
.mk-rij b{font-family:var(--kop);font-weight:400;font-size:24px;line-height:1.2}
.mk-lijn{flex:1;border-bottom:1px dotted rgba(29,16,19,.35);transform:translateY(-6px)}
.mk-rij em{font-style:normal;font-weight:600;font-size:18px;white-space:nowrap}
.mk-gerecht small{display:block;color:var(--zacht);font-size:15px;margin-top:4px;max-width:60ch}
.menu-blok__meer{margin-top:28px}

/* score */
.score{background:var(--zand)}
.score__grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.score__cijfer{font-family:var(--kop);font-size:clamp(90px,12vw,150px);line-height:.9;margin:0}
.score__cijfer small{font-size:.32em;color:var(--zacht)}
.score__balk b{font-family:var(--kop);font-weight:400;font-size:44px}
.balk{height:10px;background:rgba(29,16,19,.12);border-radius:99px;overflow:hidden;margin:6px 0 14px}
.balk i{display:block;height:100%;background:var(--maroon)}
.score__klein{font-size:13px;color:var(--zacht)}

/* verhaal + bezoek */
.verhaal__grid,.bezoek__grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.verhaal figure,.bezoek figure{border-radius:22px;overflow:hidden}
.verhaal p,.bezoek p{color:var(--zacht);max-width:52ch}
.bezoek figure{aspect-ratio:4/5}
.bezoek figure img{width:100%;height:100%;object-fit:cover}

/* paginakop */
.pagkop{padding:70px 0 90px}
.pagkop__grid{display:grid;grid-template-columns:7fr 5fr;gap:60px;align-items:end}
.pagkop h1{font-size:clamp(46px,6.6vw,92px);margin-bottom:26px}
.pagkop p{color:var(--zacht);max-width:58ch}
.pagkop__foto{border-radius:22px 22px 4px 4px;overflow:hidden;aspect-ratio:4/5}
.pagkop__foto img{width:100%;height:100%;object-fit:cover}

/* menukaart */
.mk__balk{display:flex;flex-wrap:wrap;gap:18px;justify-content:space-between;align-items:center;position:sticky;top:70px;z-index:5;background:var(--zand);padding:14px 0;margin-bottom:20px;border-bottom:1px solid var(--lijn)}
.chips{display:flex;gap:10px;overflow-x:auto}
.chips a{border:1px solid var(--inkt);border-radius:99px;padding:8px 18px;text-decoration:none;font-weight:500;white-space:nowrap;font-size:15px}
.chips a.actief{background:var(--inkt);color:#f6efe7}
.zoek input{border:1px solid var(--inkt);background:var(--creme);border-radius:99px;padding:11px 20px;font:15px var(--tekst);width:min(340px,80vw)}
.mk-deel{padding:40px 0 10px;scroll-margin-top:150px}
.mk-deel h3{font-size:30px;margin:34px 0 4px}
.mk__noot{margin-top:50px;padding-top:30px;border-top:1px solid var(--lijn);color:var(--zacht);max-width:76ch}
.mk__noot ul{padding-left:0;list-style:none}
.leeg{font-size:18px;margin:30px 0}
.fotogrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.fotogrid figure{aspect-ratio:1/1;overflow:hidden;border-radius:4px}
.fotogrid img{width:100%;height:100%;object-fit:cover}

/* events */
.verwacht{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.lijnlijst{list-style:none;margin:0;padding:0}
.lijnlijst li{border-bottom:1px solid var(--lijn);padding:20px 0}
.lijnlijst b{display:block;font-family:var(--kop);font-weight:400;font-size:28px;line-height:1.2}
.lijnlijst span{color:var(--zacht)}
.punten{padding-left:20px;color:var(--zacht)}
.punten li{margin-bottom:6px}
.event__grid{display:grid;grid-template-columns:5fr 6fr;gap:60px;align-items:start}
.event p{color:var(--zacht);max-width:56ch}
.event p b{color:var(--inkt);font-weight:600}
.event__fotos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.event__fotos figure{overflow:hidden;border-radius:4px;aspect-ratio:4/5}
.event__fotos figure:first-child{grid-column:1/-1;aspect-ratio:16/10}
.event__fotos img{width:100%;height:100%;object-fit:cover}
.event:nth-of-type(even){background:var(--zand)}
.slot{text-align:center;max-width:760px}
.slot p{color:rgba(246,239,231,.88)}

/* festivals */
.festgrid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.fest{display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:center;background:var(--creme);border-radius:4px;padding:18px}
.fest figure{aspect-ratio:1/1;overflow:hidden;border-radius:4px;background:var(--inkt)}
.fest img{width:100%;height:100%;object-fit:cover}
.fest__nr{font-size:13px;color:var(--zacht)}
.fest h2{font-size:32px;margin:6px 0 10px}
.fest p{color:var(--zacht)}

/* werken bij + contact */
.vacature,.contactgrid{display:grid;grid-template-columns:7fr 5fr;gap:60px;align-items:start}
.vacature h3{font-size:26px;margin:28px 0 8px}
.vacature p{color:var(--zacht);max-width:62ch}
.vacature__foto{margin-top:24px;border-radius:22px;overflow:hidden}
.formulier{background:var(--creme);border-radius:4px;padding:30px;display:flex;flex-direction:column;gap:6px}
.formulier h3{font-size:28px;margin-bottom:10px}
.formulier label{font-size:14px;font-weight:600;margin-top:8px}
.formulier input,.formulier textarea{border:1px solid var(--lijn);border-radius:4px;padding:12px 14px;font:16px var(--tekst);background:#fff;color:var(--inkt)}
.formulier textarea{min-height:120px}
.formulier button{margin-top:14px;align-self:flex-start}

/* voet */
.voet{background:var(--maroon-d);color:#f6efe7;padding:80px 0 120px}
.voet__merk{font-family:var(--kop);font-size:clamp(80px,16vw,220px);line-height:.9;margin:0 0 50px;text-transform:uppercase}
.voet__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;border-top:1px solid rgba(246,239,231,.25);padding-top:36px}
.voet h3{font-family:var(--tekst);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px;color:rgba(246,239,231,.75)}
.voet a{text-decoration:none}
.voet a:hover{text-decoration:underline}
.voet__nav{display:flex;flex-direction:column;gap:6px}
.voet__onder{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:50px;font-size:13px;color:rgba(246,239,231,.75)}
.belbalk{display:none}

/* beweging */
@media (prefers-reduced-motion:reduce){.band__rij{animation:none}.cat img{transition:none}html{scroll-behavior:auto}}

/* tablet */
@media (max-width:1080px){
  .kop__nav,.kop__cta{display:none}
  .menuknop{display:flex}
  .menu-blok__grid,.verhaal__grid,.bezoek__grid,.pagkop__grid,.event__grid,.verwacht,.vacature,.contactgrid,.score__grid{grid-template-columns:1fr;gap:40px}
  .menu-blok__foto{position:static;aspect-ratio:16/11}
  .festgrid{grid-template-columns:1fr}
  .pagkop__foto{aspect-ratio:16/11}
}
/* mobiel */
@media (max-width:700px){
  body{font-size:16px}
  .kader{width:min(100% - 32px,var(--kader))}
  .kop__pil{display:none}
  .merk{border-right:0;padding-right:0;font-size:28px}
  .sectie{padding:72px 0}
  .hero{padding-top:34px}
  .hero__rand{margin-top:18px}
  .boog{grid-template-columns:repeat(3,1fr);border-radius:50% 50% 0 0 / 60px 60px 0 0}
  .boog figure:nth-child(n+4){display:none}
  .over__grid{grid-template-columns:1fr;gap:6px;margin-bottom:40px}
  .grootbeeld{aspect-ratio:4/5;border-radius:14px}
  .cats__grid{grid-template-columns:1fr;row-gap:50px}
  .cat--2,.cat--3,.cat--4{margin-top:0;text-align:left}
  .uitnodiging{min-height:520px}
  .zijtab{display:none}
  .menu-blok__kop{grid-template-columns:1fr}
  .rondje{width:120px;height:120px}
  .mk-rij b{font-size:21px}
  .fotogrid{grid-template-columns:repeat(2,1fr)}
  .fest{grid-template-columns:110px 1fr;gap:16px;padding:14px}
  .fest h2{font-size:26px}
  .voet__grid{grid-template-columns:1fr}
  .voet{padding-bottom:110px}
  .belbalk{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--inkt);border-top:1px solid #3a2a2d}
  .belbalk a{flex:1;text-align:center;color:#f6efe7;text-decoration:none;font-weight:600;padding:15px 0;font-size:15px}
  .belbalk a+a{background:var(--maroon)}
  .mk__balk{top:62px}
  .kop__balk{min-height:62px}
  .merk{line-height:62px}
}
