/* Mobile-first refinement of the existing Steakbar design, not a new visual theme. */
:root{--kbt-header-height:80px;--kbt-header-layout-height:80px;--kbt-cta-clearance:96px;--kbt-space:8px;--kbt-ui-ease:cubic-bezier(.23,1,.32,1)}
html{scroll-padding-block-start:calc(var(--kbt-header-height) + 16px);scroll-padding-block-end:var(--kbt-cta-clearance)}
body{padding-block-end:calc(var(--kbt-cta-clearance) + env(safe-area-inset-bottom,0px))}
body header.elementor-location-header.kbt-site-header{position:sticky;inset-block-start:0;z-index:1000;margin-block-end:calc(-1 * var(--kbt-header-layout-height));background:transparent!important;border:0;font-family:Roboto,sans-serif;pointer-events:none}
.kbt-nav-inner{width:100%;margin-inline:auto;padding:8px 10px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.kbt-brand{display:flex;align-items:center;flex-shrink:0;color:#f8f5ef;text-decoration:none;letter-spacing:0;pointer-events:auto;opacity:1;visibility:visible;transition:opacity .12s var(--kbt-ui-ease),visibility 0s}
.kbt-brand img{display:block;width:64px;height:64px;object-fit:contain}
.kbt-primary-nav{display:flex;flex-wrap:wrap;align-items:stretch;flex:0 1 auto;min-width:0;max-width:100%;gap:4px;margin-inline-start:auto;font-family:Montserrat,sans-serif;border-block-end:1px solid rgba(248,245,239,.65);pointer-events:auto}
.kbt-primary-nav a{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 4px;color:#f8f5ef;text-decoration:none;font-size:12px;line-height:1.4;letter-spacing:0;overflow-wrap:anywhere;text-shadow:0 1px 3px #000,0 0 2px #000;border-block-end:2px solid transparent}
.kbt-primary-nav a[aria-current],.kbt-primary-nav a:hover{color:#ffbd59;border-block-end-color:#ffbd59}
.kbt-site-header[data-scrolled] .kbt-brand{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s var(--kbt-ui-ease),visibility 0s .12s}
.kbt-site-header[data-scrolled] .kbt-primary-nav{position:absolute;inset-inline-end:10px;inset-block-start:10px;display:grid;grid-template-columns:repeat(3,minmax(0,auto));width:max-content;max-width:calc(100% - 20px);gap:6px;border:0}
.kbt-site-header[data-scrolled] .kbt-primary-nav a{padding:10px 8px;background:rgba(30,30,30,.96);border:1px solid #665136;border-radius:5px;box-shadow:0 4px 14px rgba(0,0,0,.25);text-shadow:none;letter-spacing:0}
.kbt-site-header[data-scrolled] .kbt-primary-nav a[aria-current],.kbt-site-header[data-scrolled] .kbt-primary-nav a:hover{border-color:#b89864}
.kbt-site-header a:focus-visible,.kbt-sticky-cta:focus-visible{outline:2px solid #ffbd59;outline-offset:3px}
.kbt-skip-link{position:fixed;inset-block-start:8px;inset-inline-start:16px;z-index:1200;padding:12px 18px;background:#ffbd59;color:#1e1e1e;transform:translateY(-200%)}
.kbt-skip-link:focus{transform:none}
.kbt-sticky-cta{position:fixed;inset-inline:16px;inset-block-end:calc(16px + env(safe-area-inset-bottom,0px));z-index:1001;min-height:52px;display:flex;align-items:center;justify-content:center;padding:12px 24px;background:#77221b;color:#f8f5ef;border:1px solid #ffbd59;border-radius:3px;font:500 16px/1.5 Montserrat,sans-serif;text-decoration:none;box-shadow:0 4px 24px rgba(255,189,89,.18),0 2px 8px rgba(0,0,0,.24);opacity:1;visibility:visible;transform:translateY(0);transition:background-color .16s ease-out,opacity .16s var(--kbt-ui-ease),transform .16s var(--kbt-ui-ease),visibility 0s}
.kbt-sticky-cta[data-form-visible]{opacity:0;visibility:hidden;transform:translateY(6px);pointer-events:none;transition:opacity .12s var(--kbt-ui-ease),transform .12s var(--kbt-ui-ease),visibility 0s .12s}
.kbt-sticky-cta:hover{background:#8c2b22;color:#f8f5ef}
.kbt-header-backdrop,.kbt-page-flow-offset{display:none!important}
body[data-kbt-page=inner] main{padding-block-start:var(--kbt-header-layout-height)!important}
body[data-kbt-page=inner] main.kbt-legal-page{padding-block-start:calc(var(--kbt-header-layout-height) + 32px)!important}
main :is(h1,h2,h3),footer :is(h1,h2,h3){overflow-wrap:anywhere}
.kbt-content .kbt-container{padding-block-start:32px}
.kbt-content .menu-section,.kbt-content .allergen-panel,.kbt-reservation{scroll-margin-block-start:0}
.elementor-13 .elementor-element.elementor-element-d98bc77{min-height:0!important;height:clamp(300px,58svh,500px)}
.elementor-13 .elementor-element-d98bc77>.e-con-inner{min-height:0!important;height:100%!important}
.elementor-13 .elementor-element-d98bc77 .elementor-heading-title{font-size:16px!important;letter-spacing:0!important;line-height:1.5}
/* Keep the compact mobile gallery; restore the original desktop photo columns below. */
.elementor-13 .elementor-element.elementor-element-387343e{display:grid!important;grid-template-columns:1fr 1.2fr;grid-template-rows:1fr 1fr;grid-auto-flow:column;gap:12px!important;width:calc(100% - 32px)!important;margin-inline:auto!important;height:clamp(240px,80vw,320px);padding:0!important}
.elementor-13 .elementor-element-387343e>.e-con{width:100%!important;min-width:0!important;min-height:0!important;height:100%!important;padding:0!important}
.elementor-13 .elementor-element-387343e>.elementor-element-e8a80e1{grid-row:span 2}
.elementor-13 .elementor-element-387343e .elementor-widget,.elementor-13 .elementor-element-387343e .elementor-widget-container{height:100%!important;width:100%!important;min-height:0!important}
.elementor-13 .elementor-element-387343e img{width:100%!important;height:100%!important;object-fit:cover}
.elementor-13 .elementor-element-387343e img.wp-image-78{object-fit:cover}
.elementor-13 .elementor-element:is(.elementor-element-36cc5f0,.elementor-element-6e51c7a,.elementor-element-55853c5,.elementor-element-1f05c0f,.elementor-element-9b8a8eb,.elementor-element-0b5f06c,.elementor-element-3091fc5){min-height:0!important;height:280px!important;background-attachment:scroll!important}
.elementor-13 .elementor-element:is(.elementor-element-36cc5f0,.elementor-element-1f05c0f,.elementor-element-0b5f06c){background-size:cover!important;background-repeat:no-repeat!important}
.elementor-13 img.wp-image-3055{width:auto!important;max-width:100%!important;max-height:380px!important;height:auto!important;object-fit:contain;display:block;margin-inline:auto}
.elementor-13>.e-parent{margin-block:0!important}
.elementor-13 .elementor-element:is(.elementor-element-542a37e,.elementor-element-a8bbf70,.elementor-element-031cc4b){padding-block:32px!important;gap:24px!important}
.elementor-13 .elementor-element.elementor-element-031cc4b{display:grid;grid-template-columns:minmax(0,1fr)}
.elementor-13 .elementor-element-031cc4b>.e-con{width:100%!important;min-width:0}
.elementor-13 .kbt-home-food-stage{position:relative;overflow:hidden;background-image:none!important}
.elementor-13 .kbt-home-food-stage>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.elementor-13 .elementor-element-e8a80e1 .elementor-widget-container{overflow:hidden}
.kbt-food-frame{overflow:hidden}
.kbt-content .kbt-goose-gallery{max-width:760px;margin:24px auto 12px}
.kbt-goose-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kbt-goose-photos figure{min-width:0;margin:0}
.kbt-goose-photos img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
.kbt-content .kbt-goose-gallery figcaption{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-block:12px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.kbt-goose-gallery figcaption strong{color:#ffbd59;white-space:nowrap}
.kbt-events .kbt-container{padding-block:32px 48px}
.kbt-content .kbt-event-announcement{max-width:760px;margin:0 0 32px;font-size:22px;line-height:1.4;font-weight:500;text-wrap:balance;color:#ffbd59}
.kbt-events-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:start}
.kbt-event-copy{min-width:0}
.kbt-event-copy section{margin-block-end:32px}
.kbt-content .kbt-event-copy h2{margin:0 0 12px}
.kbt-content .kbt-event-copy p{margin:0 0 16px}
.kbt-event-poster{display:block;justify-self:center;max-width:100%;border-radius:2px}
.elementor-13 .elementor-widget-text-editor{overflow-wrap:anywhere}
.kbt-reservation{width:100%;padding:48px 16px;font-family:Roboto,sans-serif;color:#f8f5ef}
.kbt-reservation-inner{max-width:760px;margin-inline:auto}
.kbt-reservation h2{font:600 30px/1.2 Roboto,sans-serif;letter-spacing:0;margin:0 0 16px;text-wrap:balance}
.kbt-reservation p{font-size:16px;line-height:1.65;margin:0 0 28px}
.kbt-reservation-form fieldset{padding:0;margin:0 0 32px;border:0;min-width:0}
.kbt-reservation-form legend{float:none;width:100%;font-size:20px;font-weight:500;line-height:1.4;margin:0 0 18px;padding:0}
.kbt-form-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.kbt-field{min-width:0;display:flex;flex-direction:column;gap:8px}
.kbt-field label{font-size:15px;line-height:1.5;font-weight:500;letter-spacing:0}
.kbt-field label>span:first-child:not(.kbt-optional){color:#ffbd59}
.kbt-field .kbt-optional{font-weight:400;font-size:14px;color:#e1d6c5}
.kbt-reservation-form :is(input,select,textarea){width:100%;max-width:100%;min-width:0;min-height:52px;height:auto;box-sizing:border-box;border:1px solid #8c7047;border-radius:3px;padding:12px 14px;font:400 16px/1.5 Roboto,sans-serif;letter-spacing:0;box-shadow:none;color-scheme:dark}
.kbt-reservation-form :is(input,select,textarea):focus{outline:2px solid #ffbd59;outline-offset:2px}
.kbt-reservation-form :is(input,select,textarea)[aria-invalid=true]{border-color:#ffbd59!important}
.kbt-reservation-form textarea{min-height:128px;resize:vertical}
.kbt-reservation-form textarea::placeholder{color:#cfc4b1!important;opacity:1}
.kbt-note-field{margin-block-end:24px}
.kbt-field-error{font-size:14px;line-height:1.5;color:#ffbd59!important}
.kbt-field-error[hidden]{display:none}
.kbt-reservation-submit{width:100%;min-height:52px;border:1px solid #ffbd59!important;border-radius:3px;padding:12px 20px;font:500 16px/1.5 Montserrat,sans-serif;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.kbt-reservation-submit{position:relative;isolation:isolate}
.kbt-reservation-submit::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:0 4px 22px rgba(255,189,89,.32);opacity:0;transition:opacity .18s var(--kbt-ui-ease)}
.kbt-reservation-submit[data-ready]::after{opacity:1}
.kbt-reservation-submit[data-ready]{border-color:#ffd18a!important}
.kbt-reservation-form .kbt-preview-form-note{margin:16px 0 0;font-size:14px;line-height:1.65;color:#e1d6c5}
.kbt-reservation-form .kbt-time-hint{font-size:14px;line-height:1.5;margin:12px 0 0;color:#e1d6c5}
.kbt-reservation-form .kbt-privacy-hint{margin:12px 0 0;font-size:14px;line-height:1.5;color:#e1d6c5}
.kbt-reservation-form .kbt-privacy-hint a{color:#e2c78e;text-decoration:underline;text-underline-offset:3px}
.kbt-reservation-form option:disabled{color:#a89d8b!important}
.kbt-celebration-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-block-start:24px}
.kbt-celebration-actions .kbt-event-email{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid #b89864;border-radius:3px;background:#77221b;color:#f8f5ef;font:500 15px/1.5 Montserrat,sans-serif;text-decoration:none;white-space:normal;text-align:center}
.kbt-celebration-actions a.kbt-event-email{color:#f8f5ef!important}
.kbt-event-phone{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 5px;font:400 16px/1.5 Roboto,sans-serif;min-height:44px}
.kbt-event-phone a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.kbt-event-email:focus-visible,.kbt-event-phone a:focus-visible,.kbt-poster-back:focus-visible,[data-poster-open]:focus-visible{outline:2px solid #ffbd59;outline-offset:3px}
.kbt-poster-dialog{inset:0;width:100%;height:calc(100dvh / var(--kbt-poster-scale,1));max-width:none;max-height:none;margin:0;padding:84px 16px 24px;border:0;background:#141210;color:#f8f5ef;overflow:auto;overscroll-behavior:contain}
.kbt-poster-dialog::backdrop{background:rgba(0,0,0,.8)}
.kbt-poster-dialog>img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh / var(--kbt-poster-scale,1) - 108px);object-fit:contain;margin-inline:auto}
.kbt-poster-back{position:fixed;inset-inline-start:16px;inset-block-start:16px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;background:#29251f;color:#f8f5ef;border:1px solid #b89864;border-radius:3px;font:500 15px/1.5 Montserrat,sans-serif;cursor:pointer}
.kbt-poster-dialog button.kbt-poster-back:is(:hover,:focus,:active){background:#29251f;color:#f8f5ef;border-color:#ffbd59}
.kbt-poster-back:active{transform:scale(.98)}
html[data-poster-open]{overflow:hidden}
.kbt-reservation :is(input,select,textarea,button){scroll-margin-block:12px}
@media(min-width:360px){
 :root{--kbt-header-height:100px;--kbt-header-layout-height:100px}
 .kbt-nav-inner{padding-block:10px}
 .kbt-brand img{width:80px;height:80px}
}
@media(min-width:640px){
 .kbt-sticky-cta{inset-inline-start:auto;inset-inline-end:24px;min-width:230px}
 .kbt-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kbt-visit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .kbt-field-name{grid-column:1/-1}
}
@media(min-width:768px){
 :root{--kbt-header-height:112px;--kbt-header-layout-height:112px}
 .kbt-nav-inner{padding:16px 50px}
 .kbt-primary-nav{gap:40px}
 .kbt-primary-nav a{letter-spacing:.12em;padding-inline:8px}
 .kbt-site-header[data-scrolled] .kbt-primary-nav{inset-inline-end:50px;inset-block-start:16px;max-width:calc(100% - 100px);gap:12px}
 .kbt-site-header[data-scrolled] .kbt-primary-nav a{padding-inline:18px}
 .kbt-content .kbt-container{padding-block-start:48px}
 .elementor-13 .elementor-element.elementor-element-d98bc77{height:100svh;min-height:480px!important}
 .elementor-13 .elementor-element-d98bc77 .elementor-widget-heading{max-width:calc((100% - 20px)/2)}
 .elementor-13 .elementor-element-d98bc77 .elementor-heading-title{font-size:20px!important;line-height:1}
 .elementor-13 .elementor-element.elementor-element-387343e{display:flex!important;height:auto;gap:64px!important;width:calc(100% - 100px)!important}
 .elementor-13 .elementor-element-387343e>.e-con{width:calc((100% - 128px)/3)!important;height:auto!important}
 .elementor-13 .elementor-element-387343e img{height:auto!important;object-fit:contain}
 .elementor-13 .elementor-element:is(.elementor-element-36cc5f0,.elementor-element-6e51c7a,.elementor-element-55853c5,.elementor-element-1f05c0f,.elementor-element-9b8a8eb,.elementor-element-0b5f06c,.elementor-element-3091fc5){height:auto!important;min-height:900px!important;background-size:cover!important}
 .elementor-13 .elementor-element:is(.elementor-element-542a37e,.elementor-element-a8bbf70){padding-block:0!important;gap:0 128px!important}
 .elementor-13>.elementor-element:is(.elementor-element-542a37e,.elementor-element-a8bbf70,.elementor-element-031cc4b){margin-block:100px!important}
 .elementor-13 .elementor-element.elementor-element-031cc4b{padding-block:0!important;gap:0 64px!important}
 .elementor-13 .elementor-element.elementor-element-031cc4b{grid-template-columns:repeat(2,minmax(0,1fr))}
 .kbt-goose-photos{gap:24px}
 .kbt-content .kbt-goose-gallery figcaption{font-size:16px}
 .kbt-events .kbt-container{padding-block:48px 72px}
 .kbt-content .kbt-event-announcement{font-size:28px;margin-block-end:40px}
 .elementor-13 img.wp-image-3055{max-height:600px!important}
 .kbt-reservation{padding:72px 32px}
 .kbt-reservation h2{font-size:36px}
}
@media(min-width:1024px){.kbt-events-layout{grid-template-columns:minmax(0,1fr) 300px;gap:48px}}
@media(prefers-reduced-motion:reduce){.kbt-sticky-cta,.kbt-sticky-cta[data-form-visible],.kbt-reservation-submit::after,.kbt-brand,.kbt-site-header[data-scrolled] .kbt-brand{transition:none}.kbt-poster-back:active{transform:none}}

/* New homepage heading follows the existing adjacent section typography. */
.elementor-13 .elementor-element-7f84582 h2.elementor-heading-title {
 font-family:Roboto,sans-serif;font-size:25px;font-weight:600;
 line-height:1;letter-spacing:normal;margin:0 0 20px;
}

/* Evidence-reviewed visit information and menu price explanations. */
.kbt-answer-content {max-width: 960px; margin-inline:auto; color:var(--kbt-cream,#f0e8db); font:400 16px/1.65 Montserrat,sans-serif; letter-spacing:.15px; overflow-wrap:anywhere;}
.kbt-answer-content .kbt-answer-section {margin-block:0 48px; scroll-margin-top:110px;}
.kbt-answer-content h2 {font:500 clamp(23px,3vw,30px)/1.3 Roboto,sans-serif; letter-spacing:.5px; color:inherit; margin:0 0 20px; text-transform:none;}
.kbt-answer-content h3 {font:500 19px/1.4 Roboto,sans-serif; letter-spacing:.2px; color:inherit; margin:0 0 12px; text-transform:none;}
.kbt-answer-content p {font:inherit; letter-spacing:inherit; margin:0 0 22px;}
.kbt-answer-content ul {padding-left:22px; margin:24px 0;}
.kbt-answer-content li {margin:8px 0;}
.kbt-answer-table {margin:28px 0;}
.kbt-answer-table table {width:100%; border-collapse:collapse; table-layout:fixed; font:inherit; color:inherit; background:transparent;}
.kbt-answer-table caption {text-align:left; font-size:14px; color:#cdb98e; padding:0 0 12px;}
.kbt-answer-table th,.kbt-answer-table td {background:transparent!important; color:inherit; border:0; border-bottom:1px solid #a78b544d; padding:14px 12px; text-align:left; vertical-align:top; overflow-wrap:anywhere;}
.kbt-answer-table thead th {font-weight:600; color:#ddc18a;}
.kbt-answer-table tbody th {font-weight:500;}
.kbt-answer-content a,.kbt-breadcrumb a,.kbt-menu-overview-link {color:#e2c78e; text-decoration:underline; text-underline-offset:4px;}
.kbt-answer-content a:focus-visible,.kbt-menu-overview-link:focus-visible,.kbt-breadcrumb a:focus-visible {outline:2px solid #e2c78e; outline-offset:4px;}
.kbt-breadcrumb {font-size:13px; margin-bottom:22px;}
.kbt-menu-overview-link {display:inline-block; padding-block:12px; font-size:14px;}
.kbt-menu .kbt-answer-content {margin-top:64px;}
@media(max-width:767px){
 .kbt-home-answers {padding-block:36px;}
 .kbt-answer-content {font-size:15px;line-height:1.7;}
 .kbt-answer-table th,.kbt-answer-table td {padding:12px 8px;font-size:14px;}
 .kbt-answer-table th:first-child {width:46%;}
 .kbt-answer-content .kbt-answer-section {margin-bottom:36px;}
}

.kbt-keep-unit {white-space:nowrap;}
@media(max-width:767px){.kbt-home-answers .kbt-answer-table th:first-child {width:34%;}}

/* FAQ: reference layout, native exclusive disclosure with no script dependency. */
.kbt-faq-layout {display:grid;grid-template-columns:minmax(0,1fr);gap:24px;}
.kbt-answer-content .kbt-faq-eyebrow {font:600 11px/1.5 Montserrat,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#cdb98e;margin:0 0 12px;}
.kbt-answer-content .kbt-faq-intro h2 {margin-bottom:14px;}
.kbt-answer-content .kbt-faq-intro>p:last-child {font-size:14px;line-height:1.7;color:#d2c9bc;margin:0;max-width:30ch;}
.kbt-faq-list {min-width:0;}
.kbt-answer-faq {border:0;border-top:1px solid #a78b544d;margin:0;padding:0;background:transparent;}
.kbt-answer-faq:last-child {border-bottom:1px solid #a78b544d;}
.kbt-answer-faq>summary {display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;min-height:64px;padding:20px 4px;touch-action:manipulation;color:#f0e8db;}
.kbt-answer-faq>summary::-webkit-details-marker {display:none;}
.kbt-answer-faq>summary::marker {content:'';}
.kbt-answer-content .kbt-answer-faq>summary h3 {font:500 16px/1.5 Roboto,sans-serif;letter-spacing:.15px;margin:0;color:inherit;}
.kbt-answer-faq>summary:hover {color:#e2c78e;}
.kbt-answer-faq>summary:focus-visible {outline:2px solid #e2c78e;outline-offset:4px;border-radius:2px;}
.kbt-faq-icon {position:relative;display:block;flex:0 0 14px;width:14px;height:14px;color:#e2c78e;transition:transform 160ms ease-out;}
.kbt-faq-icon::before,.kbt-faq-icon::after {content:'';position:absolute;background:currentColor;border-radius:1px;}
.kbt-faq-icon::before {width:12px;height:1.5px;left:1px;top:6px;}
.kbt-faq-icon::after {width:1.5px;height:12px;left:6px;top:1px;}
.kbt-answer-faq[open] .kbt-faq-icon {transform:rotate(45deg);}
.kbt-answer-content .kbt-faq-answer p {font-size:15px;line-height:1.75;color:#d2c9bc;padding:0 34px 22px 4px;margin:0;}
@media(min-width:1100px){.kbt-faq-layout {grid-template-columns:minmax(0,.7fr) minmax(0,1.4fr);gap:48px;}}
@media(prefers-reduced-motion:reduce){.kbt-faq-icon {transition:none;}}
