/* Scoped restaurant compositions based on the supplied reference captures. */
.reference-site {
    color:var(--ref-text,#161616);
    background:var(--ref-bg,#fff);
    font-family:Arial,Helvetica,sans-serif;
    font-size:18px;
    line-height:1.6;
    overflow-wrap:anywhere;
}
.reference-site * {
    box-sizing:border-box;
}
.reference-site a {
    color:inherit;
    text-decoration:none;
}
.reference-site a:hover {
    text-decoration:underline;
}
.reference-site button,.reference-site input,.reference-site select,.reference-site textarea {
    font:inherit;
}
.reference-site img {
    max-width:100%;
    display:block;
}
.reference-site h1,.reference-site h2,.reference-site h3 {
    color:inherit;
    line-height:1.15;
    margin:0 0 24px;
    letter-spacing:-.025em;
}
.reference-site h2 {
    font-size:32px;
}
.reference-site h3 {
    font-size:24px;
}
.ref-heading--serif h1,.ref-heading--serif h2,.ref-heading--serif h3 {
    font-family:Georgia,"Times New Roman",serif;
}
.ref-heading--bold h1,.ref-heading--bold h2,.ref-heading--bold h3 {
    font-weight:900;
    letter-spacing:-.02em;
}
.ref-body--serif {
    font-family:Georgia,"Times New Roman",serif;
}
.ref-container,.ref-header-inner {
    width:calc(100% - 48px);
    max-width:var(--ref-width,1560px);
    margin:auto;
}
.ref-skip {
    position:fixed;
    top:-100px;
    left:16px;
    padding:12px;
    background:#fff;
    z-index:100;
}
.ref-skip:focus {
    top:16px;
}
.ref-preview-note {
    padding:12px 24px;
    background:#fff3cd;
    color:#3a3013;
    text-align:center;
}
.ref-header {
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:30;
    padding:26px 0;
    background:transparent;
}
.ref-header-inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}
.ref-brand {
    flex:0 1 180px;
    color:white!important;
    font-weight:700;
}
.ref-brand img {
    height:100px;
    width:160px;
    object-fit:contain;
}
.ref-logo-normal {
    display:none!important;
}
.ref-header--solid .ref-header,.ref-header--minimal .ref-header {
    position:relative;
    background:#fff;
}
.ref-header--solid .ref-logo-normal,.ref-header--minimal .ref-logo-normal,.ref-header.is-scrolled .ref-logo-normal {
    display:block!important;
}
.ref-header--solid .ref-logo-overlay,.ref-header--minimal .ref-logo-overlay,.ref-header.is-scrolled .ref-logo-overlay {
    display:none!important;
}
.ref-header.is-scrolled {
    position:fixed;
    top:0;
    padding:14px 0;
    background:#fff;
    box-shadow:0 1px 6px #00000012;
}
.ref-header.is-scrolled .ref-brand,.ref-header--solid .ref-brand,.ref-header--minimal .ref-brand {
    color:#161616!important;
}
.ref-header.is-scrolled .ref-brand img {
    height:76px;
}
.ref-nav-shell {
    background:#fff;
    color:#161616;
    border-radius:min(var(--ref-radius),18px);
    padding:10px;
    max-width:calc(100% - 200px);
}
.ref-navigation {
    display:flex;
    align-items:center;
    gap:28px;
}
.ref-navigation>a:not(.ref-button) {
    white-space:nowrap;
    font-size:18px;
    font-weight:600;
}
.ref-navigation .ref-button {
    white-space:nowrap;
    font-size:18px;
}
.ref-more {
    position:relative;
}
.ref-more summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:44px;
    cursor:pointer;
    white-space:nowrap;
    list-style:none;
    font-weight:600;
}
.ref-more summary::-webkit-details-marker { display:none; }
.ref-chevron { width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); flex-shrink:0; }
.ref-more[open] .ref-chevron { transform:translateY(2px) rotate(225deg); }
.ref-more>div {
    position:absolute;
    right:0;
    top:calc(100% + 24px);
    width:260px;
    max-height:65vh;
    overflow:auto;
    background:white;
    padding:16px;
    border-radius:12px;
    box-shadow:0 6px 30px #0002;
}
.ref-more a {
    display:block;
    padding:8px;
}
.ref-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:54px;
    padding:13px 20px;
    border:1px solid transparent;
    border-radius:min(var(--ref-radius),12px);
    background:var(--ref-primary,#c40000);
    color:var(--ref-button-text,#fff)!important;
    font-size:18px;
    font-weight:600;
    line-height:1.3;
    text-decoration:none!important;
}
.ref-button:hover {
    filter:brightness(.92);
}
.ref-button--outline {
    background:transparent;
    color:var(--ref-text,#161616)!important;
    border-color:#d4d4d4;
    font-weight:400;
}
.ref-nav-shell .ref-button--outline {
    color:#161616!important;
}
.ref-menu-toggle,.ref-mobile-menu-link {
    display:none;
}
.ref-hero {
    position:relative;
    min-height:660px;
    height:min(88svh,840px);
    color:white;
    background:#352c24;
    isolation:isolate;
}
.ref-hero-image,.ref-hero-video,.ref-hero-shade {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:var(--ref-focus,50% 50%);
}
.ref-hero-video {
    opacity:0;
    transition:opacity .25s;
}
.ref-hero-video.is-playing {
    opacity:1;
}
.ref-hero-shade {
    background:linear-gradient(180deg,#00000018 20%,#00000008 40%,#000000a3 100%);
    z-index:1;
}
.ref-hero-content {
    position:absolute;
    bottom:50px;
    left:50%;
    transform:translateX(-50%);
    width:calc(100% - 48px);
    max-width:var(--ref-width,1560px);
    z-index:2;
}
.ref-eyebrow {
    font-size:32px;
    font-weight:600;
    margin:0 0 20px;
}
.ref-hero h1 {
    font-size:var(--ref-heading-size,64px);
    line-height:1.08;
    max-width:1200px;
    margin:0 0 36px;
    font-weight:700;
}
.ref-heading--bold .ref-hero h1 {
    font-weight:900;
}
.ref-motion-toggle {
    position:absolute;
    right:24px;
    bottom:24px;
    z-index:3;
    background:#161616dd;
    color:#fff;
    border:1px solid #fff;
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    padding:10px;
    border-radius:50%;
    cursor:pointer;
}
.ref-motion-toggle svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.ref-motion-toggle .ref-motion-play, .ref-motion-toggle[data-paused=true] .ref-motion-pause { display:none; }
.ref-motion-toggle[data-paused=true] .ref-motion-play { display:block; }
.ref-section {
    padding:var(--ref-spacing,72px) 0;
    scroll-margin-top:140px;
}
.ref-section-heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:28px;
}
.ref-section-heading h2 {
    margin:0;
}
.ref-split {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:100px;
    align-items:center;
}
.ref-split-media {
    overflow:hidden;
    border-radius:var(--ref-radius,28px);
}
.ref-split-media>img {
    width:100%;
    aspect-ratio:1;
    object-fit:cover;
}
.ref-split-media video {
    display:block;
    width:100%;
    aspect-ratio:16/9;
    object-fit:contain;
    background:#111;
}
.ref-copy {
    padding:36px;
    max-width:760px;
}
.ref-copy p {
    color:var(--ref-text);
    opacity:.8;
    margin:0 0 28px;
}
.ref-copy .ref-button {
    margin-top:12px;
}
.ref-variant--right .ref-split-media {
    order:2;
}
.ref-variant--center .ref-split {
    grid-template-columns:1fr;
    gap:32px;
    text-align:center;
}
.ref-variant--center .ref-split-media {
    max-width:760px;
    margin:auto;
}
.ref-variant--center .ref-copy {
    margin:auto;
}
.ref-section--photo-panel {
    position:relative;
    min-height:600px;
    display:flex;
    align-items:center;
    isolation:isolate;
}
.ref-panel-background {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:-1;
}
.ref-section--photo-panel .ref-split {
    display:block;
}
.ref-section--photo-panel .ref-copy {
    background:var(--ref-bg);
    border-radius:var(--ref-radius);
    padding:36px;
}
.ref-section--photo-panel.ref-variant--right .ref-copy {
    margin-left:auto;
}
.ref-section--photo-panel.ref-variant--center .ref-copy {
    margin:auto;
}
.ref-variant--background.ref-section--text-photo {
    background:#f3f3f3;
}
.ref-variant--background .ref-split {
    gap:0;
    background:var(--ref-bg);
    overflow:hidden;
    border-radius:var(--ref-radius);
}
.ref-variant--background .ref-split-media {
    border-radius:0;
}
.ref-gallery {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.ref-gallery img {
    width:100%;
    aspect-ratio:1;
    object-fit:cover;
    border-radius:var(--ref-radius);
}
.ref-variant--center .ref-section-heading {
    justify-content:center;
}
.ref-variant--center .ref-intro {
    max-width:680px;
    text-align:center;
    margin:0 auto 36px;
}
.ref-dishes {
    display:flex;
    gap:36px;
    overflow:auto;
    scroll-snap-type:x proximity;
    padding-bottom:12px;
}
.ref-dish {
    flex:0 0 270px;
    scroll-snap-align:start;
    display:block;
}
.ref-dish>div {
    position:relative;
    aspect-ratio:1;
    overflow:hidden;
    border-radius:var(--ref-radius);
    background:#f3f3f3;
}
.ref-dish img {
    width:100%;
    height:100%;
    object-fit:cover;
}
.ref-dish>span {
    display:block;
    margin-top:12px;
}
.ref-dish-action {
    position:absolute;
    right:8px;
    bottom:8px;
    width:46px;
    height:46px;
    background:white;
    color:#161616;
    border-radius:10px;
    display:grid;
    place-items:center;
    font-size:26px;
}
.ref-review-grid,.ref-activity-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:16px;
}
.ref-review {
    padding:32px;
    border-radius:var(--ref-radius);
    background:var(--ref-bg);
    overflow-wrap:anywhere;
}
.ref-section--reviews {
    background:#ececec;
}
.ref-section--reviews .ref-review {
    background:#fff;
    color:#161616;
}
.ref-faq details {
    border-bottom:1px solid #d7d7d7;
    padding:26px 0;
}
.ref-faq summary {
    display:flex;
    justify-content:space-between;
    gap:16px;
    font-size:22px;
    cursor:pointer;
    list-style:none;
}
.ref-faq details p {
    max-width:1100px;
    margin:20px 0 0;
    white-space:pre-line;
}
.ref-service-links {
    display:flex;
    flex-wrap:wrap;
    gap:16px;
}
.ref-branch-tabs {
    display:flex;
    gap:10px;
    overflow:auto;
    padding:6px 0 20px;
}
.ref-branch-tabs a {
    white-space:nowrap;
    background:#eee;
    padding:12px 18px;
    border-radius:40px;
    color:#161616;
}
.ref-branch-tabs a[aria-current=true] {
    outline:1px solid #161616;
    background:white;
}
.ref-branch {
    background:#f6f6f6;
    color:#161616;
    border-radius:var(--ref-radius);
    padding:16px;
    display:flex;
    gap:36px;
    margin-bottom:18px;
    scroll-margin-top:140px;
}
.ref-branch>img {
    width:36%;
    object-fit:cover;
    border-radius:var(--ref-radius);
}
.ref-branch>div {
    padding:24px;
    flex:1;
}
.ref-branch .ref-button {
    margin:12px 12px 12px 0;
}
.ref-branch details {
    margin:16px 0;
}
.ref-visit {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
}
.ref-hours dl>div {
    display:flex;
    justify-content:space-between;
    gap:24px;
    border-bottom:1px solid #ddd;
    padding:8px 0;
}
.ref-hours dd {
    margin:0;
    text-align:right;
}
.ref-hours dt {
    text-transform:capitalize;
}
.ref-footer {
    padding:60px 0 36px;
    background:#f6f6f6;
    color:#161616;
}
.ref-footer-main {
    display:grid;
    grid-template-columns:160px 1fr auto;
    gap:60px;
}
.ref-footer-brand img {
    object-fit:contain;
}
.ref-footer nav {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}
.ref-app-link {
    display:flex;
    gap:16px;
    align-items:center;
    max-width:360px;
}
.ref-app-link img {
    object-fit:contain;
}
.ref-socials {
    display:flex;
    gap:20px;
    justify-content:flex-end;
    margin:48px 0;
}
.ref-socials a { display:grid; place-items:center; width:44px; height:44px; border:1px solid currentColor; border-radius:50%; }
.ref-socials a:hover { background:color-mix(in srgb,currentColor 12%,transparent); }
.ref-footer-bottom {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:20px;
    border-top:1px solid #d7d7d7;
    padding-top:36px;
    font-size:16px;
}
.ref-footer--centered .ref-footer-main {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
}
.ref-footer--minimal .ref-footer-main {
    grid-template-columns:160px 1fr;
}
.ref-footer--minimal .ref-footer nav,.ref-footer--minimal .ref-app-link {
    display:none;
}
.ref-mobile-action {
    display:none;
}
.ref-lightbox {
    position:fixed;
    inset:0;
    width:100vw;
    height:100svh;
    max-width:none;
    max-height:none;
    margin:auto;
    border:0;
    padding:64px;
    background:transparent;
    color:white;
}
.ref-lightbox[open] { display:grid; place-items:center; }
.ref-lightbox-open { overflow:hidden; }
.ref-lightbox::backdrop {
    background:#000e;
}
.ref-lightbox img {
    width:auto;
    height:auto;
    max-width:100%;
    max-height:calc(100svh - 128px);
    object-fit:contain;
    touch-action:pan-y pinch-zoom;
}
.ref-lightbox button {
    position:absolute;
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    padding:12px;
    background:#111b;
    color:white;
    border:1px solid #fff5;
    border-radius:50%;
    margin:0;
    cursor:pointer;
}
.ref-lightbox button:hover { background:#444; }
.ref-lightbox svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ref-lightbox-close { top:max(12px,env(safe-area-inset-top)); right:max(12px,env(safe-area-inset-right)); }
.ref-lightbox-previous, .ref-lightbox-next { top:50%; transform:translateY(-50%); }
.ref-lightbox-previous { left:max(8px,env(safe-area-inset-left)); }
.ref-lightbox-next { right:max(8px,env(safe-area-inset-right)); }
.ref-lightbox-count { position:absolute; bottom:max(16px,env(safe-area-inset-bottom)); left:50%; transform:translateX(-50%); font-size:14px; }
.reference-site :focus-visible {
    outline:3px solid currentColor;
    outline-offset:4px;
}
.ref-contact-form {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    width:100%;
    max-width:760px;
    margin:auto;
}
.ref-contact-form label {
    display:grid;
    min-width:0;
    gap:4px;
    font-size:16px;
    line-height:1.4;
}
.ref-contact-form input,.ref-contact-form textarea,.ref-contact-form select {
    width:100%;
    min-width:0;
    min-height:44px;
    padding:10px 12px;
    box-sizing:border-box;
    font-size:16px;
    border:1px solid #999;
    border-radius:min(var(--ref-radius,12px),12px);
    background:#fff;
    color:#161616;
}
.ref-contact-form textarea {
    min-height:96px;
    resize:vertical;
}
.ref-contact-form :is(input,textarea,select):focus { border-color:var(--ref-primary); outline:2px solid var(--ref-primary); outline-offset:2px; }
.ref-contact-form :is(input,textarea,select) { font-family:inherit; scroll-margin-block:calc(var(--ref-header-bottom,0px) + 16px) 16px; }
.ref-contact-field-error { color:#b91c1c; font-size:14px; }
.ref-contact-field-error:empty { display:none; }
.ref-contact-form [aria-invalid=true]:not(:focus) { border-color:#b91c1c; }
.ref-contact-dialog { box-sizing:border-box; width:min(600px,calc(100% - 32px)); max-width:none; max-height:calc(100svh - 32px); overflow:auto; margin:auto; padding:28px; border:1px solid color-mix(in srgb,var(--ref-text) 20%,transparent); border-radius:var(--ref-radius,20px); background:var(--ref-bg); color:var(--ref-text); font-family:var(--ref-body-font); box-shadow:0 16px 64px #0004; }
.ref-contact-dialog::backdrop { background:#0009; }
.ref-contact-dialog-layout { display:grid; grid-template-columns:64px minmax(0,1fr); gap:20px; align-items:start; }
.ref-contact-dialog-copy { min-width:0; overflow-wrap:anywhere; }
.ref-contact-dialog [data-contact-dialog-title] { margin:0 0 12px; font:700 26px/1.25 var(--ref-heading-font); }
.ref-contact-dialog p { margin:0 0 20px; font-size:16px; line-height:1.6; white-space:pre-line; }
.ref-contact-dialog-icon { display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; }
.ref-contact-dialog-icon[hidden] { display:none; }
.ref-contact-dialog-icon--success { background:#dcfce7; color:#15803d; }
.ref-contact-dialog-icon--error { background:#fee2e2; color:#b91c1c; }
.ref-contact-dialog-icon svg { width:52px; height:52px; fill:none; stroke:currentColor; stroke-width:5; stroke-linecap:round; stroke-linejoin:round; }
.ref-contact-dialog ul { margin:0 0 20px; padding-left:20px; font-size:15px; line-height:1.5; }
.ref-contact-dialog ul:empty { display:none; }
.ref-contact-dialog li+li { margin-top:8px; }
.ref-contact-dialog [data-contact-error-field] { min-height:44px; padding:4px 0; border:0; background:transparent; color:inherit; text-align:left; text-decoration:underline; font:inherit; cursor:pointer; }
.ref-contact-dialog .ref-button { min-height:44px; font-family:var(--ref-body-font); }
.ref-contact-dialog :is(button,a):focus-visible { outline:2px solid var(--ref-primary); outline-offset:3px; }
@media(max-width:700px) {
    .ref-contact-dialog { padding:20px 16px; }
    .ref-contact-dialog-layout { grid-template-columns:48px minmax(0,1fr); gap:12px; }
    .ref-contact-dialog-icon { width:48px; height:48px; }
    .ref-contact-dialog-icon svg { width:40px; height:40px; }
    .ref-contact-dialog [data-contact-dialog-title] { font-size:22px; }
}
.ref-contact-form>.ref-button { justify-self:start; min-height:44px; }
.ref-contact-form>p { margin:0; font-size:14px; line-height:1.45; }
@media(min-width:701px) {
    .ref-contact-form { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .ref-contact-form>:is(.ref-contact-field--wide,.ref-button,p) { grid-column:1/-1; }
}
.ref-contact-form .ref-trap {
    position:absolute;
    left:-10000px;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
}
.ref-contact-message {
    padding:16px;
    border:1px solid currentColor;
    margin-bottom:24px;
}
.ref-contact-page {
    padding:48px 0;
    min-height:100svh;
}
@media(max-width:1200px) {
    .ref-navigation {
        gap:16px;
    }
    .ref-navigation>a:not(.ref-button) {
        font-size:16px;
    }
    .ref-split {
        gap:48px;
    }
    .ref-copy {
        padding:24px;
    }
    .ref-footer-main {
        gap:24px;
    }
    .ref-header-inner {
        gap:16px;
    }
    .ref-nav-shell {
        max-width:calc(100% - 150px);
    }
}
@media(max-width:52rem) {
    .reference-site {
        font-size:17px;
        padding-bottom:calc(84px + env(safe-area-inset-bottom));
    }
    .ref-container,.ref-header-inner {
        width:calc(100% - 32px);
    }
    .ref-header {
        padding:20px 0;
    }
    .ref-brand {
        flex:0 1 140px;
    }
    .ref-brand img {
        width:140px;
        height:84px;
    }
    .ref-header.is-scrolled {
        padding:10px 0;
    }
    .ref-header.is-scrolled .ref-brand img {
        height:64px;
    }
    .ref-nav-shell {
        display:flex;
        align-items:center;
        padding:4px;
        gap:8px;
        border-radius:min(var(--ref-radius),18px);
    }
    .ref-mobile-menu-link {
        display:block;
        padding:10px 14px;
        border:1px solid #ddd;
        border-radius:min(var(--ref-radius),12px);
        box-shadow:0 1px 3px #0002;
    }
    .ref-menu-toggle {
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:5px;
        width:48px;
        height:48px;
        border:1px solid currentColor;
        border-radius:14px;
        background:transparent;
        color:inherit;
        padding:12px;
        cursor:pointer;
    }
    .ref-menu-toggle span {
        height:2px;
        width:22px;
        border-radius:2px;
        background:currentColor;
        transition:transform .2s,opacity .2s;
    }
    .ref-menu-toggle[aria-expanded=true] span:first-child { transform:translateY(7px) rotate(45deg); }
    .ref-menu-toggle[aria-expanded=true] span:nth-child(2) { opacity:0; }
    .ref-menu-toggle[aria-expanded=true] span:last-child { transform:translateY(-7px) rotate(-45deg); }
    .ref-navigation {
        position:absolute;
        left:0;
        right:0;
        top:100%;
        background:white;
        color:#161616;
        padding:20px;
        display:flex;
        align-items:stretch;
        flex-direction:column;
        max-height:70svh;
        overflow:auto;
        border-bottom:1px solid #ddd;
    }
    .reference-site.is-enhanced .ref-navigation:not(.is-open) {
        display:none;
    }
    .reference-site:not(.is-enhanced) .ref-navigation {
        position:static;
        max-height:none;
    }
    .reference-site:not(.is-enhanced) .ref-header {
        position:relative;
        background:white;
        color:#161616;
    }
    .ref-more>div {
        position:static;
        box-shadow:none;
        width:auto;
        padding:0 8px;
    }
    .ref-hero {
        height:72svh;
        min-height:520px;
        max-height:700px;
    }
    .ref-hero-content {
        width:calc(100% - 32px);
        bottom:46px;
    }
    .ref-hero-image,.ref-hero-video {
        object-position:var(--ref-mobile-focus,50% 50%);
    }
    .ref-eyebrow {
        font-size:19px;
        margin-bottom:14px;
    }
    .ref-hero h1 {
        font-size:clamp(32px,6.5vw,48px);
        line-height:1.12;
        margin-bottom:0;
    }
    .ref-hero-action {
        display:none;
    }
    .ref-motion-toggle {
        bottom:10px;
        right:16px;
        font-size:14px;
        padding:6px 12px;
    }
    .ref-section {
        padding:48px 0;
        scroll-margin-top:120px;
    }
    .ref-split,.ref-visit {
        grid-template-columns:1fr;
        gap:28px;
    }
    .ref-variant--right .ref-split-media {
        order:0;
    }
    .ref-copy {
        padding:12px 0;
    }
    .ref-section--photo-panel {
        min-height:520px;
    }
    .ref-section--photo-panel .ref-copy {
        padding:24px;
    }
    .reference-site h2 {
        font-size:30px;
    }
    .ref-section-heading {
        gap:16px;
        align-items:flex-start;
    }
    .ref-section-heading .ref-button {
        font-size:15px;
        min-height:44px;
        padding:10px 12px;
    }
    .ref-dishes {
        gap:16px;
    }
    .ref-dish {
        flex-basis:230px;
    }
    .ref-gallery {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:12px;
    }
    .ref-review-grid,.ref-activity-grid {
        grid-template-columns:1fr;
    }
    .ref-branch {
        display:block;
        padding:12px;
    }
    .ref-branch>img {
        width:100%;
        max-height:280px;
    }
    .ref-branch>div {
        padding:16px;
    }
    .ref-hours dl>div {
        font-size:15px;
        gap:12px;
    }
    .ref-footer-main {
        display:flex;
        flex-direction:column;
        gap:32px;
    }
    .ref-footer nav {
        grid-template-columns:repeat(2,1fr);
    }
    .ref-footer-bottom {
        font-size:14px;
    }
    .ref-footer--minimal nav {
        display:none;
    }
    .ref-socials {
        justify-content:flex-start;
    }
    .ref-mobile-action {
        display:block;
        position:fixed;
        bottom:0;
        left:0;
        right:0;
        z-index:40;
        padding:10px 10px calc(10px + env(safe-area-inset-bottom));
        background:#fff;
    }
    .ref-mobile-action .ref-button {
        width:100%;
        min-height:60px;
    }
    .ref-lightbox { padding:64px 12px; }
    .ref-contact-page {
        padding:24px 0;
    }
    .ref-contact-form {
        gap:12px;
    }
}
@media(prefers-reduced-motion:reduce) {
    .reference-site * {
        scroll-behavior:auto!important;
        transition:none!important;
    }
    .ref-hero-video {
        display:none;
    }
}

.ref-contact-message.validation-summary-valid {
    display: none;
}
.ref-navigation > a:not(.ref-button) {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ref-nav-shell {
    min-width: 0;
}
.ref-preview-note + .ref-header {
    top: 50px;
}
.ref-preview-note + .ref-header.is-scrolled {
    top: 0;
}

.reference-site [hidden] {
    display: none !important;
}

.reference-site--saffron .ref-hero h1 {
    margin-bottom: 0;
}

.ref-menu-dialog { width:80vw; height:80vh; height:80dvh; max-width:none; max-height:none; padding:0; border:0; border-radius:var(--ref-radius,12px); overflow:hidden; }
.ref-menu-dialog::backdrop { background:rgba(0,0,0,.75); }
.ref-menu-dialog iframe { width:100%; height:100%; border:0; }
.ref-menu-dialog button { position:absolute; z-index:1; top:.5rem; right:.5rem; width:2.75rem; height:2.75rem; border:0; border-radius:50%; background:#111; color:#fff; font-size:2rem; line-height:1; cursor:pointer; }
[data-review-group][hidden], [data-review-controls][hidden] { display:none; }
.ref-review-carousel { position:relative; }
.ref-review-carousel.is-carousel { padding-inline:52px; }
.is-carousel .ref-review-viewport { display:grid; overflow:hidden; isolation:isolate; }
.is-carousel [data-review-group] { grid-area:1 / 1; min-width:0; }
.is-carousel [data-review-controls] { position:absolute; inset:0; pointer-events:none; z-index:2; }
.ref-review-carousel button { display:grid; place-items:center; position:absolute; top:50%; transform:translateY(-50%); min-width:44px; min-height:44px; border:1px solid var(--ref-line,#666); border-radius:50%; padding:8px; background:var(--ref-primary,#111); color:var(--ref-button-text,#fff); cursor:pointer; pointer-events:auto; }
.ref-review-carousel :is([data-review-previous],[data-review-next]) { box-sizing:border-box; width:44px; height:44px; min-width:44px; min-height:44px; max-width:44px; max-height:44px; padding:0; border-radius:50%; line-height:1; flex-shrink:0; }
.ref-review-carousel :is([data-review-previous],[data-review-next]) svg { display:block; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.ref-review-carousel [data-review-previous] { left:0; }
.ref-review-carousel [data-review-next] { right:0; }
.ref-review-carousel [data-review-pause] { left:50%; transform:translate(-50%,-50%); border-radius:24px; padding-inline:18px; opacity:0; pointer-events:none; }
.ref-review-carousel:hover [data-review-pause], .ref-review-carousel:focus-within [data-review-pause], .ref-review-carousel [data-review-pause][aria-pressed="true"] { opacity:1; pointer-events:auto; }
@media (hover:none) { .ref-review-carousel [data-review-pause] { opacity:1; pointer-events:auto; } }
@media (max-width:700px) { .ref-review-carousel.is-carousel { padding-inline:44px; } }

.ref-category summary { cursor:pointer; list-style:none; }
.ref-category summary::-webkit-details-marker { display:none; }
.ref-category-gallery { display:flex; flex-wrap:wrap; gap:1rem; }
.ref-category>.ref-category-gallery { aspect-ratio:auto; overflow:visible; background:transparent; }
.ref-category-gallery a { display:block; width:140px; }
.ref-dish-name { position:absolute; top:10px; right:10px; z-index:1; max-width:calc(100% - 20px); padding:7px 11px; border-radius:6px; background:rgba(0,0,0,.82); color:#fff; font-size:14px; font-weight:600; line-height:1.4; text-align:right; overflow-wrap:anywhere; pointer-events:none; }
.ref-lightbox-media { position:relative; width:fit-content; max-width:100%; }
.ref-lightbox-media img { display:block; }
.ref-lightbox-caption:empty { display:none; }
