@font-face {
  font-family: "Gabriella";
  src: url("../fonts/Gabriella-Heavy.woff2") format("woff2"),
       url("../fonts/Gabriella-Heavy.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Europa";
  src: url("../fonts/Europa-Regular.woff2") format("woff2"),
       url("../fonts/Europa-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --bg: #fffdf9;
  --surface: #fffaf1;
  --surface-2: #f8efe4;
  --paper: #fff5ec;
  --paper-strong: #ffe1d0;
  --ink: #171312;
  --muted: #5d5550;
  --line: #1f1b1a;
  --line-soft: rgba(23, 19, 18, 0.12);
  --brand: #FF7300;
  --brand-deep: #d65a00;
  --brand-soft: #ffd7b8;
  --shadow: 0 6px 0 #121212;
  --shadow-soft: 0 24px 60px rgba(0, 0, 0, 0.09);
  --radius: 28px;
  --radius-sm: 20px;
  --container: 1720px;
  --page-gutter: max(100px, calc((100vw - var(--container)) / 2));
  --title: "Archivo Black", Arial, sans-serif;
  --heading-font: "Gabriella", "Archivo Black", Arial, sans-serif;
  --body: "Europa", "Manrope", Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: var(--body);
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;
}

p {
  font-family: "Europa", "Manrope", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 28px;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

.container {
  width: min(var(--container), calc(100% - 200px));
  max-width: var(--container);
  margin: 0 auto;
}

.section {
  padding: 96px 0;
}

.texture-bg {
  background:
    radial-gradient(circle at 20% 18%, rgba(255, 122, 0, 0.05), transparent 26%),
    radial-gradient(circle at 72% 12%, rgba(0, 0, 0, 0.025), transparent 20%),
    radial-gradient(circle at 36% 60%, rgba(255, 122, 0, 0.03), transparent 18%),
    linear-gradient(180deg, #fffdf9, #fff9f2);
  position: relative;
}

.texture-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.28;
  pointer-events: none;
  background-image:
    linear-gradient(transparent 97%, rgba(0, 0, 0, 0.018) 100%),
    radial-gradient(circle at 10% 15%, rgba(0, 0, 0, 0.02) 0, transparent 35%),
    radial-gradient(circle at 80% 20%, rgba(255, 122, 0, 0.02) 0, transparent 25%);
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: #ffffff;
  border-bottom: 1px solid #1f1b1a;
  transition: box-shadow 0.25s ease, background 0.25s ease;
}

.site-header.is-sticky {
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 68px;
}

.navbar {
  --bs-navbar-padding-y: 0;
}

.brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  padding: 4px 0;
}

.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: 18px;
}

.brand-logo {
  display: block;
  width: 168px;
  height: auto;
}

.brand-badge {
  display: block;
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.brand-mark {
  font-family: var(--title);
  font-size: 3rem;
  line-height: 0.95;
  letter-spacing: 0.02em;
  color: var(--brand);
}

.brand-tag {
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 26px;
}

.site-nav.navbar-nav {
  flex-direction: row;
}

.site-nav a,
.site-nav .nav-link {
  font-family: "Europa", "Manrope", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: #000000;
  transition: color 0.2s ease;
  padding: 0;
}

.site-nav a:hover,
.site-nav a.is-active,
.site-nav .nav-link:hover,
.site-nav .nav-link.is-active {
  color: var(--brand);
}

.menu-toggle {
  display: none;
  width: 52px;
  height: 52px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  padding: 0;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  cursor: pointer;
}

.navbar-toggler:focus {
  box-shadow: none;
}

.menu-toggle span {
  width: 22px;
  height: 2px;
  background: var(--ink);
  border-radius: 999px;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.menu-open .menu-toggle span:nth-child(1),
.menu-toggle[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}

.menu-open .menu-toggle span:nth-child(2),
.menu-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}

.menu-open .menu-toggle span:nth-child(3),
.menu-toggle[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

.footer-social {
  padding: 70px 0;
  border-top: 1px solid rgba(23, 19, 18, 0.16);
  border-bottom: 1px solid rgba(23, 19, 18, 0.16);
  background: #fffdf9;
}

.footer-social__copy {
  max-width: 100%;
}

.footer-social__heading {
  margin: 0;
  text-transform: uppercase;
  font-family: "Gabriella", Arial, sans-serif;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.05;
  letter-spacing: 0.01em;
  color: #0c0b0b;
}

.footer-social__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.footer-social__card {
  display: block;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
  text-decoration: none;
}

.footer-social__thumb {
  position: relative;
}

.footer-social__thumb img:first-child {
  width: 100%;
  aspect-ratio: 0.79 / 1;
  object-fit: cover;
  display: block;
}

.footer-social__play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 46px;
  height: 46px;
}

.footer-social__meta {
  height: 71px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  font-size: 0;
  color: transparent;
}

.footer-social__meta::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.footer-social__meta--instagram::before {
  width: 33px;
  height: 33px;
  background-image: url("data:image/svg+xml,%3Csvg width='33' height='33' viewBox='0 0 33 33' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.4956 10.9977C13.4658 10.9977 10.9933 13.4702 10.9933 16.5C10.9933 19.5298 13.4658 22.0023 16.4956 22.0023C19.5253 22.0023 21.9978 19.5298 21.9978 16.5C21.9978 13.4702 19.5253 10.9977 16.4956 10.9977ZM32.9982 16.5C32.9982 14.2215 33.0188 11.9636 32.8908 9.68915C32.7629 7.04736 32.1602 4.70278 30.2285 2.77097C28.2926 0.835041 25.9522 0.236512 23.3104 0.10855C21.0319 -0.0194112 18.7741 0.00122779 16.4997 0.00122779C14.2212 0.00122779 11.9633 -0.0194112 9.68897 0.10855C7.04723 0.236512 4.70269 0.839169 2.77092 2.77097C0.835026 4.70691 0.236507 7.04736 0.108548 9.68915C-0.0194109 11.9677 0.00122776 14.2256 0.00122776 16.5C0.00122776 18.7744 -0.0194109 21.0364 0.108548 23.3109C0.236507 25.9526 0.839153 28.2972 2.77092 30.229C4.70682 32.165 7.04723 32.7635 9.68897 32.8914C11.9675 33.0194 14.2253 32.9988 16.4997 32.9988C18.7782 32.9988 21.036 33.0194 23.3104 32.8914C25.9522 32.7635 28.2967 32.1608 30.2285 30.229C32.1644 28.2931 32.7629 25.9526 32.8908 23.3109C33.0229 21.0364 32.9982 18.7785 32.9982 16.5ZM16.4956 24.9661C11.8106 24.9661 8.02963 21.185 8.02963 16.5C8.02963 11.815 11.8106 8.0339 16.4956 8.0339C21.1805 8.0339 24.9615 11.815 24.9615 16.5C24.9615 21.185 21.1805 24.9661 16.4956 24.9661ZM25.3082 9.66438C24.2144 9.66438 23.3311 8.78103 23.3311 7.68717C23.3311 6.59331 24.2144 5.70996 25.3082 5.70996C26.4021 5.70996 27.2854 6.59331 27.2854 7.68717C27.2857 7.94691 27.2348 8.20417 27.1356 8.4442C27.0363 8.68424 26.8907 8.90233 26.707 9.086C26.5234 9.26966 26.3053 9.41529 26.0653 9.51454C25.8252 9.61379 25.568 9.66471 25.3082 9.66438Z' fill='%23FF7300'/%3E%3C/svg%3E");
}

.footer-social__meta--tiktok::before {
  width: 33px;
  height: 33px;
  background-image: url("data:image/svg+xml,%3Csvg width='34' height='34' viewBox='0 0 34 34' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M31.8963 8.52734C29.9559 8.52734 28.1656 7.88453 26.7279 6.80012C25.079 5.55699 23.8943 3.73348 23.4759 1.63172C23.371 1.10325 23.3159 0.566108 23.3113 0.0273438H17.7683V15.1733L17.7617 23.4694C17.7617 25.6874 16.3174 27.568 14.3152 28.2294C13.7155 28.4277 13.0838 28.5115 12.4532 28.4764C11.6191 28.4306 10.8375 28.1789 10.1582 27.7725C8.71251 26.9079 7.73235 25.3394 7.70579 23.5451C7.66395 20.7408 9.93106 18.4544 12.7334 18.4544C13.2866 18.4544 13.8178 18.5447 14.3152 18.7087V13.0808C13.7906 13.0031 13.2567 12.9626 12.7168 12.9626C9.6495 12.9626 6.78075 14.2376 4.73012 16.5346C3.1802 18.2705 2.25051 20.4851 2.10708 22.8073C1.91915 25.858 3.03544 28.758 5.20028 30.8976C5.51836 31.2117 5.85239 31.5032 6.20169 31.7722C8.05774 33.2006 10.3268 33.9749 12.7168 33.9749C13.2567 33.9749 13.7906 33.935 14.3152 33.8573C16.5478 33.5266 18.6077 32.5046 20.2333 30.8976C22.2308 28.9234 23.3345 26.3023 23.3465 23.5126L23.3179 11.1238C24.2731 11.8606 25.3194 12.4708 26.431 12.9394C28.1702 13.6732 30.0143 14.045 31.9122 14.0444V8.52601C31.9135 8.52734 31.8976 8.52734 31.8963 8.52734Z' fill='%23FF7300'/%3E%3C/svg%3E");
}

.footer-social__meta--facebook::before {
  width: 33px;
  height: 33px;
  background-image: url("data:image/svg+xml,%3Csvg width='21' height='41' viewBox='0 0 21 41' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.6319 40.4414V21.9955H19.821L20.7495 14.8047H13.6319V10.2144C13.6319 8.13317 14.2075 6.71482 17.1954 6.71482L21 6.71325V0.281533C20.342 0.19603 18.0835 0 15.4548 0C9.96574 0 6.2078 3.3505 6.2078 9.50225V14.8047H0V21.9955H6.2078V40.4414H13.6319Z' fill='%23FF7300'/%3E%3C/svg%3E");
}

@media (min-width: 1200px) {
  .footer-social .col-xl-5 {
    flex: 0 0 auto;
    width: 45%;
  }

  .footer-social .col-xl-7 {
    flex: 0 0 auto;
    width: 55%;
  }
}

@media (max-width: 1199.98px) {
  .footer-social__cards {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
  }
}

@media (max-width: 767.98px) {
  .footer-social {
    padding: 48px 0;
  }

  .footer-social__heading {
    font-size: 34px;
    line-height: 40px;
  }

  .footer-social__cards {
    grid-template-columns: 1fr;
  }

  .footer-social__meta {
    height: 60px;
  }
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 0 22px;
  border-radius: 999px;
  border: 2px solid var(--line);
  font-family: "Europa", "Manrope", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 32px;
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-primary {
  background: var(--brand);
  color: #fff;
  box-shadow: var(--shadow);
}

.btn-primary:hover {
  background: var(--brand-deep);
}

.btn-outline {
  background: #fff;
  color: var(--muted);
}

.btn-dark {
  background: #201b1a;
  color: #fff;
  box-shadow: 0 6px 0 #3c322f;
}

.btn-light {
  background: #fff;
  color: var(--ink);
  box-shadow: var(--shadow);
}

.btn-ghost {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.7);
}

.btn-sm {
  min-height: 58px;
  padding: 0 22px;
}

.nav-cta {
  min-height: 58px;
  padding: 0 22px;
  border: 1.5px solid #1f1b1a;
  border-radius: 999px;
  background: #ff7300;
  color: #ffffff;
  box-shadow: 4px 4px 0 #1f1b1a;
  font-family: "Europa", "Manrope", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 18px;
  line-height: 32px;
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.nav-cta:hover,
.nav-cta:focus {
  background: #ff7f10;
  color: #ffffff;
  box-shadow: 3px 3px 0 #1f1b1a;
}

.nav-cta:active {
  transform: translate(2px, 2px);
  box-shadow: 2px 2px 0 #1f1b1a;
}

.split-panel {
  align-items: stretch;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.split-panel > [class*="col-"] {
  display: flex;
  align-self: stretch;
}

.panel-pattern {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 30% 15%, rgba(255, 122, 0, 0.08), transparent 16%),
    radial-gradient(circle at 75% 18%, rgba(255, 122, 0, 0.06), transparent 13%),
    radial-gradient(circle at 55% 55%, rgba(255, 122, 0, 0.06), transparent 18%),
    linear-gradient(180deg, #fff8ed, #fffdf8);
}

.panel-pattern::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.16;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 82px, rgba(255, 122, 0, 0.2) 82px 85px, transparent 85px),
    linear-gradient(0deg, transparent 0 47%, rgba(255, 122, 0, 0.18) 47% 53%, transparent 53%),
    linear-gradient(90deg, transparent 0 47%, rgba(255, 122, 0, 0.18) 47% 53%, transparent 53%);
  background-size: cover, 100% 100%, 100% 100%;
}

.hero-copy,
.page-hero .hero-copy,
.location-copy {
  position: relative;
  z-index: 1;
  padding: 92px 56px 76px 0;
  min-height: 408px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  text-align: center;
}

.eyebrow {
  margin: 0 0 18px;
  color: var(--brand);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 800;
  font-size: 0.82rem;
}

.hero-section .eyebrow,
.page-hero .eyebrow {
  display: none;
}

.hero-title,
.section-heading h2,
.split-copy h2,
.cta-banner-copy h2,
.social-copy h2,
.menu-subtitle,
.dessert-panel h3,
.highlight-copy h2,
.step-card h3,
.reward-copy h3 {
  margin: 0;
  font-family: "Gabriella", "Archivo Black", Arial, sans-serif;
  font-style: normal;
  font-weight: 900;
  font-size: 54px;
  line-height: 64px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0;
}

.hero-title {
  font-family: "Gabriella", "Archivo Black", Arial, sans-serif;
  font-style: normal;
  font-weight: 900;
  font-size: 72px;
  line-height: 82px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0;
  color: #FF7300;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.hero-text,
.split-copy p,
.section-heading p,
.highlight-copy p,
.highlight-copy h3 {
  font-size: 20px;
  line-height: 28px;
  color: var(--muted);
}

.hero-text {
  max-width: 470px;
  margin: 18px auto 22px;
  font-size: 14px;
  line-height: 1.6;
  color: #37312d;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
}

.media-frame {
  min-height: 812px;
  height: 100%;
  border-left: 1px solid var(--line);
  overflow: hidden;
  background: #ffd9c0;
  width: 100%;
  display: flex;
}

.hero-media,
.location-map {
  width: 100%;
  display: flex;
  height: 100%;
}

.media-frame img,
.hero-media img,
.location-map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.promo-bar {
  background: #211c1b;
  color: #fff;
}

.promo-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 0;
}

.promo-copy {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

.promo-badge {
  font-family: var(--heading-font);
  font-size: 1.5rem;
  text-transform: uppercase;
}

.promo-highlight {
  color: var(--brand);
  font-family: var(--heading-font);
  font-size: 1.5rem;
  text-transform: uppercase;
}

.promo-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.section-heading {
  margin-bottom: 40px;
}

.section-heading.centered {
  max-width: 980px;
  margin-inline: auto;
  margin-bottom: 48px;
  text-align: center;
}

.section-heading h2,
.split-copy h2,
.cta-banner-copy h2,
.social-copy h2 {
  font-size: 54px;
  line-height: 64px;
}

.section-tags {
  margin-top: 18px;
  font-family: var(--heading-font);
  font-size: clamp(1.2rem, 2vw, 1.95rem);
  text-transform: uppercase;
  color: var(--ink);
}

.section-tags span {
  color: var(--brand);
  margin: 0 12px;
}

.card-grid {
  display: grid;
  gap: 24px;
}

.card-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.food-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1.5px solid rgba(0, 0, 0, 0.2);
  border-radius: 28px;
  background: var(--surface);
  box-shadow: var(--shadow-soft);
}

.food-card.featured {
  border-color: var(--brand);
}

.food-card-image {
  min-height: 260px;
  padding: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.food-card-image img {
  max-height: 230px;
  width: auto;
}

.food-card-body {
  padding: 28px 26px 30px;
}

.food-card-body h3,
.feature-copy h3,
.contact-card strong,
.menu-item h3,
.promo-card h3,
.menu-box li,
.story-point p strong {
  margin: 0 0 10px;
  font-family: "Gabriella", Arial, sans-serif;
  font-size: 22px;
  line-height: 25px;
}

.food-card-body p,
.feature-copy p,
.contact-card p,
.menu-item p,
.promo-card p,
.social-brand,
.reward-copy p,
.step-card p {
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 20px;
  line-height: 28px;
}

.section-action {
  margin-top: 42px;
  text-align: center;
}

.feature-ring {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(300px, 480px) repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: center;
}

.feature-copy {
  position: relative;
  z-index: 1;
}

.feature-copy:nth-child(1),
.feature-copy:nth-child(3) {
  text-align: right;
}

.feature-center {
  grid-column: 3;
  grid-row: 1 / span 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-center img {
  width: 100%;
  max-width: 440px;
}

.feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  min-height: 72px;
  padding: 10px 12px;
  border-radius: 50%;
  border: 2px solid var(--brand);
  color: var(--brand);
  font-size: 0.82rem;
  font-weight: 800;
  margin-bottom: 16px;
}

.feature-icon img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.split-grid {
  display: grid;
  grid-template-columns: 1.03fr 0.97fr;
  gap: 56px;
  align-items: center;
}

.split-grid-reverse {
  grid-template-columns: 0.88fr 1.12fr;
}

.split-copy p {
  margin: 0 0 20px;
}

.rewards-home-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px 54px;
  align-items: center;
}

.rewards-home-grid .split-copy h2 {
  max-width: 560px;
}

.check-list {
  list-style: none;
  margin: 28px 0 34px;
  padding: 0;
  display: grid;
  gap: 14px;
}

.check-list li {
  position: relative;
  padding-left: 28px;
  font-size: 1.08rem;
}

.check-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--brand);
  font-size: 1.5rem;
  line-height: 1;
}

