/* Shared design system: Vinaroz 28, October 2026. */
.fondue-feature{padding-block:48px;border-top:1px solid var(--line);scroll-margin-top:110px}
@media(max-width:700px){.fondue-feature-heading>p:not(.eyebrow){font-size:15px}}
:root{--paper:#f7f3eb;--cream:#eee7db;--red:#781f2a;--dark:#302724;--muted:#726660;--line:#d8cec1;--serif:Georgia,'Times New Roman',serif;--body:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:150px;accent-color:var(--red);-webkit-tap-highlight-color:rgba(120,31,42,.18)}
::selection{background:var(--red);color:var(--paper)}
input,select,textarea{accent-color:var(--red);caret-color:var(--red)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--red);outline-offset:3px}
body{margin:0;background:var(--paper);color:var(--dark);font:16px/1.65 var(--body)}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:normal}a{color:inherit;text-underline-offset:4px}img{display:block;max-width:100%}button,input{font:inherit}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}[hidden]{display:none!important}
h1,h2,h3{font-family:var(--serif);color:var(--red)}h2{font-size:clamp(29px,3.1vw,42px);line-height:1.16;letter-spacing:-.025em}h3{font-size:25px;line-height:1.25}
p{max-width:70ch}p+p{margin-top:12px}
:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip{position:fixed;z-index:100;top:-100px;left:18px;padding:12px 20px;background:var(--paper)}.skip:focus{top:10px}#contenido:focus{outline:none}
.wrap,.header-inner{width:min(1200px,calc(100% - 96px));margin-inline:auto}
.address-bar{display:flex;justify-content:space-between;gap:16px;background:var(--red);color:var(--paper);padding:7px max(48px,calc((100% - 1200px)/2));font-size:12px}.address-bar a{text-decoration:none}.address-bar :focus-visible{outline-color:var(--paper)}
.site-header{position:sticky;top:0;z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:82px;position:relative}
.wordmark{display:inline-flex;flex-direction:column;gap:3px;text-decoration:none;font:normal 26px/1.05 var(--serif);letter-spacing:-.025em;color:var(--red)}.wordmark small{font-size:14px;letter-spacing:0}
#navigation{display:flex;align-items:center;gap:26px}#navigation>a{padding-block:12px;font-size:14px;text-decoration:none}#navigation>a:hover,#navigation>a[aria-current=page]{text-decoration:underline;text-underline-offset:7px}#navigation>.nav-contact{border:1px solid var(--red);padding:11px 18px;color:var(--red)}
.menu-toggle{display:none}.menu-lines{width:16px;height:10px;border-block:1px solid;position:relative}.menu-lines:after{content:'';position:absolute;inset:4px 0 auto;border-top:1px solid}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:48px;padding:13px 19px;background:var(--red);color:var(--paper);border:1px solid var(--red);font-size:14px;line-height:1.4;text-decoration:none;transition:background .15s}
.button:hover{background:#591720;color:var(--paper)}.button-outline{background:transparent;color:var(--red)}
.text-link{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:14px;color:var(--red);text-decoration-thickness:1px}.text-link:hover{color:var(--dark)}
.photo{overflow:hidden;background:var(--cream)}.photo img{width:100%;height:100%;object-fit:cover}
.brand-logo{width:120px}.brand-logo img{width:100%;height:auto}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.doorway-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:12px;max-width:480px}.services p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:12px}.reservation-section p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:16px}
.phone-links{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:18px}.phone-links>a{display:flex;align-items:center;gap:9px;min-height:44px;color:var(--red);font-size:17px;font-variant-numeric:tabular-nums}.phone-links span{font-size:12px;text-decoration:none;color:var(--muted)}.visit p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:12px}
.viewer-open{overflow:hidden}.photo-viewer:not([open]){display:none}
.page-heading{padding-block:38px 28px}.page-heading h1{font-size:clamp(38px,4.5vw,58px);line-height:1.1;letter-spacing:-.035em;margin-top:15px}.page-heading>p:last-child{font-size:16px;color:var(--muted);margin-top:15px}.contact-booking>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:15px}.location-copy h2{margin-top:12px}.location-copy p:not(.eyebrow){margin-top:18px;color:var(--muted);font-size:15px}.location-copy h3{font-size:25px;margin-top:24px}.metro-lines{display:flex;flex-wrap:wrap;gap:12px 20px;margin-block:15px;font-size:14px}.metro-lines b{display:inline-block;min-width:26px;text-align:center;margin-right:5px;color:white}.metro-nine{background:#793282}.metro-four{background:#80522b}.facade-photo{max-width:320px;justify-self:center}.facade-photo .photo{background:transparent;aspect-ratio:auto}.facade-photo .photo img{width:100%;height:auto;object-fit:contain}.hours-section>div>p:not(.eyebrow){color:var(--muted);margin-top:18px;font-size:15px}.hours-table{margin:20px 0 0;font-size:14px;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:12px}.hours-table dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.hours-note{font-size:13px!important;color:var(--muted);margin-top:14px}
.visit-questions{padding-block:35px 44px}.visit-questions h2{font-size:32px;margin-bottom:20px}.visit-questions details{border-top:1px solid var(--line)}.visit-questions summary{padding-block:18px;min-height:52px;font-size:16px}.visit-questions details>p{margin:0 0 20px;color:var(--muted);max-width:700px}
.site-footer{background:var(--cream);border-top:1px solid var(--line);padding-block:30px 18px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-bottom:24px}.footer-brand{display:flex;align-items:center;gap:22px}.footer-brand .brand-logo{width:100px;flex-shrink:0}.footer-brand p{font-size:13px;color:var(--muted);margin-top:12px}.footer-address{display:flex;flex-direction:column;align-items:flex-end;font-size:14px}.footer-address>a{display:inline-flex;align-items:center;min-height:36px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:12px}.footer-bottom nav{display:flex;gap:22px;flex-wrap:wrap}.footer-bottom a{display:flex;align-items:center;min-height:40px}.mobile-actions{display:none}
@media(max-width:1000px){.wrap,.header-inner{width:calc(100% - 48px)}.address-bar{padding-inline:24px}#navigation{gap:18px}}
@media(max-width:900px){.header-inner{min-height:72px}.menu-toggle{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:transparent;color:var(--red);min-height:44px;padding:9px 14px;font-size:14px}#navigation{display:none;position:absolute;left:-24px;right:-24px;top:72px;padding:10px 24px 20px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}#navigation.is-open{display:flex}#navigation>a{min-height:46px;padding-block:14px;border-bottom:1px solid var(--line)}#navigation>.nav-contact{margin-top:12px;text-align:center}.phone-links{gap:0 20px}}
@media(max-width:640px){
 body{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}.wrap,.header-inner{width:calc(100% - 36px)}.address-bar{padding:5px 18px;font-size:11px}.address-bar>a{display:none}.header-inner{min-height:68px}.wordmark{font-size:23px}.wordmark small{font-size:12px}#navigation{top:68px;left:-18px;right:-18px;padding-inline:18px}h2{font-size:30px}.hero-actions{margin-top:19px;gap:10px}.hero-actions .button{padding-inline:14px;font-size:13px;gap:16px}.doorway-copy>p:not(.eyebrow){font-size:14px;margin-top:9px}.services p:not(.eyebrow){font-size:14px}.reservation-section p:not(.eyebrow){font-size:15px;margin-top:12px}.phone-links{margin-top:12px}.phone-links>a{font-size:16px;gap:7px}.phone-links span{font-size:11px}.visit p:not(.eyebrow){font-size:14px}
 .page-heading{padding-block:28px 22px}.page-heading h1{font-size:39px;margin-top:13px}.page-heading>p:last-child{font-size:15px;margin-top:12px}.location-copy h2{font-size:29px}.location-copy p:not(.eyebrow){font-size:14px;margin-top:13px}.location-copy h3{font-size:23px;margin-top:18px}.metro-lines{font-size:13px;gap:8px;margin-block:12px}.hours-section>div>p:not(.eyebrow){font-size:14px}.hours-table{font-size:13px}.hours-table>div{gap:12px}.hours-table dt{max-width:135px}.hours-note{font-size:12px!important}.visit-questions{padding-block:27px 32px}.visit-questions h2{font-size:29px}.visit-questions summary{font-size:15px;padding-block:16px}.visit-questions details>p{font-size:14px}.footer-top{flex-direction:column;align-items:flex-start;gap:22px}.footer-brand{gap:17px}.footer-brand .brand-logo{width:100px}.footer-address{align-items:flex-start}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.footer-bottom nav{gap:18px}.footer-bottom a{min-height:40px}.mobile-actions{display:grid;grid-template-columns:1fr 1fr 1fr;position:fixed;inset:auto 0 0;z-index:45;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px)}.mobile-actions>a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:58px;padding:10px 4px;color:var(--red);font-size:12px;text-decoration:none;border-right:1px solid var(--line)}.mobile-actions>a:first-child{background:var(--red);color:var(--paper)}.mobile-actions>a[aria-current]{text-decoration:underline}.mobile-actions>a:focus-visible{outline-color:currentColor;outline-offset:-4px}
}
@media(max-width:360px){.hero-actions .button{padding-inline:12px;font-size:12px;gap:11px}.phone-links{gap:0 14px}.phone-links>a{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
@media print{body{background:white;padding:0;font-size:11pt}.address-bar,.site-header,.site-footer,.mobile-actions,.hero-actions,.menu-index,.menu-search-tools,.menu-empty,.menu-documents,.menu-contact,.photo-viewer,.gallery-enlarge{display:none!important}.wrap{width:100%;max-width:none}.menu-heading{padding:0 0 15px}.menu-category{display:block!important;border:0}.menu-category>summary{display:block;padding-top:20px}.menu-category>summary>span{display:none}.menu-category-body{display:block!important;content-visibility:visible!important}.menu-item[hidden]{display:grid!important}.menu-item{break-inside:avoid}.menu-category>summary h2{break-after:avoid}.menu-item h3{font-size:13pt}.menu-item p,.menu-price{font-size:11pt}.menu-allergens,.menu-tax-note{font-size:10pt}}
.is-editing .mobile-actions{display:none}
@media(max-width:640px){.location-copy p:not(.eyebrow){max-width:none}}.fondue-ambience>div:last-child>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:16px;max-width:500px}@media(max-width:640px){.fondue-ambience>div:last-child>p:not(.eyebrow){font-size:14px}}

/* Shared menu and compact reservation request. */
.house-specialties{display:grid;grid-template-columns:1fr 1fr;gap:16px 36px;margin-top:24px;padding:22px 0;border-block:1px solid var(--line)}.house-specialties p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:8px}
.reservation-brief{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding-block:32px;border-bottom:1px solid var(--line);scroll-margin-top:95px}.reservation-brief h2{font-size:32px}.reservation-brief p{font-size:15px;color:var(--muted);margin-top:12px}.reservation-brief .button+.button{margin-top:10px}
.contact-practical,.contact-location{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;padding-bottom:32px}.contact-practical h2,.contact-location h2{font-size:30px}.contact-practical p{color:var(--muted);font-size:15px;margin-top:12px}.contact-hours{scroll-margin-top:95px}.contact-hours h3{font-size:25px;margin-top:20px}
.contact-location{border-top:1px solid var(--line);padding-top:32px}.contact-location .facade-photo{max-width:200px;margin:22px 0}.contact-location .location-copy p{margin-top:12px}.contact-groups{padding-block:32px;border-bottom:1px solid var(--line);scroll-margin-top:95px}.contact-groups h2{font-size:32px}.contact-groups p{color:var(--muted);font-size:15px;margin-top:14px}.contact-groups .button{margin-top:18px}html:has(.menu-index){scroll-padding-top:0}.menu-daily>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:12px}
@media(max-width:900px){.contact-practical,.contact-location{gap:30px}}
@media(max-width:640px){
 html{scroll-padding-bottom:calc(68px + env(safe-area-inset-bottom,0px))}
 html{scroll-padding-top:86px}
 .reservation-brief{grid-template-columns:1fr;gap:18px}.reservation-brief .phone-links{margin-top:12px}.reservation-brief h2{font-size:29px}
 .contact-practical,.contact-location{grid-template-columns:1fr;gap:25px}.contact-practical{padding-bottom:26px}.contact-address h2{display:none}.contact-address>p{margin-top:0}.contact-address .hero-actions{margin-top:12px}.contact-address>.text-link{margin-top:4px}.contact-hours h2{font-size:29px}.contact-hours .hours-table{margin-top:15px;font-size:14px}.contact-hours .hours-table dt{max-width:120px}.contact-hours h3{font-size:25px}.contact-hours .hours-note{font-size:13px!important}.contact-location .location-copy h2{font-size:29px}.contact-groups{padding-block:26px}.contact-groups h2{font-size:29px}.house-specialties p:not(.eyebrow){font-size:14px}.footer-brand .brand-logo{width:80px}.footer-brand{gap:15px}.is-reserving .mobile-actions{visibility:hidden;pointer-events:none}.mobile-actions>a{font-size:13px}
}
@media(max-width:360px){.contact-address .hero-actions .button{font-size:13px;padding-inline:12px;gap:12px}}
@media print{.reservation-widget,.reservation-brief,.menu-reserve-cta{display:none!important}.menu-daily{break-inside:avoid}.dish-badges li{border-color:#777;color:#222}}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;font-size:13px;color:var(--muted);padding-top:16px}.breadcrumbs a{min-height:28px;display:inline-flex;align-items:center}.breadcrumbs [aria-current]{align-self:center}@media(max-width:640px){.breadcrumbs{padding-top:12px;font-size:12px}}
/* Interaction colours follow the restaurant palette, including touch feedback. */
.button:active{background:#591720;border-color:#591720;color:var(--paper)}
.button,.address-bar,.mobile-actions>a:first-child{-webkit-tap-highlight-color:rgba(247,243,235,.3)}
.button-outline{-webkit-tap-highlight-color:rgba(120,31,42,.18)}
.menu-toggle:active,.menu-search-row button:not(:disabled):active{background:var(--red);border-color:var(--red);color:var(--paper)}.visit-questions summary:active{background:var(--cream);color:var(--red)}
input::-webkit-calendar-picker-indicator{cursor:pointer}
@media(forced-colors:active){:focus-visible,input:focus,select:focus,textarea:focus{outline-color:Highlight}}

/* Restaurant editorial: fewer panels, a real room photograph and plain menu typography. */
.page-index .home-hero{display:block;padding:34px 0 0}
.doorway:nth-child(2){grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.doorway:nth-child(2) .doorway-image{order:2}
@media(max-width:1000px){.doorway:nth-child(2){gap:32px}}
@media(max-width:700px){.doorway:nth-child(2){display:flex;flex-direction:column;gap:16px;align-items:stretch;margin-bottom:30px}.doorway:nth-child(2) .doorway-image{order:0}
}


/* Contact details work without loading a third-party map. */
.contact-location .location-copy h2{margin-top:0}
.location-actions{margin-top:14px}
.location-facade h3{font-size:25px}
.location-facade>p{color:var(--muted);font-size:15px;margin-top:10px}
.contact-location .facade-photo{max-width:280px;margin:16px 0 0}
@media(max-width:640px){.footer-address>a,.footer-bottom a{min-height:44px}}
