/* Restaurant identity: black, warm white, and the signature oxblood accent. */
:root {
  --brand: #681008;
  --ink: #090909;
  --surface: #141413;
  --paper: #f3eee5;
  --muted: #b7b2aa;
  --line: #32302d;
  --header-height: 88px;
  color-scheme: dark;
}
html { scroll-behavior: smooth; scroll-padding-top: 180px; }
body { background: var(--ink) !important; color: var(--paper); }
body, button, input, select, textarea { font-family: Arial, Helvetica, sans-serif !important; }
h1, h2, h3, h4, h5, h6 { font-family: Arial, Helvetica, sans-serif !important; color: var(--paper); letter-spacing: -.025em; line-height: 1.08; }
/* Override legacy heading rules and Bootstrap's fw-bold utility, including nested text. */
h1, h2, h3, h4, h5, h6, :is(h1, h2, h3, h4, h5, h6) *, .faq-question { font-weight: 400 !important; }
p { font-size: 17px !important; line-height: 1.7; }
a, a:visited { color: var(--paper); }
a:hover { color: var(--paper); text-decoration-color: var(--brand); }
::selection { background: var(--brand); color: var(--paper); }
:focus-visible { outline: 2px solid var(--paper); outline-offset: 5px; }
.container { width: calc(100% - 48px); max-width: 1280px; margin-inline: auto; }
/* Keep the theme's section layout usable even when the Bootstrap CDN is unavailable. */
.row { display: flex; flex-wrap: wrap; margin-inline: -12px; }
.row > * { flex-shrink: 0; width: 100%; max-width: 100%; padding-inline: 12px; }
.d-flex { display: flex; }
.flex-column { flex-direction: column; }
.align-items-center { align-items: center; }
.justify-content-between { justify-content: space-between; }
.justify-content-center { justify-content: center; }
.position-relative { position: relative; }
.text-center { text-align: center; }
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: .25rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }
.mt-4 { margin-top: 1.5rem; }
.my-3 { margin-block: 1rem; }
.fw-bold { font-weight: 700; }
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (min-width: 768px) {
  .row > .col-md-4 { width: 33.333333%; }
  .row > .col-md-5 { width: 41.666667%; }
  .row > .col-md-6 { width: 50%; }
  .row > .col-md-7 { width: 58.333333%; }
}
.site-header { background: rgba(9,9,9,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.site-header .nav-wrapper { min-height: var(--header-height); padding: 14px 0; gap: 32px; }
.site-header .site-branding { flex-shrink: 0; }
.site-header .nav-wrapper .site-branding img { width: 190px; max-height: 58px; object-fit: contain; }
.site-header .nav-wrapper .main-navigation { width: auto; }
.site-header .nav-wrapper .main-navigation li a { color: var(--paper); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; padding: 14px 16px; }
.site-header .nav-wrapper .main-navigation .current-menu-item > a,
.site-header .nav-wrapper .main-navigation .current_page_item > a { color: var(--paper); box-shadow: inset 0 -3px var(--brand); }
.site-header .main-navigation .menu-item-108 > a { background: var(--brand); }
.main-navigation ul ul { background: var(--surface); }
.site-header #mobileMenu { background: var(--ink); height: calc(100dvh - var(--header-height)); overflow-y: auto; }
.site-header #mobileMenu .mobile-menu-wrapper { height: auto; margin: 24px 0; }
.site-header #mobileMenu .mobile-menu-wrapper ul { width: 100%; margin: 0 !important; }
.site-header #mobileMenu .mobile-menu-wrapper ul li { margin: 0 24px; border-bottom: 1px solid var(--line); }
.site-header #mobileMenu .mobile-menu-wrapper ul li a { display: block; padding: 18px 0; color: var(--paper); font-size: 24px; }
.hero-wrapper { min-height: 720px; min-height: min(900px, 100svh); height: auto; padding: 180px 0 100px; background-position: 65% center; border-bottom: 1px solid var(--line); }
.hero-wrapper .dark-overflow { background: linear-gradient(90deg, rgba(0,0,0,.9), rgba(0,0,0,.58) 48%, rgba(0,0,0,.12)), linear-gradient(0deg, var(--ink), transparent 35%); }
.hero-wrapper__content { align-items: flex-start; text-align: left; max-width: 850px; }
.brand-eyebrow { display: flex; align-items: center; gap: 14px; font-size: 11px !important; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; margin-bottom: 28px; }
.brand-eyebrow::before { content: ''; width: 42px; height: 4px; background: var(--brand); }
.hero-wrapper__content__heading { font-size: clamp(48px, 6.7vw, 100px) !important; text-transform: uppercase; text-wrap: balance; margin-bottom: 28px; }
.hero-wrapper__content__text { max-width: 540px; color: var(--muted); margin-bottom: 36px; }
.hero-wrapper__actions { justify-content: flex-start; gap: 12px; }
.red-button, .tlir-btn, .post-card .red-button-blog { display: inline-flex; justify-content: center; align-items: center; min-height: 50px; padding: 14px 24px; border: 1px solid var(--brand); border-radius: 2px; background: var(--brand); color: var(--paper) !important; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-decoration: none; transition: background .2s, border-color .2s; }
.red-button:hover, .tlir-btn:hover, .post-card .red-button-blog:hover { background: var(--surface); color: var(--paper) !important; border-color: var(--paper); }
.hero-wrapper__action { width: auto; margin: 0; }
.hero-wrapper__action:not(:first-child) { background: rgba(9,9,9,.5); border-color: #77716a; }
.tlir-wrapper { background: var(--ink) !important; padding: 90px 0; }
.tlir-wrapper .row { --bs-gutter-x: 80px; }
.tlir-heading, .four-cards-wrapper__heading, .gallery-section .gallery-heading, .faq-heading, .blog-heading { font-size: clamp(34px, 4.5vw, 64px) !important; color: var(--paper); text-align: left; text-transform: uppercase; }
.tlir-heading::before, .four-cards-wrapper__heading::before, .gallery-heading::before, .faq-heading::before, .blog-heading::before { content: ''; display: block; width: 56px; height: 5px; background: var(--brand); margin-bottom: 24px; }
.tlir-wrapper p { color: var(--muted); }
.tlir-img { border-radius: 2px; aspect-ratio: 1 / 1; height: auto; box-shadow: 18px 18px 0 var(--brand); }
.four-cards-wrapper { background: var(--surface); border-block: 1px solid var(--line); padding: 80px 0; margin: 0; }
.four-cards-wrapper__heading { padding-bottom: 30px; }
.four-cards-wrapper__repeater { gap: 16px; }
.four-cards-wrapper__repeater__col { border: 1px solid var(--line); border-radius: 2px; padding: 30px 20px; background: var(--ink); border-top: 3px solid var(--brand); }
.four-cards-wrapper__repeater__col h3 { font-size: 26px; text-transform: uppercase; margin-top: 22px; }
.four-cards-wrapper__repeater__col p { color: var(--muted); font-size: 15px !important; }
.four-cards-wrapper__repeater__col__img img { width: 100%; height: 170px; object-fit: contain; }
.four-cards-wrapper__repeater__col > img { width: 110px; margin-top: 24px; opacity: .65; }
.categories-banner { position: sticky; top: var(--header-height); padding: 0 !important; background: var(--surface); border-bottom: 1px solid var(--line); z-index: 20; }
.categories-banner > .row { margin: 0; padding: 0 !important; }
.product-nav-menu-wrapper { flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding: 16px 24px; margin: 0 !important; scrollbar-width: thin; }
.product-nav-menu-wrapper .category-item { flex: 0 0 auto; margin: 0; }
.product-nav-menu-wrapper .category-item a { display: block; border: 1px solid var(--line); border-radius: 2px; padding: 10px 14px; color: var(--paper); font-size: 11px; letter-spacing: .04em; }
.product-nav-menu-wrapper .category-item a:hover, .product-nav-menu-wrapper .category-item a[aria-current] { background: var(--brand); border-color: var(--brand); }
/* The fixed header precedes the menu directly, so it is not a first child. */
.site { display: flow-root; }
.site-header { top: 0; }
body.admin-bar .site-header { top: 32px; }
.site-header + .categories-banner { margin-top: var(--header-height); }
.menu-items-wrapper { padding-top: 48px; padding-bottom: 60px; }
.menu-items-wrapper .row:first-child { padding-top: 0; }
.menu-items-wrapper__category { background: var(--brand); text-align: left; padding: 16px 22px !important; margin-bottom: 24px; font-size: clamp(24px, 3vw, 38px); scroll-margin-top: 175px; }
.menu-items-wrapper__product { gap: 20px; height: 100%; align-items: flex-start !important; padding: 18px 12px !important; }
.menu-items-wrapper__product > div:first-child { min-width: 0; }
.menu-items-wrapper__product h5 { font-family: Arial, Helvetica, sans-serif !important; font-size: 19px; text-transform: uppercase; letter-spacing: .01em; margin-top: 0; }
.menu-items-wrapper__product h5 span { color: var(--muted); }
.menu-items-wrapper__product p { color: var(--muted); font-size: 14px !important; line-height: 1.55; }
.menu-items-wrapper__product p.menu-items-wrapper__product__price { color: var(--paper); font-size: 20px !important; white-space: nowrap; font-variant-numeric: tabular-nums; border-bottom: 3px solid var(--brand); }
.menu-items-wrapper .dotted-border { border-bottom: 1px solid var(--line); width: calc(100% - 24px); margin-left: 0; }
.gallery-section { padding-block: 140px 80px; }
.gallery-wrapper { --bs-gutter-x: 20px; }
.img-holder { display: block; overflow: hidden; }
.img-holder img { height: auto !important; aspect-ratio: 4 / 5; border-radius: 2px; transition: transform .35s; }
.img-holder:hover img { transform: scale(1.025); }
.blog-heading { margin: 0 0 40px; padding-top: 140px; }
.post-card { background: var(--surface); border: 1px solid var(--line); border-radius: 2px; box-shadow: none; height: 100%; }
.post-card:hover { transform: translateY(-4px); }
.post-card .card-img-top { border-radius: 0; height: 280px; }
.post-card .card-body { padding: 26px; }
.post-card .card-text { color: var(--muted); font-size: 15px !important; }
.single-blog-wrapper__title, .related-heading { color: var(--paper); }
.faq-wrapper { padding-block: 80px; }
.faq-heading { padding-bottom: 20px; }
.faq-item { border-top: 1px solid var(--line); padding: 24px 0; }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-question { cursor: pointer; font-size: 22px; }
.faq-item[open] .faq-question { margin-bottom: 18px; }
.faq-answer { color: var(--muted); max-width: 850px; }
.contact-wrapper { background: var(--ink); padding: 150px 0 80px; }
.contact-wrapper__container { background: transparent; padding: 0 !important; border-radius: 0; }
.contact-wrapper__container > .row { margin: 0; }
.contact-wrapper__container__left { padding: 40px 48px 40px 0 !important; }
.contact-wrapper__container__left h1 { font-size: clamp(38px, 4vw, 60px) !important; text-transform: uppercase; }
.contact-wrapper__container__right { background: var(--surface); border: 1px solid var(--line); border-top: 4px solid var(--brand); border-radius: 2px; padding: 40px !important; }
.contact-wrapper__container__right h3 { color: var(--paper); margin-bottom: 28px; }
.contact-wrapper__container__right label { display: block !important; color: var(--paper); }
input:not([type=submit]):not([type=checkbox]):not([type=radio]), textarea, select,
.contact-wrapper__container__right input, .contact-wrapper__container__right textarea { background: var(--ink) !important; color: var(--paper) !important; border: 1px solid #68635c !important; border-radius: 2px !important; padding: 13px !important; max-width: 100%; }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
.contact-wrapper__container__right button, .newsletter-form button, input[type=submit], .single-career-form button { background: var(--brand) !important; color: var(--paper) !important; border: 1px solid var(--brand) !important; border-radius: 2px !important; min-height: 48px; }
.maps-wrapper iframe { width: 100%; border: 1px solid var(--line); border-radius: 2px; }
.newsletter-wrapper { height: auto; padding: 70px 24px; background: var(--surface); border-top: 1px solid var(--line); }
.newsletter-wrapper .newsletter-form { position: static; width: 100%; max-width: 800px; margin: 0 auto; background: transparent; border: 0; padding: 0; }
.newsletter-form h3 { font-size: 38px; text-transform: uppercase; }
.newsletter-form p { color: var(--muted); }
.site-footer { border-top: 4px solid var(--brand); background: #050505; }
.site-footer .footer-menu-wrapper { padding: 64px 0; gap: 30px; flex-wrap: wrap; }
.site-footer .footer-menu-wrapper ul { padding: 0; }
.site-footer .footer-menu-wrapper ul li { font-size: 14px; }
.site-footer .footer-menu-wrapper p { font-size: 14px !important; color: var(--muted); }
.site-footer .footer-menu-wrapper iframe { max-width: 100%; }
.site-footer .copyright { background: transparent; border-top: 1px solid var(--line); padding: 20px; }
.site-footer .copyright p { font-size: 12px !important; color: var(--muted); }
.custom-modal { background: rgba(0,0,0,.85); padding: 24px; }
.custom-modal .modal-content { background: var(--surface); border: 1px solid var(--line); border-top: 4px solid var(--brand); border-radius: 2px; padding: 32px; max-width: 520px; max-height: 85dvh; overflow-y: auto; }
.custom-modal .modal-content h4 { margin: 0 !important; border-bottom: 1px solid var(--line); }
.custom-modal .modal-content a.text-dark { display: block; padding: 18px 0; color: var(--paper) !important; text-decoration: none; font: 700 17px Arial, sans-serif; }
.custom-modal .close-button { background: var(--brand); margin-top: 24px; min-height: 44px; }
body.admin-bar { --header-height: 120px; }
@media (max-width: 991px) {
  .four-cards-wrapper__repeater { grid-template-columns: repeat(2, 1fr); }
  .tlir-wrapper .row { --bs-gutter-x: 32px; }
  .hero-wrapper { min-height: 760px; }
}
@media (max-width: 767px) {
  body.admin-bar .site-header { top: 46px; }
  :root { --header-height: 76px; }
  .container { width: calc(100% - 36px); }
  .site-header .nav-wrapper .site-branding img { width: 160px; }
  .hero-wrapper { min-height: 700px; padding: 150px 0 80px; background-position: 62% center; }
  .hero-wrapper .dark-overflow { background: linear-gradient(90deg, rgba(0,0,0,.8), rgba(0,0,0,.4)), linear-gradient(0deg, var(--ink), transparent); }
  .hero-wrapper__content__heading { font-size: clamp(44px, 10vw, 66px) !important; }
  .hero-wrapper__actions { width: 100%; }
  .hero-wrapper__action { flex: 1 1 140px; margin: 0 !important; font-size: 12px; }
  .tlir-wrapper, .four-cards-wrapper { padding: 56px 0; }
  .tlir-img { box-shadow: 9px 9px 0 var(--brand); }
  .four-cards-wrapper__repeater { grid-template-columns: 1fr; }
  .four-cards-wrapper__repeater__col { padding: 28px; }
  .product-nav-menu-wrapper { padding: 12px 18px; }
  .product-nav-menu-wrapper .category-item { flex: 0 0 auto; margin: 0; }
  .product-nav-menu-wrapper .category-item a { font-size: 11px; }
  .contact-wrapper { padding: 110px 0 50px; }
  .contact-wrapper__container__left { padding: 24px 0 40px !important; align-items: flex-start; }
  .contact-wrapper__container__right { padding: 24px !important; }
  .site-footer .footer-menu-wrapper { align-items: flex-start; }
  .site-footer .footer-menu-wrapper .footer-logo-wrapper { align-items: flex-start; }
  .site-footer .footer-menu-wrapper ul, .site-footer .footer-menu-wrapper .footer-locations { text-align: left; }
  .gallery-section { padding-block: 110px 50px; }
  .faq-wrapper { padding-block: 50px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  [data-aos] { opacity: 1 !important; transform: none !important; }
}