.tall-stack {
  display: grid;
  gap: 28px;
}

.rounded-media {
  width: 100%;
  border-radius: 30px;
  box-shadow: var(--shadow-soft);
}

.rewards-top-crop {
  width: 100%;
  max-height: 360px;
  object-fit: cover;
  object-position: center bottom;
}

.rewards-framed {
  border: 2px solid rgba(0, 0, 0, 0.7);
  box-shadow: none;
}

.location-copy {
  min-height: 480px;
}

.contact-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 28px 0;
}

.contact-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 24px;
  background: rgba(255, 255, 255, 0.82);
  border: 1.5px solid rgba(0, 0, 0, 0.2);
  border-radius: 22px;
}

.contact-icon {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 122, 0, 0.12);
  color: var(--brand);
  font-size: 1rem;
  font-weight: 800;
  flex-shrink: 0;
}

.contact-icon img {
  width: 54px;
  height: 54px;
  object-fit: contain;
}

.cta-banner {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: 48px;
  padding: 34px 44px;
  border: 2px solid var(--line);
  border-radius: 34px;
  background:
    linear-gradient(135deg, #a94400 0%, #a94400 22%, transparent 22%),
    linear-gradient(90deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.09)),
    var(--brand);
  box-shadow: var(--shadow-soft);
}

