/* ==========================================================================
   Rendezvous Caffe — Homepage redesign (2026-07-30)
   Scoped under .rd-* classes so it never touches other pages.
   Load AFTER styles.css so tokens can be re-declared for this page.
   ========================================================================== */

:root {
  --rd-green: #1E5B49;
  --rd-green-dark: #154439;
  --rd-green-deep: #0F3229;
  --rd-gold: #B5843A;
  --rd-gold-dark: #8B6429;
  --rd-cream: #FFF8F0;
  --rd-cream-alt: #F5E6D3;
  --rd-ink: #1F2123;
  --rd-muted: #6E7477;
  --rd-line: #EAE2D4;
}

/* Give the fixed navbar breathing room */
.rd-page main { background: var(--rd-cream); }

/* ---------- HERO ---------- */
.rd-hero {
  padding: 120px 24px 96px;
  background:
    linear-gradient(90deg,
      rgba(4, 15, 11, 0.98) 0%,
      rgba(4, 15, 11, 0.94) 30%,
      rgba(4, 15, 11, 0.70) 60%,
      rgba(4, 15, 11, 0.25) 100%),
    url('assets/images/hero-bg-2000.webp?v=3') center/cover no-repeat,
    #06140F;
  color: #fff;
}
.rd-hero {
  background-image:
    linear-gradient(90deg,
      rgba(4, 15, 11, 0.98) 0%,
      rgba(4, 15, 11, 0.94) 30%,
      rgba(4, 15, 11, 0.70) 60%,
      rgba(4, 15, 11, 0.25) 100%),
    -webkit-image-set(
      url('assets/images/hero-bg-2000.webp?v=3') type('image/webp'),
      url('assets/images/hero-bg-2000.jpg?v=3') type('image/jpeg')
    );
  background-image:
    linear-gradient(90deg,
      rgba(4, 15, 11, 0.98) 0%,
      rgba(4, 15, 11, 0.94) 30%,
      rgba(4, 15, 11, 0.70) 60%,
      rgba(4, 15, 11, 0.25) 100%),
    image-set(
      url('assets/images/hero-bg-2000.webp?v=3') type('image/webp'),
      url('assets/images/hero-bg-2000.jpg?v=3') type('image/jpeg')
    );
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}
/* Dark-hero text — high contrast + subtle shadow for legibility on the photo */
.rd-hero .rd-kicker {
  background: var(--rd-gold);
  border-color: var(--rd-gold);
  color: var(--rd-ink);
  text-shadow: none;
}
.rd-hero h1 {
  color: #FFFCF6 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7), 0 0 40px rgba(0, 0, 0, 0.5);
  font-weight: 700;
}
.rd-hero__lede {
  color: #F5E6C8 !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
}
.rd-hero .rd-btn--primary { background: var(--rd-gold); color: var(--rd-ink); }
.rd-hero .rd-btn--primary:hover { background: var(--rd-gold-dark); color: #fff; }
.rd-hero .rd-btn--ghost { color: #fff; border-color: #fff; }
.rd-hero .rd-btn--ghost:hover { background: #fff; color: var(--rd-green-dark); }
.rd-hero__trust {
  color: #FFF3DE !important;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55);
}
.rd-hero__trust .sep { color: rgba(255, 255, 255, 0.4) !important; }
.rd-hero__rating { color: var(--rd-gold) !important; font-weight: 700; }
/* Mobile: KEEP the atmospheric bg image + dark scrim + light text (mirror desktop) */
@media (max-width: 768px) {
  .rd-hero {
    background-image:
      linear-gradient(180deg,
        rgba(4, 15, 11, 0.88) 0%,
        rgba(4, 15, 11, 0.80) 60%,
        rgba(4, 15, 11, 0.65) 100%),
      url('assets/images/hero-bg-2000.webp?v=3') !important;
    background-size: cover !important;
    background-position: center right !important;
  }
}
.rd-hero__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 64px;
  align-items: center;
}
.rd-hero__content { max-width: 640px; }

/* Desktop: hide the product-card overlay so the bg image is the sole visual */
@media (min-width: 769px) {
  .rd-hero__inner {
    grid-template-columns: 1fr;
    min-height: 480px;
  }
  .rd-hero__media { display: none; }
  .rd-hero__content { max-width: 620px; }
}

.rd-kicker {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(21, 68, 57, 0.08);
  border: 1px solid rgba(21, 68, 57, 0.15);
  color: var(--rd-green-dark);
  font: 600 12px/1 'Inter', sans-serif;
  letter-spacing: 0.08em;
  margin-bottom: 24px;
}

.rd-hero h1 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: clamp(2.4rem, 5.5vw, 4.4rem);
  line-height: 1.05;
  color: var(--rd-ink);
  margin: 0 0 24px;
  letter-spacing: -0.01em;
}
.rd-hero__lede {
  font: 400 1.15rem/1.55 'Inter', sans-serif;
  color: #47494c;
  margin: 0 0 32px;
}
.rd-hero__ctas {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.rd-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 30px;
  border-radius: 999px;
  font: 600 15px/1 'Inter', sans-serif;
  text-decoration: none;
  border: 1.5px solid transparent;
  transition: transform .08s ease, background .2s ease, color .2s ease;
  cursor: pointer;
}
.rd-btn:active { transform: translateY(1px); }
.rd-btn--primary {
  background: var(--rd-green-dark);
  color: #fff;
}
.rd-btn--primary:hover { background: var(--rd-green-deep); color: #fff; }
.rd-btn--ghost {
  background: transparent;
  color: var(--rd-green-dark);
  border-color: var(--rd-green-dark);
}
.rd-btn--ghost:hover { background: var(--rd-green-dark); color: #fff; }
.rd-btn--gold {
  background: var(--rd-gold);
  color: var(--rd-ink);
}
.rd-btn--gold:hover { background: var(--rd-gold-dark); color: #fff; }
.rd-btn--outline-light {
  background: transparent;
  color: #fff;
  border-color: #fff;
}
.rd-btn--outline-light:hover { background: #fff; color: var(--rd-green-dark); }

.rd-hero__trust {
  display: flex;
  gap: 14px;
  align-items: center;
  flex-wrap: wrap;
  font: 500 14px/1.4 'Inter', sans-serif;
  color: #3a3c3f;
  padding-top: 8px;
}
.rd-hero__rating { color: var(--rd-gold); font-weight: 600; }
.rd-hero__trust .sep { color: #bdbdbd; }

.rd-hero__media {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  aspect-ratio: 3/2;
  background: var(--rd-green);
  box-shadow: 0 30px 60px -30px rgba(15, 50, 41, 0.35);
}
.rd-hero__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* ---------- USP STRIP ---------- */
.rd-usps {
  background: var(--rd-green-dark);
  padding: 26px 24px;
}
.rd-usps__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.rd-usp {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #FFF3DE;
  font: 500 14px/1 'Inter', sans-serif;
  letter-spacing: 0.03em;
}
.rd-usp::before {
  content: '';
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--rd-gold);
}

/* ---------- DISHES ---------- */
.rd-dishes {
  padding: 120px 24px;
  background: var(--rd-cream);
}
.rd-section-head {
  max-width: 780px;
  margin: 0 auto 56px;
  text-align: center;
}
.rd-eyebrow {
  display: inline-block;
  color: var(--rd-gold);
  font: 600 12px/1 'Inter', sans-serif;
  letter-spacing: 0.14em;
  margin-bottom: 14px;
}
.rd-section-head h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: clamp(2rem, 4vw, 3rem);
  color: var(--rd-ink);
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}
.rd-section-head p {
  color: var(--rd-muted);
  font: 400 1.1rem/1.5 'Inter', sans-serif;
  margin: 0;
}

.rd-dish-grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.rd-dish {
  background: #fff;
  border: 1px solid var(--rd-line);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 12px 30px -18px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  transition: transform .2s ease, box-shadow .2s ease;
}
.rd-dish:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 40px -18px rgba(0, 0, 0, 0.22);
}
.rd-dish__media {
  position: relative;
  aspect-ratio: 4/3;
  background: var(--rd-green);
  overflow: hidden;
}
.rd-dish__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.rd-tag {
  position: absolute;
  top: 16px; left: 16px;
  padding: 6px 10px;
  border-radius: 6px;
  background: var(--rd-gold);
  color: #fff;
  font: 700 10px/1 'Inter', sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.rd-dish__body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.rd-dish__name {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--rd-ink);
  margin: 0;
  line-height: 1.2;
}
.rd-dish__desc {
  color: var(--rd-muted);
  font: 400 0.92rem/1.55 'Inter', sans-serif;
  margin: 0;
  flex: 1;
}
.rd-dish__foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 4px;
}
.rd-price {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--rd-gold);
}
.rd-dish__link {
  color: var(--rd-green-dark);
  font: 600 13px/1 'Inter', sans-serif;
  text-decoration: none;
}
.rd-dish__link:hover { color: var(--rd-gold-dark); }
.rd-dishes__cta {
  text-align: center;
  margin-top: 48px;
}

/* ---------- REVIEWS ---------- */
.rd-reviews {
  padding: 120px 24px;
  background: var(--rd-cream-alt);
}
.rd-featured {
  max-width: 1080px;
  margin: 0 auto 40px;
  background: #fff;
  border-radius: 24px;
  padding: 56px 64px;
  box-shadow: 0 16px 40px -20px rgba(0, 0, 0, 0.12);
  text-align: center;
}
.rd-featured__quote-mark {
  font-family: 'Playfair Display', serif;
  color: rgba(181, 132, 58, 0.5);
  font-size: 6rem;
  line-height: 0.6;
  margin: 0 0 8px;
}
.rd-featured__quote {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: clamp(1.3rem, 2.3vw, 1.8rem);
  line-height: 1.45;
  color: var(--rd-ink);
  margin: 0 0 24px;
}
.rd-featured__by {
  font: 600 15px/1 'Inter', sans-serif;
  color: var(--rd-ink);
  margin-bottom: 4px;
}
.rd-featured__meta {
  font: 400 13px/1 'Inter', sans-serif;
  color: var(--rd-muted);
}

/* Keep dynamic reviews grid but restyle the container */
.rd-reviews .reviews-grid-v2 {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.rd-reviews .review-card,
.rd-reviews .review-card-v2 {
  background: #fff;
  border: 1px solid #E7DEC9;
  border-radius: 16px;
  padding: 24px;
}
.rd-reviews .leave-review-section { margin-top: 40px; }

/* ---------- BIRTHDAY CLUB ---------- */
.rd-birthday {
  padding: 32px 24px 32px;
  background: var(--rd-cream);
}
.rd-birthday__panel {
  max-width: 1280px;
  margin: 0 auto;
  background: var(--rd-green-dark);
  border-radius: 32px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: stretch;
}
.rd-birthday__content {
  padding: 64px 56px;
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: flex-start;
}
.rd-birthday .rd-eyebrow { color: var(--rd-gold); margin: 0; }
.rd-birthday h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  line-height: 1.15;
  color: #fff;
  margin: 0;
}
.rd-birthday p {
  color: #FFF3DE;
  font: 400 1rem/1.55 'Inter', sans-serif;
  margin: 0;
  max-width: 46ch;
}
.rd-birthday__media {
  min-height: 380px;
  background: var(--rd-green) center/cover no-repeat;
}
.rd-birthday__media img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

/* ---------- FAQ ---------- */
.rd-faq {
  padding: 120px 24px;
  background: #fff;
}
.rd-faq__list {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rd-faq__item {
  background: #FAF6EE;
  border-radius: 12px;
  border: 1px solid transparent;
  transition: border-color .2s ease, background .2s ease;
}
.rd-faq__item[open] {
  background: var(--rd-cream);
  border-color: rgba(21, 68, 57, 0.15);
}
.rd-faq__btn {
  padding: 18px 24px;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font: 600 17px/1.3 'Inter', sans-serif;
  color: var(--rd-ink);
  user-select: none;
}
.rd-faq__btn::-webkit-details-marker { display: none; }
.rd-faq__btn::marker { content: ''; }
.rd-faq__toggle {
  color: var(--rd-green-dark);
  font-size: 22px;
  line-height: 1;
  flex-shrink: 0;
  transition: transform .2s ease;
  width: 22px;
  text-align: center;
  font-weight: 400;
}
.rd-faq__item[open] .rd-faq__toggle { transform: rotate(45deg); }
.rd-faq__ans {
  padding: 0 24px 20px;
  color: #3a3c3f;
  font: 400 15px/1.6 'Inter', sans-serif;
}

/* ---------- VISIT CTA ---------- */
.rd-visit {
  padding: 80px 24px;
  background:
    linear-gradient(90deg,
      rgba(6, 20, 15, 0.90) 0%,
      rgba(6, 20, 15, 0.72) 45%,
      rgba(6, 20, 15, 0.40) 85%,
      rgba(6, 20, 15, 0.20) 100%),
    url('assets/images/cta-bg-2000.webp?v=1') center/cover no-repeat,
    var(--rd-green-dark);
}
.rd-visit {
  background-image:
    linear-gradient(90deg,
      rgba(6, 20, 15, 0.90) 0%,
      rgba(6, 20, 15, 0.72) 45%,
      rgba(6, 20, 15, 0.40) 85%,
      rgba(6, 20, 15, 0.20) 100%),
    -webkit-image-set(
      url('assets/images/cta-bg-2000.webp?v=1') type('image/webp'),
      url('assets/images/cta-bg-2000.jpg?v=1') type('image/jpeg')
    );
  background-image:
    linear-gradient(90deg,
      rgba(6, 20, 15, 0.90) 0%,
      rgba(6, 20, 15, 0.72) 45%,
      rgba(6, 20, 15, 0.40) 85%,
      rgba(6, 20, 15, 0.20) 100%),
    image-set(
      url('assets/images/cta-bg-2000.webp?v=1') type('image/webp'),
      url('assets/images/cta-bg-2000.jpg?v=1') type('image/jpeg')
    );
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}
/* Mobile: keep the atmospheric CTA bg image (mirror desktop) */
@media (max-width: 768px) {
  .rd-visit {
    background-image:
      linear-gradient(180deg,
        rgba(6, 20, 15, 0.88) 0%,
        rgba(6, 20, 15, 0.75) 60%,
        rgba(6, 20, 15, 0.55) 100%),
      url('assets/images/cta-bg-2000.webp?v=1') !important;
    background-size: cover !important;
    background-position: center right !important;
  }
}
.rd-visit__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr auto;
  gap: 48px;
  align-items: center;
}
.rd-visit h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  line-height: 1.15;
  color: #fff;
  margin: 0 0 12px;
}
.rd-visit p {
  color: #FFF3DE;
  font: 400 1.05rem/1.5 'Inter', sans-serif;
  margin: 0;
}
.rd-visit__ctas {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.rd-visit__ctas .rd-btn { justify-content: center; }

/* ==========================================================================
   Mobile (< 900px)
   ========================================================================== */
@media (max-width: 900px) {
  .rd-hero { padding: 96px 20px 64px; }
  .rd-hero__inner { grid-template-columns: 1fr; gap: 40px; }
  .rd-hero__media { max-width: 480px; margin: 0 auto; aspect-ratio: 3/2; width: 100%; }
  .rd-dish-grid { grid-template-columns: 1fr; gap: 20px; max-width: 480px; margin-left: auto; margin-right: auto; }
  .rd-reviews .reviews-grid-v2 { grid-template-columns: 1fr; }
  .rd-featured { padding: 40px 24px; }
  .rd-birthday__panel { grid-template-columns: 1fr; }
  .rd-birthday__content { padding: 40px 28px; }
  .rd-birthday__media { min-height: 240px; order: -1; }
  .rd-visit__inner { grid-template-columns: 1fr; gap: 32px; }
  .rd-visit__ctas { flex-direction: row; flex-wrap: wrap; }
  .rd-visit__ctas .rd-btn { flex: 1 1 220px; }
  .rd-dishes, .rd-reviews, .rd-faq { padding: 80px 20px; }
  .rd-usps__inner { justify-content: flex-start; gap: 16px 24px; }
}

@media (max-width: 560px) {
  .rd-hero h1 { font-size: clamp(2rem, 8.5vw, 2.6rem); }
  .rd-btn { padding: 14px 22px; font-size: 14px; }
  .rd-hero__ctas .rd-btn { flex: 1 1 auto; justify-content: center; }
  .rd-featured__quote-mark { font-size: 4rem; }
  .rd-usp { font-size: 13px; }
}

/* Kill any accidental gap between the visit CTA and the footer */
.rd-page main { margin: 0; padding: 0; }
.rd-visit { margin: 0; }
.rd-page .footer-v2 { margin-top: 0 !important; }

/* Homepage nav — transparent circle logo, no duplicate brand text */
.rd-page .navbar .nav-logo { display: flex !important; align-items: center; }
.rd-page .navbar .nav-logo a { display: inline-flex !important; align-items: center; }
.rd-page .navbar .nav-logo .logo-image {
  display: block !important;
  width: 52px !important;
  height: 52px !important;
  max-height: 52px !important;
  object-fit: contain;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.rd-page .navbar .nav-brand-block { display: none !important; }

/* ==========================================================================
   FLOATING FOOTER (redesign)
   Contained dark-green card with rounded corners, sits on the visit CTA
   dark-green above and a slim cream margin all round.
   ========================================================================== */
/* Edge-to-edge footer (no floating card) */
.rd-footer-wrap {
  padding: 0;
  display: block;
  background:
    linear-gradient(180deg,
      rgba(15, 50, 41, 0.86) 0%,
      rgba(15, 50, 41, 0.94) 55%,
      rgba(15, 50, 41, 0.97) 100%),
    url('assets/images/footer-bg-2000.webp?v=1') center/cover no-repeat,
    var(--rd-green-deep);
}
/* Safari + mobile fallback: no fixed attachment, .jpg fallback via image-set */
.rd-footer-wrap {
  background-image:
    linear-gradient(180deg,
      rgba(15, 50, 41, 0.86) 0%,
      rgba(15, 50, 41, 0.94) 55%,
      rgba(15, 50, 41, 0.97) 100%),
    -webkit-image-set(
      url('assets/images/footer-bg-2000.webp?v=1') type('image/webp'),
      url('assets/images/footer-bg-2000.jpg?v=1') type('image/jpeg')
    );
  background-image:
    linear-gradient(180deg,
      rgba(15, 50, 41, 0.86) 0%,
      rgba(15, 50, 41, 0.94) 55%,
      rgba(15, 50, 41, 0.97) 100%),
    image-set(
      url('assets/images/footer-bg-2000.webp?v=1') type('image/webp'),
      url('assets/images/footer-bg-2000.jpg?v=1') type('image/jpeg')
    );
  background-size: cover, cover;
  background-position: center, center 30%;
  background-repeat: no-repeat, no-repeat;
}
/* Mobile: keep the coffee-cups bg image (mirror desktop) */
@media (max-width: 768px) {
  .rd-footer-wrap {
    background-image:
      linear-gradient(180deg,
        rgba(15, 50, 41, 0.92) 0%,
        rgba(15, 50, 41, 0.96) 100%),
      url('assets/images/footer-bg-2000.webp?v=1') !important;
    background-size: cover !important;
    background-position: center !important;
  }
}
.rd-footer-card {
  max-width: 1280px;
  margin: 0 auto;
  background: transparent;
  color: #fff;
  border-radius: 0;
  padding: 44px 32px 20px;
  box-shadow: none;
}
.rd-footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 28px 40px;
  align-items: start;
}
/* v2: fixed 3-col with brand widest */
.rd-footer-grid--v2 {
  grid-template-columns: 1.3fr 1fr 1fr;
}
.rd-fcol { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.rd-fcol--brand { gap: 14px; }

/* v2 brand: logo + name inline */
.rd-fbrand-row {
  display: flex;
  align-items: center;
  gap: 14px;
}
.rd-fbrand-mark {
  width: 56px;
  height: 56px;
  display: block;
  object-fit: contain;
}
.rd-fbrand-name {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 20px;
  color: #fff;
  line-height: 1.1;
}

/* Horizontal quick-link chips (v2) */
.rd-flinks-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 4px;
}
.rd-flinks-chips a {
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.15);
  color: #fff;
  font: 500 12px/1 'Inter', sans-serif;
  text-decoration: none;
  transition: background .2s, border-color .2s;
}
.rd-flinks-chips a:hover {
  background: rgba(255,255,255,0.08);
  border-color: var(--rd-gold);
}

