:root{--paper:#f7f3eb;--cream:#eee7db;--red:#781f2a;--dark:#302724;--muted:#726660;--line:#d8cec1;--display:Barlow,'Arial Narrow',Arial,sans-serif;--serif:Georgia,'Times New Roman',serif;--body:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--dark);font:16px/1.7 var(--body)}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:normal}a{color:inherit}img{display:block;max-width:100%}button{font:inherit}a,button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid var(--red);outline-offset:6px}.site-footer :focus-visible{outline-color:var(--paper)}.address-bar :focus-visible,.contact-address :focus-visible{outline-color:var(--paper)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;top:-100px;left:20px;z-index:30;padding:10px 20px;background:var(--paper)}.skip:focus{top:10px}
.wrap,.header-inner{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.eyebrow{font:700 12px/1.4 var(--body);text-transform:uppercase;letter-spacing:.14em;color:var(--red)}
.address-bar{display:flex;justify-content:space-between;gap:20px;padding:9px max(48px,calc((100% - 1200px)/2));background:var(--red);color:var(--paper);font-size:11px;letter-spacing:.04em}.address-bar a{text-decoration:none}
.site-header{border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;min-height:86px;gap:30px}
.wordmark{display:inline-flex;align-items:baseline;gap:5px;white-space:nowrap;font:700 29px/1 var(--display);letter-spacing:.04em;text-decoration:none;color:var(--red)}.wordmark span{font-size:29px}
#navigation{display:flex;align-items:center;gap:30px}#navigation>a{font-size:12px;text-decoration:none;padding-block:12px}#navigation>a:hover,#navigation>a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}.nav-contact{color:var(--red)}.menu-toggle{display:none}
.home-hero{display:grid;grid-template-columns:.8fr 1.35fr;align-items:center;gap:70px;padding-block:52px 45px}
.hero-copy{text-align:center}.hero-copy .eyebrow{font-size:10px;letter-spacing:.13em}.hero-copy .brand-logo{width:min(260px,90%);margin:24px auto 26px}.hero-copy h1{font:normal 28px/1.2 var(--serif);letter-spacing:-.025em;color:var(--red)}
.hero-intro{font-size:13px;color:var(--muted);margin-top:17px}.hero-copy>.text-link{margin-top:22px;font-size:11px}
.brand-logo img{width:100%;height:auto}.hero-picture{min-width:0}.hero-picture>.photo{aspect-ratio:1.06}.photo{position:relative;overflow:hidden;background:var(--cream)}.photo img{width:100%;height:100%;object-fit:cover}.photo-square img{width:200%;max-width:none;position:absolute;left:50%;transform:translateX(-50%)}.photo-narrow img{width:334%;max-width:none;position:absolute;left:50%;transform:translateX(-50%)}
.photo-caption{display:flex;justify-content:space-between;gap:15px;margin-top:13px;font-size:10px;color:var(--muted);letter-spacing:.03em}
.doorways{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line);scroll-margin-top:28px}.doorway{padding:32px 38px 35px}.doorway:first-child{padding-left:0;border-right:1px solid var(--line)}.doorway:last-child{padding-right:0}.doorway-label{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.doorway-label>span:last-child{display:none}
.doorway h2{font:normal clamp(31px,3.2vw,43px)/1.15 var(--serif);letter-spacing:-.04em;color:var(--red);margin-top:18px}.doorway h2 a{text-decoration:none}.doorway h2 span{display:block;font:normal 17px/1.5 var(--serif);letter-spacing:0;margin-top:6px}.doorway>p{color:var(--muted);font-size:13px;margin-top:14px}.doorway-links{display:flex;flex-wrap:wrap;gap:18px 28px;margin-top:23px}.doorway .button{margin-top:20px}
.text-link{display:inline-flex;align-items:center;gap:15px;font-size:12px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;color:var(--red)}.text-link:hover{color:var(--dark)}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:47px;padding:13px 21px;font-size:12px;line-height:1.4;text-decoration:none;border:1px solid var(--red);background:var(--red);color:var(--paper);transition:background .15s}.button:hover{background:#591720;color:var(--paper)}.button-outline{background:transparent;color:var(--red)}.button-cream{background:var(--paper);color:var(--red);border-color:var(--paper)}
.family-section{display:grid;grid-template-columns:1fr 1fr;gap:95px;padding-block:84px;border-bottom:1px solid var(--line);align-items:center}.family-section h2{font:normal clamp(30px,3.2vw,43px)/1.16 var(--serif);letter-spacing:-.035em;color:var(--red);margin-top:18px}.family-copy p{font-size:15px;color:var(--muted);max-width:485px;margin-bottom:18px}.family-copy .text-link{margin-top:8px}
.visit{display:grid;grid-template-columns:1fr 1fr 1fr;gap:45px;padding-block:48px 60px}.visit h2{font:normal 30px/1.25 var(--serif);color:var(--red);margin-top:13px}.visit-address p{font-size:17px}.visit-address p span{font-size:13px;color:var(--muted)}.visit-address .button{margin-top:19px}.visit-nearby{font-size:13px;color:var(--muted)}.visit-nearby .text-link{margin-top:20px}
.site-footer{padding:40px max(48px,calc((100% - 1200px)/2)) 22px;background:#352927;color:var(--paper)}.site-footer .wordmark{color:var(--paper)}.footer-top{display:flex;justify-content:space-between;gap:35px;padding-bottom:35px}.footer-top>div>p{font:normal 15px var(--serif);color:#cbbeb1;margin-top:16px}.footer-address{display:flex;flex-direction:column;text-align:right;font-size:12px}.footer-address b{font-weight:normal}.footer-address span{color:#cbbeb1}.footer-address a{margin-top:10px;font-size:11px;text-underline-offset:5px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #64514c;padding-top:20px}.footer-bottom small{font-size:10px;color:#cbbeb1}.footer-bottom nav{display:flex;flex-wrap:wrap;gap:23px;font-size:11px}.footer-bottom nav a{text-decoration:none}
.page-heading,.menu-heading{padding-block:65px 42px}.page-heading h1,.menu-heading h1,.place-hero h1{font:normal clamp(40px,5vw,64px)/1.08 var(--serif);letter-spacing:-.04em;color:var(--red);margin-top:20px}.page-heading>p:last-child,.menu-heading>p:last-child{font-size:15px;max-width:630px;margin-top:23px;color:var(--muted)}
.place-hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:80px;padding-block:60px}.place-hero h1 span{display:block;font-size:.57em;margin-top:12px;letter-spacing:-.02em}.place-lead{font-size:15px;color:var(--muted);max-width:440px;margin-top:25px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.esquina-brand{width:min(280px,100%);margin-inline:auto}.fondue-hero-photo .photo{aspect-ratio:1.15}
.place-detail{display:grid;grid-template-columns:1.3fr .7fr;gap:90px;padding-block:40px;border-block:1px solid var(--line)}.place-detail h2,.esquina-room h2,.room-section h2,.practical h2,.story-body h2,.contact-places>h2{font:normal 34px/1.2 var(--serif);letter-spacing:-.035em;color:var(--red);margin-top:16px}.place-detail>div>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:18px;max-width:570px}.category-list{display:flex;flex-wrap:wrap;gap:20px;list-style:none;padding:0;margin:22px 0 0;color:var(--red);font-size:12px}
.other-place{border-left:1px solid var(--line);padding-left:30px}.other-place>p{font-size:12px;color:var(--muted)}.other-place h3{font:normal 28px/1.3 var(--serif);color:var(--red);margin-block:12px}.other-place h3 small{display:block;font-size:15px}.other-place .text-link{margin-top:17px}
.esquina-room,.room-section{display:grid;grid-template-columns:1.4fr .8fr;align-items:center;gap:65px;padding-block:60px}.esquina-room>.photo{aspect-ratio:4/3}.esquina-room p:not(.eyebrow),.room-section p:not(.eyebrow){font-size:14px;margin-top:22px;color:var(--muted)}.room-photos .photo{aspect-ratio:1.25}.room-section .source-note{font-size:10px}
.practical{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:40px;border-top:1px solid var(--line);padding-block:45px 60px}.practical h2{font-size:29px}.practical p{font-size:13px;color:var(--muted);margin-top:14px}.practical-right{text-align:right}.practical-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}
.menu-heading{text-align:center}.menu-heading>.back-link{display:block;text-align:left;font-size:12px;text-underline-offset:5px;margin-bottom:28px}.menu-heading>p:last-child{margin-inline:auto}.menu-sheet{max-width:830px;background:#fbf8f2;border-block:1px solid var(--line);padding:28px 45px;margin-bottom:35px}.menu-sheet-top{display:flex;justify-content:space-between;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--red);padding-bottom:16px;border-bottom:1px solid var(--line)}.menu-pending{padding:65px 10px;text-align:center}.pending-rule{display:none}.menu-pending h2{font:normal 29px/1.3 var(--serif);color:var(--red)}.menu-pending>p{font-size:14px;color:var(--muted);max-width:420px;margin:18px auto 0}.menu-pending .menu-known{font-size:12px;color:var(--red)}.menu-sheet-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted)}.menu-sheet-bottom p{max-width:370px}.menu-switch{text-align:center;font-size:12px;padding-bottom:50px}.menu-switch a{margin-top:10px}.menu-category{padding-block:25px}.menu-category h2{font:normal 30px var(--serif);color:var(--red)}.menu-item{display:flex;justify-content:space-between;gap:30px;padding-block:15px;border-bottom:1px solid var(--line)}.menu-item h3{font:normal 20px var(--serif)}.menu-item p,.menu-item small{font-size:12px;color:var(--muted)}
.story-section{display:grid;grid-template-columns:1.2fr .8fr;gap:65px;padding-block:10px 65px;align-items:start}.story-body h2{margin-block:20px}.story-body p{font-size:15px;color:var(--muted);margin-bottom:20px}.story-sidebar .photo{aspect-ratio:4/3}.story-sidebar>p{font-size:11px;color:var(--muted);margin-top:13px}.story-section+.doorways{margin-bottom:55px}
.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-block:15px 50px;align-items:center}.contact-address{background:var(--red);color:var(--paper);padding:40px}.address-number{display:block;font:normal 85px/1 var(--serif);padding-bottom:25px;border-bottom:1px solid #a86269;margin-bottom:26px}.contact-address h2{font:normal 28px/1.25 var(--serif)}.contact-address>p{font-size:13px;margin-top:10px}.contact-address>.button{margin-top:24px}.contact-directions h2{font:normal 34px/1.2 var(--serif);color:var(--red);margin-top:18px}.contact-directions>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:20px;max-width:410px}.metro-lines{display:flex;flex-wrap:wrap;gap:15px 24px;margin-block:20px;font-size:12px}.metro-line{display:inline-block;width:25px;height:25px;text-align:center;line-height:25px;margin-right:5px;color:white}.metro-nine{background:#793282}.metro-four{background:#80522b}.contact-directions .text-link{font-size:11px}.contact-places{padding-bottom:60px}.contact-places>div{display:grid;grid-template-columns:1fr 1fr;gap:50px;margin-top:25px}.contact-places article{border-top:1px solid var(--line);padding-top:25px}.contact-places h3{font:normal 29px/1.3 var(--serif);color:var(--red);margin-top:12px}.contact-description{font-size:14px;color:var(--muted);margin-block:18px 23px}.contact-places article>p:not(.eyebrow){font-size:14px}.contact-places .text-link{margin-top:18px}
@media(max-width:1100px){.home-hero{gap:40px}.hero-copy .brand-logo{width:235px}.header-inner{gap:20px}#navigation{gap:22px}.place-hero,.place-detail{gap:50px}.family-section{gap:55px}.contact-section{gap:45px}}
@media(max-width:900px){.wrap,.header-inner{width:calc(100% - 48px)}.address-bar,.site-footer{padding-inline:24px}.header-inner{min-height:76px;position:relative}.menu-toggle{display:inline-flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid var(--line);background:transparent;color:var(--red);font-size:12px}.menu-lines{width:15px;height:10px;border-block:1px solid currentColor;position:relative}.menu-lines:after{content:'';position:absolute;top:4px;left:0;right:0;border-top:1px solid currentColor}#navigation{display:none;position:absolute;left:-24px;right:-24px;top:76px;padding:12px 24px 22px;background:var(--paper);border-bottom:1px solid var(--line);z-index:10;flex-direction:column;align-items:stretch;gap:0}#navigation.is-open{display:flex}#navigation>a{border-bottom:1px solid var(--line);padding-block:15px}.home-hero{gap:28px;grid-template-columns:.9fr 1.1fr}.hero-copy .brand-logo{width:210px}.hero-copy h1{font-size:24px}.hero-picture>.photo{aspect-ratio:.85}.photo-caption span:last-child{display:none}.family-section{gap:35px;padding-block:60px}.visit{gap:25px}.place-hero,.place-detail,.story-section{gap:35px}.esquina-room,.room-section{gap:35px}.practical-actions{gap:10px}.contact-section{gap:30px}.contact-address{padding:30px}}
@media(max-width:640px){.wrap,.header-inner{width:calc(100% - 36px)}.address-bar{padding-inline:18px;font-size:10px}.address-bar>a{display:none}.header-inner{min-height:69px}.wordmark,.wordmark span{font-size:26px}#navigation{top:69px;left:-18px;right:-18px;padding-inline:18px}.home-hero{grid-template-columns:1fr;gap:28px;padding-block:26px 28px}.hero-copy .brand-logo{width:205px;margin-block:20px}.hero-copy h1{font-size:26px}.hero-intro{font-size:13px;margin-top:14px}.hero-copy>.text-link{margin-top:18px}.hero-picture>.photo{aspect-ratio:4/3}.photo-caption{font-size:10px;margin-top:10px}.doorways{grid-template-columns:1fr}.doorway,.doorway:first-child,.doorway:last-child{padding:26px 0;border-right:0}.doorway:first-child{border-bottom:1px solid var(--line)}.doorway h2{font-size:35px;margin-top:13px}.doorway h2 span{font-size:16px}.doorway-links{margin-top:19px;gap:25px}.family-section{grid-template-columns:1fr;gap:26px;padding-block:45px}.family-section h2{font-size:34px}.family-copy p{font-size:14px}.visit{grid-template-columns:1fr;gap:27px;padding-block:36px 45px}.visit h2{font-size:28px}.visit-nearby{padding-top:24px;border-top:1px solid var(--line)}.site-footer{padding:33px 18px 20px}.footer-top,.footer-bottom{flex-direction:column;gap:25px}.footer-address{text-align:left}.footer-bottom{gap:18px}.footer-bottom nav{gap:22px}.place-hero{grid-template-columns:1fr;padding-block:35px;gap:30px}.place-hero h1,.page-heading h1,.menu-heading h1{font-size:43px}.place-lead{font-size:14px}.esquina-brand{width:210px}.fondue-hero-photo .photo{aspect-ratio:1.35}.place-detail{grid-template-columns:1fr;gap:28px;padding-block:30px}.place-detail h2,.esquina-room h2,.room-section h2{font-size:30px}.other-place{border-left:0;border-top:1px solid var(--line);padding:23px 0 0}.esquina-room,.room-section{grid-template-columns:1fr;gap:25px;padding-block:36px}.esquina-room p:not(.eyebrow),.room-section p:not(.eyebrow){margin-top:15px}.practical{grid-template-columns:1fr;gap:25px;padding-block:35px 45px}.practical h2{font-size:27px}.practical-right{text-align:left}.practical-actions{justify-content:flex-start}.page-heading,.menu-heading{padding-block:38px 28px}.page-heading>p:last-child{font-size:14px}.story-section{grid-template-columns:1fr;gap:25px;padding-bottom:38px}.story-body h2{font-size:30px}.story-body p{font-size:14px}.story-section+.doorways{margin-bottom:40px}.menu-heading>.back-link{margin-bottom:26px}.menu-sheet{padding:22px 20px}.menu-sheet-top{font-size:10px;letter-spacing:.03em}.menu-pending{padding:45px 0}.menu-pending h2{font-size:26px}.menu-sheet-bottom{flex-direction:column;gap:17px}.contact-section{grid-template-columns:1fr;gap:35px;padding-bottom:40px}.contact-directions h2{font-size:30px}.contact-places>h2{font-size:30px}.contact-places>div{grid-template-columns:1fr;gap:30px}.contact-places h3{font-size:27px}.contact-places{padding-bottom:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.lunch-info,.booking-section{display:grid;grid-template-columns:1fr 1fr;gap:75px;padding-block:50px;border-bottom:1px solid var(--line)}
.lunch-info h2,.booking-section h2{font:normal 34px/1.2 var(--serif);letter-spacing:-.035em;color:var(--red);margin-top:17px}
.lunch-info>div:last-child{align-self:center}.lunch-info>div:last-child p,.booking-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:14px}.lunch-info .text-link{margin-top:19px}
.hours-table{margin:22px 0 0;font-size:12px;line-height:1.5}.hours-table>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;border-top:1px solid var(--line);padding-block:13px}.hours-table dt{font-weight:normal}.hours-table dd{margin:0;text-align:right;font-variant-numeric:tabular-nums;color:var(--dark)}
.hours-note,.practical p.hours-note{font-size:11px;color:var(--muted);margin-top:14px}.booking-copy>.button{margin-top:22px}.booking-number a{text-underline-offset:5px}.practical-right{text-align:left}.practical-actions{justify-content:flex-start;margin-top:22px}.practical-contact-title{font:normal 23px var(--serif);color:var(--red);margin-top:29px}.practical>div>.button{margin-top:17px}.menu-services{text-align:center;margin-top:26px;font-size:13px;color:var(--muted)}.menu-services p+p{margin-top:6px}
@media(max-width:900px){.lunch-info,.booking-section{gap:35px}.hours-table{font-size:11px}}
@media(max-width:640px){.lunch-info,.booking-section{grid-template-columns:1fr;gap:25px;padding-block:36px}.lunch-info h2,.booking-section h2{font-size:30px}.hours-table{font-size:12px}.hours-table>div{gap:14px}.hours-table dt{max-width:130px}.hours-table dd{max-width:170px}.booking-copy{border-top:1px solid var(--line);padding-top:25px}}
.wordmark{flex-direction:column;align-items:flex-start;gap:4px;font-family:var(--serif);font-weight:normal;letter-spacing:-.02em;line-height:1.05}.wordmark span{font-size:25px}.wordmark small{font:normal 13px/1.2 var(--serif);letter-spacing:.015em}@media(max-width:640px){.wordmark span{font-size:23px}.wordmark small{font-size:12px}}

/* Second editorial pass: clear reservations, real rooms and seasonal offerings. */
#navigation>.nav-contact{padding:11px 18px;border:1px solid var(--red);text-decoration:none}#navigation>.nav-contact:hover{background:var(--red);color:var(--paper)}
.home-hero{grid-template-columns:.8fr 1.3fr;gap:64px;padding-block:42px}.hero-picture>.photo{aspect-ratio:4/3}.hero-picture .photo img{object-position:50% 45%}.hero-copy .brand-logo{width:220px;margin-block:18px 22px}.hero-copy h1{font-size:31px}.hero-intro{font-size:14px;line-height:1.65}
.hero-primary-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:23px}.hero-primary-actions .button{min-width:214px}.text-link{min-height:32px}.venue-phone{display:inline-block;margin-top:20px;font-size:12px;text-underline-offset:5px;color:var(--muted)}.venue-phone:hover{color:var(--red)}
.doorway{padding-block:34px 38px}.doorway h2{font-size:42px}.doorway>p{max-width:390px;line-height:1.8}.doorway-links{margin-top:20px}
.midday{margin-top:54px;padding:42px 45px;background:var(--red);color:var(--paper);display:grid;grid-template-columns:.85fr 1.4fr;gap:35px 55px}.midday .eyebrow{color:var(--paper);font-size:10px}.midday h2{font:normal 37px/1.15 var(--serif);letter-spacing:-.03em;margin-top:18px}.midday-dishes{display:grid;grid-template-columns:1fr 1fr;gap:32px}.midday-dishes article{border-left:1px solid #b07579;padding-left:25px}.midday-dishes h3{font:normal 26px/1.2 var(--serif);margin-top:20px}.midday-dishes article>p:last-child{font-size:13px;margin-top:17px}.midday-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #b07579;padding-top:25px}.midday-bottom>p{font-size:12px}.midday .button{background:var(--paper);color:var(--red);border-color:var(--paper)}.midday .button:hover{background:var(--cream)}.midday :focus-visible{outline-color:var(--paper)}
.family-section{padding-block:64px}.booking-copy p.reservation-note{font-size:11px;max-width:350px}.mobile-actions{display:none}
.visit-questions{padding-block:15px 55px}.visit-questions h2{font:normal 32px/1.2 var(--serif);color:var(--red);margin-bottom:24px}.visit-questions details{border-top:1px solid var(--line);padding-block:17px}.visit-questions details:last-child{border-bottom:1px solid var(--line)}.visit-questions summary{font-size:14px;cursor:pointer;padding-block:5px;list-style-position:inside}.visit-questions details>p{font-size:14px;color:var(--muted);max-width:690px;margin-top:16px}.visit-questions details a{text-underline-offset:4px}
@media(max-width:1100px){.home-hero{gap:35px}.hero-copy .brand-logo{width:200px}.midday{grid-template-columns:1fr 1.6fr;gap:30px;padding:35px}.midday h2{font-size:32px}.midday-dishes{gap:22px}.midday-dishes h3{font-size:24px}.midday-dishes article{padding-left:18px}}
@media(max-width:900px){#navigation>.nav-contact{margin-top:13px;text-align:center}.home-hero{grid-template-columns:1fr 1.15fr}.hero-copy h1{font-size:26px}.hero-copy .brand-logo{width:180px}.hero-picture>.photo{aspect-ratio:1}.midday{grid-template-columns:1fr}.midday-dishes article:first-child{border-left:0;padding-left:0}.midday-intro h2 br{display:none}.midday-dishes h3{margin-top:12px}}
@media(max-width:640px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.home-hero{grid-template-columns:1fr;gap:22px;padding-top:18px;padding-bottom:30px}.hero-picture{order:-1}.hero-picture>.photo{aspect-ratio:4/3}.hero-copy .brand-logo{width:145px;margin:18px auto}.hero-copy>.eyebrow{font-size:10px}.hero-copy h1{font-size:28px}.hero-intro{font-size:13px;margin-top:15px}.hero-primary-actions{margin-top:20px}.doorway h2{font-size:35px}.venue-phone{font-size:12px;margin-top:15px}.midday{margin-top:32px;padding:28px 23px;gap:25px}.midday h2{font-size:31px;margin-top:13px}.midday-dishes{grid-template-columns:1fr;gap:24px}.midday-dishes article,.midday-dishes article:first-child{border-left:0;padding-left:0}.midday-dishes article+article{border-top:1px solid #b07579;padding-top:22px}.midday-dishes article>p:last-child{margin-top:10px}.midday-bottom{flex-direction:column;align-items:flex-start;gap:17px;padding-top:21px}.midday-bottom .button{width:100%}.family-section{padding-block:40px}.mobile-actions{display:grid;grid-template-columns:1.3fr 1fr;position:fixed;inset:auto 0 0;z-index:20;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--paper);border-top:1px solid var(--line)}.mobile-actions a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:10px;font-size:11px;text-decoration:none;color:var(--red)}.mobile-actions a:first-child{background:var(--red);color:var(--paper)}.mobile-actions a:focus-visible{outline-color:currentColor;outline-offset:-5px}.visit-questions{padding-block:5px 40px}.visit-questions h2{font-size:29px}}
@media print{body{padding-bottom:0;background:white}.address-bar,.site-header,.site-footer,.mobile-actions,.hero-actions,.practical-actions,.menu-switch{display:none}.wrap{width:100%}.menu-sheet{border:0;margin:0;padding:0}.menu-heading{padding-top:0}.back-link{display:none!important}}
.menu-enquiry{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:15px 25px;margin-top:27px}
.taberna-gallery{padding-bottom:55px}.gallery-heading{padding-block:10px 25px}.gallery-heading h2{font:normal 34px/1.2 var(--serif);letter-spacing:-.035em;color:var(--red);margin-top:14px}.gallery-grid{display:grid;grid-template-columns:1fr 1.27fr;gap:25px;align-items:start}.gallery-grid .photo{background:transparent;aspect-ratio:auto}.gallery-grid .photo img{width:100%;height:auto;object-fit:contain}.gallery-grid .photo-caption{font-size:11px;margin-top:12px}@media(max-width:640px){.taberna-gallery{padding-bottom:35px}.gallery-heading{padding-block:0 22px}.gallery-heading h2{font-size:29px}.gallery-grid{grid-template-columns:1fr;gap:25px}}
.gallery-open{display:block;position:relative;min-width:0;cursor:zoom-in}.esquina-room>.gallery-open .photo{aspect-ratio:4/3}.gallery-enlarge{position:absolute;right:14px;bottom:14px;background:var(--paper);color:var(--red);padding:7px 12px;font-size:11px;line-height:1.5}.gallery-open:hover .gallery-enlarge{text-decoration:underline;text-underline-offset:3px}
.viewer-open{overflow:hidden}.photo-viewer:not([open]){display:none}.photo-viewer{width:min(1160px,calc(100% - 36px));max-height:92vh;max-height:92dvh;padding:18px 22px;border:0;background:var(--paper);color:var(--dark);overflow:auto}.photo-viewer::backdrop{background:#1c1414dd}.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px}.viewer-top{margin-bottom:15px}.viewer-top p{font-size:13px}.photo-viewer button{min-height:44px;padding:9px 13px;border:1px solid var(--line);background:transparent;color:var(--red);font-size:12px;cursor:pointer}.photo-viewer button:hover{border-color:var(--red)}.photo-viewer>img{width:100%;height:auto;max-height:70vh;max-height:70dvh;object-fit:contain}.viewer-bottom{margin-top:15px}.viewer-bottom p{font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:640px){.photo-viewer{width:calc(100% - 20px);padding:12px}.viewer-top{gap:10px}.viewer-top p{font-size:12px}.photo-viewer button{font-size:11px;padding-inline:10px}.viewer-bottom{gap:8px}.gallery-enlarge{right:10px;bottom:10px}}
@media print{.photo-viewer,.gallery-enlarge{display:none}.viewer-open{overflow:visible}}
.menu-sections{display:flex;flex-wrap:wrap;gap:10px 20px;padding:24px 0;border-bottom:1px solid var(--line);margin-bottom:30px}
.menu-sections a{color:#781f2a;text-underline-offset:5px;padding-block:8px}
.menu-category{scroll-margin-top:120px}
.menu-category-note{margin:0 0 22px;color:#781f2a;line-height:1.6}
.menu-price{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.menu-price small{display:block;font-family:Arial,sans-serif;font-size:12px;font-weight:400;margin-top:5px}
.menu-tax-note{margin-top:30px;font-weight:600}
.menu-date{font-size:13px;color:#645b54}
.menu-documents{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}
.menu-documents h2{width:100%;font-size:26px;margin-bottom:4px}
@media(max-width:600px){.menu-item{gap:14px}.menu-item>div{min-width:0}.menu-item h3{overflow-wrap:break-word}.menu-price{flex-shrink:0}.menu-sections{gap:4px 16px}}
@media print{.menu-sections,.menu-documents{display:none}.menu-category h2{break-after:avoid}.menu-item{break-inside:avoid}}
.menu-index{scroll-margin-top:30px;padding-top:24px}.menu-index .eyebrow{font-size:11px}.menu-sections{padding-top:14px;gap:10px}.menu-sections a{display:flex;align-items:center;min-height:44px;padding:10px 15px;border:1px solid var(--line);border-radius:2px;text-decoration:none;font-size:14px}.menu-sections a:hover{background:var(--cream);border-color:var(--red)}
.menu-item{align-items:start}.menu-item h3{line-height:1.35}.menu-item p{margin-top:7px;font-size:14px;line-height:1.55}.menu-price{font-size:17px;font-weight:600;padding-top:3px}.menu-category-note{font-size:14px;padding:14px 16px;background:var(--cream);margin-top:16px}.menu-back{display:inline-block;min-height:44px;padding-block:14px;margin-top:8px;font-size:12px;color:var(--red);text-underline-offset:4px}
.menu-contact{margin-top:32px;padding:28px 0;border-block:1px solid var(--line)}.menu-contact h2{font:normal 29px/1.2 var(--serif);color:var(--red)}.menu-contact p{font-size:14px;margin-top:12px;color:var(--muted)}.menu-contact>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
@media(max-width:640px){.menu-heading{padding-bottom:26px}.menu-sheet{padding:22px 18px}.menu-sheet-top{font-size:10px;gap:12px;letter-spacing:.025em}.menu-services{font-size:13px;line-height:1.6}.menu-sections{gap:8px;margin-bottom:10px}.menu-sections a{font-size:13px;padding:10px 12px}.menu-category{padding-block:23px}.menu-category h2{font-size:28px}.menu-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding-block:17px}.menu-item h3{font-size:19px}.menu-item p{font-size:14px}.menu-price{font-size:16px}.menu-price small{font-size:11px}.menu-sheet-bottom{flex-direction:column;gap:14px;font-size:13px}.menu-documents{gap:10px}.menu-documents .button,.menu-contact .button{width:100%;justify-content:center;text-align:center}.menu-contact>div{width:100%}}
@media print{.menu-index,.menu-back,.menu-contact{display:none}.menu-sheet{padding:0}.menu-price{color:#302724}.menu-category{scroll-margin-top:0}}
.location-map{padding-block:12px 55px;scroll-margin-top:30px}.location-intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-bottom:28px}.location-intro h2{font:normal 35px/1.2 var(--serif);color:var(--red);margin-top:14px}.location-intro p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:18px;line-height:1.7}.location-intro .button{margin-top:22px}.location-intro .photo{aspect-ratio:4/3}.location-intro .photo img{height:auto;object-fit:contain}.location-map iframe{display:block;width:100%;height:450px;border:1px solid var(--line);background:var(--cream)}.map-note{font-size:12px;color:var(--muted);margin-top:12px}
.food-gallery{padding-block:20px 50px;border-top:1px solid var(--line)}.food-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.food-grid .photo{aspect-ratio:4/3}.food-grid .photo img{height:auto;object-fit:contain}.food-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px}.food-footer .source-note{font-size:11px;max-width:430px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-grid .source-note{font-size:10px;margin-top:8px}
@media(max-width:640px){.location-map{padding-bottom:35px}.location-intro{grid-template-columns:1fr;gap:25px}.location-intro h2{font-size:29px}.location-map iframe{height:360px}.food-grid,.gallery-grid{grid-template-columns:1fr;gap:25px}.food-footer{align-items:flex-start;flex-direction:column;gap:12px}.food-gallery{padding-block:15px 35px}}
@media print{.location-map iframe,.map-note{display:none}.location-intro{grid-template-columns:1fr 1fr}.food-gallery,.location-map{break-inside:avoid}}

/* Mapa en el lugar de la antigua tarjeta de dirección. */
.contact-map{min-width:0;scroll-margin-top:30px}
.contact-map iframe{display:block;width:100%;height:360px;border:1px solid var(--line);background:var(--paper)}
.contact-map-caption{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:16px}
.contact-map-caption p{font-size:13px;line-height:1.6}
.contact-map-caption strong{display:block;font-weight:500;color:var(--red)}
.contact-map-caption span{display:block;font-size:12px;color:var(--muted)}
.contact-map-caption .text-link{font-size:12px;white-space:nowrap}
@media(max-width:640px){.contact-map iframe{height:320px}.contact-map-caption{gap:12px}}
@media print{.contact-map iframe{display:none}}

/* Rondas 1 y 2: fotografía completa, lectura y carta compartida. */
#contenido:focus { outline: none; }
.button { font-size: 14px; min-height: 50px; }
.text-link { min-height: 44px; font-size: 14px; }
#navigation > a { font-size: 14px; }
.address-bar { font-size: 12px; }
.hero-copy .eyebrow { font-size: 12px; }
.home-hero { grid-template-columns: .95fr 1.2fr; gap: 55px; padding-block: 45px; }
.hero-copy .brand-logo { width: 136px; margin-block: 16px 22px; }
.hero-copy h1 { font-size: clamp(38px, 4vw, 52px); line-height: 1.08; }
.hero-copy h1 span { display: block; font-size: .64em; line-height: 1.3; margin-top: 8px; }
.hero-intro { font-size: 16px; line-height: 1.65; margin-top: 20px; }
.hero-primary-actions { flex-direction: row; justify-content: center; flex-wrap: wrap; gap: 12px; }
.hero-primary-actions .button { min-width: 0; }
.hero-picture > .photo { aspect-ratio: 4 / 3; }
.hero-picture .photo img { object-fit: contain; height: 100%; }
.doorway > p, .place-detail > div > p:not(.eyebrow),
.esquina-room p:not(.eyebrow), .place-lead { font-size: 16px; line-height: 1.7; }
.venue-phone { font-size: 14px; min-height: 44px; padding-block: 10px; margin-top: 12px; }
.doorway-label { font-size: 12px; }
.category-list { font-size: 14px; }
.photo-caption { font-size: 14px; letter-spacing: 0; line-height: 1.5; }
.source-note, .gallery-grid .source-note, .room-section .source-note,
.food-footer .source-note { font-size: 12px; line-height: 1.6; color: var(--muted); margin-top: 7px; overflow-wrap: anywhere; }
.source-note a { text-decoration-color: var(--line); text-underline-offset: 3px; }
.source-note a:hover { text-decoration-color: currentColor; }
.photo-meta { padding-top: 14px; }
.photo-meta .photo-caption { margin-top: 0; color: var(--dark); }
.photo-card { min-width: 0; }
.gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.gallery-grid .photo { aspect-ratio: 4 / 3; background: var(--cream); }
.gallery-grid .photo img { height: 100%; object-fit: contain; }
.gallery-grid .photo-caption { font-size: 14px; }
.fondue-hero-photo .photo { aspect-ratio: 1; }
.fondue-hero-photo .photo img { height: 100%; object-fit: contain; }
.fondue-hero-photo > .source-note { margin-top: 14px; }
.food-grid { gap: 34px 28px; }
.food-grid .photo { aspect-ratio: 1; display: flex; align-items: center; justify-content: center; }
.food-grid .photo img { width: 100%; height: 100%; object-fit: contain; }
.food-gallery-esquina .photo { aspect-ratio: 4 / 3; }
.food-grid .photo-card-compact .photo img { max-width: 399px; max-height: 329px; }
.food-footer { border-top: 1px solid var(--line); padding-top: 20px; }
.food-footer > p { font-size: 14px; color: var(--muted); max-width: 450px; }
.gallery-enlarge { font-size: 12px; }
.viewer-top h2 { font: normal 24px/1.3 var(--serif); color: var(--red); }
.photo-viewer button { font-size: 14px; min-height: 48px; }
.viewer-meta { margin-top: 16px; }
.viewer-meta > p:first-child { font-size: 16px; line-height: 1.5; }
.viewer-bottom p { font-size: 14px; }
.photo-viewer > img { max-height: 62vh; max-height: 62dvh; }
.hours-table { font-size: 14px; }
.hours-table > div { padding-block: 15px; }
.hours-note, .practical p.hours-note, .booking-copy p.reservation-note { font-size: 13px; line-height: 1.6; }
.booking-copy > p:not(.eyebrow), .practical p { font-size: 15px; }
.midday .eyebrow { font-size: 12px; }
.midday-dishes h3 { margin-top: 0; }
.midday-dishes article > p:last-child { font-size: 15px; line-height: 1.7; }
.midday-bottom > p { font-size: 14px; }
.menu-heading > p:last-child { font-size: 16px; }
.menu-sheet { max-width: 900px; }
.menu-sheet-top { font-size: 12px; letter-spacing: .035em; }
.menu-services { font-size: 15px; line-height: 1.7; }
.menu-sections a { font-size: 14px; min-height: 48px; }
.menu-category { scroll-margin-top: 30px; padding-block: 32px; }
.menu-category h2 { padding-bottom: 14px; border-bottom: 1px solid var(--red); }
.menu-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; padding-block: 20px; }
.menu-item h3 { font-size: 22px; line-height: 1.35; overflow-wrap: anywhere; }
.menu-item p { font-size: 16px; line-height: 1.55; max-width: 580px; }
.menu-price { font-size: 18px; padding-top: 2px; }
.menu-price small { font-size: 12px; }
.menu-category-note { font-size: 15px; line-height: 1.7; }
.menu-back { font-size: 14px; }
.menu-documents { gap: 12px; padding-block: 14px; }
.menu-documents h2 { font: normal 30px/1.3 var(--serif); color: var(--red); margin-bottom: 0; }
.menu-download-note { width: 100%; color: var(--muted); font-size: 15px; margin-bottom: 6px; }
.menu-sheet-bottom { font-size: 14px; line-height: 1.7; }
.menu-contact p, .visit-questions summary, .visit-questions details > p { font-size: 16px; }
.contact-map-caption p { font-size: 15px; }
.contact-map-caption span, .contact-map-caption .text-link { font-size: 14px; }
.contact-directions > p:not(.eyebrow), .contact-description { font-size: 16px; }
.contact-directions .text-link, .metro-lines { font-size: 14px; }
.footer-top p, .footer-address span, .footer-address a, .footer-bottom { font-size: 13px; }
.footer-bottom small { font-size: 12px; }

@media (max-width: 1100px) {
  .home-hero { gap: 35px; }
  #navigation { gap: 20px; }
  .hero-primary-actions { flex-direction: column; }
  .hero-primary-actions .button { width: min(280px, 100%); }
}
@media (max-width: 900px) {
  .home-hero { grid-template-columns: 1fr 1.05fr; gap: 30px; }
  .hero-copy .brand-logo { width: 112px; }
  .hero-copy h1 { font-size: 38px; }
  .hero-intro { font-size: 15px; }
  .hours-table { font-size: 14px; }
}
@media (max-width: 640px) {
  .home-hero { grid-template-columns: 1fr; padding-block: 28px 35px; gap: 28px; }
  .hero-picture { order: 0; }
  .hero-copy .brand-logo { width: 98px; margin-block: 16px 20px; }
  .hero-copy h1 { font-size: 42px; }
  .hero-copy h1 span { font-size: 28px; }
  .hero-copy > .eyebrow { font-size: 11px; }
  .hero-intro { font-size: 15px; margin-top: 18px; }
  .hero-primary-actions { margin-top: 22px; }
  .hero-primary-actions .button { width: min(340px, 100%); }
  .photo-caption { font-size: 13px; }
  .gallery-grid, .food-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .food-grid .photo-card-compact .photo img { max-width: min(399px, 100%); }
  .gallery-enlarge { font-size: 12px; right: 12px; bottom: 12px; }
  .viewer-top h2 { font-size: 20px; }
  .photo-viewer button { font-size: 13px; padding-inline: 12px; }
  .viewer-bottom { gap: 6px; }
  .viewer-bottom p { font-size: 13px; }
  .viewer-meta > p:first-child { font-size: 15px; }
  .hours-table > div { gap: 14px; }
  .hours-table dt, .hours-table dd { max-width: none; }
  .midday h2 { font-size: 32px; }
  .midday-dishes h3 { font-size: 26px; }
  .menu-sheet { padding: 24px 18px; }
  .menu-sheet-top { font-size: 11px; flex-direction: column; gap: 4px; }
  .menu-services { font-size: 14px; }
  .menu-sections { gap: 8px; }
  .menu-sections a { font-size: 14px; padding: 10px 12px; }
  .menu-category { padding-block: 27px; }
  .menu-category h2 { font-size: 28px; }
  .menu-item { gap: 12px; padding-block: 19px; }
  .menu-item h3 { font-size: 20px; }
  .menu-item p { font-size: 15px; }
  .menu-price { font-size: 17px; }
  .menu-price small { font-size: 12px; }
  .menu-category-note { font-size: 14px; padding: 14px; }
  .menu-documents .button, .menu-contact .button { width: 100%; }
  .contact-map-caption { align-items: flex-start; flex-wrap: wrap; gap: 5px 18px; }
  .mobile-actions a { font-size: 13px; }
}
@media print {
  .menu-heading > p:last-child, .menu-services, .menu-sheet-bottom, .menu-date { font-size: 11pt; }
  .menu-category { padding-block: 14px; }
  .menu-category h2 { font-size: 20pt; break-after: avoid; }
  .menu-item { gap: 20px; padding-block: 10px; break-inside: avoid; }
  .menu-item h3 { font-size: 13pt; }
  .menu-item p, .menu-price, .menu-category-note { font-size: 11pt; }
  .menu-price small { font-size: 9pt; }
  .menu-download-note, .menu-documents, .gallery-enlarge, .photo-viewer { display: none; }
}

/* Restaurant reference audit: spaces, practical actions and shared menu. */
.spaces-section { padding-top: 22px; border-top: 1px solid var(--line); }
.spaces-heading { padding-block: 14px 28px; }
.spaces-heading h2 { font: normal clamp(30px, 3.3vw, 44px)/1.2 var(--serif); color: var(--red); margin-top: 12px; letter-spacing: -.025em; }
.spaces-section .doorways { border-top: 0; padding: 0; gap: 42px; }
.spaces-section .doorway { padding: 0 0 32px; border: 0; min-width: 0; }
.doorway-image { display: block; }
.doorway-image .photo { aspect-ratio: 1; background: var(--cream); }
.doorway-image .photo img { width: 100%; height: 100%; object-fit: contain; }
.doorway > .source-note { min-height: 20px; margin-block: 10px 20px; }
.doorway-label { padding-top: 0; }
.doorway-image:hover { outline: 1px solid var(--line); outline-offset: 5px; }
.reservation-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-block: 24px 18px; }
.reservation-choices article { min-width: 0; padding-top: 18px; border-top: 1px solid var(--line); }
.reservation-choices h3 { font: normal 26px/1.3 var(--serif); color: var(--red); margin-block: 9px 16px; }
.reservation-choices .button { width: 100%; gap: 8px; padding-inline: 12px; font-size: 13px; }
.reservation-phone { display: flex; align-items: center; min-height: 48px; margin-top: 7px; font-size: 14px; text-underline-offset: 4px; }
.booking-dialog:not([open]) { display: none; }
.booking-dialog { width: min(700px, calc(100% - 32px)); max-height: 90vh; max-height: 90dvh; border: 1px solid var(--line); padding: 28px 32px; overflow: auto; background: var(--paper); color: var(--dark); }
.booking-dialog::backdrop { background: #211516cc; }
.booking-dialog-top { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 26px; }
.booking-dialog-top button { background: transparent; border: 1px solid var(--line); min-height: 44px; padding: 8px 14px; color: var(--red); font-size: 14px; cursor: pointer; }
.booking-dialog > h2 { color: var(--red); font: normal 38px/1.2 var(--serif); margin-bottom: 16px; }
.booking-dialog > p:not(.reservation-note) { font-size: 16px; line-height: 1.65; }
.booking-dialog .reservation-note { color: var(--muted); font-size: 14px; line-height: 1.6; margin-top: 18px; }
.booking-open { overflow: hidden; }
.menu-search-tools { border-block: 1px solid var(--line); padding-block: 22px; margin-top: 26px; }
.menu-search-tools label { display: block; font: normal 24px/1.3 var(--serif); color: var(--red); margin-bottom: 12px; }
.menu-search-row { display: flex; gap: 12px; }
.menu-search-row input { min-width: 0; flex: 1; width: 100%; border: 1px solid var(--line); border-radius: 0; background: var(--paper); color: var(--dark); font: 16px/1.5 var(--body); padding: 12px; }
.menu-search-row input::placeholder { color: var(--muted); opacity: 1; }
.menu-search-row button { min-height: 48px; padding-inline: 16px; border: 1px solid var(--red); color: var(--red); background: transparent; cursor: pointer; font-size: 14px; }
.menu-search-row button:disabled { color: var(--muted); border-color: var(--line); cursor: default; }
#menu-search-help { margin-top: 12px; color: var(--muted); font-size: 13px; line-height: 1.6; }
#menu-search-status { margin-top: 8px; font-size: 14px; color: var(--red); }
.menu-empty { padding: 24px 0; font-size: 16px; }
#reservas { scroll-margin-top: 110px; }
@media screen { [hidden] { display: none !important; } }
@media (min-width: 901px) {
  .site-header { position: sticky; top: 0; z-index: 40; background: var(--paper); }
  html { scroll-padding-top: 110px; }
  .skip { position: fixed; z-index: 60; }
  .menu-category, .menu-index { scroll-margin-top: 110px; }
}
@media (max-width: 640px) {
  .spaces-section { padding-top: 12px; }
  .spaces-heading { padding-block: 18px 24px; }
  .spaces-heading h2 { font-size: 30px; }
  .spaces-section .doorways { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .spaces-section .doorway { padding-bottom: 0; }
  .doorway-image .photo { aspect-ratio: auto; }
  .doorway-image .photo img { height: auto; }
  .doorway > .source-note { margin-block: 8px 16px; }
  .reservation-choices { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .reservation-choices h3 { font-size: 25px; margin-bottom: 12px; }
  .reservation-choices .button { font-size: 14px; }
  .booking-dialog { padding: 20px; }
  .booking-dialog-top { gap: 10px; margin-bottom: 20px; }
  .booking-dialog-top .eyebrow { max-width: 170px; font-size: 11px; }
  .booking-dialog-top button { white-space: nowrap; }
  .booking-dialog > h2 { font-size: 30px; }
  .mobile-actions { grid-template-columns: 1fr 1fr 1fr; }
  .mobile-actions a { font-size: 13px; gap: 4px; padding-inline: 5px; }
  .mobile-actions a + a { border-left: 1px solid var(--line); }
  .mobile-actions a[aria-current="page"] { text-decoration: underline; text-underline-offset: 5px; }
  .menu-search-row { gap: 8px; }
  .menu-search-row button { padding-inline: 12px; }
}
@media print {
  .booking-dialog, .menu-search-tools, .menu-empty { display: none !important; }
  .menu-category[hidden] { display: block !important; }
  .menu-item[hidden] { display: grid !important; }
  .booking-open { overflow: visible; }
}

/* Rondas 1 y 2, octubre: reservas y fotografía. */
#reservas { scroll-margin-top: 24px; }
.menu-contact > .reservation-choices, .booking-copy > .reservation-choices {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px;
  width: 100%; margin-block: 24px 18px;
}
.reservation-choices article { display: flex; flex-direction: column; align-items: stretch; }
.reservation-choices .eyebrow { font-size: 12px; margin-top: 0; }
.reservation-choices .button { justify-content: space-between; text-align: left; }
.reservation-choices .reservation-phone { margin-top: 8px; }
.doorway-image .photo { aspect-ratio: 4 / 3; }
.doorway-image .photo img { height: 100%; object-fit: cover; object-position: center; }
.fondue-hero-photo .photo { aspect-ratio: 4 / 3; }
.fondue-hero-photo .photo img { height: 100%; object-fit: cover; object-position: center 60%; }
.home-food { padding-block: 40px 48px; border-top: 1px solid var(--line); }
.home-food-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 28px; }
.home-food h2 { font: normal clamp(28px, 3vw, 38px)/1.2 var(--serif); letter-spacing: -.025em; color: var(--red); margin-top: 12px; }
.home-food-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.home-dish { min-width: 0; }
.home-dish > a { display: block; }
.home-dish .photo { aspect-ratio: 4 / 3; }
.home-dish .photo img { height: 100%; object-fit: cover; }
.home-dish figcaption { font: normal 21px/1.3 var(--serif); color: var(--red); margin-top: 15px; }
.home-dish .source-note { font-size: 12px; }
.gallery-grid { align-items: start; }
.gallery-grid .photo, .food-grid .photo { aspect-ratio: auto; background: transparent; display: block; }
.gallery-grid .photo img, .food-grid .photo img { width: 100%; height: auto; object-fit: contain; }
.food-grid { align-items: start; }
.food-grid .photo-card-portrait { max-width: 290px; width: 100%; justify-self: center; }
.food-grid .photo-card-compact { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: 24px; align-items: center; max-width: 650px; border-top: 1px solid var(--line); padding-top: 28px; }
.food-grid .photo-card-compact .photo img { max-width: 220px; max-height: none; }
.food-grid .photo-card-compact .photo-meta { padding-top: 0; }
.place-detail > div > p:not(.eyebrow) { max-width: 620px; }
@media (max-width: 900px) {
  .home-food-grid { gap: 18px; }
  .home-food-heading { align-items: flex-start; }
}
@media (max-width: 640px) {
  .home-hero { padding-block: 20px 28px; gap: 22px; }
  .hero-copy > .eyebrow { font-size: 10px; }
  .hero-copy .brand-logo { width: 64px; margin-block: 12px 14px; }
  .hero-copy h1 { font-size: 36px; }
  .hero-copy h1 span { font-size: 25px; margin-top: 4px; }
  .hero-intro { font-size: 14px; margin-top: 14px; }
  .hero-primary-actions { display: grid; grid-template-columns: 1fr 1fr; margin-top: 18px; gap: 10px; }
  .hero-primary-actions .button { width: 100%; padding-inline: 12px; gap: 8px; font-size: 13px; }
  .hero-picture > .photo { aspect-ratio: 4 / 3; }
  .home-food { padding-block: 28px 32px; }
  .home-food-heading { display: block; margin-bottom: 22px; }
  .home-food-heading .text-link { margin-top: 12px; }
  .home-food h2 { font-size: 28px; }
  .home-food-grid { grid-template-columns: 1fr; gap: 26px; }
  .home-dish .photo { aspect-ratio: auto; }
  .home-dish .photo img { height: auto; object-fit: contain; }
  .home-dish figcaption { font-size: 22px; margin-top: 12px; }
  .doorway-image .photo { aspect-ratio: 4 / 3; }
  .doorway-image .photo img { height: 100%; object-fit: cover; }
  .menu-contact > .reservation-choices, .booking-copy > .reservation-choices { grid-template-columns: 1fr; gap: 20px; }
  .reservation-choices article { padding-top: 16px; }
  .reservation-choices .button { justify-content: space-between; }
  .food-grid .photo-card-portrait { max-width: 250px; }
  .food-grid .photo-card-compact { grid-template-columns: minmax(0, 140px) minmax(0, 1fr); gap: 18px; }
  .food-grid .photo-card-compact .photo img { max-width: 140px; }
  #reservas { scroll-margin-top: 12px; }
}

/* Selección fotográfica: conservar el encuadre completo del comedor. */
.fondue-hero-photo .photo { aspect-ratio: 800 / 533; }
.fondue-hero-photo .photo img { object-fit: contain; object-position: center; }
.fondue-room .photo { aspect-ratio: auto; }
.fondue-room .photo img { width: 100%; height: auto; object-fit: contain; }