.cta-banner-full {
  display: block;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.cta-banner-full img {
  width: 100%;
  display: block;
}

.cta-banner-media img {
  max-height: 360px;
  width: auto;
  margin: 0 auto;
}

.cta-banner-copy {
  color: #fff;
}

.cta-banner-copy .eyebrow {
  color: #ffe1d0;
}

.cta-banner-copy h2 {
  color: #fff;
}

.cta-banner-copy p {
  font-size: 1.18rem;
  max-width: 520px;
  color: rgba(255, 255, 255, 0.9);
}

.social-layout {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 48px;
  align-items: center;
}

.social-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.social-card {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}

.social-card img {
  width: 100%;
  aspect-ratio: 0.72 / 1;
  object-fit: cover;
}

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 74px;
  height: 74px;
  margin: -37px 0 0 -37px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--brand);
  font-size: 1.5rem;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
}

.social-brand {
  margin: 0;
  padding: 16px 18px;
  text-align: center;
  font-weight: 800;
  color: var(--brand);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.marquee-band {
  padding: 10px 0;
  background: var(--brand);
  overflow: hidden;
}

.marquee-text {
  text-align: center;
  font-size: 40px !important;
  line-height: 50px !important;
  text-transform: uppercase;
  color: #000000;
  font-family: "Gabriella", Arial, sans-serif;
}

.home-marquee__text {
  text-align: center;
  font-size: 40px !important;
  line-height: 50px !important;
  text-transform: uppercase;
  color: #000000;
  font-family: "Gabriella", Arial, sans-serif;
}

.marquee-band.home-marquee {
  background: #FF7300;
  padding: 16px 0 8px;
}

.site-footer {
  position: relative;
  background: #060606;
  color: #fff;
  overflow: hidden;
}

.site-footer::before {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background: #ff7300;
}

.site-footer a {
  color: inherit;
  text-decoration: none;
}

.site-footer__inner {
  padding-top: 46px;
  padding-bottom: 24px;
}

.site-footer__top {
  display: grid;
  grid-template-columns: 400px minmax(0, 1fr);
  gap: 32px 56px;
  align-items: start;
}

.site-footer__brand {
  padding-top: 2px;
}

.site-footer__logo {
  width: 374px;
  max-width: 100%;
  height: auto;
  display: block;
}

.site-footer__tag {
  margin-top: 12px;
  padding-left: 44px;
  font-family: "Europa", Arial, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 22px;
  text-transform: uppercase;
  letter-spacing: 0.01em;
  color: #ffffff;
  display: none;
}

.site-footer__content {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding-top: 10px;
}

.site-footer__nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 12px 34px;
  font-family: "Europa", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #ffffff;
}