.rd-fbrand img {
  width: 72px; height: 72px; display: block;
  object-fit: contain;
}
.rd-fblurb {
  color: #d9d8d3;
  font: 400 14px/1.65 'Inter', sans-serif;
  margin: 0;
  max-width: 42ch;
}
.rd-fbadge {
  display: inline-block;
  padding: 6px 12px;
  border: 1px solid var(--rd-gold);
  border-radius: 999px;
  color: var(--rd-gold);
  font: 600 11px/1 'Inter', sans-serif;
  letter-spacing: 0.06em;
  align-self: flex-start;
}

.rd-feyebrow {
  color: var(--rd-gold);
  font: 600 12px/1 'Inter', sans-serif;
  letter-spacing: 0.12em;
  margin: 0 0 4px;
  text-transform: uppercase;
}
.rd-fbody {
  color: #fff;
  font: 400 14px/1.7 'Inter', sans-serif;
  margin: 0 0 8px;
}
.rd-fbody a {
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.15);
  transition: border-color .2s;
}
.rd-fbody a:hover { border-color: var(--rd-gold); }

.rd-review-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--rd-ink);
  padding: 9px 14px;
  border-radius: 999px;
  font: 600 12.5px/1 'Inter', sans-serif;
  text-decoration: none;
  align-self: flex-start;
  transition: transform .15s ease, box-shadow .2s ease;
}
.rd-review-pill:hover { transform: translateY(-1px); box-shadow: 0 6px 16px -6px rgba(0,0,0,0.25); }

