.menu-section-block{padding:38px 0;border-top:1px solid var(--line)}
.menu-section-block:first-of-type{border-top:0}
.menu-section-head{display:grid;grid-template-columns:.55fr 1.45fr;gap:6%;margin-bottom:28px}
.menu-section-head h3{font:500 clamp(2.2rem,4vw,3.6rem)/1 var(--serif);margin:0}
.menu-section-head p{margin:0;color:var(--muted)}
.menu-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px}
.menu-row{padding:17px 0;border-top:1px solid var(--line)}
.menu-row strong{display:block;font:500 1.3rem var(--serif)}
.menu-row span{font-size:.82rem;color:var(--muted)}
.operation-note{display:grid;grid-template-columns:auto 1fr;gap:22px;background:var(--green);color:#fff;padding:28px;margin:38px 0}
.operation-note b{font:500 2.7rem var(--serif);color:var(--gold)}
.operation-note p{margin:0;color:rgba(255,255,255,.78)}
.night-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}
.night-card{min-height:320px;padding:30px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(145deg,#142a3c,#080f19);color:#fff;border:1px solid rgba(255,255,255,.12)}
.night-card .day{font:600 .7rem var(--mono);letter-spacing:.13em;color:var(--gold);text-transform:uppercase}
.night-card h3{font:500 2.3rem/1 var(--serif);margin:15px 0}
.night-card p{font-size:.85rem;color:rgba(255,255,255,.65)}
.night-card small{color:rgba(255,255,255,.48)}
.format-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.format-card{padding:35px;border:1px solid var(--line);background:var(--paper)}
.format-card h3{font:500 2rem var(--serif);margin:12px 0}
.format-card ul{padding-left:18px;color:var(--muted);font-size:.9rem}
.proposal-flow{counter-reset:steps;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}
.proposal-step{counter-increment:steps;padding:28px;border-right:1px solid var(--line)}
.proposal-step:last-child{border:0}
.proposal-step:before{content:"0" counter(steps);font:500 1.7rem var(--serif);color:var(--gold)}
.proposal-step h3{font:500 1.4rem var(--serif);margin:18px 0 8px}
.proposal-step p{font-size:.8rem;color:var(--muted)}
@media(max-width:820px){.menu-section-head,.operation-note{grid-template-columns:1fr}.menu-list,.night-grid,.format-list,.proposal-flow{grid-template-columns:1fr}.proposal-step{border-right:0;border-bottom:1px solid var(--line)}.night-card{min-height:250px}}

/* Menu category portraits sourced from the Villa food reference boards */
.menu-icon-nav{display:grid;grid-template-columns:repeat(9,minmax(82px,1fr));gap:14px;margin:8px 0 54px;padding:22px 0 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.menu-icon-nav a{display:grid;justify-items:center;gap:9px;text-decoration:none;color:var(--ink);font-size:.68rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;text-align:center}
.menu-icon-nav img{width:76px;height:76px;object-fit:cover;border-radius:50%;border:3px solid var(--paper);box-shadow:0 0 0 1px rgba(93,104,87,.35),0 9px 22px rgba(20,26,21,.12);transition:transform .3s,box-shadow .3s}
.menu-icon-nav a:hover img,.menu-icon-nav a:focus-visible img{transform:translateY(-4px) scale(1.035);box-shadow:0 0 0 2px var(--green),0 13px 26px rgba(20,26,21,.18)}
.menu-section-block[id]{scroll-margin-top:100px}
@media(max-width:900px){.menu-icon-nav{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc((100vw - 100%)/-2);padding-inline:18px;scrollbar-width:none}.menu-icon-nav::-webkit-scrollbar{display:none}.menu-icon-nav a{min-width:90px;scroll-snap-align:start}.menu-icon-nav img{width:70px;height:70px}}

/* Villa Motion System — cinematic depth across the complete experience */
.has-parallax body{overflow-x:clip}
.has-parallax .hero-media img{animation:none;transform:translate3d(0,var(--parallax-y,0),0) scale(1.12);will-change:transform}
.has-parallax .parallax-media{transform:translate3d(0,var(--parallax-y,0),0) scale(1.115);will-change:transform;transition:filter .7s cubic-bezier(.2,.75,.2,1)}
.has-parallax .parallax-copy{transform:translate3d(0,var(--parallax-y,0),0);will-change:transform}
.has-parallax .page-hero.with-image:before{inset:-9% 0;transform:translate3d(0,var(--hero-parallax,0),0) scale(1.05);will-change:transform}
.has-parallax .day-image,.has-parallax .image-frame,.has-parallax .editorial-gallery figure,.has-parallax .night-photo-grid figure,.has-parallax .photo-ribbon figure,.has-parallax .food-grid figure,.has-parallax .food-event-track figure,.has-parallax .event-visual{isolation:isolate}
.has-parallax .editorial-gallery figure:after,.has-parallax .night-photo-grid figure:after,.has-parallax .food-grid figure:after,.has-parallax .photo-ribbon figure:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(135deg,rgba(228,206,160,.12),transparent 38%,rgba(7,17,13,.16));mix-blend-mode:soft-light}
.motion-card{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.75,.2,1),border-color .35s,box-shadow .35s}
.motion-card:hover{box-shadow:0 30px 65px rgba(5,13,10,.18);border-color:rgba(228,206,160,.48)}
.motion-card .portal-copy,.motion-card h3,.motion-card p{transform:translateZ(18px)}
.hero:after,.page-hero:after{pointer-events:none}
@media(max-width:820px){.has-parallax .parallax-media{transform:translate3d(0,calc(var(--parallax-y,0) * .45),0) scale(1.08)}.has-parallax .hero-media img{transform:translate3d(0,calc(var(--parallax-y,0) * .35),0) scale(1.08)}.has-parallax .page-hero.with-image:before{transform:translate3d(0,calc(var(--hero-parallax,0) * .4),0) scale(1.04)}}
@media(prefers-reduced-motion:reduce){.has-parallax .parallax-media,.has-parallax .parallax-copy,.has-parallax .hero-media img,.has-parallax .page-hero.with-image:before,.motion-card{transform:none!important;will-change:auto}}

/* Villa in motion — a populated scene reveals the real empty architecture */
.life-reveal{position:relative;overflow:hidden;isolation:isolate;--life-reveal:0%;--life-shift:0%}
.life-reveal>.life-overlay{position:absolute!important;z-index:2;inset:-6%!important;width:112%!important;height:112%!important;max-width:none;object-fit:cover;transform:translate3d(var(--life-shift),0,0) scale(1.02)!important;clip-path:inset(0 var(--life-reveal) 0 0);filter:saturate(.94) contrast(1.02);transition:clip-path .9s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1),filter .5s;will-change:clip-path,transform}
.life-reveal>.life-label{position:absolute;z-index:4;left:18px;top:18px;padding:8px 11px;background:rgba(7,17,13,.74);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(10px);color:#fff;font:600 .58rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;pointer-events:none;transition:opacity .35s}
.life-reveal:hover{--life-reveal:100%!important;--life-shift:-4%!important}
.life-reveal:hover>.life-label{opacity:0}
.life-reveal figcaption{z-index:5}
@media(max-width:820px){.life-reveal>.life-label{font-size:.5rem;left:12px;top:12px}.life-reveal>.life-overlay{transition-duration:.65s}}
@media(prefers-reduced-motion:reduce){.life-reveal>.life-overlay{transition:none;transform:none!important}.life-reveal:hover{--life-reveal:100%!important}}