.site-footer__contact {
  margin-top: 22px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 14px 34px;
  font-family: "Europa", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: #ffffff;
}

.site-footer__contact-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.site-footer__contact-marker {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 50%;
  background: #ff7300;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 1px rgba(255, 115, 0, 0.2);
}

.site-footer__contact-marker::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.site-footer__contact-item:first-child .site-footer__contact-marker::before {
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 14 14' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11.6375 12.25C10.4222 12.25 9.21919 11.9875 8.02842 11.4625C6.83764 10.9375 5.75594 10.1889 4.78333 9.21667C3.81072 8.24444 3.06211 7.16528 2.5375 5.97917C2.01289 4.79306 1.75039 3.5875 1.75 2.3625V1.75H5.19167L5.73125 4.68125L4.06875 6.35833C4.28264 6.7375 4.52083 7.09722 4.78333 7.4375C5.04583 7.77778 5.32778 8.09375 5.62917 8.38542C5.91111 8.66736 6.21989 8.93725 6.5555 9.19508C6.89111 9.45292 7.25317 9.69344 7.64167 9.91667L9.33333 8.225L12.25 8.82292V12.25H11.6375ZM3.51458 5.25L4.47708 4.2875L4.22917 2.91667H2.93125C2.97986 3.35417 3.05278 3.76503 3.15 4.14925C3.24722 4.53347 3.36875 4.90039 3.51458 5.25ZM8.73542 10.4708C9.12431 10.6361 9.51572 10.7674 9.90967 10.8646C10.3036 10.9618 10.6948 11.025 11.0833 11.0542V9.77083L9.7125 9.49375L8.73542 10.4708Z' fill='white'/%3E%3C/svg%3E");
}