.rd-fsocials { display: flex; gap: 10px; }
.rd-fsocial {
  width: 40px; height: 40px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.2);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  text-decoration: none;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.rd-fsocial:hover { background: var(--rd-gold); border-color: var(--rd-gold); color: var(--rd-ink); }

.rd-flinks {
  display: flex; flex-direction: column; gap: 8px;
  padding-top: 8px;
}
.rd-flinks a {
  color: #fff;
  font: 500 14px/1.4 'Inter', sans-serif;
  text-decoration: none;
  transition: color .2s;
}
.rd-flinks a:hover { color: var(--rd-gold); }

.rd-fdivider {
  height: 1px;
  background: rgba(255,255,255,0.1);
  margin: 24px 0 14px;
}
.rd-fcopy {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  color: #b7b6b0;
  font: 400 12px/1.5 'Inter', sans-serif;
}
.rd-fheart {
  color: #e05a5a;
  display: inline-block;
  animation: rd-heartbeat 1.8s ease-in-out infinite;
}
.rd-fcredit {
  color: var(--rd-gold);
  text-decoration: none;
  font-weight: 600;
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease;
}
.rd-fcredit:hover { border-color: var(--rd-gold); }
@keyframes rd-heartbeat {
  0%, 40%, 100% { transform: scale(1); }
  20% { transform: scale(1.2); }
}

/* Kill the OLD footer-v2 rules on the homepage so they don't fight us */
.rd-page footer.footer-v2:not(.rd-footer-wrap) { display: none; }

/* ==========================================================================
   MENU PAGE — redesign overrides (layered on .bcm-* classes)
   ========================================================================== */
/* 1. HERO — dark cafe bg image with light text.
   The image is landscape 21:9 — keep the hero short so the props on both
   edges (milk jug left, espresso cup right) stay visible instead of being
   cropped away by a tall container. */
