/* El Quincho: shared identity for the Asado preview site. */
@font-face {
  font-family: 'Knockout';
  src: url('knockout-liteweight.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('cormorant-regular.woff2') format('woff2');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('cormorant-semibold.woff2') format('woff2');
  font-style: normal;
  font-weight: 600 900;
  font-display: swap;
}

:root {
  --fire: #EE4E26;
  --fire-dark: #F48142;
  --ember: #F48142;
  --oxblood: #0D0D0D;
  --charcoal: #0D0D0D;
  --smoke: #0D0D0D;
  --ash: #45413E;
  --cream: #DBD4CD;
  --paper: #FFFFFF;
  --sand: #CAB89C;
  --gold: #F8AC23;
  --menu-panel: #DBD4CD;
  --veg: #72B054;
  --teal: #09927B;
  --blue: #5D9EB1;
  --purple: #784995;
}

body {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px;
  line-height: 1.4;
}
h1, h2, h3, h4,
.nav-links a, .btn, .eyebrow, .hero-kicker, .walk-ins,
.special-label, .special-chip-label, .special-chip-name,
.cat-title, .card-name, .mtab, .tag, .tag-v, .tag-note,
.menu-badge, .review-source, .review strong, .review-toggle,
.modal-item-name, .modal-section-label, .modal-size-label,
.footer-tagline, .footer-directions, .hours-row strong {
  font-family: 'Knockout', 'Arial Narrow', Arial, sans-serif;
  font-weight: 400;
}
h1, h2, .eyebrow, .hero-kicker, .footer h4 {
  text-transform: uppercase;
  letter-spacing: .3px;
}
.section-title { font-size: clamp(36px, 4.2vw, 56px); }
.section-intro { font-size: 22px; line-height: 1.35; }
.eyebrow, .hero-kicker { font-size: 17px; letter-spacing: 1.5px; }
.eyebrow { color: var(--charcoal); }
.top-strip { font-size: 16px; line-height: 18px; }
.top-strip .container { padding: 8px 0; }
.nav, .nav.is-scrolled { background-color: rgba(13,13,13,.95); }
.nav .container { gap: 24px; }
.nav-links { gap: 24px; }
.nav-links a { font-size: 18px; letter-spacing: .9px; }
.nav-links .btn-fire { color: var(--charcoal); }
.logo img { width: 174px; height: auto; }
.footer-home { display: inline-block; }
.footer-logo { width: 200px; height: auto; margin: 0 0 16px; }
.btn { font-size: 19px; letter-spacing: 1px; line-height: 1.1; padding: 13px 24px; }
.btn-fire { color: var(--charcoal); box-shadow: none; }
.btn-fire:hover { color: var(--charcoal); }
.btn-outline-dark { color: var(--charcoal); border-color: rgba(13,13,13,.4); }

/* Content determines the hero height; no empty full-screen spacer. */
.hero { min-height: 0; padding: 152px 0 38px; align-items: start; }
.hero-content { max-width: 800px; }
.hero h1 { font-size: clamp(48px, 6vw, 78px); line-height: 1.02; letter-spacing: .2px; margin-bottom: 18px; }
.hero-kicker { margin-bottom: 14px; }
.hero-copy { font-size: clamp(22px, 2vw, 26px); line-height: 1.3; margin-bottom: 24px; }
.hero-buttons { margin-bottom: 16px; }
.walk-ins { font-size: 18px; }
.hero-video { width: 100%; height: 100%; min-width: 0; min-height: 0; }
.hero-overlay-glow { background: linear-gradient(180deg, transparent 65%, var(--charcoal) 100%); }

.menu-section { background: var(--charcoal); color: var(--white); }
.menu-section > .container > .menu-head .eyebrow { color: var(--fire); }
.menu-section .section-intro { color: rgba(255,255,255,.8); }
.menu-section .menu-head > .btn-outline-dark { color: var(--white); border-color: rgba(255,255,255,.55); }
.menu-section .menu-head > .btn-outline-dark:hover { background: rgba(255,255,255,.08); }
.menu-section .special-card, .menu-section .menu-item { color: var(--charcoal); }
.menu-item { background: var(--paper); }
.menu-item:hover { background: var(--paper); }
.menu-title-row h3 { font-family: 'Knockout', 'Arial Narrow', Arial, sans-serif; font-size: 25px; font-weight: 400; }
.menu-body p { font-size: 19px; line-height: 1.3; }
.price, .card-price, .special-chip-price, .modal-item-price, .modal-size-price {
  font-family: 'Cormorant Garamond', Georgia, serif;
  color: var(--charcoal);
  font-weight: 600;
}
.price { font-size: 27px; }
.menu-badge { font-size: 14px; letter-spacing: .6px; color: var(--cat-ink, var(--charcoal)); }
.tag { font-size: 15px; line-height: 1.2; }
.special-label { font-size: 16px; color: var(--charcoal); letter-spacing: 1.4px; }
.special-card h3 { font-size: 30px; line-height: 1.15; }
.special-card p { font-size: 20px; line-height: 1.3; }
.special-card { box-shadow: none; }

/* A compact Caminito teal block keeps the story distinct from the food cards. */
.story-note { background: var(--teal); color: var(--charcoal); border: 0; padding: 24px; border-radius: 12px; gap: 28px; }
.story-note h3 { font-size: 32px; line-height: 1.1; }
.story-note p { color: var(--charcoal); font-size: 21px; line-height: 1.35; }

.review p { font-size: 21px; line-height: 1.45; font-style: normal; }
.review-source { font-size: 16px; color: rgba(255,255,255,.75); letter-spacing: .9px; }
.review strong { font-size: 22px; }
.review-meta { font-size: 17px; color: rgba(255,255,255,.78); }
.review-toggle { font-size: 17px; min-height: 42px; }
.group-enquiry { font-size: 19px; }
.group-enquiry a { color: var(--charcoal); }
.hours-row strong { font-size: 21px; }
.hours-row span { overflow-wrap: anywhere; }
.visit-card a[style] { color: var(--charcoal) !important; }

/* Menu and item details retain their existing layout and spreadsheet content. */
.mtab { font-size: 21px; letter-spacing: .8px; color: var(--charcoal); }
.mtab.on { color: var(--charcoal); }
.cat-title { font-size: clamp(30px, 3vw, 40px); }
.cat-note { font-size: 20px; line-height: 1.35; }
.card-name { font-size: 25px; line-height: 1.15; }
.card-price { font-size: 27px; }
.card-desc { font-size: 19px; line-height: 1.3; }
.special-chip-label { color: var(--charcoal); font-size: 16px; }
.special-chip-name { font-size: 25px; }
.special-chip-price { font-size: 28px; }
.special-chip-desc { font-size: 19px; line-height: 1.3; }
.tag-v, .tag-note { font-size: 16px; color: var(--charcoal); }
.tag-a { font-size: 16px; }
.dp { font-size: 17px; background: var(--cream); }
.modal-item-name { font-size: 34px; line-height: 1.1; }
.modal-item-price { font-size: 32px; }
.modal-item-desc { font-size: 22px; line-height: 1.4; }
.modal-note { font-size: 20px; line-height: 1.35; background: var(--cream); color: var(--charcoal); font-style: normal; }
.modal-allergen, .modal-veg { font-size: 20px; color: var(--charcoal); }
.modal-section-label, .modal-size-label { font-size: 18px; }
.modal-size-price { font-size: 30px; }

.booking-hero .eyebrow { color: var(--gold); }
.booking-hero p { font-size: 23px; line-height: 1.35; }
.booking-hero h1 { line-height: 1.05; font-weight: 400; }
.booking-note { font-size: 20px; }
.booking-note a, .booking-group-link { color: var(--white); text-decoration: underline; text-underline-offset: 3px; }
.booking-note a:hover, .booking-group-link:hover { color: var(--gold); }
.footer { font-size: 19px; }
.footer h4 { font-size: 24px; }
.footer-tagline { color: var(--fire); font-size: 21px; line-height: 1.2; margin-top: 6px; letter-spacing: .6px; }
.footer-directions { color: var(--fire); font-size: 19px; letter-spacing: .8px; text-transform: uppercase; }
.footer-bottom { margin-top: 28px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); display: flex; flex-wrap: wrap; gap: 10px 20px; justify-content: space-between; font-size: 17px; color: rgba(255,255,255,.7); }
.footer-signup { color: var(--gold); }
.mobile-sticky .btn { font-size: 18px; }

@media (max-width: 940px) {
  .nav-links a { font-size: 20px; }
}
@media (max-width: 640px) {
  .logo img { width: 142px; }
  .footer-logo { width: 170px; }
  .hero { min-height: 0; padding: 112px 0 32px; }
  .hero h1 { font-size: clamp(43px, 12.3vw, 53px); }
  .hero-copy { font-size: 23px; }
  .hero-kicker { font-size: 16px; }
  .section-title { font-size: 40px; }
  .menu-body { padding: 14px; }
  .menu-title-row { gap: 8px; }
  .menu-title-row h3 { font-size: 24px; }
  .menu-body p { font-size: 19px; }
  .story-note { padding: 20px; gap: 18px; }
  .story-note h3 { font-size: 30px; }
  .story-note p { font-size: 21px; }
  .visit-card { padding: 24px; }
  .hours-row { flex-wrap: wrap; gap: 6px 14px; }
  .map-card { min-height: 260px; }
  .review p { font-size: 21px; }
  .booking-hero h1 { font-size: 48px; }
  .booking-hero p { font-size: 22px; }
}