.site-footer__contact-item:last-child .site-footer__contact-marker::before {
  width: 11px;
  height: 12px;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='12' viewBox='0 0 11 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M5.25 0C6.64239 0 7.97774 0.553123 8.96231 1.53769C9.94688 2.52226 10.5 3.85761 10.5 5.25C10.5 7.04317 9.52233 8.51083 8.49217 9.56375C7.97748 10.0841 7.41587 10.5559 6.8145 10.9731L6.566 11.1422L6.44933 11.2198L6.22942 11.3598L6.03342 11.4794L5.79075 11.6206C5.62604 11.7146 5.43966 11.764 5.25 11.764C5.06034 11.764 4.87396 11.7146 4.70925 11.6206L4.46658 11.4794L4.16325 11.2927L4.05125 11.2198L3.81208 11.0606C3.16332 10.6216 2.55903 10.1203 2.00783 9.56375C0.977667 8.51025 0 7.04317 0 5.25C0 3.85761 0.553123 2.52226 1.53769 1.53769C2.52226 0.553123 3.85761 0 5.25 0ZM5.25 1.16667C4.16703 1.16667 3.12842 1.59687 2.36265 2.36265C1.59687 3.12842 1.16667 4.16703 1.16667 5.25C1.16667 6.6045 1.90867 7.79333 2.84142 8.74767C3.24248 9.15366 3.67597 9.52629 4.13758 9.86183L4.40475 10.052C4.49108 10.1123 4.57411 10.1683 4.65383 10.22L4.88133 10.3658L5.08142 10.4878L5.25 10.5863L5.51542 10.4294L5.7295 10.2952C5.84344 10.2229 5.96536 10.1418 6.09525 10.052L6.36242 9.86183C6.82403 9.52629 7.25752 9.15366 7.65858 8.74767C8.59133 7.79392 9.33333 6.6045 9.33333 5.25C9.33333 4.16703 8.90313 3.12842 8.13735 2.36265C7.37158 1.59687 6.33297 1.16667 5.25 1.16667ZM5.25 2.91667C5.86884 2.91667 6.46233 3.1625 6.89992 3.60008C7.3375 4.03767 7.58333 4.63116 7.58333 5.25C7.58333 5.86884 7.3375 6.46233 6.89992 6.89992C6.46233 7.3375 5.86884 7.58333 5.25 7.58333C4.63116 7.58333 4.03767 7.3375 3.60008 6.89992C3.1625 6.46233 2.91667 5.86884 2.91667 5.25C2.91667 4.63116 3.1625 4.03767 3.60008 3.60008C4.03767 3.1625 4.63116 2.91667 5.25 2.91667ZM5.25 4.08333C4.94058 4.08333 4.64383 4.20625 4.42504 4.42504C4.20625 4.64383 4.08333 4.94058 4.08333 5.25C4.08333 5.55942 4.20625 5.85616 4.42504 6.07496C4.64383 6.29375 4.94058 6.41667 5.25 6.41667C5.55942 6.41667 5.85616 6.29375 6.07496 6.07496C6.29375 5.85616 6.41667 5.55942 6.41667 5.25C6.41667 4.94058 6.29375 4.64383 6.07496 4.42504C5.85616 4.20625 5.55942 4.08333 5.25 4.08333Z' fill='white'/%3E%3C/svg%3E");
}