.rd-page .bcm-hero {
  min-height: 0 !important;
  padding: 100px 24px 40px !important;
  color: #fff !important;
  text-align: center !important;
  background-color: #06140F !important;
  background-image:
    linear-gradient(180deg,
      rgba(4, 15, 11, 0.35) 0%,
      rgba(4, 15, 11, 0.20) 50%,
      rgba(4, 15, 11, 0.60) 100%),
    url('assets/images/menu-hero-bg-2000.webp?v=1') !important;
  background-size: cover, cover !important;
  background-position: center, center !important;
  background-repeat: no-repeat, no-repeat !important;
}
.rd-page .bcm-hero::before,
.rd-page .bcm-hero::after {
  display: none !important;
}
.rd-page .bcm-hero-inner {
  max-width: 780px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.rd-page .bcm-hero-grid,
.rd-page .bcm-hero-text,
.rd-page .bcm-hero-art { display: none !important; }
.rd-page .bcm-hero h1 {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: clamp(2.5rem, 5vw, 3.8rem) !important;
  color: #FFFCF6 !important;
  margin: 14px 0 10px !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6), 0 0 40px rgba(0, 0, 0, 0.5) !important;
  line-height: 1.05 !important;
}
.rd-page .bcm-hero h1 em {
  font-style: italic !important;
  color: var(--rd-gold) !important;
}
.rd-page .bcm-hero .bcm-lede,
.rd-page .bcm-hero .bcm-eyebrow,
.rd-page .bcm-hero p {
  font: 400 16px/1.5 'Inter', sans-serif !important;
  color: #F5E6C8 !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.55) !important;
  margin: 8px auto 0 !important;
  max-width: 540px !important;
}
/* Existing eyebrow "Beckenham · Since 2010" — restyle to gold pill */
.rd-page .bcm-hero .bcm-eyebrow {
  display: inline-block !important;
  color: var(--rd-ink) !important;
  background: var(--rd-gold) !important;
  padding: 6px 14px !important;
  border-radius: 999px !important;
  font: 600 11px/1 'Inter', sans-serif !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  max-width: none !important;
  margin: 0 auto !important;
}
.rd-page .bcm-hero-orn { margin-top: 16px !important; }
.rd-page .bcm-hero-orn .line { background: rgba(181, 132, 58, 0.65) !important; }
.rd-page .bcm-hero-orn .star { color: var(--rd-gold) !important; }

/* 2. STICKY promo strip — kill the marquee (redundant, distracting) */
.rd-page .bcm-promo { display: none !important; }

/* 3. STICKY CATEGORY NAV — cleaner background + shadow when stuck */
.rd-page .bcm-catnav {
  top: 70px !important;
  background: rgba(255, 248, 240, 0.98) !important;
  backdrop-filter: saturate(180%) blur(12px) !important;
  -webkit-backdrop-filter: saturate(180%) blur(12px) !important;
  border-bottom: 1px solid rgba(21, 68, 57, 0.1) !important;
  box-shadow: 0 4px 12px -8px rgba(0, 0, 0, 0.2) !important;
}
.rd-page .bcm-catnav-inner {
  padding: 14px 24px !important;
  gap: 8px !important;
}
.rd-page .bcm-cat {
  padding: 9px 16px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid var(--rd-line) !important;
  color: var(--rd-ink) !important;
  font: 600 13px/1 'Inter', sans-serif !important;
  transition: background .15s ease, color .15s ease !important;
  white-space: nowrap;
}
.rd-page .bcm-cat:hover { border-color: var(--rd-green-dark) !important; }
.rd-page .bcm-cat.is-active,
.rd-page .bcm-cat.active,
.rd-page .bcm-cat[aria-current="true"] {
  background: var(--rd-green-dark) !important;
  color: #fff !important;
  border-color: var(--rd-green-dark) !important;
}

/* 4. LEGEND — soften to subtle inline row */
.rd-page .bcm-legend-bar,
.rd-page .bcm-legend-strip {
  background: rgba(21, 68, 57, 0.04) !important;
  padding: 12px 24px !important;
  border-bottom: 1px solid var(--rd-line) !important;
}
.rd-page .bcm-legend { justify-content: center !important; }
.rd-page .bcm-legend-item {
  padding: 4px 10px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid var(--rd-line) !important;
  font: 500 11px/1 'Inter', sans-serif !important;
  color: var(--rd-ink) !important;
}

/* 5. SECTION HEADERS — center + kill filler ledes */
.rd-page .bcm-section-title,
.rd-page .bcm-cat-title {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  color: var(--rd-ink) !important;
  text-align: center !important;
}
.rd-page .bcm-section-lede,
.rd-page .bcm-cat-lede,
.rd-page .bcm-section-sub { display: none !important; }
.rd-page .bcm-section-kicker {
  color: var(--rd-gold) !important;
  letter-spacing: 0.12em !important;
  font-weight: 600 !important;
}

/* 6. ITEM ROWS — magazine list feel with bottom border */
.rd-page .bcm-item,
.rd-page .bcm-menu-item {
  padding: 18px 0 !important;
  border-bottom: 1px solid var(--rd-line) !important;
  background: transparent !important;
}
.rd-page .bcm-item-name,
.rd-page .bcm-menu-item h3 {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--rd-ink) !important;
  margin: 0 !important;
}
.rd-page .bcm-item-price,
.rd-page .bcm-menu-price {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 18px !important;
  color: var(--rd-gold) !important;
}
.rd-page .bcm-item-desc,
.rd-page .bcm-menu-item p {
  font: 400 13px/1.55 'Inter', sans-serif !important;
  color: var(--rd-muted) !important;
  margin: 6px 0 0 !important;
}
/* Popular tag → subtle gold star before name */
.rd-page .bcm-tag-popular,
.rd-page .bcm-popular-tag,
.rd-page .bcm-item-badge--popular {
  display: inline-block !important;
  background: transparent !important;
  color: var(--rd-gold) !important;
  font-size: 0 !important;
  padding: 0 !important;
  margin: 0 6px 0 0 !important;
}
.rd-page .bcm-tag-popular::before,
.rd-page .bcm-popular-tag::before,
.rd-page .bcm-item-badge--popular::before {
  content: '★';
  font-size: 15px;
  color: var(--rd-gold);
}

/* Dietary badges (V, VG, GF) — small outline pills next to name */
.rd-page .bcm-tag-v,
.rd-page .bcm-tag-vg,
.rd-page .bcm-tag-gf {
  display: inline-flex !important;
  align-items: center !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  background: transparent !important;
  border: 1px solid var(--rd-green-dark) !important;
  color: var(--rd-green-dark) !important;
  font: 700 9px/1 'Inter', sans-serif !important;
  letter-spacing: 0.06em !important;
  margin-left: 6px !important;
  vertical-align: middle;
}

/* 7. ALLERGY STRIP — soft cream card with dark text */
.rd-page .bcm-allergy,
.rd-page .bcm-allergen-note {
  background: var(--rd-cream-alt) !important;
  padding: 28px 32px !important;
  border-radius: 16px !important;
  border: none !important;
  max-width: 720px !important;
  margin: 40px auto !important;
  text-align: center !important;
  color: var(--rd-ink) !important;
}
.rd-page .bcm-allergy .material-icons,
.rd-page .bcm-allergen-note .material-icons {
  color: var(--rd-gold) !important;
  font-size: 26px !important;
  margin-bottom: 8px !important;
}
.rd-page .bcm-allergy h3,
.rd-page .bcm-allergen-note h3 {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 22px !important;
  color: var(--rd-ink) !important;
  margin: 0 0 8px !important;
}
.rd-page .bcm-allergy p,
.rd-page .bcm-allergen-note p,
.rd-page .bcm-allergy span,
.rd-page .bcm-allergen-note span {
  color: var(--rd-muted) !important;
  font: 400 14px/1.55 'Inter', sans-serif !important;
  margin: 0 !important;
}

