@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/home-editorial/cormorant-garamond-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('assets/fonts/home-editorial/cormorant-garamond-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/home-editorial/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/home-editorial/inter-latin-500-normal.woff2') format('woff2')}

:root{font-family:'Inter',sans-serif;color:#263b30;background:#f8f5ed;font-synthesis:none;font-weight:400;--paper:#f8f5ed;--green:#263b30;--serif:'Cormorant Garamond',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #3c5545;outline-offset:7px}img{display:block;max-width:100%}figure,p,h1,h2{margin:0}button{cursor:pointer}h1,h2,.interlude-title{font-family:var(--serif);font-weight:400;letter-spacing:-.038em}h2{font-size:clamp(52px,6.1vw,88px);line-height:.94}.eyebrow{font-size:10px;font-weight:500;letter-spacing:.25em;line-height:1.7}.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:15px;line-height:1.4}.text-link>span:first-child{border-bottom:1px solid currentColor;padding-bottom:5px}.text-link svg{transition:transform .25s}.text-link:hover svg{transform:translateX(5px)}.text-link:hover>span:first-child{border-bottom-color:transparent}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:16px;padding:15px;background:var(--paper);z-index:20}.skip-link:focus{top:12px}
.site-header{height:clamp(68px,6.64vw,96px);padding:0 6.3%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10;background:#f2eee4}.brand{display:flex;align-items:center;gap:25px}.brand img{width:clamp(160px,15.8vw,226px);height:auto}.brand span{font-size:9px;font-weight:500;letter-spacing:.19em}.desktop-nav{display:flex;align-items:center;gap:34px;font-size:13px}.desktop-nav a{padding:12px 0}.desktop-nav a:hover{opacity:.65}.reserve-nav{border-bottom:1px solid currentColor!important;padding-bottom:6px!important}.menu-toggle{display:none;border:0;background:none;width:44px;height:44px;align-items:center;justify-content:center}.mobile-nav{display:none}
.hero{height:72vw;max-height:1040px;min-height:650px;position:relative;isolation:isolate;overflow:hidden}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 52%;z-index:-1}.hero-copy{padding-top:7.8vw;margin-left:18.6%;position:relative;width:59%}.hero .eyebrow{font-size:clamp(9px,.83vw,12px)}h1{font-size:clamp(78px,10.2vw,147px);line-height:.82;letter-spacing:-.025em;margin-top:26px}h1 span{display:block}.hero-subtitle{font-size:clamp(20px,2.22vw,32px);margin-top:30px;margin-bottom:18px;line-height:1.5}.hero .text-link{font-size:clamp(14px,1.45vw,20px)}.hero-location{position:absolute;left:18.6%;bottom:3.4vw}
.house{padding:6.2vw 4.15% 0}.house-intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 7.5%;margin-bottom:4.9vw;gap:6%}.house-intro .eyebrow{margin-bottom:18px}.intro-note{border-left:1px solid #cbcabe;padding:35px 0 35px 18%;font-size:clamp(15px,1.62vw,23px);line-height:1.5;align-self:end}.material-story{display:grid;grid-template-columns:62% 1fr;gap:5.5%;align-items:center}.material-story figure img{width:100%;height:auto}.material-copy{padding-bottom:45px}.material-copy .eyebrow{margin-bottom:27px}.material-copy h2{font-size:clamp(47px,5.35vw,77px)}.material-copy>p:not(.eyebrow){margin-top:25px;font-size:15px;line-height:1.8}.material-copy .text-link{margin-top:26px}figcaption{font-size:11px;letter-spacing:.02em;color:#5e675d;margin-top:13px;line-height:1.6}
.interlude{padding:140px 24px 145px;text-align:center}.interlude .eyebrow{margin-bottom:28px}.interlude-title{font-size:clamp(58px,7.5vw,108px);line-height:1.02}.interlude-title em{font-weight:400;font-style:italic}
.cuisine{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:0 9% 145px;align-items:center}.cuisine-copy{padding-left:4%}.cuisine .eyebrow{margin-bottom:24px}.cuisine h2{font-size:clamp(55px,6vw,86px)}.cuisine-copy>p:not(.eyebrow){font-size:17px;line-height:1.7;margin-top:25px}.cuisine-copy .cuisine-description{max-width:315px;font-size:14px!important;color:#526052;margin-top:18px!important}.cuisine .text-link{margin-top:30px}.cuisine img{width:100%;height:auto}.cuisine figcaption{text-align:right}
.visit{background:#eae9df;border-top:1px solid #d6d7ca;display:grid;grid-template-columns:1.2fr 1fr;gap:13%;padding:110px 12% 105px}.visit-heading .eyebrow{margin-bottom:26px}.visit h2{font-size:clamp(64px,7vw,101px)}.visit-heading .text-link{margin-top:35px}.visit-info{padding-top:4px}.visit-info .eyebrow{margin-bottom:20px}.visit-info p:not(.eyebrow){font-size:16px;line-height:1.8}.visit-info address{font-style:normal;font-size:14px;line-height:1.9;margin-top:8px;color:#526052}.visit-info .text-link{font-size:13px;gap:18px;margin-top:12px}.visit-small{margin-top:39px}.visit-small p:not(.eyebrow){font-size:13px;color:#526052}.visit-small .eyebrow{margin-bottom:12px}
footer{display:grid;grid-template-columns:1.1fr 1fr 1fr;align-items:start;gap:35px;padding:58px 6.3% 30px;font-size:12px;line-height:1.7}footer img{width:180px;height:auto}footer>p{padding-left:20%;color:#586457}footer>div{display:flex;align-items:center;justify-content:flex-end;gap:24px}footer>div a{display:flex;align-items:center;gap:5px;min-height:36px}footer a:hover{text-decoration:underline}.footer-location{grid-column:1/-1;text-align:center;font-size:9px;letter-spacing:.18em;margin-top:35px;color:#627060}
@media(min-width:1600px){.hero-copy{padding-top:125px}.hero-location{bottom:55px}.house{padding-top:100px}.house-intro{margin-bottom:78px}.hero{max-height:1120px}}
@media(max-width:800px){.brand span{display:none}.desktop-nav{gap:23px;font-size:12px}.hero{min-height:590px}.hero-copy{margin-left:12%;padding-top:90px;width:70%}h1{font-size:82px;line-height:.88}.hero-location{left:12%;bottom:35px}.hero-subtitle{font-size:24px}.house{padding-top:65px}.house-intro{padding:0 4%;gap:35px}.house-intro h2{font-size:53px}.intro-note{padding-left:25px;font-size:14px}.material-copy h2{font-size:42px}.material-copy .eyebrow{font-size:8px}.material-copy>p:not(.eyebrow){font-size:13px}.material-story{grid-template-columns:54% 1fr;gap:6%}.material-copy{padding-bottom:0}.interlude{padding:100px 20px}.cuisine{padding:0 7% 95px;gap:9%}.cuisine h2{font-size:51px}.cuisine-copy>p:not(.eyebrow){font-size:14px}.visit{padding:80px 8%;gap:8%}footer>p{padding-left:0}}
@media(max-width:560px){html{scroll-padding-top:20px}.site-header{height:76px;padding:0 22px}.brand img{width:158px}.menu-toggle{display:flex}.desktop-nav{display:none}.mobile-nav{display:flex;position:absolute;top:76px;left:0;right:0;flex-direction:column;padding:18px 27px 26px;background:#f2eee4;border-top:1px solid #d6d7ca;box-shadow:0 12px 20px #263b300d}.mobile-nav a{padding:15px 0;font-size:18px;border-bottom:1px solid #d6d7ca}.hero{height:690px;min-height:0;max-height:none}.hero-image{object-position:65% center}.hero-copy{margin-left:28px;width:calc(100% - 50px);padding-top:85px}.hero .eyebrow{font-size:8px;letter-spacing:.18em}h1{font-size:clamp(66px,17vw,90px);line-height:.88;margin-top:31px;letter-spacing:-.025em}.hero-subtitle{font-size:21px;margin-top:30px;margin-bottom:16px}.hero .text-link{font-size:14px}.hero-location{left:28px;bottom:31px}.house{padding:66px 24px 0}.house-intro{display:block;padding:0;margin-bottom:43px}.house-intro .eyebrow{font-size:9px;margin-bottom:22px}.house-intro h2{font-size:58px}.intro-note{border-left:0;padding:0;margin-top:27px;font-size:15px;line-height:1.7}.material-story{display:flex;flex-direction:column;gap:0;align-items:stretch}.material-story figure img{aspect-ratio:4/5;object-fit:cover}.material-copy{padding:43px 0 0}.material-copy .eyebrow{font-size:9px;margin-bottom:22px}.material-copy h2{font-size:54px}.material-copy>p:not(.eyebrow){font-size:14px;margin-top:22px}.material-copy .text-link{margin-top:20px}figcaption{font-size:10px;margin-top:11px}.interlude{padding:96px 20px 88px}.interlude-title{font-size:59px}.interlude .eyebrow{font-size:9px}.cuisine{display:flex;flex-direction:column-reverse;padding:0 24px 78px;gap:43px}.cuisine-copy{padding:0;width:100%}.cuisine h2{font-size:58px}.cuisine-copy>p:not(.eyebrow){font-size:15px}.cuisine .text-link{margin-top:23px}.cuisine img{max-height:490px;object-fit:cover}.visit{display:block;padding:68px 28px}.visit h2{font-size:70px}.visit-heading .text-link{margin-top:29px}.visit-info{border-top:1px solid #c7cbbb;padding-top:35px;margin-top:42px}.visit-small{margin-top:30px}footer{display:flex;flex-wrap:wrap;gap:28px;padding:42px 28px 26px}footer>a{width:100%}footer img{width:160px}footer>p{font-size:12px;width:calc(50% - 14px)}footer>div{flex-direction:column;align-items:flex-end;gap:4px;margin-left:auto}footer .footer-location{width:100%;margin-top:15px}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Alignment refined against the approved visual target. */
@media(min-width:801px){.material-copy{align-self:start;padding-top:10vw}}
@media(max-width:560px){.house-intro h2{font-size:clamp(44px,14.8vw,58px)}.cuisine h2{font-size:clamp(42px,13vw,54px)}.visit h2{font-size:clamp(55px,17.9vw,70px)}.interlude-title{font-size:clamp(46px,14vw,59px)}}
/* Native instant anchors respect users who prefer less motion and keep navigation predictable. */
html{scroll-behavior:auto}
/* Reservation is the main conversion path; keep the editorial direction. */
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.primary-reserve,.mobile-sticky-reserve{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--green);color:var(--paper);padding:17px 23px;font-size:14px;border:1px solid var(--green);min-height:52px}.primary-reserve:hover,.booking-submit:hover{background:#3c5545}.hero-actions .text-link{font-size:15px}.mobile-sticky-reserve{display:none}
/* Production integration: existing reservation controls and campaign anchors. */
:root{--olive:var(--green);--white:var(--paper);--muted:#596553}
.material-story figure img{aspect-ratio:1/1;object-fit:cover;object-position:58% center}
.cardapio-editorial{display:grid;grid-template-columns:1fr 1.4fr;gap:10%;padding:75px 9% 100px;border-top:1px solid #d7d8cb;background:#f0eee4}
.menu-intro .eyebrow{margin-bottom:25px}.menu-intro>p:not(.eyebrow){font-size:15px;line-height:1.8;max-width:340px;margin:25px 0}.cardapio-groups{display:grid;grid-template-columns:1fr 1fr;gap:35px}.cardapio-groups article{border-top:1px solid #c8cebf;padding-top:23px}.cardapio-groups span{font-size:11px;letter-spacing:.14em;text-transform:uppercase}.cardapio-groups h3{font:400 34px/1.1 var(--serif);margin:16px 0}.cardapio-groups p{font-size:14px;line-height:1.8;color:#526052}
.reservation-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:7%;padding:95px 7%;background:var(--green);color:var(--paper);align-items:start}
.reservation-copy>.eyebrow{color:#c4cebd;margin-bottom:28px}.reservation-copy h2{font-size:clamp(60px,6.5vw,94px);line-height:.98}.reservation-copy h2 em{font-weight:400}.reservation-copy>p:not(.eyebrow){margin-top:28px;font-size:17px;line-height:1.7;color:#e0e3d7}.reservation-rules{border-top:1px solid #607061;margin-top:35px;padding-top:26px;max-width:370px}.reservation-rules div{margin-bottom:20px;font-size:13px;line-height:1.7}.reservation-rules strong{font-weight:500;display:block;margin-bottom:4px}.reservation-rules span{color:#d1d8ca}.reservation-copy .reservation-note{font-size:12px!important;max-width:360px}
.reservation-form{display:grid;gap:18px;padding:32px;background:var(--paper);color:var(--green);scroll-margin-top:28px;min-width:0}.form-title{font:400 44px/1.05 var(--serif);letter-spacing:-.03em;margin:0}.form-lead{font-size:13px;color:#596251;line-height:1.6;margin-bottom:5px}.reservation-form label{display:grid;gap:8px;font-size:13px;font-weight:500;line-height:1.6}.reservation-form input,.reservation-form textarea{display:block;width:100%;min-width:0;min-height:48px;border:1px solid #bac2b3;border-radius:0;background:#fffdf7;color:var(--green);padding:11px 12px;font:400 16px 'Inter',sans-serif}.reservation-form input[type=hidden]{display:none}.reservation-form textarea{resize:vertical}.reservation-form input:focus-visible,.reservation-form textarea:focus-visible{outline:2px solid #405d45;outline-offset:2px}.reservation-picker{display:grid;grid-template-columns:1fr;gap:22px;min-width:0}.calendar-picker,.time-picker{min-width:0}.picker-label{font-size:13px;font-weight:500;margin-bottom:10px}.reservation-calendar,.time-picker-panel{padding:16px;background:#fffdf7;border:1px solid #c7cbbb}.calendar-toolbar{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center;margin-bottom:14px}.calendar-toolbar h3{margin:0;font-size:15px;font-weight:500;text-align:center}.calendar-nav{width:44px;height:44px;padding:0;background:transparent;border:1px solid #bfc8b8;font-size:28px;line-height:1}.calendar-nav:disabled{opacity:.3;cursor:default}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{margin-bottom:6px}.calendar-weekdays span{font-size:11px;line-height:24px;text-align:center;color:#596553}.calendar-spacer,.calendar-day{width:100%;min-width:0;min-height:40px}.calendar-day{display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--green);background:#f2f3ea;border:1px solid #ccd2c2;border-radius:0;font-size:13px;font-weight:500}.calendar-day:disabled{color:#85877e;background:#f5f4ee;border-color:transparent;cursor:not-allowed}.calendar-day[aria-current=date]:not(.is-selected){box-shadow:inset 0 0 0 1px #84703e}.calendar-day.is-selected,.time-slot.is-selected{color:var(--paper);background:var(--green);border-color:var(--green)}.calendar-day:hover:not(:disabled):not(.is-selected),.calendar-nav:hover:not(:disabled),.time-slot:hover:not(.is-selected){background:#e4e7d8;border-color:#6d7b60}.calendar-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;font-size:11px;color:#596553}.calendar-legend span{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:9px;height:9px;background:#e1e2db;border:1px solid transparent}.legend-dot.available{background:#f2f3ea;border-color:#869678}.time-picker-panel p{font-size:12px;line-height:1.6;margin-bottom:12px;color:#596553}.time-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.time-slot{min-height:44px;padding:8px 4px;border:1px solid #c7cbbb;background:#f2f3ea;font-size:13px;font-weight:500}.field-help{font-size:12px;line-height:1.6;color:#596553}.reservation-availability{padding:13px 15px;background:#e9ece1;border-left:2px solid #778769;font-size:13px;line-height:1.6}.reservation-availability[data-state=unavailable]{color:#812f27;background:#f5e7df;border-color:#812f27}.reservation-availability[data-state=weekend],.reservation-availability[data-state=walk-in]{color:#725019;background:#f2ebda;border-color:#8c6830}.reservation-form .button{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;background:var(--green);color:var(--paper);padding:16px 14px;border:1px solid var(--green);font-size:14px;line-height:1.4}.reservation-form .button:hover{background:#3c5545}.form-status{min-height:22px;font-size:13px;line-height:1.6}.reservation-section a:focus-visible{outline-color:var(--paper)}
.privacy-section{padding:55px 9%;background:#eeece2;border-top:1px solid #d6d7ca}.privacy-copy{max-width:950px}.privacy-copy h2{font-size:34px;letter-spacing:-.02em;margin-bottom:20px}.privacy-copy p{font-size:12px;line-height:1.9;color:#526052;margin-top:12px}footer>.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.footer-links a{font-size:12px}.mobile-sticky-reserve{display:none}.mobile-sticky-reserve.is-hidden{display:none!important}
@media(min-width:1700px){.reservation-picker{grid-template-columns:1.1fr 1fr}.time-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){.reservation-section{padding:75px 5%;gap:5%}.reservation-form{padding:25px}.calendar-day,.calendar-spacer{min-height:35px}.time-slots{gap:6px}.brand span{display:none}}
@media(max-width:800px){.cardapio-editorial{gap:6%;padding:60px 7%}.cardapio-groups{gap:25px;grid-template-columns:1fr}.reservation-section{grid-template-columns:1fr;padding:65px 8%;gap:35px}.reservation-copy h2{font-size:70px}.reservation-rules{max-width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.reservation-copy .reservation-note{max-width:100%}.reservation-picker{grid-template-columns:1.1fr 1fr}.time-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-day,.calendar-spacer{min-height:38px}.desktop-nav{gap:20px}}
@media(max-width:560px){.desktop-nav{display:none}.desktop-nav.is-open{display:flex;position:absolute;top:76px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:18px 27px 26px;background:#f2eee4;border-top:1px solid #d6d7ca;box-shadow:0 12px 20px #263b300d}.desktop-nav a{padding:15px 0;font-size:18px;border-bottom:1px solid #d6d7ca}.desktop-nav .reserve-nav{padding:15px 0!important}.material-story figure img{aspect-ratio:4/5;object-position:59% center}.hero-actions{gap:16px;align-items:flex-start;flex-direction:column}.hero-actions .primary-reserve{padding:14px 18px;font-size:13px}.hero-actions .text-link{font-size:13px}.hero-subtitle{margin-bottom:20px}.cardapio-editorial{display:block;padding:55px 24px 65px}.cardapio-editorial h2{font-size:58px}.cardapio-groups{margin-top:40px;gap:30px}.cardapio-groups h3{font-size:32px}.reservation-section{padding:65px 24px;gap:32px}.reservation-copy h2{font-size:64px}.reservation-copy>p:not(.eyebrow){font-size:15px}.reservation-rules{display:block}.reservation-rules div{font-size:12px;margin-bottom:20px}.reservation-form{padding:24px 16px;gap:17px}.form-title{font-size:38px}.reservation-picker{grid-template-columns:1fr}.reservation-calendar,.time-picker-panel{padding:12px}.calendar-toolbar{gap:4px}.calendar-days,.calendar-weekdays{gap:3px}.calendar-day,.calendar-spacer{min-height:34px}.calendar-weekdays span{font-size:10px}.time-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.time-slot{font-size:12px}.reservation-form .button{font-size:13px}.privacy-section{padding:40px 28px}footer>.footer-links{display:flex;gap:3px}.mobile-sticky-reserve{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;justify-content:center;gap:22px;background:var(--green);color:var(--paper);padding:17px 20px max(17px,env(safe-area-inset-bottom));font-size:14px;min-height:58px;box-shadow:0 -2px 14px #263b3014}body{padding-bottom:64px}}
@media(max-width:360px){.reservation-section{padding-left:16px;padding-right:16px}.reservation-form{padding:20px 12px}.calendar-day{font-size:12px}.reservation-copy h2{font-size:58px}.brand img{width:150px}}

/* Complete menus: direct, lightweight PDFs with stable shareable URLs. */
.menu-documents{display:grid;gap:28px;min-width:0;align-content:start}
.menu-document{display:block;border-top:1px solid #a9b4a1;padding:25px 0 0;min-width:0}
.menu-document-kicker{display:block;font-size:10px;font-weight:500;letter-spacing:.18em;line-height:1.7}
.menu-document h3{display:flex;align-items:center;justify-content:space-between;gap:20px;font:400 clamp(34px,3.2vw,46px)/1.1 var(--serif);letter-spacing:-.025em;margin:14px 0}
.menu-document h3 svg{flex-shrink:0;transition:transform .2s}
.menu-document-description{display:block;max-width:420px;font-size:14px;line-height:1.8;color:#526052}
.menu-document-action{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 18px;margin-top:21px;font-size:13px;line-height:1.6}
.menu-document-action>span:first-child{border-bottom:1px solid currentColor;padding-bottom:4px}
.menu-document-action>span:last-child{font-size:11px;color:#526052;white-space:nowrap}
.menu-document:hover h3 svg{transform:translate(3px,-3px)}
.menu-document:hover .menu-document-action>span:first-child{border-bottom-color:transparent}
.menu-documents-note{font-size:12px;line-height:1.7;color:#526052;margin:0}
@media(max-width:800px){.cardapio-editorial{grid-template-columns:1fr 1.4fr;gap:6%}.menu-document h3{font-size:36px}}
@media(max-width:560px){.menu-documents{margin-top:38px;gap:30px}.menu-document h3{font-size:38px}.menu-document-action{gap:10px 15px}}
@media(max-width:360px){.menu-document h3{font-size:34px}}
@media(prefers-reduced-motion:reduce){.menu-document h3 svg{transition:none}}