.site-footer__divider {
  margin-top: 22px;
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.site-footer__bottom {
  padding-top: 14px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
}

.site-footer__copyright,
.site-footer__legal {
  font-family: "Europa", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #ffffff;
}

.site-footer__copyright {
  margin: 0;
}

.site-footer__social {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.site-footer__social a {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ff7300;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.site-footer__social a:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(255, 115, 0, 0.24);
}

.site-footer__social svg {
  display: block;
}

.site-footer__social .site-footer__social-instagram svg,
.site-footer__social .site-footer__social-tiktok svg {
  width: 13px;
  height: 13px;
}

.site-footer__social .site-footer__social-facebook svg {
  width: 8px;
  height: 15px;
}

.site-footer__social path {
  fill: #ffffff;
}

.site-footer__legal {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.site-footer__legal-sep {
  color: rgba(255, 255, 255, 0.72);
}

.site-footer__nav a:hover,
.site-footer__contact a:hover,
.site-footer__legal a:hover {
  color: #ff7300;
}

@media (max-width: 1199.98px) {
  .site-footer__top {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .site-footer__content {
    align-items: flex-start;
    padding-top: 0;
  }

  .site-footer__nav,
  .site-footer__contact {
    justify-content: flex-start;
  }

  .site-footer__bottom {
    grid-template-columns: 1fr;
    justify-items: start;
  }

  .site-footer__social {
    justify-content: flex-start;
  }

  .site-footer__legal {
    justify-content: flex-start;
  }
}

@media (max-width: 767.98px) {
  .home-marquee__text {
    font-size: 22px !important;
    line-height: 30px !important;
  }

  .site-footer__inner {
    padding-top: 34px;
    padding-bottom: 20px;
  }

  .site-footer__logo {
    width: 280px;
  }

  .site-footer__tag {
    padding-left: 32px;
    font-size: 14px;
    line-height: 20px;
  }

  .site-footer__nav {
    gap: 10px 18px;
    font-size: 13px;
    line-height: 18px;
  }

  .site-footer__contact {
    margin-top: 18px;
    gap: 12px 18px;
    font-size: 14px;
    line-height: 20px;
  }

  .site-footer__bottom {
    gap: 14px;
  }

  .site-footer__copyright,
  .site-footer__legal {
    font-size: 13px;
    line-height: 18px;
  }
}

.page-hero .hero-copy {
  min-height: 520px;
}

.page-hero .hero-title {
  font-size: 80px;
  line-height: 90px;
}

.dual-feature {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.15);
  box-shadow: var(--shadow-soft);
}

.highlight-panel {
  min-height: 620px;
  padding: 42px 44px 0;
  position: relative;
  overflow: hidden;
}

.highlight-panel.peach {
  background: #ffe1d3;
}

.highlight-panel.white {
  background: #fff;
}

.highlight-copy {
  position: relative;
  z-index: 1;
  max-width: 420px;
}

.highlight-copy h2 {
  font-size: 60px;
  line-height: 67px;
}

.highlight-copy h3 {
  color: var(--brand);
  margin: 16px 0 18px;
  font-size: 1.3rem;
  text-transform: uppercase;
}

.highlight-panel img {
  position: absolute;
  right: -30px;
  bottom: -30px;
  width: min(520px, 80%);
}

.menu-heading-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 999px;
  background: var(--brand);
  color: #fff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.menu-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.menu-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  padding: 22px 0;
  border-top: none;
}

.menu-item h3 {
  font-size: 1.6rem;
  margin-bottom: 8px;
  color: var(--brand);
}

.menu-item strong {
  font-size: 2rem;
  font-weight: 600;
}

.menu-subtitle {
  margin: 26px 0 8px;
  font-size: 60px;
  line-height: 67px;
}

.menu-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 26px;
}

.menu-box {
  padding: 6px 0;
}

.menu-box ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 14px;
}