/* CTA strip "Hungry? Come on in." — dark green with light text */
.rd-page .bcm-cta-strip {
  background: var(--rd-green-dark) !important;
  padding: 56px 24px !important;
  text-align: center !important;
}
.rd-page .bcm-cta-strip h2 {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: clamp(1.8rem, 3.5vw, 2.4rem) !important;
  color: #fff !important;
  margin: 0 0 8px !important;
}
.rd-page .bcm-cta-strip h2 em {
  font-style: italic !important;
  color: var(--rd-gold) !important;
}
.rd-page .bcm-cta-strip p {
  color: #FFF3DE !important;
  font: 400 15px/1.55 'Inter', sans-serif !important;
  margin: 0 auto !important;
  max-width: 640px !important;
}

/* 8. Bottom "Ask us" band */
.rd-page main::after {
  content: '';
  display: block;
}
.rd-page .bcm-ask,
.rd-page .bcm-cta-final {
  padding: 40px 24px !important;
  background: var(--rd-cream-alt) !important;
  text-align: center !important;
}

/* Mobile: sticky under 84px nav, tighter hero */
@media (max-width: 900px) {
  .rd-page .bcm-hero { padding: 96px 20px 20px !important; }
  .rd-page .bcm-hero h1 { font-size: 2.2rem !important; }
  .rd-page .bcm-catnav { top: 84px !important; }
  .rd-page .bcm-catnav-inner { padding: 12px 16px !important; gap: 6px !important; }
  .rd-page .bcm-cat { padding: 8px 12px !important; font-size: 12px !important; }
}

/* ==========================================================================
   ABOUT PAGE — redesign
   ========================================================================== */
.rda-hero {
  padding: 120px 24px 96px;
  background: var(--rd-cream);
}
.rda-hero__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 64px;
  align-items: center;
}
.rda-kicker {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 999px;
  background: var(--rd-gold);
  color: var(--rd-ink);
  font: 600 11px/1 'Inter', sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.rda-h1 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: clamp(2.4rem, 5vw, 3.8rem);
  line-height: 1.08;
  color: var(--rd-ink);
  margin: 0 0 20px;
  letter-spacing: -0.01em;
}
.rda-lede {
  font: 400 1.15rem/1.55 'Inter', sans-serif;
  color: #47494c;
  margin: 0 0 28px;
  max-width: 560px;
}
.rda-trust {
  display: flex; gap: 12px; flex-wrap: wrap;
}
.rda-trust__chip {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 10px 14px;
  border-radius: 14px;
  background: #fff;
  border: 1px solid var(--rd-line);
}
.rda-trust__big {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 20px;
  color: var(--rd-gold);
  line-height: 1;
}
.rda-trust__small {
  font: 400 11px/1.4 'Inter', sans-serif;
  color: var(--rd-muted);
}
.rda-hero__portrait {
  aspect-ratio: 4/5;
  border-radius: 24px;
  overflow: hidden;
  background: var(--rd-green);
  box-shadow: 0 30px 60px -30px rgba(15,50,41,0.35);
}
.rda-hero__portrait img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Story */
.rda-story {
  padding: 96px 24px;
  background: var(--rd-cream-alt);
  text-align: center;
}
.rda-story__inner { max-width: 880px; margin: 0 auto; }
.rda-eyebrow {
  color: var(--rd-gold);
  font: 600 12px/1 'Inter', sans-serif;
  letter-spacing: 0.12em;
  margin-bottom: 14px;
  display: block;
}
.rda-story h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  color: var(--rd-ink);
  margin: 0 0 32px;
}
.rda-story__quote {
  font-family: 'Playfair Display', serif;
  font-style: italic;
  font-size: clamp(1.15rem, 1.7vw, 1.4rem);
  line-height: 1.65;
  color: var(--rd-ink);
  margin: 0 0 20px;
}
.rda-story__sig {
  font: 600 14px/1 'Inter', sans-serif;
  color: var(--rd-muted);
}

/* Known for */
.rda-known {
  padding: 96px 24px;
  background: var(--rd-cream);
}
.rda-known__head { max-width: 780px; margin: 0 auto 56px; text-align: center; }
.rda-known__head h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: clamp(1.8rem, 3.2vw, 2.5rem);
  color: var(--rd-ink);
  margin: 0;
}
.rda-known__grid {
  max-width: 1280px; margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.rda-known__card {
  padding: 28px 24px;
  border-radius: 16px;
  background: #fff;
  border: 1px solid var(--rd-line);
  display: flex; flex-direction: column; gap: 12px;
}
.rda-known__icon {
  width: 48px; height: 48px; border-radius: 999px;
  background: rgba(21, 68, 57, 0.08);
  display: flex; align-items: center; justify-content: center;
  font-size: 22px;
}
.rda-known__card h3 {
  font-family: 'Playfair Display', serif; font-weight: 700; font-size: 18px;
  color: var(--rd-ink); margin: 0;
}
.rda-known__card p {
  color: var(--rd-muted);
  font: 400 14px/1.55 'Inter', sans-serif;
  margin: 0;
}

/* Day-in-life */
.rda-day {
  padding: 96px 24px;
  background: var(--rd-cream-alt);
}
.rda-day__head { max-width: 780px; margin: 0 auto 48px; text-align: center; }
.rda-day__head h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: clamp(1.8rem, 3.2vw, 2.5rem);
  color: var(--rd-ink);
  margin: 0;
}
.rda-day__grid {
  max-width: 1280px; margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.rda-day__card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--rd-line);
  display: flex; flex-direction: column;
}
.rda-day__media {
  position: relative;
  aspect-ratio: 4/3;
  background: var(--rd-green);
}
.rda-day__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rda-day__time {
  position: absolute; top: 14px; left: 14px;
  padding: 5px 10px;
  border-radius: 6px;
  background: var(--rd-gold);
  color: var(--rd-ink);
  font: 700 10px/1 'Inter', sans-serif;
  letter-spacing: 0.08em;
}
.rda-day__body { padding: 18px 20px 20px; }
.rda-day__body h3 {
  font-family: 'Playfair Display', serif; font-weight: 700; font-size: 20px;
  color: var(--rd-ink); margin: 0 0 6px;
}
.rda-day__body p {
  color: var(--rd-muted);
  font: 400 13px/1.55 'Inter', sans-serif;
  margin: 0;
}

/* Values stripe */
.rda-values {
  padding: 32px 24px;
  background: var(--rd-green-dark);
}
.rda-values__inner {
  max-width: 1280px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center;
  gap: 32px; flex-wrap: wrap;
}
.rda-value {
  display: inline-flex; align-items: center; gap: 8px;
  color: #FFF3DE;
  font: 600 13px/1 'Inter', sans-serif;
  letter-spacing: 0.03em;
}
.rda-value::before {
  content: ''; width: 6px; height: 6px; border-radius: 50%;
  background: var(--rd-gold);
}

/* Mobile */
@media (max-width: 900px) {
  .rda-hero {
    padding: 120px 20px 48px !important;
  }
  .rda-hero__inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
    grid-template-columns: 1fr !important;
  }
  .rda-hero__portrait {
    aspect-ratio: 4/5;
    max-width: 380px;
    margin: 16px auto 0 !important;   /* 16px safe gap under the nav */
    width: 100%;
    order: -1;
  }
  .rda-known__grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .rda-day__grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .rda-values__inner { justify-content: flex-start; gap: 12px 20px; }
  .rda-story { padding: 64px 20px; }
  .rda-known, .rda-day { padding: 64px 20px; }
}
@media (max-width: 560px) {
  .rda-known__grid, .rda-day__grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
  .rda-h1 { font-size: 2rem; }
}

/* ==========================================================================
   BIRTHDAY CLUB hero — background image + light text (desktop only)
   ========================================================================== */
