:root{--ink:#10231a;--paper:#f5f0e5;--cream:#fffaf0;--terracotta:#ad5032;--line:rgba(16,35,26,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}.nav{height:88px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(250,247,239,.86);backdrop-filter:blur(18px);position:fixed;top:0;left:0;right:0;z-index:10;border-bottom:1px solid rgba(255,255,255,.35)}.brand{display:flex;align-items:center;gap:12px;font-family:Prata,serif;font-size:20px}.brand img{width:48px;height:48px;object-fit:contain}.brand small{font:8px Manrope,sans-serif;display:block;text-transform:uppercase;letter-spacing:.24em;margin-top:3px}.nav nav{display:flex;gap:38px;font-size:14px}.nav nav a{transition:opacity .25s}.nav nav a:hover{opacity:.55}.nav-actions{display:flex;align-items:center;gap:14px}.language{border:0;background:none;font:13px Manrope;cursor:pointer}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;background:var(--terracotta);color:#fff;padding:18px 25px;border-radius:100px;text-transform:uppercase;letter-spacing:.13em;font-size:12px;transition:transform .3s,background .3s}.button:hover{transform:translateY(-2px);background:#943f28}.button.small{padding:14px 20px;gap:12px}.menu-toggle{display:none;border:0;background:none;font-size:22px}.hero{height:100svh;min-height:700px;position:relative;color:#fff;overflow:hidden}.hero-media{position:absolute;inset:0;background:url('assets/hero.webp') center/cover no-repeat;transform:scale(1.05);animation:heroIn 1.8s cubic-bezier(.2,.7,.2,1) forwards}.shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,15,10,.82) 0%,rgba(5,15,10,.42) 50%,rgba(5,15,10,.1)),linear-gradient(0deg,rgba(5,15,10,.45),transparent 60%)}.hero-copy{position:absolute;top:25%;left:7%;max-width:900px}.eyebrow,.section-label{text-transform:uppercase;letter-spacing:.28em;font-size:11px;font-weight:600}.hero h1,.section h2,.menu-story h2,.atmosphere h2{font:clamp(54px,7vw,112px)/.98 Prata,serif;letter-spacing:-.045em;margin:26px 0}.hero h1 em,h2 em{font-style:italic;font-weight:400}.lead{font-size:18px;line-height:1.7;color:rgba(255,255,255,.78)}.cta{display:flex;align-items:center;gap:36px;margin-top:34px}.text-link{text-transform:uppercase;letter-spacing:.15em;font-size:11px;border-bottom:1px solid rgba(255,255,255,.5);padding:14px 0}.hero-meta{position:absolute;bottom:7%;right:5%;display:flex;gap:40px;text-transform:uppercase;letter-spacing:.15em;font-size:10px;line-height:1.8}.scroll-cue{position:absolute;bottom:6%;left:7%;display:flex;gap:15px;align-items:center;text-transform:uppercase;letter-spacing:.18em;font-size:9px}.scroll-cue i{width:1px;height:50px;background:#fff;animation:pulse 1.8s infinite}.section{padding:140px 7vw}.story{min-height:760px}.story-grid{display:grid;grid-template-columns:1.4fr .65fr;gap:8vw;align-items:end}.story h2,.family h2,.contact h2{font-size:clamp(48px,6vw,94px)}.story-copy{font-size:19px;line-height:1.7;padding-bottom:15px}.signature{font:italic 24px Prata,serif;display:block;margin-top:55px}.menu-story{background:var(--ink);color:var(--cream);min-height:110vh;padding:110px 7vw 55px}.menu-sticky{display:grid;grid-template-columns:.75fr 1.25fr 50px;gap:5vw;align-items:center;min-height:72vh}.menu-copy h2{font-size:clamp(52px,6.2vw,98px)}.menu-copy>p{max-width:470px;color:rgba(255,255,255,.62);font-size:17px;line-height:1.7}.light{color:rgba(255,255,255,.55)}.dish{margin:0;position:relative}.dish img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:50%;box-shadow:0 30px 80px rgba(0,0,0,.4)}.dish figcaption{position:absolute;right:0;top:15%;display:flex;flex-direction:column;background:rgba(245,240,229,.92);color:var(--ink);padding:16px 20px;border-radius:2px}.dish figcaption span{font-size:11px;margin-top:4px}.menu-progress{height:300px;display:flex;flex-direction:column;align-items:center;gap:14px;font-family:Prata}.menu-progress i{width:1px;flex:1;background:rgba(255,255,255,.35)}.menu-categories{display:grid;grid-template-columns:repeat(3,1fr) 1.2fr;gap:12px}.menu-categories button,.menu-categories a{padding:22px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;text-align:left;font:14px Manrope;display:flex;justify-content:space-between;align-items:center;transition:.3s;cursor:pointer}.menu-categories button:hover,.menu-categories button.active{background:var(--cream);color:var(--ink)}.menu-categories a{border-radius:100px;justify-content:center;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.family h2{max-width:1100px}.benefits{display:grid;grid-template-columns:repeat(3,1fr);margin-top:90px;border-top:1px solid var(--line)}.benefits article{padding:30px 10% 20px 0;border-right:1px solid var(--line)}.benefits article+article{padding-left:10%}.benefits span{font-size:12px;color:var(--terracotta)}.benefits h3{font:28px Prata;margin:50px 0 18px}.benefits p{line-height:1.7;color:#506057}.atmosphere{height:92vh;min-height:650px;position:relative;color:#fff;overflow:hidden}.atmosphere img{width:100%;height:100%;object-fit:cover}.atmosphere:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,13,.78),rgba(7,20,13,.1))}.atmosphere-copy{position:absolute;z-index:1;left:7%;top:20%}.atmosphere h2{font-size:clamp(52px,6.5vw,100px)}.contact-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:7vw}.contact-details{padding-top:25px}.contact-details p{font:20px/1.6 Prata}.contact-details small{font:10px Manrope;display:block;text-transform:uppercase;letter-spacing:.2em;color:#77847d;margin-bottom:8px}footer{background:#091a12;color:#fff;padding:60px 7vw;display:flex;align-items:end;justify-content:space-between}footer .footer-brand{font:34px Prata}footer .footer-brand span{display:block;font:9px Manrope;text-transform:uppercase;letter-spacing:.2em;margin-top:8px}footer p{font-size:10px;opacity:.5}footer>div:last-child{display:flex;gap:24px;font-size:12px}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroIn{to{transform:scale(1)}}@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}
@media(max-width:900px){.nav{height:72px}.nav nav,.nav-actions{display:none}.menu-toggle{display:block}.brand img{width:40px;height:40px}.hero{min-height:680px}.hero-copy{top:23%;left:6%;right:6%}.hero h1{font-size:clamp(48px,13vw,72px)}.hero-meta{display:none}.story-grid,.contact-grid{grid-template-columns:1fr}.story-copy{max-width:600px}.menu-story{padding-left:6vw;padding-right:6vw}.menu-sticky{grid-template-columns:1fr;gap:30px}.menu-copy h2{font-size:clamp(48px,13vw,76px)}.dish{max-width:650px}.menu-progress{display:none}.menu-categories{grid-template-columns:1fr 1fr}.benefits{grid-template-columns:1fr}.benefits article,.benefits article+article{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}footer{align-items:flex-start;gap:35px;flex-direction:column}}
@media(max-width:560px){.section{padding:95px 6vw}.hero-copy{top:20%}.hero h1{font-size:45px;line-height:1.06}.lead{font-size:15px}.cta{align-items:flex-start;flex-direction:column;gap:10px}.button{padding:16px 20px}.scroll-cue{display:none}.story{min-height:auto}.story h2,.family h2,.contact h2{font-size:43px}.menu-categories{grid-template-columns:1fr}.menu-categories a{min-height:64px}.dish figcaption{position:static;margin-top:15px}.atmosphere{height:80vh}.atmosphere h2{font-size:44px}footer>div:last-child{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.restaurant{border:0;background:transparent;color:var(--ink);font:12px Manrope;max-width:125px}.button{border:0;cursor:pointer}.mobile-nav{display:none}.moments-head{display:flex;align-items:end;justify-content:space-between;gap:8vw}.moments-head h2{font-size:clamp(48px,6vw,92px)}.moments-head p{max-width:390px;font-size:17px;line-height:1.7;margin-bottom:35px}.gallery{display:grid;grid-template-columns:1.15fr .8fr 1fr;gap:18px;margin-top:70px}.gallery figure{margin:0;position:relative;overflow:hidden}.gallery figure:nth-child(2){margin-top:90px}.gallery img{width:100%;height:560px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.gallery figure:nth-child(2) img{height:420px}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{padding-top:14px;text-transform:uppercase;letter-spacing:.16em;font-size:10px}.reviews{background:var(--terracotta);color:#fff;min-height:680px;display:flex;flex-direction:column;justify-content:center}.review-slider{max-width:1100px;margin:55px auto 0;text-align:center}.review{display:none}.review.active{display:block;animation:reviewIn .6s ease}.review div{letter-spacing:.4em}.review blockquote{font:clamp(30px,4vw,58px)/1.28 Prata,serif;margin:35px 0}.review p{text-transform:uppercase;letter-spacing:.16em;font-size:10px}.review-controls{margin-top:45px;display:flex;align-items:center;justify-content:center;gap:25px}.review-controls button{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;cursor:pointer}.review-controls span{font-size:10px;letter-spacing:.15em}.booking{width:min(620px,calc(100% - 32px));border:0;padding:65px;border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.35)}.booking::backdrop{background:rgba(4,15,9,.72);backdrop-filter:blur(12px)}.booking h2{font:clamp(42px,6vw,68px)/1 Prata;margin:25px 0}.booking>p:not(.eyebrow){line-height:1.7;color:#526159}.modal-close{position:absolute;right:22px;top:18px;border:0;background:none;font-size:30px;cursor:pointer}.booking-actions{display:flex;gap:12px;margin:35px 0 25px}.button.outline{background:transparent;color:var(--ink);border:1px solid var(--line)}.booking small{font-size:10px;text-transform:uppercase;letter-spacing:.15em}.nav.scrolled{height:70px}.nav{transition:height .3s,background .3s}@keyframes reviewIn{from{opacity:0;transform:translateY(15px)}}
@media(max-width:900px){.restaurant{display:none}.mobile-nav{display:flex;position:fixed;z-index:9;inset:72px 0 0;background:var(--paper);padding:12vh 7vw;flex-direction:column;gap:28px;font:34px Prata;transform:translateX(100%);transition:transform .45s cubic-bezier(.7,0,.2,1)}.mobile-nav.open{transform:none}.mobile-nav .button{font:11px Manrope;margin-top:25px;width:max-content}.moments-head{display:block}.gallery{grid-template-columns:1fr 1fr}.gallery figure:nth-child(2){margin-top:50px}.gallery figure:nth-child(3){grid-column:1/-1}.gallery img,.gallery figure:nth-child(2) img{height:420px}}
@media(max-width:560px){.gallery{display:block}.gallery figure,.gallery figure:nth-child(2){margin:0 0 35px}.gallery img,.gallery figure:nth-child(2) img{height:420px}.booking{padding:48px 24px}.booking-actions{flex-direction:column}.review blockquote{font-size:28px}.moments-head h2{font-size:43px}}

/* v3 — geometric refinement */
.brand img{border-radius:50%;background:var(--cream);box-shadow:0 0 0 1px rgba(16,35,26,.12);object-fit:cover}.language{appearance:auto;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.45);padding:10px 28px 10px 13px;color:var(--ink);font:600 12px Manrope;cursor:pointer}.story{min-height:auto}.story>.section-label{margin-bottom:60px}.story-grid{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:stretch;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.story-grid>h2{margin:0;padding:64px 8% 70px 0;font-size:clamp(52px,5.7vw,88px);line-height:1.04}.story-copy{padding:67px 0 64px 10%;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-start;font-size:18px;line-height:1.7}.story-copy p{margin:0 0 20px}.signature{margin-top:auto;padding-top:45px}.menu-sticky{grid-template-columns:minmax(350px,.75fr) minmax(470px,1.25fr) 44px}.dish{overflow:visible}.dish img{aspect-ratio:4/3;border-radius:32px;object-fit:cover;object-position:center;box-shadow:0 35px 90px rgba(0,0,0,.35);transition:opacity .28s ease,transform .65s cubic-bezier(.2,.7,.2,1)}.dish.changing img{opacity:.25;transform:scale(.985)}.dish figcaption{top:auto;bottom:-22px;right:28px;min-width:280px;border-radius:16px;box-shadow:0 15px 45px rgba(0,0,0,.18)}.menu-categories{gap:14px;margin-top:30px}.menu-categories button{padding:0;overflow:hidden;position:relative;min-height:230px;border-radius:20px;display:block}.menu-categories button>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.62;transition:transform .55s ease,opacity .35s}.menu-categories button:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,18,11,.8),rgba(5,18,11,.06) 70%)}.menu-categories button>span{position:absolute;left:20px;bottom:18px;z-index:1;display:flex;flex-direction:column;gap:5px}.menu-categories button b{font-size:17px}.menu-categories button i{font-style:normal;font-size:11px;opacity:.7}.menu-categories button>strong{position:absolute;right:18px;bottom:20px;z-index:1;font-size:18px}.menu-categories button:hover,.menu-categories button.active{color:#fff;background:transparent;border-color:rgba(255,255,255,.7)}.menu-categories button:hover>img,.menu-categories button.active>img{opacity:.92;transform:scale(1.035)}.menu-categories>a{min-height:230px}.moments{overflow:hidden;padding-left:0;padding-right:0}.moments>.section-label,.moments-head{margin-left:7vw;margin-right:7vw}.gallery{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:70px;padding:0 7vw 30px;scrollbar-width:thin;scrollbar-color:var(--terracotta) transparent}.gallery figure,.gallery figure:nth-child(2),.gallery figure:nth-child(3){flex:0 0 clamp(300px,34vw,520px);margin:0;scroll-snap-align:start}.gallery figure:nth-child(even){margin-top:58px}.gallery img,.gallery figure:nth-child(2) img{height:clamp(420px,52vw,650px);border-radius:22px}.gallery figcaption{font-size:11px}.reviews{min-height:auto;display:block;padding-top:120px;padding-bottom:120px}.reviews-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin:45px 0 55px}.reviews-head h2{font:clamp(44px,5.5vw,82px)/1.08 Prata;margin:0}.reviews-head p{font-size:12px;text-transform:uppercase;letter-spacing:.14em}.review-slider{max-width:none;margin:0;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:22px;text-align:left;scrollbar-width:thin;scrollbar-color:#fff transparent}.review{display:block;flex:0 0 min(370px,85vw);min-height:290px;padding:28px;border:1px solid rgba(255,255,255,.28);border-radius:18px;scroll-snap-align:start;background:rgba(255,255,255,.06)}.review div{font-size:11px;letter-spacing:.16em}.review div span{float:right;border:1px solid rgba(255,255,255,.35);padding:3px 7px;border-radius:99px}.review blockquote{font:24px/1.38 Prata;margin:35px 0}.review p{margin-top:auto}.review-controls{display:none}.contact>.section-label{margin-bottom:58px}.contact-grid{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:0;align-items:stretch;border:1px solid var(--line);border-radius:28px;overflow:hidden}.contact-title{padding:65px}.contact-title h2{margin:0;font-size:clamp(48px,5.5vw,82px);line-height:1.06}.contact-title>p{margin-top:50px;color:#6d7972}.contact-details{padding:0;display:grid;grid-template-columns:1fr 1fr;background:rgba(255,255,255,.3);border-left:1px solid var(--line)}.contact-card{padding:36px;border-bottom:1px solid var(--line)}.contact-card+ .contact-card{border-left:1px solid var(--line)}.contact-card p{font:17px/1.6 Prata;margin:0 0 35px}.contact-card>a{font-size:11px;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--line);padding-bottom:5px}.contact-details>.button{grid-column:1/-1;align-self:center;justify-self:center;margin:30px}.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand img{width:58px;height:58px;border-radius:50%;object-fit:cover}.social-links a{display:flex;align-items:center;gap:8px}.social-links svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.social-links svg .fill{fill:currentColor;stroke:none}.booking-actions{flex-wrap:wrap}.booking-actions .button{flex:1;min-width:150px;padding-left:18px;padding-right:18px;gap:16px}.instagram-book{border-color:rgba(173,80,50,.5)!important}.mobile-nav label{font:11px Manrope;text-transform:uppercase;letter-spacing:.14em;display:flex;align-items:center;gap:16px}.mobile-nav .language{font-size:13px;text-transform:none;letter-spacing:0}
@media(max-width:900px){.story-grid,.contact-grid{grid-template-columns:1fr}.story-grid>h2{padding-right:0}.story-copy{border-left:0;border-top:1px solid var(--line);padding:45px 0}.menu-sticky{grid-template-columns:1fr}.menu-categories{grid-template-columns:1fr 1fr}.menu-categories>a{grid-column:1/-1;min-height:76px}.gallery figure,.gallery figure:nth-child(2),.gallery figure:nth-child(3){flex-basis:72vw}.contact-details{border-left:0;border-top:1px solid var(--line)}.contact-title{padding:48px}.nav-actions .language{display:none}}
@media(max-width:560px){.story>.section-label{margin-bottom:35px}.story-grid>h2{padding:42px 0;font-size:42px}.story-copy{font-size:16px}.menu-categories{grid-template-columns:1fr}.menu-categories button{min-height:250px}.menu-categories>a{grid-column:auto}.dish figcaption{position:relative;right:auto;bottom:auto;margin-top:14px}.gallery{display:flex;padding-left:6vw}.gallery figure,.gallery figure:nth-child(2),.gallery figure:nth-child(3){flex-basis:82vw;margin:0}.gallery figure:nth-child(even){margin-top:36px}.gallery img,.gallery figure:nth-child(2) img{height:480px}.reviews{padding-top:90px;padding-bottom:90px}.reviews-head{display:block}.reviews-head p{margin-top:28px}.contact-title{padding:38px 24px}.contact-details{grid-template-columns:1fr}.contact-card+.contact-card{border-left:0}.contact-details>.button{grid-column:auto}.booking-actions .button{width:100%}footer{align-items:flex-start}}
.menu-sticky{grid-template-columns:minmax(390px,.8fr) minmax(420px,1.2fr) 44px}.menu-copy h2{font-size:clamp(50px,4.7vw,72px);line-height:1.04;letter-spacing:-.04em}
@media(max-width:900px){.menu-sticky{grid-template-columns:1fr}.menu-copy h2{font-size:clamp(48px,11vw,72px)}}
.language{appearance:none;width:78px;height:42px;padding:0 34px 0 16px;border-radius:21px;background-color:rgba(255,255,255,.5);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1.5 5 5 5-5' fill='none' stroke='%2310231a' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:10px 7px;text-align:left}.menu-categories button:nth-child(3)>img{object-position:center 68%}.gallery figure:last-child img{object-position:center}
@media(max-width:900px){.mobile-nav .language{width:160px}}
.hero-media{background-image:url('assets/hero-v2.png');background-position:center center}
.brand>span{font-size:22px;font-weight:700;letter-spacing:-.025em}.brand>span small{font-weight:600;letter-spacing:.24em}.atmosphere-note{position:absolute;z-index:2;right:7vw;bottom:9%;width:min(360px,34vw);padding:28px 30px;border:1px solid rgba(255,255,255,.34);border-radius:22px;background:rgba(10,28,19,.38);backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(0,0,0,.2)}.atmosphere-note>span{display:block;text-transform:uppercase;letter-spacing:.22em;font-size:10px;color:rgba(255,255,255,.65)}.atmosphere-note p{margin:23px 0 28px;font:20px/1.55 Prata,serif}.atmosphere-note a{display:flex;align-items:center;justify-content:space-between;padding-top:17px;border-top:1px solid rgba(255,255,255,.28);text-transform:uppercase;letter-spacing:.15em;font-size:10px}.atmosphere-note b{font-size:16px;font-weight:400}
@media(max-width:900px){.brand>span{font-size:21px}.atmosphere-copy{top:14%}.atmosphere-note{right:6vw;bottom:7%;width:min(360px,48vw)}}
@media(max-width:560px){.brand>span{font-size:20px}.atmosphere{min-height:760px}.atmosphere-copy{left:6vw;right:6vw;top:12%}.atmosphere-note{left:6vw;right:6vw;bottom:6%;width:auto;padding:23px 24px}.atmosphere-note p{font-size:18px}}
.footer-motto{max-width:360px;text-transform:uppercase;letter-spacing:.12em;line-height:1.7;font-size:10px;opacity:.72}
@media(max-width:900px){.footer-motto{max-width:420px}}
@media(max-width:560px){.footer-motto{font-size:9px;max-width:280px}}