.menu-box li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 18px;
  background: rgba(255, 255, 255, 0.78);
}

.menu-box .two-col li {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.inline-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
}

.inline-title span {
  font-size: 2rem;
}

.menu-promos {
  margin-top: 42px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.promo-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  border-radius: 28px;
  border: 1px solid rgba(0, 0, 0, 0.14);
  padding: 30px 34px;
  box-shadow: var(--shadow-soft);
}

.promo-card.peach {
  background: #ffe1d3;
}

.promo-card h3 {
  font-size: clamp(2rem, 4vw, 3.2rem);
}

.promo-card strong {
  font-size: 2.5rem;
}

.dessert-panel {
  margin-top: 24px;
  display: flex;
  flex-wrap: wrap;
  gap: 24px 48px;
  align-items: center;
  justify-content: space-between;
}

.dessert-flavors {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 26px;
  color: var(--muted);
  font-size: 1.08rem;
}

.halal-section .split-grid {
  align-items: start;
}

.story-points {
  display: grid;
  gap: 24px;
  margin-top: 28px;
}

.story-point {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: start;
  padding-bottom: 20px;
  border-bottom: 1px dashed rgba(0, 0, 0, 0.12);
}

.story-badge img {
  background: transparent;
}

.steps-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
  margin-top: 54px;
}

.step-card {
  text-align: center;
}