.rd-page .bday-hero {
  position: relative;
  padding: 140px 24px 96px !important;
  background:
    linear-gradient(90deg,
      rgba(6, 20, 15, 0.90) 0%,
      rgba(6, 20, 15, 0.72) 45%,
      rgba(6, 20, 15, 0.40) 85%,
      rgba(6, 20, 15, 0.20) 100%),
    url('assets/images/bday-hero-bg-2000.webp?v=1') center/cover no-repeat,
    #06140F;
  color: #fff !important;
  overflow: hidden;
}
.rd-page .bday-hero {
  background-image:
    linear-gradient(90deg,
      rgba(6, 20, 15, 0.90) 0%,
      rgba(6, 20, 15, 0.72) 45%,
      rgba(6, 20, 15, 0.40) 85%,
      rgba(6, 20, 15, 0.20) 100%),
    -webkit-image-set(
      url('assets/images/bday-hero-bg-2000.webp?v=1') type('image/webp'),
      url('assets/images/bday-hero-bg-2000.jpg?v=1') type('image/jpeg')
    );
  background-image:
    linear-gradient(90deg,
      rgba(6, 20, 15, 0.90) 0%,
      rgba(6, 20, 15, 0.72) 45%,
      rgba(6, 20, 15, 0.40) 85%,
      rgba(6, 20, 15, 0.20) 100%),
    image-set(
      url('assets/images/bday-hero-bg-2000.webp?v=1') type('image/webp'),
      url('assets/images/bday-hero-bg-2000.jpg?v=1') type('image/jpeg')
    );
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}
/* Drop the old right-side cake photo; hero is now full-width text on bg */
.rd-page .bday-hero .bday-hero-image { display: none !important; }
.rd-page .bday-hero .bday-hero-grid {
  display: block !important;
  max-width: 720px !important;
  margin: 0 auto !important;
  grid-template-columns: 1fr !important;
}
.rd-page .bday-hero .bday-hero-content {
  text-align: left !important;
  color: #fff !important;
}
.rd-page .bday-hero .bday-label {
  display: inline-block !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: var(--rd-gold) !important;
  color: var(--rd-ink) !important;
  font: 600 12px/1 'Inter', sans-serif !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin-bottom: 20px !important;
}
.rd-page .bday-hero .bday-title {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: clamp(2.8rem, 6vw, 4.4rem) !important;
  color: #FFFCF6 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7), 0 0 40px rgba(0, 0, 0, 0.5) !important;
  margin: 0 0 18px !important;
  line-height: 1.05 !important;
}
.rd-page .bday-hero .bday-intro {
  color: #F5E6C8 !important;
  font: 400 1.1rem/1.55 'Inter', sans-serif !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6) !important;
  margin: 0 0 28px !important;
  max-width: 560px !important;
}
.rd-page .bday-hero .bday-offer-card {
  display: inline-flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 16px 22px !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  margin-bottom: 24px !important;
}
.rd-page .bday-hero .offer-badge {
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: var(--rd-gold) !important;
  color: var(--rd-ink) !important;
  font: 700 12px/1 'Inter', sans-serif !important;
  letter-spacing: 0.1em !important;
}
.rd-page .bday-hero .offer-details h3 {
  font: 600 15px/1.2 'Inter', sans-serif !important;
  color: #fff !important;
  margin: 0 0 2px !important;
}
.rd-page .bday-hero .offer-details p {
  font: 400 13px/1.4 'Inter', sans-serif !important;
  color: #F5E6C8 !important;
  margin: 0 !important;
}
.rd-page .bday-hero .bday-cta-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 16px 30px !important;
  border-radius: 999px !important;
  background: var(--rd-gold) !important;
  color: var(--rd-ink) !important;
  font: 600 15px/1 'Inter', sans-serif !important;
  text-decoration: none !important;
  transition: background .2s, transform .1s !important;
  box-shadow: 0 10px 24px -10px rgba(181, 132, 58, 0.55) !important;
}
.rd-page .bday-hero .bday-cta-btn:hover { background: var(--rd-gold-dark) !important; color: #fff !important; }
.rd-page .bday-hero .bday-cta-btn:active { transform: translateY(1px) !important; }

/* Mobile: keep the cake bg image (mirror desktop) */
@media (max-width: 768px) {
  .rd-page .bday-hero {
    padding: 104px 20px 48px !important;
    background-image:
      linear-gradient(180deg,
        rgba(6, 20, 15, 0.86) 0%,
        rgba(6, 20, 15, 0.75) 60%,
        rgba(6, 20, 15, 0.55) 100%),
      url('assets/images/bday-hero-bg-2000.webp?v=1') !important;
    background-size: cover !important;
    background-position: center right !important;
  }
  .rd-page .bday-hero .bday-title { font-size: 2.2rem !important; }
  .rd-page .bday-hero .bday-hero-grid { max-width: 100% !important; }
}

/* Hide legacy page-specific CTAs since the unified .rd-visit replaces them */
.rd-page .visit-cta,
.rd-page .contact-cta-section,
.rd-page .about-cta-section,
.rd-page .about-cta-v2,
.rd-page .cta-visit-modern,
.rd-page .about-cta,
.rd-page .final-cta,
.rd-page .birthday-cta:not(.rd-birthday):not(.rd-visit),
.rd-page section.cta-section:not(.rd-visit) { display: none !important; }

/* ==========================================================================
   REVIEW MODAL — clean rewrite
   Overrides the old modal styling that had overlapping header + form fields.
   ========================================================================== */
.rd-page .review-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10000 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  background: rgba(4, 15, 11, 0.65) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  overflow-y: auto !important;
}
.rd-page .review-modal.active,
.rd-page .review-modal[style*="flex"],
.rd-page .review-modal[style*="block"] {
  display: flex !important;
}
.rd-page .review-modal-content {
  position: relative !important;
  width: 100% !important;
  max-width: 520px !important;
  background: #fff !important;
  border-radius: 20px !important;
  padding: 40px 32px 32px !important;
  box-shadow: 0 30px 80px -20px rgba(0, 0, 0, 0.5) !important;
  max-height: calc(100vh - 40px) !important;
  overflow-y: auto !important;
  transform: none !important;
  margin: 0 !important;
}
.rd-page .review-modal .modal-close {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  background: #F5E6D3 !important;
  border: 1px solid rgba(21, 68, 57, 0.12) !important;
  color: var(--rd-green-dark) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background .15s, transform .1s !important;
}
.rd-page .review-modal .modal-close:hover { background: var(--rd-gold) !important; color: #fff !important; }
.rd-page .review-modal .modal-close:active { transform: scale(0.94) !important; }
.rd-page .review-modal .modal-close .material-icons { font-size: 20px !important; }

.rd-page .review-modal .modal-header {
  text-align: center !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
  background: none !important;
  position: static !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
}
.rd-page .review-modal .modal-header .modal-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 999px !important;
  background: rgba(21, 68, 57, 0.08) !important;
  color: var(--rd-green-dark) !important;
  font-size: 28px !important;
  margin: 0 auto 4px !important;
  position: static !important;
}
.rd-page .review-modal .modal-header h3 {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: 1.5rem !important;
  color: var(--rd-ink) !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}
.rd-page .review-modal .modal-header p {
  font: 400 14px/1.5 'Inter', sans-serif !important;
  color: var(--rd-muted) !important;
  margin: 0 !important;
}

/* Form */
.rd-page .review-modal .review-form-v2 {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
}
.rd-page .review-modal .form-row-v2 {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
.rd-page .review-modal .form-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.rd-page .review-modal .form-field > label {
  font: 600 13px/1 'Inter', sans-serif !important;
  color: var(--rd-green-dark) !important;
  margin: 0 !important;
}
.rd-page .review-modal .form-field input,
.rd-page .review-modal .form-field textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  border-radius: 10px !important;
  border: 1.5px solid #E0DBD2 !important;
  background: #FFF8F0 !important;
  font: 400 15px/1.4 'Inter', sans-serif !important;
  color: var(--rd-ink) !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  transition: border-color .15s, background .15s !important;
}
.rd-page .review-modal .form-field input:focus,
.rd-page .review-modal .form-field textarea:focus {
  outline: none !important;
  border-color: var(--rd-green-dark) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(21, 68, 57, 0.1) !important;
}
.rd-page .review-modal .form-field textarea {
  min-height: 100px !important;
  resize: vertical !important;
  font-family: 'Inter', sans-serif !important;
}

