
:root{
  --bg:#f6f2ec;
  --bg-soft:#fbf9f6;
  --white:#fff;
  --ink:#141210;
  --muted:#6d645f;
  --line:rgba(20,18,16,.13);
  --wine:#5a2535;
  --wine-dark:#37171f;
  --gold:#ad8956;
  --serif:"Instrument Serif",Georgia,serif;
  --sans:"Inter",Arial,sans-serif;
  --wrap:1360px;
  --shadow:0 18px 50px rgba(34,24,20,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg-soft);color:var(--ink);font-family:var(--sans);line-height:1.65}
body.nav-open{overflow:hidden}
img{display:block;width:100%;max-width:100%}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{letter-spacing:-.035em;line-height:1}
h1{font-size:clamp(3.8rem,6.2vw,6.6rem);font-weight:700}
h2{font-size:clamp(3rem,4.6vw,4.9rem);font-weight:700}
h3{font-size:clamp(1.8rem,2.4vw,2.5rem);font-weight:650}
em{font-family:var(--serif);font-weight:400;font-style:italic}
.wrap{width:min(92%,var(--wrap));margin-inline:auto}
.eyebrow{display:inline-block;margin-bottom:20px;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--gold)}
.eyebrow.light{color:#fff}
.button{display:inline-flex;min-height:54px;padding:0 24px;align-items:center;justify-content:center;border-radius:999px;border:1px solid transparent;font-size:.95rem;font-weight:600;transition:.22s}
.button-wine{background:var(--wine);color:#fff}.button-wine:hover{background:var(--wine-dark)}
.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:var(--wine)}
.button-light{background:#fff;color:var(--ink)}.button-light:hover{background:var(--bg)}
.text-link{display:inline-flex;gap:10px;align-items:center;font-weight:600;font-size:.96rem}.text-link span{color:var(--wine)}
.reveal{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
.js-reveal .reveal:not(.is-visible){opacity:0;transform:translateY(22px)}
@media(prefers-reduced-motion:reduce){.js-reveal .reveal:not(.is-visible){opacity:1;transform:none}}

.site-header{position:fixed;inset:0 0 auto 0;height:86px;background:rgba(251,249,246,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(20,18,16,.07);z-index:100}
.header-inner{height:100%;display:grid;grid-template-columns:220px 1fr auto;gap:24px;align-items:center}
.brand{display:flex;flex-direction:column;line-height:1}
.brand-main{font-size:2rem;font-weight:700;letter-spacing:.08em}
.brand-sub{font-size:.59rem;letter-spacing:.26em;color:var(--muted);margin-top:6px}
.main-nav{display:flex;justify-content:center;gap:31px}
.nav-link{font-size:.98rem;font-weight:600;position:relative;padding:6px 0}
.nav-link:after{content:"";position:absolute;height:2px;left:0;right:100%;bottom:-4px;background:var(--wine);transition:.2s}
.nav-link:hover:after,.nav-link.is-active:after{right:0}
.header-cta{padding:12px 18px;border-radius:999px;background:var(--wine);color:#fff;font-weight:600}
.nav-toggle{display:none;border:0;background:none;width:42px}
.nav-toggle span{display:block;height:2px;background:var(--ink);margin:8px 0}

.hero{padding:132px 0 76px;background:linear-gradient(180deg,#f8f5f1 0%,#fbf9f6 100%)}
.hero-grid{display:grid;grid-template-columns:46% 54%;gap:5%;align-items:center}
.hero-copy p{max-width:590px;color:var(--muted);font-size:1.15rem;margin-bottom:32px}
.hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.hero-media{height:720px;position:relative;overflow:hidden;border-radius:22px}
.hero-media img{height:100%;object-fit:cover}
.image-label{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);padding:10px 13px;border-radius:999px;font-size:.69rem;font-weight:700;letter-spacing:.12em}
.hero-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hero-facts div{padding:24px 0}.hero-facts div+div{border-left:1px solid var(--line);padding-left:28px}.hero-facts strong{display:block;font-size:1.05rem}.hero-facts span{color:var(--muted);font-size:.94rem}

.statement-section{padding:130px 0;background:#fff}
.statement-section.compact{padding:105px 0}
.statement-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:9%;align-items:end}
.statement-copy{max-width:610px}.statement-copy p{font-size:1.05rem;color:var(--muted);margin-bottom:18px}

.sticky-story{padding:120px 0;background:var(--bg)}
.sticky-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:7%}
.sticky-frame{position:sticky;top:115px;height:70vh;min-height:540px;overflow:hidden;border-radius:22px;background:#ddd}
.sticky-frame img{height:100%;object-fit:cover;transition:opacity .28s ease}
.story-copy{padding-top:6vh}
.story-step{padding:34px 0 44px;border-top:1px solid var(--line);opacity:.38;transition:opacity .28s ease}
.story-step:last-child{border-bottom:1px solid var(--line)}
.story-step.is-active{opacity:1}
.story-step>span{display:block;color:var(--gold);font-size:.72rem;font-weight:700;margin-bottom:12px}
.story-step h3{margin-bottom:12px}.story-step p{max-width:520px;color:var(--muted);font-size:1.02rem}

.photo-section{padding:125px 0;background:#fff}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:40px}
.photo-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.photo-grid figure{margin:0;grid-column:span 4;overflow:hidden;border-radius:18px}
.photo-grid figure.wide{grid-column:span 8}
.photo-grid img{height:430px;object-fit:cover}
.photo-grid figure.wide img{height:500px}

.menu-section{padding:125px 0;background:var(--bg-soft)}
.menu-home-grid{display:grid;grid-template-columns:1fr .8fr;gap:8%;align-items:center}
.menu-home-copy>p{color:var(--muted);max-width:580px}
.menu-rows{margin-top:36px;border-top:1px solid var(--line)}
.menu-rows a{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}
.menu-rows span{font-size:1.18rem;font-weight:600}
.menu-rows small{color:var(--muted);font-size:.9rem}
.menu-rows b{color:var(--wine)}
.menu-home-image img{height:620px;object-fit:cover;border-radius:20px}

.milou-section{padding:125px 0;background:#fff}
.milou-grid{display:grid;grid-template-columns:58% 42%;gap:6%;align-items:center}
.milou-photo{position:relative;overflow:hidden;border-radius:22px}
.milou-photo img{height:720px;object-fit:cover}
.milou-copy h2{font-size:clamp(3rem,4.2vw,4.5rem)}
.milou-copy p{color:var(--muted);font-size:1.05rem;max-width:520px;margin-bottom:28px}

.final-cta{padding:90px 0;background:var(--bg-soft)}
.final-cta-card{background:#f0ece6;border-radius:26px;padding:54px 60px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.final-cta-card h2{font-size:clamp(2.5rem,3.8vw,4.1rem);margin-bottom:0}

.page-hero{padding:145px 0 90px;background:#fff}
.page-hero.soft{background:var(--bg)}
.page-hero.dark{background:var(--wine-dark);color:#fff}
.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}
.page-hero-grid p{max-width:580px;color:var(--muted);font-size:1.08rem;margin-bottom:30px}
.page-hero.dark .light-copy{color:rgba(255,255,255,.72)}
.page-hero-image{overflow:hidden;border-radius:22px}
.page-hero-image img{height:620px;object-fit:cover}

.experience-split,.menu-browser-section{padding:120px 0;background:var(--bg)}
.experience-grid,.menu-browser{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:start}
.experience-image,.menu-browser-image{position:sticky;top:115px;overflow:hidden;border-radius:22px}
.experience-image img,.menu-browser-image img{height:650px;object-fit:cover}
.experience-options,.menu-browser-list{padding-top:10px}
.experience-row,.menu-browser-row{width:100%;border:0;border-top:1px solid var(--line);background:transparent;padding:22px 0;display:grid;grid-template-columns:1fr auto;text-align:left;cursor:pointer;color:var(--ink)}
.experience-row:last-child,.menu-browser-row:last-child{border-bottom:1px solid var(--line)}
.experience-row span,.menu-browser-row span{font-size:1.35rem;font-weight:600}
.experience-row small,.menu-browser-row small{color:var(--muted);align-self:center}
.experience-row.is-active span,.menu-browser-row.is-active span{color:var(--wine)}
.menu-browser-row{grid-template-columns:1fr 1.2fr auto;gap:18px}.menu-browser-row b{color:var(--wine)}

.process-section{padding:120px 0;background:#fff}
.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.process-list article{padding-top:20px;border-top:1px solid var(--line)}
.process-list article>span{font-size:.72rem;color:var(--gold);font-weight:700}
.process-list h3{margin:22px 0 10px}.process-list p{color:var(--muted)}

.service-list-section{padding:110px 0;background:#fff}
.service-list{display:grid;gap:26px}
.service-list article{display:grid;grid-template-columns:.8fr 1.2fr;gap:6%;align-items:center;padding:28px 0;border-top:1px solid var(--line)}
.service-list article:last-child{border-bottom:1px solid var(--line)}
.service-list article>div>span{font-size:.72rem;color:var(--gold);font-weight:700}
.service-list article p{color:var(--muted);max-width:460px}
.service-list article img{height:390px;object-fit:cover;border-radius:18px}

.about-hero{padding:145px 0 90px;background:#fff}
.about-hero-grid{display:grid;grid-template-columns:58% 42%;gap:6%;align-items:center}
.about-photo{overflow:hidden;border-radius:22px}.about-photo img{height:760px;object-fit:cover}
.about-hero-copy h1{font-size:clamp(3.6rem,5.2vw,5.5rem)}
.about-hero-copy p{font-size:1.05rem;color:var(--muted);max-width:560px}
.about-image-band{padding:0 0 120px;background:#fff}.about-image-band img{height:620px;object-fit:cover;object-position:center center;border-radius:22px}

.about-editorial{padding:0 0 110px;background:#fff}
.about-editorial-intro{max-width:640px;margin-bottom:28px}
.about-editorial-intro p{color:var(--muted);max-width:560px}
.about-editorial-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:18px;align-items:stretch}
.about-editorial-grid figure{margin:0;overflow:hidden;border-radius:20px;background:#eee8df;min-height:0}
.about-editorial-grid img{width:100%;height:100%;display:block;object-fit:cover}
.about-editorial-grid .wide{grid-column:1 / span 1}
@media(max-width:1100px){
  .about-editorial-grid{grid-template-columns:1fr 1fr}
  .about-editorial-grid .wide{grid-column:1 / span 2}
}
@media(max-width:720px){
  .about-editorial{padding:0 0 88px}
  .about-editorial-grid{grid-template-columns:1fr;gap:14px}
  .about-editorial-grid .wide{grid-column:auto}
  .about-editorial-grid figure{height:320px}
}

.gallery-intro{padding:145px 0 50px;background:#fff}
.gallery-intro h1{font-size:clamp(3.8rem,5.4vw,5.6rem);margin-bottom:18px}
.gallery-intro p{color:var(--muted);font-size:1.04rem}
/* Gallery: a planned, gap-free editorial mosaic. All images fill their tile.
   Three columns, with varied tile heights and staggered edges. */
.gallery-editorial{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:clamp(125px,12vw,175px);
  gap:18px;
  padding-bottom:120px;
}
.gallery-editorial figure,
.gallery-editorial figure.wide{
  margin:0;
  min-width:0;
  min-height:0;
  grid-column:auto;
  overflow:hidden;
  border-radius:18px;
  background:#eee8df;
}
.gallery-editorial img,
.gallery-editorial figure.tall img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transition:transform .45s ease;
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .gallery-editorial figure:hover img{transform:scale(1.035)}
}
/* Every row of this mosaic is filled; nothing is left floating next to a tall image. */
.gallery-editorial figure:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 3}
.gallery-editorial figure:nth-child(2){grid-column:3;grid-row:1 / span 3}
.gallery-editorial figure:nth-child(3){grid-column:1;grid-row:4 / span 3}
.gallery-editorial figure:nth-child(4){grid-column:2;grid-row:4 / span 4}
.gallery-editorial figure:nth-child(5){grid-column:3;grid-row:4 / span 4}
.gallery-editorial figure:nth-child(6){grid-column:1;grid-row:7 / span 3}
.gallery-editorial figure:nth-child(7){grid-column:2 / span 2;grid-row:8 / span 2}
.gallery-editorial figure:nth-child(8){grid-column:1;grid-row:10 / span 4}
.gallery-editorial figure:nth-child(9){grid-column:2;grid-row:10 / span 2}
.gallery-editorial figure:nth-child(10){grid-column:3;grid-row:10 / span 4}
.gallery-editorial figure:nth-child(11){grid-column:2;grid-row:12 / span 2}
.gallery-editorial figure:nth-child(12){grid-column:1;grid-row:14 / span 3}
.gallery-editorial figure:nth-child(13){grid-column:2;grid-row:14 / span 3}
.gallery-editorial figure:nth-child(14){grid-column:3;grid-row:14 / span 3}

.booking-hero{padding:145px 0 45px;background:#fff}
.booking-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:6%;align-items:end}
.booking-hero p{max-width:620px;color:var(--muted);font-size:1.06rem}
.booking-side-card{padding:28px;border-radius:22px;background:var(--wine-dark);color:#fff}
.booking-side-card span{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.66);margin-bottom:12px}
.booking-side-card ul{list-style:none;padding:0;margin:0}.booking-side-card li{padding:11px 0;border-top:1px solid rgba(255,255,255,.14)}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;padding:40px 0 120px}
.booking-form-modern{display:grid;gap:18px}
.form-panel{padding:32px;background:#fff;border:1px solid rgba(20,18,16,.07);border-radius:22px}
.panel-head{display:grid;grid-template-columns:52px 1fr;gap:14px;margin-bottom:24px}
.panel-head>span{font-size:1.25rem;font-weight:700;color:var(--wine)}
.panel-head h2{font-size:1.75rem;margin-bottom:5px}.panel-head p{color:var(--muted);margin-bottom:0}
.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.choice-grid.large{grid-template-columns:repeat(3,1fr)}
.choice-box{position:relative;cursor:pointer}.choice-box input{position:absolute;opacity:0;pointer-events:none}
.choice-box span{min-height:105px;padding:17px;border:1px solid var(--line);border-radius:16px;background:var(--bg-soft);display:flex;flex-direction:column;justify-content:space-between;transition:.2s}
.choice-box b{font-size:1rem}.choice-box small{color:var(--muted)}
.choice-box input:checked+span{background:var(--wine);color:#fff;border-color:var(--wine)}.choice-box input:checked+span small{color:rgba(255,255,255,.72)}
.conditional-field,.conditional-block{display:none}.conditional-field.visible,.conditional-block.visible{display:block}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.booking-form-modern label:not(.choice-box):not(.addon-option):not(.consent-line){display:flex;flex-direction:column;gap:7px;font-size:.9rem;font-weight:600}
.booking-form-modern input[type=text],.booking-form-modern input[type=email],.booking-form-modern input[type=tel],.booking-form-modern input[type=number],.booking-form-modern input[type=date],.booking-form-modern input[type=time],.booking-form-modern textarea{width:100%;border:1px solid rgba(20,18,16,.09);background:var(--bg-soft);border-radius:14px;padding:14px 15px;outline:none;color:var(--ink);font-size:1rem}
.booking-form-modern input:focus,.booking-form-modern textarea:focus{border-color:rgba(90,37,53,.4);box-shadow:0 0 0 4px rgba(90,37,53,.07)}
.addon-card{margin-top:18px;padding:20px;background:var(--bg);border-radius:16px}.addon-card h3{font-size:1.35rem;margin-bottom:4px}.addon-card p{color:var(--muted)}
.addon-option{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px;background:#fff;border-radius:14px;cursor:pointer}.addon-option input{accent-color:var(--wine)}.addon-option small{display:block;color:var(--muted)}.addon-option strong{color:var(--wine)}
.consent-line{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.9rem}.consent-line input{margin-top:5px;accent-color:var(--wine)}
.submit-panel{padding:22px 24px;background:var(--ink);color:#fff;border-radius:20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.summary-card span{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.56);margin-bottom:5px}.summary-card p{margin:0;font-size:1.08rem}
.form-message{display:none;padding:18px;background:#fff;border-radius:14px;border:1px solid var(--line)}.form-message.visible{display:block}
.summary-sticky-card{position:sticky;top:110px;padding:26px;border-radius:20px;background:#fff;border:1px solid rgba(20,18,16,.07)}.summary-sticky-card>span{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}.summary-sticky-card h3{font-size:2rem;margin:18px 0 12px}.summary-sticky-card p{color:var(--muted)}.mini-summary{padding-top:16px;border-top:1px solid var(--line);font-weight:600}

.sitemap-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-bottom:120px}.sitemap-grid a{display:grid;grid-template-columns:50px 1fr;align-items:center;padding:22px 0;border-top:1px solid var(--line)}.sitemap-grid span{color:var(--gold);font-size:.72rem;font-weight:700}.sitemap-grid strong{font-size:1.4rem}

.site-footer{position:relative;isolation:isolate;padding:82px 0 30px;background:radial-gradient(circle at 12% 12%,rgba(122,92,67,.20),transparent 28%),linear-gradient(135deg,#0b0b0b 0%,#151211 44%,#0f0d0d 100%);color:#fff;overflow:hidden}
.site-footer::before{content:'';position:absolute;right:clamp(18px,4vw,42px);top:30px;bottom:30px;width:min(33vw,430px);border-radius:30px;background:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.48)),url('../images/milou-private-chef-portret.jpg') center 24%/cover no-repeat;box-shadow:0 28px 70px rgba(0,0,0,.34);opacity:.94;z-index:0}
.site-footer::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.97) 0%,rgba(8,8,8,.93) 44%,rgba(8,8,8,.82) 60%,rgba(8,8,8,.62) 73%,rgba(8,8,8,.34) 100%);z-index:0}
.footer-grid,.footer-bottom{position:relative;z-index:1}
.footer-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.82fr) minmax(0,.95fr);gap:42px;padding-right:min(35vw,470px);padding-bottom:34px}
.footer-brand{display:inline-block;font-size:2rem;font-weight:700;letter-spacing:.08em;margin-bottom:12px}
.footer-grid p{max-width:32rem}
.footer-grid p,.footer-links a,.footer-links small,.footer-links span{color:rgba(255,255,255,.78)}
.footer-links{display:flex;flex-direction:column;gap:9px}
.footer-links a:hover,.footer-links a:focus{color:#fff}
.footer-bottom{position:relative;padding-top:18px;padding-right:min(35vw,470px);display:flex;justify-content:space-between;color:rgba(255,255,255,.62);font-size:.82rem}
.footer-bottom::before{content:'';position:absolute;left:0;top:0;right:min(35vw,470px);height:1px;background:rgba(255,255,255,.14)}

@media(max-width:1100px){
  .header-inner{grid-template-columns:200px auto auto}.main-nav{display:none;position:fixed;inset:86px 0 auto 0;background:rgba(251,249,246,.97);padding:26px 4%;flex-direction:column;gap:16px;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.nav-link{font-size:1.08rem}.header-cta{display:none}.nav-toggle{display:block}
  .hero-grid,.statement-grid,.sticky-layout,.menu-home-grid,.milou-grid,.page-hero-grid,.experience-grid,.menu-browser,.about-hero-grid,.booking-hero-grid,.booking-layout{grid-template-columns:1fr}
  .hero-media,.page-hero-image img,.about-photo img{height:590px}.hero-facts{grid-template-columns:1fr 1fr 1fr}
  .sticky-frame{position:relative;top:auto;height:560px}.story-copy{padding-top:25px}
  .milou-grid,.about-hero-grid{gap:40px}.milou-photo img{height:650px}.menu-home-image img{height:560px}
  .experience-image,.menu-browser-image{position:relative;top:auto}.experience-image img,.menu-browser-image img{height:570px}
  .process-list{grid-template-columns:1fr 1fr}.service-list article{grid-template-columns:1fr 1fr}
  .booking-summary-sticky{display:none}
  .site-footer::before{width:min(36vw,360px);right:22px;top:24px;bottom:24px}
  .footer-grid{padding-right:min(38vw,390px)}
  .footer-bottom{padding-right:min(38vw,390px)}
  .footer-bottom::before{right:min(38vw,390px)}
}
@media(max-width:720px){
  h1{font-size:clamp(3.2rem,13vw,4.6rem)}h2{font-size:clamp(2.7rem,11vw,4rem)}
  .site-header{height:76px}.main-nav{inset:76px 0 auto}.brand-main{font-size:1.7rem}.brand-sub{font-size:.54rem}
  .hero{padding-top:112px}.hero-media{height:500px}.hero-facts{grid-template-columns:1fr}.hero-facts div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}
  .statement-section,.sticky-story,.photo-section,.menu-section,.milou-section{padding:88px 0}.statement-grid{gap:30px}
  .sticky-frame{height:430px;min-height:0}.story-step{padding:26px 0 34px}
  .section-head{flex-direction:column;align-items:flex-start}.photo-grid,.gallery-editorial{grid-template-columns:1fr}.photo-grid figure,.photo-grid figure.wide,.gallery-editorial figure,.gallery-editorial figure.wide{grid-column:auto}.photo-grid img,.photo-grid figure.wide img,.gallery-editorial img,.gallery-editorial figure.tall img{height:360px}
  .menu-rows a{grid-template-columns:1fr auto}.menu-rows small{display:none}.menu-home-image img{height:500px}.milou-photo img{height:540px}
  .final-cta{padding:70px 0}.final-cta-card{padding:34px;flex-direction:column;align-items:flex-start}
  .page-hero{padding:120px 0 70px}.page-hero-image img,.about-photo img{height:500px}
  .experience-split,.menu-browser-section,.process-section,.service-list-section{padding:88px 0}.experience-image img,.menu-browser-image img{height:500px}
  .experience-row,.menu-browser-row{grid-template-columns:1fr auto}.menu-browser-row small{grid-column:1/3}
  .process-list{grid-template-columns:1fr}.service-list article{grid-template-columns:1fr}.service-list article img{height:360px}
  .booking-hero{padding:120px 0 35px}.booking-layout{padding-top:25px}.choice-grid,.choice-grid.large,.field-grid,.sitemap-grid,.footer-grid{grid-template-columns:1fr}
  .form-panel{padding:24px}.panel-head{grid-template-columns:42px 1fr}.panel-head h2{font-size:1.45rem}.submit-panel{flex-direction:column;align-items:flex-start}
  .site-footer{padding:335px 0 26px}
  .site-footer::before{display:block;left:4%;right:4%;top:28px;bottom:auto;width:auto;height:275px;border-radius:22px;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.30)),url('../images/milou-private-chef-portret.jpg') center 28%/cover no-repeat;box-shadow:0 20px 45px rgba(0,0,0,.28);opacity:1}
  .site-footer::after{background:linear-gradient(180deg,rgba(8,8,8,.16) 0%,rgba(8,8,8,.30) 275px,rgba(8,8,8,.97) 330px,rgba(8,8,8,.98) 100%)}
  .footer-grid{padding-right:0}
  .footer-bottom{padding-right:0;flex-direction:column;gap:8px}
  .footer-bottom::before{right:0}
}


.immersive-message{padding:105px 0;background:#fff}
.immersive-message-card{position:relative;min-height:620px;overflow:hidden;border-radius:28px;background:#d9d1c8;box-shadow:var(--shadow)}
.immersive-message-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}
.immersive-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,17,15,.42) 0%,rgba(21,17,15,.24) 34%,rgba(21,17,15,.14) 58%,rgba(21,17,15,.16) 100%)}
.immersive-panel{position:relative;z-index:2;max-width:540px;margin:58px; padding:38px 38px 34px;border-radius:24px;background:rgba(247,243,238,.84);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.45)}
.immersive-panel h2{margin-bottom:18px;font-size:clamp(3rem,4.7vw,5rem)}
.immersive-panel p{color:#554c47;font-size:1.02rem;margin-bottom:16px}
.immersive-panel .button{margin-top:8px}

@media(max-width:1100px){
  .immersive-message-card{min-height:560px}
  .immersive-panel{max-width:520px;margin:36px}
}
@media(max-width:720px){
  .immersive-message{padding:88px 0}
  .immersive-message-card{min-height:520px;display:flex;align-items:flex-end}
  .immersive-shade{background:linear-gradient(180deg,rgba(21,17,15,.1) 0%,rgba(21,17,15,.2) 36%,rgba(21,17,15,.5) 100%)}
  .immersive-panel{margin:18px;padding:24px 22px 22px;max-width:none}
  .immersive-panel h2{font-size:clamp(2.6rem,12vw,3.8rem)}
}


/* =========================================================
   V9 — handmatig scrollbare dienstenmodule op de homepage
   De foto reageert NIET meer op het scrollen van de pagina.
   Alleen de interne lijst of een klik verandert het beeld.
========================================================= */
.manual-story .sticky-layout{
  align-items:start;
}

.manual-story .sticky-frame{
  position:sticky;
  top:115px;
  height:640px;
  min-height:0;
}

.manual-story .sticky-frame img{
  transition:opacity .24s ease, transform .36s ease;
}

.story-image-caption{
  position:absolute;
  left:18px;
  bottom:18px;
  z-index:2;
  padding:10px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  font-size:.67rem;
  line-height:1;
  font-weight:700;
  letter-spacing:.12em;
  color:var(--ink);
}

.story-scroll-shell{
  position:relative;
  height:640px;
  min-width:0;
}

.story-scroll{
  height:590px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scroll-snap-type:y proximity;
  scrollbar-width:thin;
  scrollbar-color:var(--wine) rgba(20,18,16,.08);
  padding-right:22px;
  outline:none;
}

.story-scroll:focus-visible{
  outline:2px solid rgba(90,37,53,.32);
  outline-offset:6px;
  border-radius:12px;
}

.story-scroll::-webkit-scrollbar{
  width:7px;
}

.story-scroll::-webkit-scrollbar-track{
  background:rgba(20,18,16,.07);
  border-radius:999px;
}

.story-scroll::-webkit-scrollbar-thumb{
  background:var(--wine);
  border-radius:999px;
}

.manual-story .story-step{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  min-height:205px;
  margin:0;
  padding:34px 8px 36px 0;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  display:grid;
  grid-template-columns:54px 1fr;
  gap:18px;
  align-items:start;
  text-align:left;
  cursor:pointer;
  opacity:.34;
  scroll-snap-align:start;
  transition:opacity .22s ease;
}

.manual-story .story-step:last-child{
  border-bottom:1px solid var(--line);
}

.manual-story .story-step:hover,
.manual-story .story-step:focus-visible,
.manual-story .story-step.is-active{
  opacity:1;
}

.manual-story .story-step:focus-visible{
  outline:none;
}

.manual-story .story-step > span{
  display:block;
  padding-top:5px;
  color:var(--gold);
  font-size:.72rem;
  font-weight:700;
}

.manual-story .story-step h3{
  margin:0 0 12px;
}

.manual-story .story-step p{
  max-width:570px;
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
}


@media(max-width:1100px){
  .manual-story .sticky-frame{
    position:relative;
    top:auto;
    height:560px;
  }

  .story-scroll-shell{
    height:560px;
  }

  .story-scroll{
    height:515px;
  }

  .manual-story .story-step{
    min-height:185px;
  }
}

@media(max-width:720px){
  .manual-story .sticky-frame{
    height:420px;
  }

  .story-scroll-shell{
    height:500px;
  }

  .story-scroll{
    height:455px;
    padding-right:12px;
  }

  .manual-story .story-step{
    grid-template-columns:40px 1fr;
    min-height:170px;
    padding:26px 4px 28px 0;
  }

  .manual-story .story-step p{
    font-size:.95rem;
  }
}


/* =========================================================
   V11 — compactere editorial food-collage op Home
========================================================= */
.table-collage{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:280px 280px 260px;
  gap:14px;
}

.table-collage figure{
  margin:0;
  min-width:0;
  overflow:hidden;
  border-radius:18px;
  background:#eee8e1;
}

.table-collage img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease;
}

@media(hover:hover) and (pointer:fine){
  .table-collage figure:hover img{
    transform:scale(1.018);
  }
}

.collage-a{grid-column:1 / 8;grid-row:1 / 3}
.collage-b{grid-column:8 / 13;grid-row:1}
.collage-c{grid-column:8 / 11;grid-row:2}
.collage-d{grid-column:11 / 13;grid-row:2}
.collage-e{grid-column:1 / 5;grid-row:3}
.collage-f{grid-column:5 / 9;grid-row:3}
.collage-g{grid-column:9 / 13;grid-row:3}

/* Tablet: still dense, but less extreme. */
@media(max-width:1000px){
  .table-collage{
    grid-template-rows:240px 240px 220px;
    gap:12px;
  }
}

/* Mobile: deliberately a collage rather than seven huge full-width photos.
   Rows alternate between 2 and 3 images. */
@media(max-width:720px){
  .photo-section .section-head{
    margin-bottom:24px;
  }

  .table-collage{
    grid-template-columns:repeat(6,minmax(0,1fr));
    grid-template-rows:170px 132px 150px;
    gap:8px;
  }

  .table-collage figure{
    border-radius:13px;
  }

  .collage-a{grid-column:1 / 5;grid-row:1}
  .collage-b{grid-column:5 / 7;grid-row:1}

  .collage-c{grid-column:1 / 3;grid-row:2}
  .collage-d{grid-column:3 / 5;grid-row:2}
  .collage-e{grid-column:5 / 7;grid-row:2}

  .collage-f{grid-column:1 / 4;grid-row:3}
  .collage-g{grid-column:4 / 7;grid-row:3}
}

@media(max-width:390px){
  .table-collage{
    grid-template-rows:150px 118px 138px;
    gap:7px;
  }
}


/* =========================================================
   V12 — klikbare 'Aan tafel' lightbox-galerij
========================================================= */
.lightbox-trigger{
  appearance:none;
  -webkit-appearance:none;
  display:block;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  background:none;
  cursor:zoom-in;
  overflow:hidden;
}

.lightbox-trigger img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.lightbox-trigger:focus-visible{
  outline:3px solid rgba(90,37,53,.48);
  outline-offset:-4px;
}

.lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
}

.lightbox.is-open{
  display:block;
}

.lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(12,10,9,.88);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}

.lightbox-dialog{
  position:relative;
  z-index:2;
  width:min(94vw,1380px);
  height:min(90vh,900px);
  margin:5vh auto;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 72px;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
}

.lightbox-figure{
  grid-column:2;
  grid-row:1;
  margin:0;
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.lightbox-figure img{
  display:block;
  max-width:100%;
  max-height:78vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:14px;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
  user-select:none;
  -webkit-user-drag:none;
}

.lightbox-figure figcaption{
  margin-top:12px;
  color:rgba(255,255,255,.76);
  font-size:.86rem;
  text-align:center;
}

.lightbox-close{
  position:absolute;
  top:-8px;
  right:0;
  width:48px;
  height:48px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
}

.lightbox-nav{
  width:54px;
  height:54px;
  justify-self:center;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:background .18s ease, transform .18s ease;
}

.lightbox-nav:hover{
  background:rgba(255,255,255,.18);
  transform:scale(1.04);
}

.lightbox-nav span{
  font-size:2.15rem;
  line-height:.8;
  transform:translateY(-2px);
}

.lightbox-prev{
  grid-column:1;
  grid-row:1;
}

.lightbox-next{
  grid-column:3;
  grid-row:1;
}

.lightbox-count{
  grid-column:2;
  grid-row:2;
  justify-self:center;
  color:rgba(255,255,255,.7);
  font-size:.8rem;
  letter-spacing:.08em;
}

body.lightbox-open{
  overflow:hidden;
}

@media(max-width:720px){
  .lightbox-dialog{
    width:100%;
    height:100%;
    margin:0;
    padding:18px 12px 16px;
    grid-template-columns:48px minmax(0,1fr) 48px;
    gap:8px;
  }

  .lightbox-figure img{
    max-height:76vh;
    border-radius:10px;
  }

  .lightbox-close{
    top:16px;
    right:16px;
    width:44px;
    height:44px;
    z-index:4;
    background:rgba(10,9,8,.5);
  }

  .lightbox-nav{
    width:44px;
    height:44px;
    background:rgba(10,9,8,.42);
  }

  .lightbox-figure figcaption{
    font-size:.78rem;
    padding-inline:16px;
  }
}


/* =========================================================
   V13 — menu-uitleg als SEO-vriendelijke popup op Home
========================================================= */
.menu-rows button.menu-info-trigger{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:18px;
  align-items:center;
  padding:19px 0;
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
}

.menu-rows button.menu-info-trigger span{
  font-size:1.18rem;
  font-weight:600;
}

.menu-rows button.menu-info-trigger small{
  color:var(--muted);
  font-size:.9rem;
}

.menu-rows button.menu-info-trigger b{
  color:var(--wine);
  font-size:1.3rem;
  font-weight:500;
  transition:transform .2s ease;
}

.menu-rows button.menu-info-trigger:hover b,
.menu-rows button.menu-info-trigger:focus-visible b{
  transform:rotate(90deg);
}

.menu-rows button.menu-info-trigger:focus-visible{
  outline:2px solid rgba(90,37,53,.28);
  outline-offset:5px;
}

.menu-dialog{
  width:min(92vw,980px);
  max-width:980px;
  margin:auto;
  padding:0;
  border:0;
  border-radius:24px;
  background:var(--bg-soft);
  color:var(--ink);
  box-shadow:0 30px 90px rgba(20,14,12,.24);
  overflow:visible;
}

.menu-dialog::backdrop{
  background:rgba(18,14,13,.62);
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}

.menu-dialog-close{
  position:absolute;
  z-index:5;
  top:14px;
  right:14px;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:var(--ink);
  font-size:1.7rem;
  line-height:1;
  cursor:pointer;
  box-shadow:0 6px 20px rgba(20,14,12,.10);
}

.menu-dialog-content{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  min-height:520px;
}

.menu-dialog-content[hidden]{
  display:none;
}

.menu-dialog-image{
  min-height:520px;
  overflow:hidden;
  border-radius:24px 0 0 24px;
  background:#ddd;
}

.menu-dialog-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.menu-dialog-copy{
  padding:54px 52px 46px;
  align-self:center;
}

.menu-dialog-copy h2{
  margin-bottom:20px;
  font-size:clamp(2.6rem,4vw,4rem);
}

.menu-dialog-copy p{
  color:var(--muted);
  font-size:1rem;
  margin-bottom:16px;
}

.menu-dialog-copy .button{
  margin-top:10px;
}

@media(max-width:720px){
  .menu-rows button.menu-info-trigger{
    grid-template-columns:1fr auto;
  }

  .menu-rows button.menu-info-trigger small{
    display:none;
  }

  .menu-dialog{
    width:calc(100vw - 24px);
    max-height:92vh;
    overflow:auto;
    border-radius:20px;
  }

  .menu-dialog-content{
    grid-template-columns:1fr;
    min-height:0;
  }

  .menu-dialog-image{
    min-height:0;
    height:220px;
    border-radius:20px 20px 0 0;
  }

  .menu-dialog-copy{
    padding:30px 24px 28px;
  }

  .menu-dialog-copy h2{
    font-size:clamp(2.3rem,10vw,3.2rem);
  }

  .menu-dialog-close{
    position:fixed;
    top:calc(4vh + 12px);
    right:24px;
  }
}

@media(max-width:430px){
  .site-footer{padding-top:305px}
  .site-footer::before{height:245px;top:24px;left:5%;right:5%}
  .site-footer::after{background:linear-gradient(180deg,rgba(8,8,8,.14) 0%,rgba(8,8,8,.28) 245px,rgba(8,8,8,.97) 300px,rgba(8,8,8,.98) 100%)}
}


/* 21 diners concept section */
.concept-showcase{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#17120f;
}
.concept-showcase-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 54%;
  transform:scale(1.02);
}
.concept-showcase-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(18,13,11,.90) 0%,rgba(28,20,18,.79) 28%,rgba(44,23,30,.52) 58%,rgba(25,18,15,.66) 100%),
    linear-gradient(180deg,rgba(12,9,8,.12),rgba(12,9,8,.34));
}
.concept-showcase-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(360px, .78fr) minmax(520px, .96fr);
  gap:clamp(36px,4vw,72px);
  align-items:center;
  justify-content:center;
  width:min(100%,1280px);
  margin-inline:auto;
  min-height:650px;
  padding-top:72px;
  padding-bottom:72px;
  padding-inline:clamp(28px,3vw,54px);
}
.concept-showcase-title{
  color:#f7f2eb;
  max-width:520px;
  padding-left:clamp(20px,2vw,34px);
  justify-self:center;
}
.concept-showcase .eyebrow,
.concept-showcase .eyebrow.light{
  color:var(--gold);
}
.concept-showcase-title h2{
  margin:0;
  font-size:clamp(3.5rem,5vw,5.8rem);
  line-height:.94;
  letter-spacing:-.045em;
  text-shadow:0 8px 30px rgba(0,0,0,.22);
}
.concept-showcase-title h2 em{
  display:inline-block;
  margin-top:12px;
  color:#d8b682;
  font-size:.82em;
  line-height:1;
}
.concept-showcase-card{
  width:100%;
  max-width:880px;
  justify-self:center;
  padding:34px 38px;
  border:1px solid rgba(173,137,86,.42);
  border-radius:26px;
  background:linear-gradient(135deg,rgba(78,38,53,.54),rgba(34,24,20,.68));
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
  box-shadow:0 24px 70px rgba(0,0,0,.20);
}
.concept-point{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:18px;
  align-items:start;
  padding:4px 0 26px;
}
.concept-point + .concept-point{
  padding-top:26px;
  padding-bottom:4px;
  border-top:1px solid rgba(173,137,86,.34);
}
.concept-number{
  padding-top:3px;
  color:#d8b682;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
}
.concept-point p{
  margin:0;
  color:rgba(255,249,243,.94);
  font-size:clamp(1rem,1.2vw,1.11rem);
  line-height:1.72;
}

@media(max-width:1100px){
  .concept-showcase{
    min-height:620px;
  }
  .concept-showcase-inner{
    grid-template-columns:minmax(320px,.86fr) minmax(0,1fr);
    gap:32px;
    width:min(100%,1180px);
    min-height:620px;
    padding-inline:26px;
  }
  .concept-showcase-title h2{
    font-size:clamp(3.2rem,4.5vw,4.45rem);
  }
  .concept-showcase-card{
    padding:30px;
  }
}

@media(max-width:760px){
  .concept-showcase{
    min-height:0;
  }
  .concept-showcase-bg{
    object-position:55% center;
  }
  .concept-showcase-overlay{
    background:linear-gradient(180deg,rgba(16,12,11,.66) 0%,rgba(34,23,20,.70) 44%,rgba(32,22,20,.88) 100%);
  }
  .concept-showcase-inner{
    grid-template-columns:1fr;
    gap:28px;
    min-height:0;
    padding-top:64px;
    padding-bottom:64px;
    padding-inline:20px;
  }
  .concept-showcase-title{
    text-align:left;
    margin-inline:0;
    max-width:440px;
    padding-left:0;
    justify-self:start;
  }
  .concept-showcase-title h2{
    font-size:clamp(3rem,13vw,4.4rem);
  }
  .concept-showcase-card{
    max-width:580px;
    margin-inline:0;
    justify-self:start;
    padding:24px 22px;
    border-radius:20px;
    background:linear-gradient(135deg,rgba(74,37,50,.56),rgba(26,19,17,.74));
  }
  .concept-point{
    grid-template-columns:34px 1fr;
    gap:12px;
  }
  .concept-point p{
    font-size:.98rem;
    line-height:1.65;
  }
}


/* 21 diner menu selector uses the same visual language as the Home story module */
.dinner-menu-story{
  background:var(--bg);
}
.dinner-menu-story .sticky-layout{
  align-items:start;
}
.dinner-menu-story .story-scroll-shell{
  padding-top:6px;
}
.dinner-menu-eyebrow{
  margin-bottom:14px;
}
.dinner-menu-story .dinner-menu-scroll{
  height:550px;
}
.dinner-menu-story .story-step{
  min-height:180px;
}
.dinner-menu-story .story-step h3{
  font-size:clamp(1.8rem,2.2vw,2.35rem);
}
.dinner-menu-story .story-step p{
  max-width:560px;
}
.dinner-menu-story .story-step.is-active h3{
  color:var(--wine);
}
.dinner-menu-story .story-step::after{
  content:"Meer";
  align-self:start;
  justify-self:end;
  grid-column:2;
  margin-top:12px;
  color:var(--wine);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:0;
  transition:opacity .2s ease;
}
.dinner-menu-story .story-step:hover::after,
.dinner-menu-story .story-step:focus-visible::after,
.dinner-menu-story .story-step.is-active::after{
  opacity:1;
}
.dinner-menu-dialog .menu-dialog-image img{
  object-position:center;
}

@media(max-width:1100px){
  .dinner-menu-story .dinner-menu-scroll{
    height:510px;
  }
}

@media(max-width:720px){
  .dinner-menu-story .dinner-menu-scroll{
    height:445px;
  }
  .dinner-menu-story .story-step{
    min-height:165px;
  }
  .dinner-menu-story .story-step::after{
    display:none;
  }
}


/* V33 catering eindsectie. Volledig geïsoleerd van de 21 diner pagina. */
.catering-concept-v33{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#17120f;
}
.catering-concept-v33-bg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 45%;
  transform:scale(1.015);
}
.catering-concept-v33-overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(18,13,11,.91) 0%,rgba(28,20,18,.80) 29%,rgba(48,27,34,.53) 60%,rgba(25,18,15,.66) 100%),
    linear-gradient(180deg,rgba(12,9,8,.08),rgba(12,9,8,.30));
}
.catering-concept-v33-inner{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(360px,.78fr) minmax(520px,.96fr);
  gap:clamp(36px,4vw,72px);
  align-items:center;
  justify-content:center;
  width:min(100%,1280px);
  min-height:650px;
  margin-inline:auto;
  padding:72px clamp(28px,3vw,54px);
}
.catering-concept-v33-title{
  color:#f7f2eb;
  max-width:520px;
  padding-left:clamp(20px,2vw,34px);
  justify-self:center;
}
.catering-concept-v33-title .eyebrow{
  color:var(--gold);
}
.catering-concept-v33-title h2{
  margin:0;
  color:#f7f2eb;
  font-size:clamp(3.5rem,5vw,5.8rem);
  line-height:.94;
  letter-spacing:-.045em;
  text-shadow:0 8px 30px rgba(0,0,0,.22);
}
.catering-concept-v33-title h2 em{
  display:inline-block;
  margin-top:12px;
  color:#d8b682;
  font-size:.82em;
  line-height:1;
}
.catering-concept-v33-card{
  width:100%;
  max-width:880px;
  justify-self:center;
  padding:34px 38px;
  border:1px solid rgba(173,137,86,.42);
  border-radius:26px;
  background:linear-gradient(135deg,rgba(78,38,53,.57),rgba(34,24,20,.70));
  -webkit-backdrop-filter:blur(15px);
  backdrop-filter:blur(15px);
  box-shadow:0 24px 70px rgba(0,0,0,.20);
}
.catering-concept-v33-point{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:18px;
  align-items:start;
  padding:4px 0 26px;
}
.catering-concept-v33-point + .catering-concept-v33-point{
  padding-top:26px;
  padding-bottom:4px;
  border-top:1px solid rgba(173,137,86,.34);
}
.catering-concept-v33-number{
  padding-top:3px;
  color:#d8b682;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
}
.catering-concept-v33-point p{
  margin:0;
  color:rgba(255,249,243,.94);
  font-size:clamp(1rem,1.2vw,1.11rem);
  line-height:1.72;
}
@media(max-width:1100px){
  .catering-concept-v33{min-height:620px}
  .catering-concept-v33-inner{
    grid-template-columns:minmax(320px,.86fr) minmax(0,1fr);
    gap:32px;
    width:min(100%,1180px);
    min-height:620px;
    padding-inline:26px;
  }
  .catering-concept-v33-title h2{font-size:clamp(3.2rem,4.5vw,4.45rem)}
  .catering-concept-v33-card{padding:30px}
}
@media(max-width:760px){
  .catering-concept-v33{min-height:0}
  .catering-concept-v33-bg{object-position:58% center}
  .catering-concept-v33-overlay{
    background:linear-gradient(180deg,rgba(16,12,11,.58) 0%,rgba(34,23,20,.70) 44%,rgba(32,22,20,.89) 100%);
  }
  .catering-concept-v33-inner{
    grid-template-columns:1fr;
    gap:28px;
    min-height:0;
    padding:64px 20px;
  }
  .catering-concept-v33-title{
    text-align:left;
    max-width:440px;
    padding-left:0;
    justify-self:start;
  }
  .catering-concept-v33-title h2{font-size:clamp(3rem,13vw,4.4rem)}
  .catering-concept-v33-card{
    max-width:580px;
    justify-self:start;
    padding:24px 22px;
    border-radius:20px;
  }
  .catering-concept-v33-point{grid-template-columns:34px 1fr;gap:12px}
  .catering-concept-v33-point p{font-size:.98rem;line-height:1.65}
}


/* Responsive gallery layout — overrides generic photo-grid mobile rules above. */
@media (max-width:1040px){
  .gallery-editorial{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:clamp(118px,18vw,180px);
    gap:16px;
    padding-bottom:90px;
  }
  .gallery-editorial figure:nth-child(n){grid-column:auto;grid-row:auto}
  .gallery-editorial figure:nth-child(1){grid-column:1 / span 2;grid-row:1 / span 3}
  .gallery-editorial figure:nth-child(2){grid-column:1;grid-row:4 / span 3}
  .gallery-editorial figure:nth-child(3){grid-column:2;grid-row:4 / span 4}
  .gallery-editorial figure:nth-child(4){grid-column:1;grid-row:7 / span 4}
  .gallery-editorial figure:nth-child(5){grid-column:2;grid-row:8 / span 3}
  .gallery-editorial figure:nth-child(6){grid-column:1 / span 2;grid-row:11 / span 3}
  .gallery-editorial figure:nth-child(7){grid-column:1;grid-row:14 / span 4}
  .gallery-editorial figure:nth-child(8){grid-column:2;grid-row:14 / span 3}
  .gallery-editorial figure:nth-child(9){grid-column:2;grid-row:17 / span 3}
  .gallery-editorial figure:nth-child(10){grid-column:1;grid-row:18 / span 2}
  .gallery-editorial figure:nth-child(11){grid-column:1;grid-row:20 / span 3}
  .gallery-editorial figure:nth-child(12){grid-column:2;grid-row:20 / span 4}
  .gallery-editorial figure:nth-child(13){grid-column:1;grid-row:23 / span 4}
  .gallery-editorial figure:nth-child(14){grid-column:2;grid-row:24 / span 3}
  .gallery-editorial img,
  .gallery-editorial figure.tall img{height:100%;object-position:center center}
}
@media (max-width:640px){
  .gallery-intro{padding-bottom:32px}
  .gallery-editorial{
    grid-template-columns:minmax(0,1fr);
    grid-auto-rows:auto;
    gap:16px;
    padding-bottom:75px;
  }
  .gallery-editorial figure:nth-child(n){
    grid-column:auto;
    grid-row:auto;
    width:94%;
    height:auto;
    aspect-ratio:4 / 5;
    justify-self:start;
    border-radius:16px;
  }
  .gallery-editorial figure:nth-child(3n + 2){
    width:89%;
    justify-self:end;
  }
  .gallery-editorial figure:nth-child(5n + 1){
    width:100%;
    aspect-ratio:5 / 4;
  }
  .gallery-editorial img,
  .gallery-editorial figure.tall img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
}


/* ========== V15 — nav CTA + Apple-inspired contact form ========== */
.main-nav{gap:clamp(11px,1.5vw,25px);align-items:center}
.main-nav .nav-link-cta{
  border:1px solid rgba(94,38,55,.55);
  background:rgba(94,38,55,.045);
  color:var(--wine);
  border-radius:999px;
  padding:10px 18px;
  transition:background .2s,border-color .2s,box-shadow .2s,color .2s,transform .2s;
  white-space:nowrap;
}
.main-nav .nav-link-cta:after{display:none}
.main-nav .nav-link-cta:hover,
.main-nav .nav-link-cta:focus-visible,
.main-nav .nav-link-cta.is-active{
  background:var(--wine);
  border-color:var(--wine);
  color:#fff;
  box-shadow:0 8px 24px rgba(94,38,55,.13);
}
.main-nav .nav-link-cta:focus-visible{outline:3px solid rgba(94,38,55,.2);outline-offset:3px}
.trap-field{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
.contact-landing{background:linear-gradient(145deg,#fbfaf8 2%,#f5f0eb 88%);padding:160px 0 115px;min-height:calc(100vh - 80px)}
.contact-landing-grid{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:clamp(50px,7vw,130px);align-items:start}
.contact-intro{padding-top:42px}
.contact-intro h1{font-size:clamp(3.8rem,5.8vw,6.5rem);line-height:1.01;letter-spacing:-.045em;margin:24px 0}
.contact-intro h1 em{font-weight:400}
.contact-intro>p{color:var(--muted);max-width:500px;font-size:1.16rem;line-height:1.72}
.contact-direct-card{margin:42px 0 36px;padding:26px 28px;border-radius:24px;border:1px solid rgba(30,24,24,.08);background:rgba(255,255,255,.68);box-shadow:0 16px 45px rgba(40,28,28,.025)}
.contact-direct-label{font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--gold);display:block;margin-bottom:9px}
.contact-direct-card>a:first-of-type{font-size:clamp(1.23rem,2vw,1.55rem);font-weight:600;letter-spacing:-.025em;display:inline-flex;gap:14px;align-items:center;overflow-wrap:anywhere}
.contact-direct-card>a:first-of-type span{color:var(--wine)}
.contact-direct-card small{font-size:.88rem;color:var(--muted);display:block;line-height:1.7;margin:17px 0 14px}
.contact-direct-card .text-link{font-size:.92rem;font-weight:700}
.contact-photo{overflow:hidden;border-radius:25px;width:min(100%,470px);height:390px;box-shadow:0 28px 55px rgba(38,30,28,.075)}
.contact-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 49%}
.contact-form-card{border:1px solid rgba(43,32,28,.085);border-radius:32px;background:rgba(255,255,255,.94);box-shadow:0 35px 85px rgba(38,28,25,.07);padding:clamp(25px,3.7vw,54px)}
.contact-form-card-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}
.contact-card-kicker,.contact-card-number{font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--wine)}
.contact-card-number{color:#afa7a0}
.contact-form-card h2{font-size:clamp(2rem,3.2vw,3.3rem);letter-spacing:-.035em;line-height:1.08;margin-bottom:14px}
.contact-form-card>p{font-size:.95rem;line-height:1.65;color:var(--muted);margin-bottom:30px;max-width:500px}
#contactForm{display:grid;gap:22px}
.contact-fields-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#contactForm label:not(.contact-consent){font-size:.83rem;font-weight:650;display:flex;flex-direction:column;gap:9px;color:#39312e}
#contactForm label>span[aria-hidden="true"]{color:var(--wine)}
#contactForm input:not([type="checkbox"]),#contactForm textarea,#contactForm select{display:block;width:100%;min-width:0;min-height:54px;font:inherit;font-size:.97rem;font-weight:400;color:var(--ink);background:#f8f7f5;border:1px solid #e8e5e1;border-radius:15px;padding:15px 16px;outline:0;transition:background .2s,box-shadow .2s,border-color .2s}
#contactForm textarea{min-height:140px;resize:vertical;line-height:1.55}
#contactForm input:focus,#contactForm textarea:focus,#contactForm select:focus{background:#fff;border-color:#a17b87;box-shadow:0 0 0 4px rgba(94,38,55,.075)}
#contactForm input::placeholder,#contactForm textarea::placeholder{color:#a8a29d}
#contactForm .field-optional{color:#a49d97;font-size:.74rem;font-weight:400}
#contactForm .contact-consent{display:flex;align-items:start;gap:12px;font-weight:400;color:var(--muted);line-height:1.5;font-size:.87rem}
#contactForm .contact-consent input{margin-top:4px;accent-color:var(--wine);width:17px;height:17px;flex-shrink:0}
.contact-send-btn{min-height:56px;display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:15px;font-size:1rem;cursor:pointer}
.contact-send-btn:disabled,.booking-form-modern [type="submit"]:disabled{opacity:.65;cursor:wait}
.contact-form-status{display:none;margin:0;padding:15px 16px;border-radius:14px;background:#f6f2ed;color:#3b2b2b;font-size:.93rem}
.contact-form-status.visible{display:block}
.contact-form-status.is-error,.form-message.is-error{background:#fff1f1;color:#8a2020}
.contact-bottom-prompt{background:#f8f6f2;padding:75px 0 100px}
.contact-bottom-panel{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:42px 50px;background:#eae4dc;border-radius:28px}
.contact-bottom-panel h2{margin:10px 0 0;font-size:clamp(2.2rem,3.4vw,3.4rem)}
@media(max-width:1280px){
  .main-nav{gap:14px}
  .main-nav .nav-link{font-size:.9rem}
}
@media(max-width:1170px){
  .main-nav{display:none;position:fixed;inset:86px 0 auto 0;background:rgba(251,249,246,.97);padding:26px 4%;flex-direction:column;align-items:stretch;gap:12px;border-bottom:1px solid var(--line)}
  .main-nav.open{display:flex}
  .main-nav .nav-link{font-size:1rem;width:max-content;max-width:100%}
  .nav-toggle{display:block}
  .header-cta{display:none}
  .contact-landing-grid{grid-template-columns:1fr;gap:44px}
  .contact-intro{padding-top:0}
  .contact-photo{display:none}
  .contact-landing{padding:130px 0 75px}
}
@media(max-width:720px){
  .main-nav{inset:76px 0 auto 0}
  .contact-landing{padding:115px 0 68px}
  .contact-intro h1{font-size:clamp(3.3rem,12vw,5rem)}
  .contact-intro>p{font-size:1.02rem}
  .contact-direct-card{margin:30px 0 0;padding:21px 22px}
  .contact-form-card{padding:27px 22px;border-radius:24px}
  .contact-fields-two{grid-template-columns:1fr;gap:19px}
  .contact-bottom-panel{padding:30px 25px;flex-direction:column;align-items:start}
  .contact-bottom-prompt{padding:50px 0 80px}
}


/* =========================================================
   V35 — About and gallery alignment + tighter photo spacing
========================================================= */
.about-statement-centered.compact{padding:90px 0 76px}
.about-statement-centered .statement-grid{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:22px;
  text-align:center;
}
.about-statement-centered .statement-grid>div:first-child{width:100%}
.about-statement-centered .statement-grid h2{max-width:1180px;margin:0 auto;line-height:1.03}
.about-statement-centered .statement-copy{width:min(100%,730px);max-width:730px;margin:0 auto}
.about-statement-centered .statement-copy p{margin:0 auto 12px}
.about-editorial{padding-bottom:30px}
.about-image-band{padding-bottom:95px}
.gallery-intro .wrap{text-align:center}
.gallery-intro h1{margin-left:auto;margin-right:auto}
.gallery-intro p{max-width:760px;margin:0 auto}

/* V35 — thank-you page: clean editorial hero with playful Milou photo */
.thanks-section{min-height:100svh;padding:clamp(132px,12vw,180px) 0 92px;background:linear-gradient(165deg,#faf8f5 0%,#f1ebe5 100%)}
.thanks-panel{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);min-height:690px;overflow:hidden;background:#fff;border-radius:30px;border:1px solid rgba(40,27,22,.07);box-shadow:0 25px 90px rgba(37,25,23,.07)}
.thanks-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(36px,5.3vw,80px)}
.thanks-tick{width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#efe7e9;color:var(--wine);font-size:1.6rem;font-weight:700;margin-bottom:25px}
.thanks-copy .eyebrow{margin-bottom:19px}
.thanks-copy h1{font-size:clamp(3.55rem,4.7vw,5.9rem);letter-spacing:-.048em;line-height:.99;margin:0 0 25px}
.thanks-copy h1 em{color:var(--wine);font-size:.85em;display:inline-block;margin-top:7px}
.thanks-lead{color:#5e5550;font-size:1.09rem;line-height:1.75;max-width:570px;margin:0 0 27px}
.thanks-note{padding:20px 23px;background:var(--bg-soft);border:1px solid rgba(20,18,16,.065);border-radius:17px;max-width:570px}
.thanks-note strong{display:block;font-size:1.02rem;margin-bottom:7px}
.thanks-note p{color:var(--muted);font-size:.94rem;line-height:1.7;margin:0 0 9px}
.thanks-note p:last-child{margin-bottom:0;font-size:.84rem}
.thanks-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:30px}
.thanks-actions .button{gap:14px}
.thanks-photo{position:relative;min-width:0;overflow:hidden;background:#b4a79b}
.thanks-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 50%;position:absolute;inset:0}
.thanks-photo-caption{position:absolute;bottom:24px;left:24px;right:24px;text-align:center;width:max-content;max-width:calc(100% - 48px);padding:12px 16px;border-radius:100px;font-size:.67rem;font-weight:700;letter-spacing:.14em;color:#fff;background:rgba(28,22,20,.58);backdrop-filter:blur(10px)}
@media(max-width:950px){
 .thanks-panel{grid-template-columns:1fr;min-height:0}
 .thanks-photo{height:580px;order:-1}
 .thanks-photo img{object-position:50% 38%}
 .thanks-copy{padding:48px}
}
@media(max-width:720px){
 .about-statement-centered.compact{padding:75px 0 64px}
 .about-statement-centered .statement-grid{gap:18px}
 .about-statement-centered .statement-grid h2{font-size:clamp(2.8rem,10vw,4rem);line-height:1.07}
 .about-editorial{padding-bottom:18px}
 .about-image-band{padding-bottom:78px}
 .gallery-intro h1{font-size:clamp(3.3rem,12vw,4.9rem)}
 .thanks-section{padding:100px 0 74px}
 .thanks-panel{border-radius:22px}
 .thanks-photo{height:405px}
 .thanks-copy{padding:34px 25px 38px}
 .thanks-copy h1{font-size:clamp(3rem,11.5vw,4.25rem)}
 .thanks-lead{font-size:1.02rem}
 .thanks-actions{gap:16px}
 .thanks-photo-caption{left:15px;bottom:15px;padding:10px 12px;font-size:.58rem}
}
@media(max-width:390px){.thanks-photo{height:340px}}


/* Over Milou: centreer de introductie boven de keukenfoto’s. */
.about-editorial-intro {
  max-width: 840px;
  margin: 0 auto 34px;
  text-align: center;
}
.about-editorial-intro p {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}


/* =========================================================
   MENU'S 2026 — alleen menus.html; sluit aan op huidige stijl
========================================================= */
body.menus-page{background:#fff}
.menus-page .menus-v2-hero{padding:136px 0 84px;background:linear-gradient(125deg,#fbf9f6 0%,#f6f0ea 100%);overflow:hidden}
.menus-v2-hero-grid{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(30px,5vw,75px);align-items:center}
.menus-v2-hero-copy{padding:32px 0}
.menus-v2-hero-copy .eyebrow{margin-bottom:24px}
.menus-v2-hero-copy h1{font-size:clamp(3.6rem,5.5vw,6rem);line-height:1.03;letter-spacing:-.058em;max-width:740px;margin:0 0 28px}
.menus-v2-hero-copy h1 em{font-size:1.07em;display:block;font-weight:400;letter-spacing:-.03em}
.menus-v2-hero-copy>p{max-width:550px;color:#615956;font-size:1.09rem;line-height:1.8;margin:0 0 32px}
.menus-v2-hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.menus-v2-hero-actions .button,.menus-v2-cta-actions .button{gap:18px;min-height:56px}
.menus-v2-outline-button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;gap:16px;border:1px solid rgba(90,37,53,.40);border-radius:999px;color:var(--wine);font-size:.94rem;font-weight:600;padding:0 24px;background:rgba(255,255,255,.55);transition:.2s}
.menus-v2-outline-button:hover,.menus-v2-outline-button:focus-visible{background:#fff;border-color:var(--wine)}
.menus-v2-points{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:58px}
.menus-v2-points>div{display:flex;gap:11px;align-items:center;color:#625951;font-size:.75rem;font-weight:600;line-height:1.45}
.menus-v2-point-icon{width:40px;height:40px;display:grid;place-items:center;flex:none;border:1px solid #d6c9c2;border-radius:50%;color:var(--wine);font-size:1.36rem}
.menus-v2-hero-visual{height:min(690px,52vw);min-height:570px;border-radius:26px;position:relative;overflow:hidden;background:#d8cec8;isolation:isolate;box-shadow:0 32px 62px rgba(55,23,31,.1)}
.menus-v2-hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 39%}
.menus-v2-hero-visual:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.38))}
.menus-v2-photo-stamp{position:absolute;right:28px;top:30px;z-index:1;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-radius:18px;padding:16px 24px;color:var(--wine);font-size:1.05rem;line-height:1.24;font-weight:600;text-align:center;box-shadow:0 14px 35px rgba(0,0,0,.07);transform:rotate(3deg)}
.menus-v2-photo-stamp em{font-size:1.5rem}
.menus-v2-photo-tag{position:absolute;left:28px;bottom:26px;z-index:1;font-size:.72rem;font-weight:700;letter-spacing:.2em;color:#fff}
.menus-v2-choices{padding:108px 0 112px;background:#fff}
/* Menu-keuzes: kop, titel en toelichting als één gecentreerde introductie. */
.menus-v2-section-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:19px;text-align:center;margin-bottom:42px}
.menus-v2-section-header>div{width:100%;text-align:center}
.menus-v2-section-header .eyebrow{display:block;text-align:center}
.menus-v2-section-header h2{font-size:clamp(2.7rem,4vw,4.6rem);max-width:970px;line-height:1.1;margin:0 auto}
.menus-v2-section-header>p{max-width:660px;color:var(--muted);margin:0 auto;font-size:1rem;line-height:1.72;text-align:center}
.menus-v2-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.menus-v2-menu-card{display:flex;flex-direction:column;min-width:0;background:#fdfcfa;border-radius:19px;overflow:hidden;box-shadow:0 5px 22px rgba(25,18,14,.06);border:1px solid rgba(20,18,16,.085);transition:transform .25s,box-shadow .25s}
@media(hover:hover){.menus-v2-menu-card:hover{transform:translateY(-5px);box-shadow:0 14px 35px rgba(25,18,14,.12)}}
.menus-v2-card-image{height:200px;position:relative;overflow:hidden;background:#e7dfd8}
.menus-v2-card-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.menus-v2-card-image>span{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.9);color:#483735;padding:7px 10px;border-radius:999px;font-size:.62rem;line-height:1.1;font-weight:700;white-space:nowrap}
.menus-v2-card-body{padding:20px 17px 18px;display:flex;flex-direction:column;flex:1}
.menus-v2-card-num{display:block;color:var(--gold);font-size:.60rem;letter-spacing:.15em;font-weight:700;margin-bottom:12px}
.menus-v2-card-body h3{font-size:clamp(1.45rem,1.85vw,2rem);line-height:1.08;margin:0 0 16px;letter-spacing:-.035em}
.menus-v2-card-body p{font-size:.86rem;line-height:1.67;color:var(--muted);margin:0 0 20px;flex:1}
.menus-v2-card-body>a{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:14px;color:var(--wine);font-weight:700;font-size:.77rem}
.menus-v2-card-body>a span{font-size:1.2rem;line-height:1}
.menus-v2-choice-footnote{text-align:center;color:var(--muted);font-size:.96rem;margin:30px 0 0}
.menus-v2-choice-footnote a{color:var(--wine);font-weight:650;border-bottom:1px solid rgba(90,37,53,.35)}
.menus-v2-process{padding:100px 0;background:#f8f5f0}
.menus-v2-process-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(46px,8vw,115px);align-items:center}
.menus-v2-process-photo{height:660px;overflow:hidden;border-radius:24px;position:relative;background:#ded6cc}
.menus-v2-process-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 43%}
.menus-v2-process-caption{position:absolute;left:22px;bottom:22px;right:22px;background:rgba(255,255,255,.93);backdrop-filter:blur(14px);border-radius:14px;color:#322823;font-weight:600;padding:16px 22px;font-size:1.05rem;text-align:center}
.menus-v2-process-caption em{font-size:1.3rem;color:var(--wine)}
.menus-v2-process-content h2{font-size:clamp(2.7rem,4.2vw,4.7rem);line-height:1.08;margin:0 0 24px}
.menus-v2-lead{max-width:580px;color:var(--muted);font-size:1.04rem;margin:0 0 32px}
.menus-v2-steps{border-top:1px solid var(--line)}
.menus-v2-step{display:grid;grid-template-columns:46px 1fr;gap:17px;padding:20px 0;border-bottom:1px solid var(--line)}
.menus-v2-step-num{display:grid;place-items:center;width:40px;height:40px;flex:none;background:#eae0d6;color:var(--wine);border-radius:50%;font-size:.86rem;font-weight:700}
.menus-v2-step h3{font-size:1.15rem;letter-spacing:-.025em;line-height:1.24;margin:2px 0 6px}
.menus-v2-step p{color:var(--muted);font-size:.91rem;margin:0}
.menus-v2-inline-link{display:inline-flex;gap:16px;align-items:center;margin-top:28px;font-size:1rem;font-weight:700;color:var(--wine);padding-bottom:5px;border-bottom:1px solid rgba(90,37,53,.5)}
.menus-v2-personal{padding:112px 0;background:#fff}
.menus-v2-personal-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(35px,6vw,92px);align-items:center}
.menus-v2-personal-copy h2{font-size:clamp(2.9rem,4.5vw,5rem);line-height:1.05;margin:0 0 25px;max-width:680px}
.menus-v2-personal-copy>p{max-width:610px;color:var(--muted);font-size:1.04rem;line-height:1.8;margin:0 0 28px}
.menus-v2-perks{display:grid;gap:19px}
.menus-v2-perks>div{display:grid;grid-template-columns:36px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:start}
.menus-v2-perks span{grid-row:1 / 3;display:grid;place-items:center;background:#f6f0ea;color:var(--wine);border-radius:50%;width:34px;height:34px;font-size:1.24rem}
.menus-v2-perks strong{font-size:.94rem;line-height:1.4}
.menus-v2-perks small{font-size:.85rem;color:var(--muted);line-height:1.6}
.menus-v2-personal-images{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}
.menus-v2-personal-images figure{margin:0;border-radius:20px;overflow:hidden;background:#ded4cc}
.menus-v2-personal-image-a{height:415px}
.menus-v2-personal-image-b{height:490px}
.menus-v2-personal-images img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.menus-v2-cta{padding:0 0 112px;background:#fff}
.menus-v2-cta-panel{background:linear-gradient(125deg,#f3ebe5 0%,#f8f4ef 100%);border:1px solid rgba(90,37,53,.09);border-radius:28px;padding:54px clamp(25px,5vw,68px);display:grid;grid-template-columns:1.4fr .6fr;gap:35px;align-items:center;position:relative;overflow:hidden}
.menus-v2-cta-panel:after{content:'✳';position:absolute;right:-18px;bottom:-115px;opacity:.07;color:var(--wine);font-size:300px;line-height:1;pointer-events:none}
.menus-v2-cta-panel .eyebrow{margin-bottom:15px}
.menus-v2-cta-panel h2{font-size:clamp(2.7rem,4vw,4.5rem);margin:0 0 17px;line-height:1.05;max-width:740px}
.menus-v2-cta-panel p{max-width:600px;color:var(--muted);margin:0}
.menus-v2-cta-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px;position:relative;z-index:1}
.menus-v2-cta-actions>span{text-align:center;color:var(--muted);font-size:.78rem;padding-top:5px}
@media(max-width:1100px){
  .menus-v2-hero-grid{grid-template-columns:1fr .92fr}
  .menus-v2-hero-copy h1{font-size:clamp(3.2rem,5.3vw,5rem)}
  .menus-v2-points{gap:14px;margin-top:35px}
  .menus-v2-hero-visual{min-height:530px}
  .menus-v2-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
  .menus-v2-card-image{height:220px}
  .menus-v2-process-grid{gap:42px}
  .menus-v2-process-photo{height:610px}
}
@media(max-width:820px){
  .menus-page .menus-v2-hero{padding:115px 0 70px}
  .menus-v2-hero-grid{grid-template-columns:1fr;gap:32px}
  .menus-v2-hero-copy{padding:0}
  .menus-v2-hero-copy h1{font-size:clamp(3.3rem,9vw,5.3rem)}
  .menus-v2-hero-visual{height:540px;min-height:0}
  .menus-v2-hero-visual>img{object-position:center 37%}
  .menus-v2-section-header{align-items:center;flex-direction:column;gap:16px}
  .menus-v2-section-header>p{max-width:620px;margin-left:auto;margin-right:auto}
  .menus-v2-process-grid,.menus-v2-personal-grid{grid-template-columns:1fr;gap:43px}
  .menus-v2-process-photo{height:460px}
  .menus-v2-process-photo>img{object-position:center 45%}
  .menus-v2-personal-images{max-width:740px}
  .menus-v2-cta-panel{grid-template-columns:1fr;gap:24px}
  .menus-v2-cta-actions{flex-direction:row;flex-wrap:wrap;align-items:center}
  .menus-v2-cta-actions>span{width:100%;text-align:left}
}
@media(max-width:640px){
  .menus-page .menus-v2-hero{padding:107px 0 66px}
  .menus-v2-hero-copy .eyebrow{margin-bottom:16px}
  .menus-v2-hero-copy h1{font-size:clamp(3rem,12vw,4.6rem);margin-bottom:22px}
  .menus-v2-hero-copy>p{font-size:1rem;line-height:1.68;margin-bottom:26px}
  .menus-v2-hero-actions{gap:10px}
  .menus-v2-hero-actions .button,.menus-v2-hero-actions .menus-v2-outline-button{min-height:52px;padding:0 19px;font-size:.88rem}
  .menus-v2-points{gap:12px 18px;margin-top:30px}
  .menus-v2-points>div{font-size:.7rem}
  .menus-v2-point-icon{width:34px;height:34px}
  .menus-v2-hero-visual{height:470px;border-radius:19px}
  .menus-v2-photo-stamp{right:14px;top:14px;padding:12px 15px;font-size:.84rem}
  .menus-v2-photo-tag{left:18px;bottom:18px;font-size:.62rem}
  .menus-v2-choices,.menus-v2-process,.menus-v2-personal{padding:75px 0}
  .menus-v2-section-header h2,.menus-v2-process-content h2,.menus-v2-personal-copy h2{font-size:clamp(2.65rem,10vw,3.8rem)}
  .menus-v2-card-grid{grid-template-columns:1fr;gap:16px}
  .menus-v2-menu-card{display:grid;grid-template-columns:38% 62%;min-height:205px}
  .menus-v2-card-image{height:100%;min-height:205px}
  .menus-v2-card-image>span{left:8px;bottom:8px;font-size:.52rem;white-space:normal}
  .menus-v2-card-body{padding:17px 18px 16px}
  .menus-v2-card-body h3{font-size:1.62rem;margin-bottom:10px}
  .menus-v2-card-num{margin-bottom:9px}
  .menus-v2-card-body p{font-size:.79rem;line-height:1.5;margin-bottom:10px}
  .menus-v2-card-body>a{font-size:.72rem;padding-top:10px}
  .menus-v2-process-photo{height:455px}
  .menus-v2-personal-images{gap:10px}
  .menus-v2-personal-image-a{height:275px}
  .menus-v2-personal-image-b{height:310px}
  .menus-v2-cta{padding-bottom:75px}
  .menus-v2-cta-panel{padding:30px 24px;border-radius:20px}
  .menus-v2-cta-panel h2{font-size:clamp(2.6rem,9vw,3.6rem)}
  .menus-v2-cta-actions{flex-direction:column;align-items:stretch}
  .menus-v2-cta-actions>span{text-align:center}
}
@media(max-width:380px){
 .menus-v2-menu-card{grid-template-columns:35% 65%}
 .menus-v2-card-body{padding:13px 13px 12px}
 .menus-v2-card-body h3{font-size:1.38rem}
 .menus-v2-card-body p{font-size:.75rem}
}
@media(prefers-reduced-motion:reduce){
 .menus-v2-menu-card{transition:none}
}
/* ========== V17 — 21 diners & catering · personal editorial upgrade ========== */
.occasion-v4-hero{padding:150px 0 90px;background:linear-gradient(145deg,#f8f4ef 0%,#fff 65%);overflow:hidden}
.occasion-v4-catering{background:linear-gradient(148deg,#f7f2ed,#fff 67%)}
.occasion-v4-hero-grid{display:grid;grid-template-columns:minmax(0,1.01fr) minmax(0,.99fr);gap:clamp(50px,6vw,100px);align-items:center}
.occasion-v4-hero-copy h1{font-size:clamp(3.35rem,5.1vw,5.5rem);line-height:1.04;letter-spacing:-.048em;margin:0 0 25px;max-width:710px}
.occasion-v4-hero-copy h1 em{font-size:.92em;color:var(--wine);line-height:1.05}
.occasion-v4-hero-copy>p{font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.85;color:var(--muted);max-width:575px;margin:0 0 30px}
.occasion-v4-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 24px}
.occasion-v4-actions .button{min-height:56px;padding:0 29px;gap:20px}
.occasion-v4-quiet-link,.occasion-v4-textlink{color:var(--wine);font-weight:700;border-bottom:1px solid rgba(90,37,53,.36);padding-bottom:5px;font-size:.91rem}
.occasion-v4-quiet-link span,.occasion-v4-textlink span{margin-left:8px}
.occasion-v4-highlights{display:flex;flex-wrap:wrap;gap:12px 18px;margin-top:39px;border-top:1px solid var(--line);padding-top:23px;color:#514744;font-size:.79rem;font-weight:600;line-height:1.45}
.occasion-v4-highlights span{display:flex;gap:7px;align-items:center}
.occasion-v4-highlights b{color:var(--wine);font-size:.9rem}
.occasion-v4-hero-visual{height:clamp(510px,47vw,675px);position:relative;padding:0 0 24px 13%;isolation:isolate}
.occasion-v4-hero-primary{height:100%;border-radius:28px;overflow:hidden;background:#e3dbd2}
.occasion-v4-hero-primary img{width:100%;height:100%;object-fit:cover;object-position:center 37%}
.occasion-v4-catering .occasion-v4-hero-primary img{object-position:54% center}
.occasion-v4-hero-inset{position:absolute;left:0;bottom:0;width:40%;height:41%;border-radius:24px;overflow:hidden;box-shadow:0 18px 35px rgba(23,15,13,.15);border:5px solid #fff}
.occasion-v4-hero-inset img{height:100%;object-fit:cover}
.occasion-v4-seal{position:absolute;right:-15px;bottom:-7px;background:var(--wine);color:#fff;border:6px solid #fff;border-radius:50%;width:133px;height:133px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-size:3.7rem;line-height:.85;box-shadow:0 10px 28px rgba(35,12,21,.20);transform:rotate(10deg)}
.occasion-v4-seal small{font-family:var(--sans);font-size:.60rem;letter-spacing:.12em;line-height:1.6;text-transform:uppercase;margin-top:6px}
.occasion-v4-seal-text{font-size:1.3rem;line-height:1.1;padding:10px;transform:rotate(8deg)}
.occasion-v4-white{background:#fff}
.occasion-v4-intro{padding:108px 0 118px}
.occasion-v4-heading{max-width:810px;text-align:center;margin:0 auto 45px}
.occasion-v4-heading h2{font-size:clamp(2.8rem,4.3vw,4.75rem);line-height:1.09;margin:0 0 20px}
.occasion-v4-heading h2 em{color:var(--wine)}
.occasion-v4-heading p{font-size:1.03rem;color:var(--muted);max-width:660px;line-height:1.8;margin:0 auto}
.occasion-v4-triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.occasion-v4-story-card{background:#fdfbf9;border:1px solid rgba(30,18,15,.08);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 26px rgba(32,17,11,.035)}
.occasion-v4-story-img{height:clamp(245px,23vw,337px);overflow:hidden;background:#e7ded5}
.occasion-v4-story-img img{height:100%;object-fit:cover;transition:transform .5s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.occasion-v4-story-card:hover img{transform:scale(1.025)}}
.occasion-v4-story-body{padding:28px 26px 30px;display:flex;flex-direction:column;flex:1}
.occasion-v4-story-body>span{font-size:.66rem;color:var(--gold);font-weight:750;letter-spacing:.14em;margin-bottom:15px}
.occasion-v4-story-body h3{font-size:clamp(1.65rem,2.15vw,2.25rem);line-height:1.13;margin:0 0 13px}
.occasion-v4-story-body p{color:var(--muted);font-size:.93rem;line-height:1.75;margin:0}
.occasion-v4-story-body>a{color:var(--wine);font-size:.88rem;font-weight:700;border-top:1px solid var(--line);padding-top:16px;margin-top:auto;display:flex;justify-content:space-between;gap:14px}
.occasion-v4-catering-cards .occasion-v4-story-body p{margin-bottom:22px}
.occasion-v4-menu-section{padding:112px 0;background:#f7f3ee}
.occasion-v4-menu-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.occasion-v4-menu-card{min-width:0;border:1px solid rgba(20,18,16,.095);border-radius:20px;background:#fff;padding:0 0 22px;text-align:left;cursor:pointer;overflow:hidden;color:var(--ink);display:flex;flex-direction:column;transition:box-shadow .24s,transform .24s}
.occasion-v4-menu-card:focus-visible{outline:3px solid var(--wine);outline-offset:3px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.occasion-v4-menu-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(30,16,9,.1)}}
.occasion-v4-menu-photo{height:190px;width:100%;background:#eaded2;margin-bottom:20px;overflow:hidden}
.occasion-v4-menu-photo img{height:100%;object-fit:cover}
.occasion-v4-menu-index{font-size:.61rem;letter-spacing:.12em;color:var(--gold);font-weight:750;line-height:1.35;padding:0 19px;margin-bottom:13px}
.occasion-v4-menu-card strong{font-size:clamp(1.25rem,1.65vw,1.75rem);line-height:1.12;letter-spacing:-.035em;padding:0 19px;margin-bottom:14px}
.occasion-v4-menu-card>span:not(.occasion-v4-menu-index){color:var(--muted);font-size:.82rem;line-height:1.64;flex:1;padding:0 19px;margin-bottom:21px}
.occasion-v4-menu-card small{font-size:.72rem;font-weight:750;color:var(--wine);padding:15px 19px 0;border-top:1px solid var(--line);margin:0 19px;display:block;padding-left:0;padding-right:0}
.occasion-v4-menu-note{text-align:center;color:var(--muted);margin:26px 0 0;font-size:.93rem}
.occasion-v4-menu-note a{color:var(--wine);font-weight:700;border-bottom:1px solid rgba(90,37,53,.3)}
.occasion-v4-feature{padding:116px 0;background:#fff}
.occasion-v4-feature-grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(46px,8vw,120px);align-items:center}
.occasion-v4-feature-photo{position:relative;height:620px;border-radius:25px;overflow:hidden;background:#e4ddd3}
.occasion-v4-feature-photo img{height:100%;object-fit:cover;object-position:center 37%}
.occasion-v4-dinner-feature .occasion-v4-feature-photo img{object-position:49% center}
.occasion-v4-feature-photo>span{position:absolute;bottom:22px;left:22px;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);padding:10px 15px;border-radius:999px;color:var(--wine);font-size:.65rem;font-weight:750;letter-spacing:.11em}
.occasion-v4-feature-copy h2{font-size:clamp(2.8rem,4.2vw,4.55rem);line-height:1.08;margin:0 0 23px}
.occasion-v4-feature-copy h2 em{color:var(--wine)}
.occasion-v4-feature-copy>p{color:var(--muted);font-size:1.01rem;line-height:1.85;max-width:580px;margin-bottom:30px}
.occasion-v4-tick-list{border-top:1px solid var(--line);margin-bottom:30px}
.occasion-v4-tick-list>div{display:grid;grid-template-columns:41px 1fr;gap:13px;padding:18px 0;border-bottom:1px solid var(--line)}
.occasion-v4-tick-list b{width:32px;height:32px;background:#f4ece5;color:var(--wine);border-radius:50%;display:grid;place-items:center;font-size:1rem}
.occasion-v4-tick-list strong{display:block;font-size:.95rem;line-height:1.4}
.occasion-v4-tick-list small{display:block;color:var(--muted);font-size:.88rem;line-height:1.65;margin-top:3px}
.occasion-v4-steps-section{padding:110px 0;background:#f8f5f1}
.occasion-v4-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.occasion-v4-steps article{border-top:1px solid rgba(90,37,53,.28);padding:24px 6px 0 0}
.occasion-v4-steps article>span{display:grid;place-items:center;border-radius:50%;height:43px;width:43px;background:#ebe0d7;color:var(--wine);font-size:.79rem;font-weight:800;margin-bottom:24px}
.occasion-v4-steps h3{font-size:clamp(1.5rem,2vw,2.1rem);line-height:1.16;margin:0 0 12px}
.occasion-v4-steps p{color:var(--muted);font-size:.93rem;line-height:1.72;margin:0}
.occasion-v4-cta-section{background:#fff;padding:110px 0 125px}
.occasion-v4-cta{background:#f5ede7;border:1px solid rgba(90,37,53,.07);border-radius:30px;display:grid;grid-template-columns:1fr 30%;min-height:385px;overflow:hidden;align-items:stretch}
.occasion-v4-cta-copy{padding:clamp(30px,5.2vw,72px);align-self:center}
.occasion-v4-cta h2{font-size:clamp(2.75rem,4vw,4.4rem);line-height:1.07;margin:0 0 17px}
.occasion-v4-cta h2 em{color:var(--wine)}
.occasion-v4-cta p{font-size:.98rem;line-height:1.75;color:var(--muted);max-width:575px;margin:0 0 25px}
.occasion-v4-cta>img{height:100%;min-height:385px;object-fit:cover;object-position:center 31%}
.occasion-v4-outline{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 24px;border:1px solid rgba(90,37,53,.52);color:var(--wine);border-radius:999px;font-weight:650;font-size:.93rem;transition:background .2s}
.occasion-v4-outline:hover{background:rgba(90,37,53,.07)}
.occasion-v4-catering-gallery{padding:105px 0;background:#fff}
.occasion-v4-mini-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}
.occasion-v4-mini-heading h2{font-size:clamp(2.4rem,3.75vw,4rem);line-height:1.08;margin:0}
.occasion-v4-mini-heading h2 em{color:var(--wine)}
.occasion-v4-mini-heading a{color:var(--wine);font-weight:700;white-space:nowrap;border-bottom:1px solid rgba(90,37,53,.36);padding-bottom:4px}
.occasion-v4-mini-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.occasion-v4-mini-gallery figure{margin:0;height:325px;border-radius:21px;overflow:hidden;background:#eae2d8}
.occasion-v4-mini-gallery img{height:100%;object-fit:cover}
.occasion-v4-catering-gallery+.occasion-v4-cta-section{padding-top:0}
@media(max-width:1180px){
 .occasion-v4-hero-grid{gap:42px}
 .occasion-v4-hero-copy h1{font-size:clamp(3rem,5vw,4.8rem)}
 .occasion-v4-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .occasion-v4-menu-photo{height:205px}
 .occasion-v4-hero-visual{height:570px}
}
@media(max-width:900px){
 .occasion-v4-hero{padding:132px 0 80px}
 .occasion-v4-hero-grid{grid-template-columns:1fr;gap:43px}
 .occasion-v4-hero-copy h1{max-width:760px}
 .occasion-v4-hero-visual{height:550px;max-width:720px;width:100%;margin-inline:auto}
 .occasion-v4-triptych{grid-template-columns:repeat(2,minmax(0,1fr))}
 .occasion-v4-feature-grid{grid-template-columns:1fr;gap:45px}
 .occasion-v4-feature-photo{height:520px}
 .occasion-v4-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 35px}
 .occasion-v4-cta{grid-template-columns:1fr 32%}
 .occasion-v4-cta-copy{padding:38px}
 .occasion-v4-mini-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .occasion-v4-mini-gallery figure{height:310px}
}
@media(max-width:640px){
 .occasion-v4-hero{padding:120px 0 67px}
 .occasion-v4-hero-copy h1{font-size:clamp(3rem,11vw,4.2rem)}
 .occasion-v4-hero-copy>p{font-size:.98rem}
 .occasion-v4-highlights{margin-top:28px;gap:10px 15px}
 .occasion-v4-hero-visual{height:430px;padding:0 0 18px 10%;max-width:450px}
 .occasion-v4-hero-primary{border-radius:20px}
 .occasion-v4-hero-inset{width:40%;height:38%;border:4px solid #fff;border-radius:17px}
 .occasion-v4-seal{height:91px;width:91px;border-width:4px;right:0;bottom:-8px;font-size:2.65rem}
 .occasion-v4-seal-text{font-size:.91rem}
 .occasion-v4-seal small{font-size:.45rem}
 .occasion-v4-intro,.occasion-v4-menu-section,.occasion-v4-feature,.occasion-v4-steps-section,.occasion-v4-catering-gallery{padding:75px 0}
 .occasion-v4-heading{margin-bottom:30px}
 .occasion-v4-heading h2,.occasion-v4-feature-copy h2{font-size:clamp(2.8rem,10vw,3.75rem)}
 .occasion-v4-triptych{grid-template-columns:1fr;gap:16px}
 .occasion-v4-story-img{height:260px}
 .occasion-v4-story-body{padding:23px}
 .occasion-v4-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .occasion-v4-menu-photo{height:145px;margin-bottom:14px}
 .occasion-v4-menu-card{border-radius:15px;padding-bottom:15px}
 .occasion-v4-menu-index{font-size:.55rem;margin-bottom:9px;padding:0 12px}
 .occasion-v4-menu-card strong{font-size:1.4rem;margin-bottom:10px;padding:0 12px}
 .occasion-v4-menu-card>span:not(.occasion-v4-menu-index){font-size:.75rem;line-height:1.55;padding:0 12px;margin-bottom:14px}
 .occasion-v4-menu-card small{font-size:.67rem;padding-top:11px;margin:0 12px}
 .occasion-v4-feature-photo{height:430px;border-radius:19px}
 .occasion-v4-feature-photo>span{font-size:.56rem;left:13px;bottom:13px;padding:8px 10px}
 .occasion-v4-steps{gap:20px 15px}
 .occasion-v4-steps h3{font-size:1.43rem}
 .occasion-v4-steps p{font-size:.84rem}
 .occasion-v4-steps article>span{margin-bottom:15px}
 .occasion-v4-cta-section{padding:75px 0 90px}
 .occasion-v4-cta{grid-template-columns:1fr;min-height:auto;border-radius:22px}
 .occasion-v4-cta-copy{padding:28px 24px 30px}
 .occasion-v4-cta h2{font-size:clamp(2.7rem,10vw,3.9rem)}
 .occasion-v4-cta>img{height:225px;min-height:0;object-position:center 24%}
 .occasion-v4-mini-heading{display:block}
 .occasion-v4-mini-heading h2{margin-bottom:15px}
 .occasion-v4-mini-gallery{gap:10px}
 .occasion-v4-mini-gallery figure{height:230px;border-radius:15px}
 .occasion-v4-catering-gallery+.occasion-v4-cta-section{padding-top:0}
}
@media(max-width:390px){
 .occasion-v4-menu-grid{grid-template-columns:1fr}
 .occasion-v4-menu-photo{height:225px}
 .occasion-v4-steps{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.occasion-v4-story-img img,.occasion-v4-menu-card{transition:none}}


/* =========================================================
   Aanvragen v5 — warme, persoonlijke premium aanvraagpagina
   Alleen van toepassing op aanvragen.html
========================================================= */
body.booking-upgraded{background:#fbf9f6}
.booking-v5-hero{padding:154px 0 0;background:radial-gradient(circle at 87% 18%,rgba(214,189,171,.23),transparent 35%),linear-gradient(180deg,#f8f5f1,#fff 95%)}
.booking-v5-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(45px,6vw,95px);align-items:center}
.booking-v5-hero-copy{padding:10px 0 26px}
.booking-v5-hero-copy h1{font-size:clamp(3.7rem,5.25vw,6.15rem);line-height:.995;letter-spacing:-.058em;max-width:720px;margin:0 0 28px}
.booking-v5-hero-copy h1 em{color:var(--wine);font-weight:400}
.booking-v5-hero-copy p{font-size:clamp(1.01rem,1.18vw,1.14rem);color:var(--muted);line-height:1.83;max-width:540px;margin:0}
.booking-v5-hero-actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap;margin-top:32px}
.booking-v5-hero-actions .button{gap:18px;min-height:58px;padding:0 27px}
.booking-v5-hero-actions .button span{font-size:1.15rem;line-height:1}
.booking-v5-hero-note{font-size:.82rem;color:var(--muted);font-weight:550}
.booking-v5-hero-note:before{content:'✓';color:var(--wine);font-weight:750;margin-right:8px}
.booking-v5-hero-visual{height:clamp(460px,44vw,610px);position:relative;padding:0 0 14px 10%}
.booking-v5-hero-photo{height:100%;border-radius:28px;overflow:hidden;background:#e1d4c7;box-shadow:0 24px 56px rgba(38,24,19,.10)}
.booking-v5-hero-photo img{height:100%;width:100%;object-fit:cover;object-position:center 47%}
.booking-v5-photo-label{position:absolute;left:1%;bottom:44px;padding:15px 22px;background:rgba(255,255,255,.96);border:1px solid rgba(84,45,50,.08);box-shadow:0 15px 38px rgba(38,24,19,.10);border-radius:18px;display:flex;gap:12px;align-items:center;backdrop-filter:blur(10px)}
.booking-v5-photo-label strong,.booking-v5-photo-label small{display:block}
.booking-v5-photo-label strong{font-size:.87rem;line-height:1.4}
.booking-v5-photo-label small{font-size:.77rem;color:var(--muted);margin-top:2px}
.booking-v5-dot{width:13px;height:13px;background:var(--wine);border-radius:50%;box-shadow:0 0 0 5px #f2e8e6;flex:0 0 auto}
.booking-v5-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(83,49,43,.09);background:#fff;border-radius:22px;box-shadow:0 15px 40px rgba(45,30,20,.04);margin-top:45px;transform:translateY(36px);position:relative;z-index:2;padding:8px 12px}
.booking-v5-benefits>div{display:flex;align-items:center;gap:14px;padding:18px 22px}
.booking-v5-benefits>div+div{border-left:1px solid var(--line)}
.booking-v5-benefits strong,.booking-v5-benefits small{display:block}
.booking-v5-benefits strong{font-size:.91rem;line-height:1.35;margin-bottom:4px}
.booking-v5-benefits small{font-size:.8rem;color:var(--muted);line-height:1.4}
.booking-v5-benefit-icon{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f3eae5;color:var(--wine);font-size:1.24rem}
.booking-v5-form-intro{padding:132px 0 13px;display:flex;align-items:end;justify-content:space-between;gap:36px;scroll-margin-top:90px}
.booking-v5-form-intro .eyebrow{margin-bottom:13px}
.booking-v5-form-intro h2{font-size:clamp(2.55rem,3.9vw,4.3rem);line-height:1.07;margin:0 0 17px}
.booking-v5-form-intro h2 em{color:var(--wine)}
.booking-v5-form-intro p{max-width:680px;line-height:1.75;color:var(--muted);font-size:1.0rem;margin:0}
.booking-v5-nonbinding{font-size:.76rem;font-weight:600;color:var(--wine);padding:10px 15px;border:1px solid rgba(90,37,53,.18);border-radius:999px;white-space:nowrap;background:#fff;margin-bottom:3px}
.booking-upgraded .booking-layout{padding:22px 0 120px;grid-template-columns:minmax(0,1fr) 320px;gap:24px}
.booking-upgraded .booking-form-modern{gap:17px}
.booking-upgraded .form-panel{border:1px solid rgba(67,37,30,.075);border-radius:23px;padding:clamp(24px,3vw,37px);box-shadow:0 8px 32px rgba(38,26,20,.027)}
.booking-upgraded .panel-head{margin-bottom:28px}
.booking-upgraded .panel-head>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f4ebe5;font-size:.93rem;color:var(--wine)}
.booking-upgraded .panel-head h2{font-size:clamp(1.47rem,2vw,1.83rem);line-height:1.2;margin-bottom:6px}
.booking-upgraded .choice-box span{background:#fbf8f5;min-height:107px;border:1px solid #e9e0da}
.booking-upgraded .choice-box input:checked+span{background:var(--wine);border-color:var(--wine);color:#fff;box-shadow:0 8px 16px rgba(90,37,53,.1)}
.booking-upgraded .choice-box input:focus-visible+span{outline:3px solid rgba(90,37,53,.48);outline-offset:3px}
.booking-upgraded .booking-form-modern input:not([type=radio]):not([type=checkbox]),.booking-upgraded .booking-form-modern textarea{background:#fdfbf8;border:1px solid #e7dfd8}
.booking-upgraded .booking-form-modern input:not([type=radio]):not([type=checkbox]):focus,.booking-upgraded .booking-form-modern textarea:focus{background:#fff;border-color:rgba(90,37,53,.55)}
.booking-upgraded .booking-summary-sticky{position:sticky;top:109px;display:grid;gap:16px;align-self:start}
.booking-v5-aside-photo{border-radius:22px;overflow:hidden;position:relative;height:276px;background:#ddd3c9}
.booking-v5-aside-photo img{height:100%;width:100%;object-fit:cover;object-position:center 38%}
.booking-v5-aside-photo:after{content:'';position:absolute;inset:32% 0 0;background:linear-gradient(transparent,rgba(20,10,10,.65));pointer-events:none}
.booking-v5-aside-caption{position:absolute;z-index:1;bottom:18px;left:20px;right:20px;color:#fff}
.booking-v5-aside-caption span{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;opacity:.78;display:block;margin-bottom:4px}
.booking-v5-aside-caption strong{font-size:1.06rem;line-height:1.35;display:block}
.booking-upgraded .summary-sticky-card{position:static;border-radius:22px;padding:26px;box-shadow:0 8px 32px rgba(38,26,20,.035)}
.booking-upgraded .summary-sticky-card h3{font-size:1.72rem;line-height:1.15;margin:14px 0 9px}
.booking-upgraded .summary-sticky-card p{font-size:.89rem;line-height:1.7}
.booking-upgraded .mini-summary{font-size:.88rem;color:var(--wine);line-height:1.6}
.booking-v5-privacy-note{font-size:.84rem;line-height:1.7;color:var(--muted);margin:2px 4px 0}
.booking-upgraded .submit-panel{border-radius:23px;padding:26px 30px;background:linear-gradient(135deg,#42202a,#27191a)}
.booking-upgraded .submit-panel .button{white-space:nowrap;background:#fff;color:var(--wine);border-color:#fff}
.booking-upgraded .submit-panel .button:hover{background:#f3e9e6}
@media(max-width:1100px){
 .booking-v5-hero{padding-top:132px}
 .booking-v5-hero-grid{gap:30px}
 .booking-v5-hero-visual{height:490px}
 .booking-v5-benefits>div{padding:18px 12px}
 .booking-upgraded .booking-layout{grid-template-columns:1fr}
 .booking-upgraded .booking-summary-sticky{display:none}
}
@media(max-width:740px){
 .booking-v5-hero{padding-top:116px}
 .booking-v5-hero-grid{grid-template-columns:1fr;gap:35px}
 .booking-v5-hero-copy{padding:0}
 .booking-v5-hero-copy h1{font-size:clamp(3rem,10.8vw,4.7rem);margin-bottom:20px}
 .booking-v5-hero-copy p{font-size:.99rem;line-height:1.75}
 .booking-v5-hero-actions{margin-top:25px;gap:16px}
 .booking-v5-hero-visual{height:420px;max-width:560px;width:100%;margin:0 auto;padding:0 0 12px 6%}
 .booking-v5-hero-photo{border-radius:22px}
 .booking-v5-photo-label{left:0;bottom:26px;padding:12px 15px}
 .booking-v5-benefits{grid-template-columns:1fr;margin-top:26px;transform:translateY(26px);padding:1px 14px;border-radius:18px}
 .booking-v5-benefits>div{padding:13px 6px}
 .booking-v5-benefits>div+div{border-left:0;border-top:1px solid var(--line)}
 .booking-v5-form-intro{padding-top:101px;display:block}
 .booking-v5-form-intro h2{font-size:clamp(2.5rem,10vw,3.5rem)}
 .booking-v5-nonbinding{white-space:normal;display:inline-block;margin-top:17px;font-size:.73rem}
 .booking-upgraded .booking-layout{padding-top:24px;padding-bottom:87px}
 .booking-upgraded .form-panel{padding:22px}
 .booking-upgraded .panel-head{grid-template-columns:42px 1fr;gap:12px}
 .booking-upgraded .choice-grid,.booking-upgraded .choice-grid.large{grid-template-columns:1fr 1fr}
 .booking-upgraded .choice-box span{min-height:108px;padding:14px}
 .booking-upgraded .submit-panel{padding:23px;flex-direction:column;align-items:stretch}
 .booking-upgraded .submit-panel .button{width:100%}
}
@media(max-width:400px){
 .booking-v5-hero-visual{height:360px}
 .booking-v5-hero-note{font-size:.75rem}
}
@media(max-width:350px){
 .booking-upgraded .choice-grid,.booking-upgraded .choice-grid.large{grid-template-columns:1fr}
}