.step-icon {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  margin: 0 auto 26px;
  background: linear-gradient(180deg, #FF7300, #ff9a32);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--heading-font);
  font-size: 3rem;
  box-shadow: 0 16px 32px rgba(255, 122, 0, 0.22);
}

.step-card h3 {
  font-size: 60px;
  line-height: 67px;
  margin-bottom: 12px;
}

.rewards-wheel-wrap {
  display: flex;
  justify-content: center;
  margin-top: 56px;
}

.rewards-wheel {
  position: relative;
  width: min(720px, 100%);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #fff 0 38%, transparent 38%),
    conic-gradient(from 210deg, rgba(255, 122, 0, 0.22), rgba(255, 122, 0, 0.42), rgba(255, 122, 0, 0.22));
  box-shadow: inset 0 0 0 26px rgba(255, 255, 255, 0.96), 0 24px 80px rgba(0, 0, 0, 0.08);
}

.wheel-center {
  position: absolute;
  inset: 16%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 50px rgba(0, 0, 0, 0.03);
}

.wheel-brand {
  font-family: var(--title);
  color: var(--brand);
  font-size: 2.2rem;
  letter-spacing: 0.03em;
}

.wheel-center strong {
  display: block;
  margin: 20px 0 12px;
  font-family: var(--title);
  font-size: clamp(3rem, 8vw, 5.8rem);
}

.wheel-center p {
  margin: 0;
  max-width: 270px;
  font-size: 1.1rem;
  text-transform: uppercase;
}

.wheel-center a {
  margin-top: 24px;
  text-decoration: underline;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.wheel-label {
  position: absolute;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 4px solid var(--brand);
  font-weight: 800;
}

.label-top {
  top: 7%;
  left: 50%;
  transform: translateX(-50%);
}

.label-left-top {
  top: 24%;
  left: 16%;
}

.label-right-top {
  top: 24%;
  right: 16%;
}

.label-left-mid {
  top: 50%;
  left: 8%;
  transform: translateY(-50%);
}

.label-right-mid {
  top: 56%;
  right: 8%;
  transform: translateY(-50%);
}

.label-left-bottom {
  bottom: 13%;
  left: 16%;
}

.rewards-subheading {
  margin-top: 60px;
}

.rewards-carousel {
  position: relative;
  margin-top: 28px;
}

.rewards-track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  transition: transform 0.35s ease;
}

.reward-slide {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 22px;
  padding: 28px 22px 24px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 28px;
}

.reward-slide.is-active {
  border-color: var(--brand);
}

.reward-chip {
  position: absolute;
  top: 18px;
  left: 18px;
  padding: 8px 14px;
  border-radius: 10px;
  background: #161211;
  color: #fff;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.reward-media {
  margin-top: 34px;
}

.reward-media img {
  width: 100px;
  height: 100px;
  object-fit: contain;
}

.reward-copy h3 {
  margin-top: 34px;
  font-size: 60px;
  line-height: 67px;
}

.reward-copy span {
  color: var(--muted);
}

.slider-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.96);
  color: var(--ink);
  font-size: 2rem;
  cursor: pointer;
  z-index: 2;
  box-shadow: var(--shadow-soft);
}

.slider-control.prev {
  left: -22px;
}

.slider-control.next {
  right: -22px;
}

.slider-dots {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 24px;
}

.reward-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: 0;
  background: rgba(0, 0, 0, 0.14);
  cursor: pointer;
  padding: 0;
}

.reward-dot.is-active {
  width: 14px;
  height: 14px;
  background: var(--brand);
}

[data-track].is-mobile {
  display: flex;
  overflow: hidden;
}

@media (max-width: 425px) {
  .marquee-text {
    font-size: 22px !important;
    line-height: 30px !important;
  }

  .menu-item {
    grid-template-columns: 1fr;
    padding: 5px 0;
  }

  .menu-template .marquee-text,
  .menu-template .home-marquee__text {
    font-size: 22px !important;
    line-height: 32px !important;
  }

  .menu-template .site-footer__inner {
    padding-top: 26px;
    padding-bottom: 16px;
  }

  .menu-template .site-footer__logo {
    width: 180px;
  }

  .menu-template .site-footer__tag {
    padding-left: 24px;
    font-size: 10px;
    line-height: 14px;
  }

  .menu-template .site-footer__nav {
    gap: 8px 12px;
    font-size: 12px;
    line-height: 16px;
  }

  .menu-template .site-footer__contact {
    margin-top: 12px;
    gap: 10px 12px;
    font-size: 12px;
    line-height: 16px;
  }

  .menu-template .site-footer__contact-marker {
    width: 20px;
    height: 20px;
  }

  .menu-template .site-footer__bottom {
    gap: 10px;
  }

  .menu-template .site-footer__copyright,
  .menu-template .site-footer__legal {
    font-size: 10px;
    line-height: 14px;
  }

  .site-footer a {
    color: inherit;
    text-decoration: none;
    font-size: 15px;
  }

  .site-footer p,
  .site-footer li,
  .site-footer span,
  .site-footer label,
  .site-footer input,
  .site-footer textarea,
  .site-footer select,
  .site-footer button {
    font-size: 16px;
    line-height: 24px;
  }
}