/* Star rating — horizontal, gold on hover/checked */
.rd-page .review-modal .rating-field { align-items: flex-start !important; }
.rd-page .review-modal .star-rating-v2 {
  display: flex !important;
  flex-direction: row-reverse !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 10px !important;
  background: #FAF6EE !important;
  border-radius: 12px !important;
  width: 100% !important;
}
.rd-page .review-modal .star-rating-v2 input { display: none !important; }
.rd-page .review-modal .star-rating-v2 label {
  cursor: pointer !important;
  padding: 4px !important;
  margin: 0 !important;
}
.rd-page .review-modal .star-rating-v2 label .material-icons {
  font-size: 34px !important;
  color: #DAD3C4 !important;
  transition: color .15s !important;
}
.rd-page .review-modal .star-rating-v2 label:hover .material-icons,
.rd-page .review-modal .star-rating-v2 label:hover ~ label .material-icons,
.rd-page .review-modal .star-rating-v2 input:checked ~ label .material-icons {
  color: var(--rd-gold) !important;
}

/* Submit button — solid green, no gradient */
.rd-page .review-modal .btn-submit-review {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 14px 24px !important;
  border-radius: 12px !important;
  border: 0 !important;
  background: var(--rd-green-dark) !important;
  color: #fff !important;
  font: 600 15px/1 'Inter', sans-serif !important;
  cursor: pointer !important;
  transition: background .15s, transform .1s !important;
  margin-top: 4px !important;
}
.rd-page .review-modal .btn-submit-review:hover { background: var(--rd-green-deep) !important; }
.rd-page .review-modal .btn-submit-review:active { transform: translateY(1px) !important; }
.rd-page .review-modal .btn-submit-review .material-icons { font-size: 18px !important; }

/* Response message */
.rd-page .review-modal .feedback-message {
  padding: 12px 14px !important;
  border-radius: 10px !important;
  font: 500 13px/1.4 'Inter', sans-serif !important;
  margin-top: 8px !important;
}

/* Mobile: full-height card */
@media (max-width: 560px) {
  .rd-page .review-modal { padding: 12px !important; }
  .rd-page .review-modal-content { padding: 32px 20px 24px !important; border-radius: 16px !important; }
  .rd-page .review-modal .form-row-v2 { grid-template-columns: 1fr !important; }
  .rd-page .review-modal .modal-header h3 { font-size: 1.3rem !important; }
  .rd-page .review-modal .star-rating-v2 label .material-icons { font-size: 30px !important; }
}

/* ==========================================================================
   GALLERY hero — centered text + background image (desktop only)
   ========================================================================== */
.rd-page .gallery-hero-modern {
  position: relative;
  padding: 140px 24px 96px !important;
  background:
    linear-gradient(180deg,
      rgba(4, 15, 11, 0.86) 0%,
      rgba(4, 15, 11, 0.72) 45%,
      rgba(4, 15, 11, 0.55) 100%),
    url('assets/images/gallery-hero-2000.webp?v=1') center/cover no-repeat,
    #06140F;
  color: #fff;
  text-align: center !important;
  overflow: hidden;
}
.rd-page .gallery-hero-modern {
  background-image:
    linear-gradient(180deg,
      rgba(4, 15, 11, 0.86) 0%,
      rgba(4, 15, 11, 0.72) 45%,
      rgba(4, 15, 11, 0.55) 100%),
    -webkit-image-set(
      url('assets/images/gallery-hero-2000.webp?v=1') type('image/webp'),
      url('assets/images/gallery-hero-2000.jpg?v=1') type('image/jpeg')
    );
  background-image:
    linear-gradient(180deg,
      rgba(4, 15, 11, 0.86) 0%,
      rgba(4, 15, 11, 0.72) 45%,
      rgba(4, 15, 11, 0.55) 100%),
    image-set(
      url('assets/images/gallery-hero-2000.webp?v=1') type('image/webp'),
      url('assets/images/gallery-hero-2000.jpg?v=1') type('image/jpeg')
    );
  background-size: cover, cover;
  background-position: center, center;
  background-repeat: no-repeat, no-repeat;
}
.rd-page .gallery-hero-modern .gallery-hero-bg { display: none !important; }
.rd-page .gallery-hero-modern .gallery-hero-wrapper {
  max-width: 780px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.rd-page .gallery-hero-modern .gallery-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  background: var(--rd-gold) !important;
  color: var(--rd-ink) !important;
  font: 600 12px/1 'Inter', sans-serif;
  letter-spacing: 0.08em;
}
.rd-page .gallery-hero-modern .gallery-hero-title {
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  font-size: clamp(2.8rem, 6vw, 4.4rem) !important;
  color: #FFFCF6 !important;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7), 0 0 40px rgba(0, 0, 0, 0.5);
  margin: 0 !important;
  line-height: 1.05 !important;
}
.rd-page .gallery-hero-modern .gallery-hero-text {
  color: #F5E6C8 !important;
  font: 400 1.1rem/1.55 'Inter', sans-serif !important;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
  max-width: 620px;
  margin: 0 auto !important;
}
.rd-page .gallery-hero-modern .gallery-hero-stats {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-top: 12px !important;
  padding: 20px 28px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.rd-page .gallery-hero-modern .gallery-hero-stats .stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.rd-page .gallery-hero-modern .gallery-hero-stats .stat-number {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: var(--rd-gold) !important;
  line-height: 1 !important;
}
.rd-page .gallery-hero-modern .gallery-hero-stats .stat-label {
  color: #FFF3DE !important;
  font: 500 11px/1 'Inter', sans-serif !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.rd-page .gallery-hero-modern .gallery-hero-stats .stat-divider {
  width: 1px;
  background: rgba(255, 255, 255, 0.15);
}

/* Mobile: keep the gallery bg image (mirror desktop) */
@media (max-width: 768px) {
  .rd-page .gallery-hero-modern {
    padding: 104px 20px 48px !important;
    background-image:
      linear-gradient(180deg,
        rgba(4, 15, 11, 0.86) 0%,
        rgba(4, 15, 11, 0.75) 60%,
        rgba(4, 15, 11, 0.55) 100%),
      url('assets/images/gallery-hero-2000.webp?v=1') !important;
    background-size: cover !important;
    background-position: center !important;
  }
  .rd-page .gallery-hero-modern .gallery-hero-stats {
    flex-wrap: wrap;
    gap: 20px;
  }
}

/* Tablet: v2 grid collapses to 2 cols with brand full-width */
@media (max-width: 900px) {
  .rd-footer-grid--v2 {
    grid-template-columns: 1fr 1fr;
  }
  .rd-fcol--brand { grid-column: 1 / -1; }
}

/* ==========================================================================
   MOBILE FOOTER — ultra-compact (< 900px)
   Small logo → address+hours+phone in one tight block → socials → mini copy
   No card backgrounds, no eyebrow labels, no blurb — sticky bar handles the actions.
   ========================================================================== */
@media (max-width: 900px) {
  .rd-footer-wrap { padding: 0 !important; }
  .rd-footer-card {
    padding: 20px 20px 12px !important;
    border-radius: 0 !important;
    text-align: center !important;
  }
  .rd-footer-grid,
  .rd-footer-grid--v2 {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    text-align: center !important;
    max-width: 320px !important;
    margin: 0 auto !important;
  }
  .rd-fcol {
    gap: 4px !important;
    align-items: center !important;
    text-align: center !important;
  }

  /* Brand: 36px logo alongside name */
  .rd-fcol--brand {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 2px !important;
    margin-bottom: 4px !important;
  }
  .rd-fbrand-row {
    flex-direction: row !important;
    gap: 8px !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
  }
  .rd-fbrand-row .rd-fbrand-mark,
  .rd-fbrand img { width: 32px !important; height: 32px !important; }
  .rd-fbrand-name { font-size: 15px !important; }
  /* Kill blurb + hygiene pill on mobile — they add height with little value */
  .rd-fblurb,
  .rd-fbadge { display: none !important; }

  /* Kill eyebrow labels — content is self-explanatory */
  .rd-feyebrow { display: none !important; }

  /* Info bodies: no card, no border, tight text */
  .rd-fbody {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.55 !important;
    margin: 0 auto !important;
    text-align: center !important;
    color: #d9d8d3 !important;
  }
  .rd-fbody a {
    border: none !important;
    color: #fff !important;
  }
  .rd-fbody a:hover { color: var(--rd-gold) !important; }

  /* Google review pill: small, gold outline instead of white block */
  .rd-review-pill {
    padding: 6px 12px !important;
    font-size: 11px !important;
    margin: 6px auto 0 !important;
    align-self: center !important;
    background: transparent !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    box-shadow: none !important;
    gap: 6px !important;
  }
  .rd-review-pill svg { width: 13px !important; height: 13px !important; }

  /* Social row: small, centered */
  .rd-fsocials {
    gap: 6px !important;
    margin: 8px auto 0 !important;
    justify-content: center !important;
    align-self: center !important;
  }
  .rd-fsocial {
    width: 30px !important; height: 30px !important;
    background: transparent !important;
    border-color: rgba(255,255,255,0.15) !important;
  }
  .rd-fsocial svg { width: 13px !important; height: 13px !important; }

  /* Quick links: hidden */
  .rd-flinks,
  .rd-flinks-chips { display: none !important; }

  /* Tiny gold divider */
  .rd-fdivider {
    margin: 12px auto 8px !important;
    max-width: 40px !important;
    height: 1px !important;
    background: rgba(181, 132, 58, 0.5) !important;
    border-radius: 1px !important;
  }

  /* Copyright + credit on one line each, small */
  .rd-fcopy {
    flex-direction: column !important;
    align-items: center !important;
    gap: 1px !important;
    font-size: 10px !important;
    text-align: center !important;
    line-height: 1.5 !important;
    color: #8f8e88 !important;
  }
  .rd-fcopy > span { max-width: 280px !important; }
  .rd-fcredit { color: var(--rd-gold) !important; }
}

/* ==========================================================================
   MOBILE-FIRST STICKY ACTION BAR (redesign)
   Always-on-screen row of primary actions. Hidden on desktop.
   ========================================================================== */
/* Hide the legacy mobile-quick-actions bar so it doesn't stack with the new one */
.rd-page .mobile-quick-actions:not(.rd-sticky-bar) { display: none !important; }

.rd-page .rd-sticky-bar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 900;
  display: none; /* shown on mobile only */
  gap: 6px;
  padding: 8px 10px calc(10px + env(safe-area-inset-bottom));
  background: var(--rd-green-dark);
  border-top: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 -8px 24px -12px rgba(0, 0, 0, 0.35);
  transform: translateY(0);
  transition: transform .25s ease;
}
.rd-page .rd-sticky-bar.hidden { transform: translateY(110%); }
.rd-sticky-btn {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 8px 4px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: #fff;
  font: 600 11px/1.2 'Inter', sans-serif;
  text-decoration: none;
  min-height: 52px;
  transition: transform .1s ease, background .2s ease;
}
.rd-sticky-btn:active { transform: translateY(1px); }
.rd-sticky-btn:hover { background: rgba(255,255,255,0.08); }
.rd-sticky-btn .material-icons { font-size: 20px; color: #fff; }
.rd-sticky-btn--primary {
  background: rgba(255,255,255,0.12);
  color: #fff;
  border-color: rgba(255,255,255,0.25);
}
.rd-sticky-btn--primary:hover { background: rgba(255,255,255,0.18); }
.rd-sticky-btn--accent {
  background: var(--rd-gold);
  color: var(--rd-ink);
  border-color: var(--rd-gold);
}
.rd-sticky-btn--accent:hover { background: var(--rd-gold-dark); color: #fff; }
.rd-sticky-btn--accent .material-icons { color: var(--rd-ink); }
.rd-sticky-btn--accent:hover .material-icons { color: #fff; }

/* Only show sticky bar on mobile. Bottom padding goes on the footer only
   so there's no cream gap between the visit CTA and the footer. */
@media (max-width: 768px) {
  .rd-page .rd-sticky-bar { display: flex; }
  .rd-page main { padding-bottom: 0 !important; }
  .rd-footer-wrap { padding-bottom: 80px !important; }
}

/* ==========================================================================
   MOBILE POLISH — hero, nav, dish cards
   ========================================================================== */
@media (max-width: 768px) {
  /* Mobile nav: bigger, green, with breathing room */
  .rd-page .navbar {
    background: var(--rd-green-dark) !important;
    height: 84px !important;
    box-shadow: 0 2px 12px -4px rgba(0,0,0,0.28) !important;
  }
  .rd-page .navbar .nav-container {
    height: 84px !important;
    padding: 0 20px !important;
  }
  .rd-page .navbar .nav-logo .logo-image {
    width: 60px !important;
    height: 60px !important;
  }
  .rd-page .navbar .nav-toggle span {
    width: 26px !important;
    height: 3px !important;
    background: #fff !important;
    border-radius: 2px !important;
  }
  .rd-page .navbar .nav-toggle {
    gap: 6px !important;
    padding: 8px !important;
  }
  /* Hero: bg image handles the visual — hide product-card overlay (mirror desktop) */
  .rd-hero { padding: 120px 20px 56px !important; min-height: 480px; }
  .rd-hero__inner { gap: 20px; display: flex; flex-direction: column; }
  .rd-hero__media { display: none !important; }
  .rd-page .navbar { box-shadow: 0 2px 12px -4px rgba(0,0,0,0.25); }
  .rd-hero__ctas .rd-btn { flex: 1 1 100%; justify-content: center; }
  .rd-hero__trust { font-size: 13px; }

  /* USP strip: allow chip-style wrap on very small screens */
  .rd-usps { padding: 20px 20px; }
  .rd-usps__inner {
    justify-content: flex-start;
    gap: 12px 20px;
  }
  .rd-usp { font-size: 13px; }

  /* Section header alignment on mobile: keep centered but tighter */
  .rd-section-head { margin-bottom: 32px; padding: 0 4px; }
  .rd-section-head h2 { font-size: 1.75rem; }
  .rd-dishes { padding: 64px 20px; }
  .rd-reviews { padding: 64px 20px; }
  .rd-faq { padding: 64px 20px; }
  .rd-visit { padding: 56px 20px; }

  /* Dish cards spacing on mobile */
  .rd-dish { border-radius: 18px; }
  .rd-dish__name { font-size: 1.25rem; }

  /* Featured review card padding tight on mobile */
  .rd-featured { padding: 32px 22px; border-radius: 20px; }

  /* Birthday panel: image on top, content below */
  .rd-birthday { padding: 20px 16px 40px; }
  .rd-birthday__panel { border-radius: 20px; }
  .rd-birthday__media { min-height: 200px; }
  .rd-birthday__content { padding: 28px 24px; }
  .rd-birthday h2 { font-size: 1.5rem; }

  /* Visit CTA: stacked buttons on mobile */
  .rd-visit__inner { gap: 24px; }
  .rd-visit h2 { font-size: 1.6rem; }
  .rd-visit__ctas { flex-direction: column; }
  .rd-visit__ctas .rd-btn { flex: 1 1 100%; justify-content: center; }

  /* Footer safe-area gap (already has extra padding above) */
  .rd-footer-wrap { padding-top: 16px; }
}

/* Really narrow phones (iPhone SE and similar) */
@media (max-width: 400px) {
  .rd-hero h1 { font-size: 1.9rem; }
  .rd-featured__quote { font-size: 1.1rem; }
  .rd-sticky-btn { font-size: 10.5px; padding: 6px 2px; }
  .rd-sticky-btn .material-icons { font-size: 18px; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  .rd-btn, .rd-dish, .rd-faq__toggle, .rd-faq__ans { transition: none !important; }
  .rd-fheart { animation: none !important; }
  .rd-sticky-bar { transition: none !important; }
}
