/* Shared application surface: public pages, menu, checkout and account. */
:root { --rc-app-surface: #f8f7f4; --rc-app-line: #e9e6e0; --rc-app-bottom: 94px; --rc-premium-ink: #172c32; --rc-premium-gold: #d6b783; --rc-navy: #172c32; --rc-muted: #707777; }
/* Clip horizontal overflow without creating a scroll ancestor for the header. */
html { scroll-padding-top: 90px; overflow-x: clip; }
body.rc-app { overflow-x: clip; background: var(--rc-app-surface); padding-bottom: calc(var(--rc-app-bottom) + env(safe-area-inset-bottom)); }
.rc-app .top-strip { display: none; }
.rc-app .navbar { position: sticky; top: 0; z-index: 1030; margin: 0 auto; width: 100%; border: 0; border-bottom: 1px solid var(--rc-app-line); border-radius: 0; box-shadow: none; padding: 12px 0; background: rgba(255,255,255,.97); }
.rc-app .navbar-brand img { width: 170px; height: 42px; }
.rc-app .navbar .container { max-width: 1140px; }
.rc-app .navbar-nav .nav-link { font-size: .86rem; font-weight: 650; }
.rc-app .btn { border-radius: 14px; font-weight: 700; min-height: 48px; }
.rc-app .btn-rc { box-shadow: 0 6px 16px rgba(239,28,35,.14); }
.rc-app :is(a, button, input, select, textarea):focus-visible { outline: 3px solid #215ccb; outline-offset: 3px; }
.rc-app .form-control, .rc-app .form-select { background: #fff; border: 1px solid #dce0e7; border-radius: 12px; font-size: 1rem; }
.rc-app :is(.content-card,.contact-card,.feature-card,.benefit-card,.food-card,.coupon-card,.testimonial-card,.app-form-panel,.app-history-card,.app-profile-card,.app-restaurant-card) { background: #fff; border: 1px solid var(--rc-app-line); border-radius: 20px; box-shadow: 0 4px 18px rgba(16,37,74,.035); }
.rc-app :is(.app-order-main,.app-order-section,.section-soft) { background: var(--rc-app-surface); }
.rc-app .section-pad { padding: 48px 0; }
.rc-app .section-title { font-size: clamp(1.45rem, 2.5vw, 2.1rem); line-height: 1.25; letter-spacing: -.04em; }
.rc-app .section-kicker { font-size: .68rem; letter-spacing: .13em; }
.rc-app .page-hero { margin: 20px auto 0; border-radius: 20px; box-shadow: none; background: #fff; }
.rc-app .app-page-title { letter-spacing: -.035em; }
.rc-app .app-hero { padding: 28px 0; background: var(--rc-app-surface); }
.rc-app .app-hero::before { display: none; }
.rc-home-heading { margin-bottom: 24px; }
.rc-home-heading p { color: var(--rc-red); text-transform: uppercase; font-size: .68rem; font-weight: 800; letter-spacing: .13em; margin-bottom: 6px; }
.rc-home-heading h1 { font-size: clamp(1.65rem, 3.3vw, 2.6rem); font-weight: 800; letter-spacing: -.055em; margin: 0 0 6px; line-height: 1.15; }
.rc-home-heading > span { color: var(--rc-muted); font-size: .9rem; }
.rc-app .app-phone-shell { background: #fff; padding: 22px; border-radius: 22px; border: 1px solid var(--rc-app-line); box-shadow: 0 8px 30px rgba(16,37,74,.045); }
.rc-app .app-phone-top { color: var(--rc-navy); padding: 0; height: auto; margin-bottom: 18px; justify-content: flex-start; font-size: 1.08rem; }
.rc-app .app-order-card { padding: 0; border-radius: 0; background: transparent; }
.rc-app .order-tabs { background: #f3f4f7; border-radius: 12px; padding: 4px; }
.rc-app .order-tab { min-height: 44px; border-radius: 9px; font-size: .84rem; }
.rc-app .hero-slider, .rc-app .hero-image-slide { border-radius: 20px; overflow: hidden; }
.rc-app .hero-content-actions { margin-top: 10px; }
.rc-home-shortcuts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin-top: 22px; }
.rc-home-shortcuts a { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--rc-app-line); border-radius: 16px; padding: 16px; color: var(--rc-navy); font-size: .88rem; font-weight: 700; }
.rc-home-shortcuts i { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: #fff1ef; color: var(--rc-red); font-size: 1.25rem; flex-shrink: 0; }
.rc-home-shortcuts a:nth-child(2) i { color: #267849; background: #eaf7ef; }
.rc-home-shortcuts a:nth-child(3) i { color: #35599b; background: #eef3ff; }
.rc-app .stat-shell { box-shadow: none; border-radius: 18px; }
.rc-app .app-tabbar { bottom: max(12px, env(safe-area-inset-bottom)); width: min(560px,calc(100% - 24px)); height: 68px; padding: 6px; gap: 2px; border-radius: 22px; background: #fff; border: 1px solid var(--rc-app-line); box-shadow: 0 6px 30px rgba(16,37,74,.1); }
.rc-app .app-tabbar a { height: 54px; font-size: .68rem; font-weight: 650; border-radius: 15px; gap: 4px; align-content: center; }
.rc-app .app-tabbar i { font-size: 1.25rem; line-height: 1; }
.rc-app .app-tabbar a.active { color: #d91620; background: #fff0ee; }
.rc-app .app-cart-bar { bottom: calc(var(--rc-app-bottom) + env(safe-area-inset-bottom)); border-radius: 16px; }
.rc-app:has(.app-cart-bar:not([hidden])) { padding-bottom: calc(var(--rc-app-bottom) + 104px + env(safe-area-inset-bottom)); }
.rc-app .footer { padding: 36px 0 24px; }
.rc-app .app-floating-actions { display: none; }
.rc-app .app-stepper { gap: 8px; }
.rc-app .app-menu-accordion-item { box-shadow: none; border: 1px solid var(--rc-app-line); border-radius: 18px; }
.rc-app .app-menu-item { border-radius: 14px; }
.rc-app .app-menu-item-action .app-add-food { min-height: 44px; }
.rc-app .app-qty-stepper { height: 44px; }

/* First-visit introduction. Native dialog supplies focus trapping and inert background. */
.rc-welcome-open, .rc-welcome-open body { overflow: hidden; }
.rc-welcome { color: var(--rc-navy); font-family: inherit; width: min(940px,calc(100% - 40px)); max-width: none; max-height: calc(100dvh - 40px); border: 0; border-radius: 28px; padding: 26px; background: #fff; box-shadow: 0 35px 100px #10254a35; }
.rc-welcome::backdrop { background: #0b1d3ab8; backdrop-filter: blur(8px); }
.rc-welcome-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.rc-welcome-logo { object-fit: contain; object-position: left; width: 150px; height: 40px; }
.rc-welcome button { font-family: inherit; cursor: pointer; }
.rc-welcome button:focus-visible { outline: 3px solid #215ccb; outline-offset: 4px; }
.rc-welcome-skip { border: 0; background: #f4f5f7; padding: 10px 14px; border-radius: 30px; font-size: .78rem; color: #4c596d; font-weight: 650; min-height: 44px; }
.rc-welcome-skip span { margin-left: 6px; }
.rc-welcome-body { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 34px; }
.rc-welcome-art { border-radius: 22px; background: #fff3ed; min-width: 0; padding: 28px 18px; display: flex; flex-direction: column; align-items: center; overflow: hidden; }
.rc-welcome-tag { font-size: .57rem; font-weight: 800; letter-spacing: .13em; color: #b65234; text-align: center; }
.rc-welcome-illustration { width: 100%; height: 270px; object-fit: contain; mix-blend-mode: multiply; margin: 12px 0; }
.rc-welcome-ticket { display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid #f1e7df; border-radius: 15px; padding: 13px 16px; transform: rotate(-3deg); box-shadow: 0 8px 20px #7436160a; }
.rc-welcome-ticket-icon { background: #eaf7ef; color: #267849; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; flex-shrink: 0; }
.rc-welcome-ticket strong, .rc-welcome-ticket small { display: block; }
.rc-welcome-ticket strong { font-size: .8rem; }
.rc-welcome-ticket small { color: #657085; font-size: .61rem; margin-top: 3px; }
.rc-welcome-copy { padding: 12px 8px 12px 0; }
.rc-welcome-step { font-size: .61rem; letter-spacing: .14em; font-weight: 800; color: #d3242c; margin-bottom: 12px; }
.rc-welcome h1 { font-size: clamp(1.85rem,3.5vw,2.8rem); font-weight: 800; letter-spacing: -.055em; line-height: 1.13; margin: 0 0 18px; }
.rc-welcome h1:focus { outline: none; }
#rcWelcomeDescription { font-size: .88rem; color: #657085; line-height: 1.7; margin-bottom: 18px; }
.rc-welcome-benefits { display: flex; flex-wrap: wrap; gap: 7px; }
.rc-welcome-benefits span { border: 1px solid #e9ebf0; border-radius: 30px; padding: 5px 9px; color: #42556a; font-size: .61rem; font-weight: 650; }
.rc-welcome-progress { display: flex; gap: 6px; margin: 28px 0 18px; }
.rc-welcome-progress span { height: 5px; width: 7px; background: #e4e7ed; border-radius: 20px; transition: width .2s; }
.rc-welcome-progress span.active { width: 30px; background: var(--rc-red); }
.rc-welcome-actions { display: flex; gap: 10px; }
.rc-welcome-next { border: 0; border-radius: 14px; padding: 15px 20px; background: var(--rc-red); color: #fff; font-weight: 750; font-size: .94rem; min-height: 54px; flex: 1; display: flex; justify-content: space-between; align-items: center; }
.rc-welcome-next:hover { background: var(--rc-red-dark); }
.rc-welcome-back { width: 54px; border: 1px solid #e1e5eb; background: #fff; color: var(--rc-navy); border-radius: 14px; font-size: 1.2rem; }
.rc-welcome [hidden] { display: none !important; }
.rc-welcome-footnote { font-size: .61rem; text-align: center; margin: 12px 0 0; color: #727d8e; }
.rc-welcome-second .rc-welcome-art { background: #edf7f1; }
.rc-welcome-second .rc-welcome-tag { color: #267849; }

@media (max-width: 991.98px) {
  .rc-app .navbar { padding: 8px 0; }
  .rc-app .navbar-brand img { width: 144px; height: 38px; }
  .rc-app .app-nav-actions a { width: 38px; height: 38px; border-radius: 12px; box-shadow: none; }
  .rc-app .app-nav-call { background: #f1f4fa; color: #24416a; }
  .rc-app .app-nav-whatsapp { background: #edf8f0; color: #267849; }
  .rc-app .navbar-toggler { font-size: 1rem; min-width: 40px; min-height: 40px; }
  .rc-app .navbar-collapse { padding: 12px 6px; max-height: calc(100dvh - 160px); overflow-y: auto; overscroll-behavior: contain; }
  .rc-app .app-phone-shell { max-width: none; width: 100%; margin: 0; }
  .rc-app .section-pad { padding: 30px 0; }
  .rc-app .app-order-hero { padding: 22px 0 18px; }
  .rc-app .app-order-section { padding: 20px 0; }
  .rc-app .app-stepper span { font-size: .65rem; padding: 7px 9px; }
}
@media (max-width: 575.98px) {
  :root { --rc-app-bottom: 74px; }
  .rc-app .container { padding-left: 18px; padding-right: 18px; }
  .rc-app .navbar .container { padding-left: 16px; padding-right: 12px; }
  .rc-app .app-hero { padding: 24px 0 18px; }
  .rc-home-heading { margin-bottom: 20px; }
  .rc-home-heading h1 { font-size: 1.85rem; max-width: 320px; }
  .rc-home-heading > span { font-size: .8rem; }
  .rc-app .app-phone-shell { padding: 18px; border-radius: 20px; }
  .rc-app .app-phone-top { font-size: .95rem; margin-bottom: 14px; }
  .rc-app .order-tab { font-size: .76rem; }
  .rc-app .hero-image-slide img { max-height: 165px; }
  .rc-app .hero-content-actions .btn { min-height: 40px; font-size: .8rem; }
  .rc-home-shortcuts { margin-top: 16px; gap: 8px; }
  .rc-home-shortcuts a { flex-direction: column; padding: 13px 4px; gap: 8px; font-size: .68rem; }
  .rc-home-shortcuts i { width: 36px; height: 36px; }
  .rc-app .stat-shell { padding: 12px 4px; }
  .rc-app .stat { padding: 10px 6px; }
  .rc-app .stat strong { font-size: 1.25rem; }
  .rc-app .stat span { font-size: .68rem; }
  .rc-app .app-tabbar { bottom: 0; left: 0; transform: none; width: 100%; height: calc(68px + env(safe-area-inset-bottom)); padding: 6px 10px calc(6px + env(safe-area-inset-bottom)); border-radius: 20px 20px 0 0; border-bottom: 0; }
  .rc-app .app-tabbar a { height: 54px; }
  .rc-app .page-hero { padding: 24px 0; }
  .rc-app .page-hero h1 { font-size: 1.8rem; }
  .rc-app .lead-copy { font-size: .86rem; }
  .rc-app .app-menu-item { grid-template-columns: 64px minmax(0,1fr) 78px; gap: 8px; }
  .rc-app .app-menu-item-img { width: 64px; }
  .rc-app .app-menu-item-info h3 { font-size: .84rem; }
  .rc-app .app-menu-item-action .app-add-food { min-width: 72px; }
  .rc-app .footer { padding-top: 28px; }
  .rc-welcome { width: 100%; height: 100dvh; max-height: 100dvh; max-width: 100%; margin: 0; border-radius: 0; padding: max(16px,env(safe-area-inset-top)) 22px max(18px,env(safe-area-inset-bottom)); }
  .rc-welcome-top { margin-bottom: 20px; }
  .rc-welcome-logo { width: 132px; height: 36px; }
  .rc-welcome-body { display: flex; flex-direction: column; gap: 24px; min-height: calc(100% - 64px); }
  .rc-welcome-art { width: 100%; padding: 20px 12px; flex-shrink: 0; }
  .rc-welcome-illustration { height: clamp(140px,25dvh,240px); margin: 4px 0; }
  .rc-welcome-ticket { padding: 10px 14px; }
  .rc-welcome-copy { padding: 0; width: 100%; flex: 1; display: flex; flex-direction: column; }
  .rc-welcome h1 { font-size: clamp(1.85rem,8vw,2.4rem); margin-bottom: 12px; }
  #rcWelcomeDescription { font-size: .82rem; margin-bottom: 12px; line-height: 1.6; }
  .rc-welcome-progress { margin: 22px 0 16px; }
  .rc-welcome-actions { margin-top: auto; }
  .rc-welcome-footnote { margin-top: 10px; }
}
@media (max-width: 575.98px) and (max-height: 740px) {
  .rc-welcome-top { margin-bottom: 12px; }
  .rc-welcome-body { gap: 16px; }
  .rc-welcome-art { padding: 12px; }
  .rc-welcome-illustration { height: 145px; }
  .rc-welcome-ticket { display: none; }
  .rc-welcome-progress { margin: 16px 0 12px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rc-welcome *, .rc-app .app-tabbar * { transition: none !important; }
}
@media (max-width: 575.98px) and (max-height: 640px) {
  .rc-welcome { padding: 12px 20px; }
  .rc-welcome-top { margin-bottom: 8px; }
  .rc-welcome-body { gap: 12px; min-height: calc(100% - 52px); }
  .rc-welcome-art { padding: 8px; }
  .rc-welcome-tag, .rc-welcome-benefits, .rc-welcome-footnote { display: none; }
  .rc-welcome-illustration { height: 110px; margin: 0; }
  .rc-welcome-step { margin-bottom: 8px; }
  .rc-welcome h1 { font-size: 1.75rem; margin-bottom: 10px; }
  #rcWelcomeDescription { font-size: .78rem; margin-bottom: 0; }
  .rc-welcome-progress { margin: 14px 0; }
  .rc-welcome-next { min-height: 50px; padding: 12px 18px; }
}

/* Premium finish: warm surfaces, ink navigation and restrained brass accents. */
.rc-app .navbar { background: #ffffffed; border-bottom-color: #e9e6e0; backdrop-filter: blur(18px); }
.rc-app .navbar-nav .nav-link { letter-spacing: -.015em; }
.rc-app .btn-rc, .rc-welcome-next { background: #db2935; border-color: #db2935; box-shadow: 0 5px 14px #c82a351a; }
.rc-app .btn-rc:hover, .rc-welcome-next:hover { background: #be1d2b; border-color: #be1d2b; }
.rc-app .app-hero { padding-top: 36px; background: linear-gradient(180deg,#f2f0e9 0%,#f8f7f4 90%); }
.rc-home-heading { position: relative; margin-bottom: 30px; }
.rc-home-heading p { display: flex; align-items: center; gap: 8px; font-size: .62rem; color: #6e6d60; letter-spacing: .12em; font-weight: 650; margin-bottom: 14px; }
.rc-heading-dot { width: 6px; height: 6px; border-radius: 50%; background: #b3894d; box-shadow: 0 0 0 4px #b3894d10; flex-shrink: 0; }
.rc-home-heading h1 { font-size: clamp(2.15rem,4vw,3.4rem); letter-spacing: -.055em; line-height: 1.05; font-weight: 650; }
.rc-home-heading h1 em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; letter-spacing: -.04em; color: #9b413d; }
.rc-home-heading > span { display: block; margin-top: 14px; font-size: .84rem; color: #71776f; }
.rc-app .app-phone-shell { border: 1px solid #e4dfd6; box-shadow: 0 10px 35px #323c3910,0 1px 2px #323c3906; padding: 26px; border-radius: 24px; }
.rc-app .app-phone-top { display: flex; gap: 12px; margin-bottom: 22px; }
.rc-search-icon { flex: 0 0 44px; height: 44px; display: grid; place-items: center; background: #f4f0e8; border: 1px solid #eae3d6; border-radius: 14px; color: #887047; font-size: 1.25rem; }
.rc-app .app-phone-top small { display: block; color: #8b8579; font-size: .54rem; letter-spacing: .13em; font-weight: 650; margin-bottom: 5px; }
.rc-app .app-phone-top div > span { font-size: 1.06rem; font-weight: 750; letter-spacing: -.035em; }
.rc-app .order-tabs { background: #f4f3f0; border: 1px solid #eeece6; border-radius: 12px; margin-bottom: 18px; }
.rc-app .order-tab { color: #7b7f79; font-weight: 600; }
.rc-app .order-tab.active { color: #a43137; background: #fff; box-shadow: 0 2px 8px #272e2610; }
.rc-app .app-field-label { font-size: .72rem; font-weight: 650; color: #6d746f; }
.rc-app .input-wrap .form-control { background: #fdfdfc; border-color: #e8e5dd; box-shadow: none; font-weight: 500; }
.rc-app .input-wrap > i { color: #a48a66; }
.rc-app #orderSearchButton { min-height: 50px; justify-content: space-between; padding: 12px 18px; font-size: .85rem; }
.rc-editorial-promo { display: grid; grid-template-columns: 1.05fr 1fr; gap: 12px; align-items: center; background: #1a3337; color: #fff; padding: 30px; border: 1px solid #234347; border-radius: 24px; min-height: 310px; overflow: hidden; }
.rc-editorial-promo:hover { color: #fff; background: #203b3f; }
.rc-promo-eyebrow { color: #d6b783; font-size: .52rem; letter-spacing: .16em; font-weight: 650; }
.rc-promo-copy h2 { color: #fff9ed; font-family: Georgia,'Times New Roman',serif; font-weight: 400; font-size: clamp(1.55rem,2.4vw,2.3rem); line-height: 1.15; letter-spacing: -.04em; margin: 18px 0 12px; }
.rc-promo-copy p { color: #adbfbc; font-size: .74rem; line-height: 1.65; max-width: 220px; }
.rc-promo-link { display: inline-flex; gap: 18px; align-items: center; color: #ead7b4; border-bottom: 1px solid #d6b78366; padding: 4px 0 7px; font-size: .7rem; font-weight: 600; }
.rc-promo-art { min-width: 0; display: grid; gap: 18px; text-align: center; }
.rc-promo-carousel { width: 100%; padding: 8px; border-radius: 50%; background: #f4e8d5; transform: rotate(-6deg); overflow: hidden; justify-self: center; }
.rc-promo-carousel .carousel-inner { border-radius: 50%; }
.rc-promo-carousel .carousel-item { aspect-ratio: 760 / 560; }
.rc-promo-art img { display: block; width: 100%; height: 100%; object-fit: cover; background: #fff8f0; }
.rc-promo-art img.rc-promo-food { object-fit: contain; background: #f9e8ce; }
.rc-promo-art > span { color: #c4d1c9; font-size: .5rem; letter-spacing: .01em; }
.rc-promo-art i { color: #d6b783; margin-right: 4px; }
.rc-home-shortcuts { gap: 14px; margin-top: 12px; }
.rc-home-shortcuts a { border-color: #e6e1d9; border-radius: 18px; box-shadow: 0 2px 5px #28363203; transition: border-color .16s; }
.rc-home-shortcuts a:hover { border-color: #b9a382; }
.rc-home-shortcuts i { background: #f6eee8; color: #9a5749; }
.rc-app .app-stat-bar { margin-top: 0; }
.rc-app .stat-shell { background: transparent; color: var(--rc-premium-ink); border: 1px solid #e5e0d5; border-radius: 18px; }
.rc-app .stat { border-color: #e5e0d5; }
.rc-app .stat strong { color: #344640; font-size: 1.7rem; letter-spacing: -.06em; font-weight: 650; }
.rc-app .stat span { color: #7b8078; font-size: .72rem; }
.rc-app .section-title { font-weight: 650; letter-spacing: -.045em; }
.rc-app .section-kicker { color: #a0804f; font-weight: 650; }
.rc-app :is(.content-card,.contact-card,.feature-card,.benefit-card,.food-card,.coupon-card,.testimonial-card,.app-form-panel,.app-history-card,.app-profile-card,.app-restaurant-card) { border-color: #e9e5dd; box-shadow: 0 5px 22px #2d393404; border-radius: 22px; }
.rc-app .page-hero { background: #f0eee7; border-color: #e5e0d5; }
.rc-app .app-tabbar { background: #172c32f5; border: 1px solid #ffffff15; box-shadow: 0 10px 28px #142c322b; backdrop-filter: blur(18px); border-radius: 23px; }
.rc-app .app-tabbar a { color: #9dafb0; font-size: .64rem; font-weight: 500; }
.rc-app .app-tabbar a.active { background: #ffffff0d; color: #ecd3a9; }
.rc-app .app-tabbar a:hover { background: #ffffff12; color: #fff; }
.rc-app .app-cart-bar { background: #243e42; border: 1px solid #ffffff15; }
.rc-app .footer { background: #172c32; }
.rc-welcome { border: 1px solid #e5dfd5; background: #fdfcf9; }
.rc-welcome-art { background: #f4e8d9; border: 1px solid #eee0cc; }
.rc-welcome-second .rc-welcome-art { background: #e8f0e9; border-color: #dce8dd; }
.rc-welcome-step { color: #9d7849; }
.rc-welcome h1 { color: #172c32; letter-spacing: -.05em; font-weight: 650; }
.rc-welcome-progress span.active { background: #9d7849; }
.rc-welcome-skip { background: #f0eee8; }
@media (max-width: 1199.98px) {
  .rc-editorial-promo { min-height: 240px; grid-template-columns: 1.2fr 1fr; }
  .rc-promo-carousel { max-width: 200px; }
}
@media (max-width: 575.98px) {
  :root { --rc-app-bottom: 94px; }
  .rc-app .app-hero { padding-top: 28px; }
  .rc-home-heading { margin-bottom: 24px; }
  .rc-home-heading h1 { font-size: 2.18rem; max-width: none; }
  .rc-home-heading p { font-size: .53rem; margin-bottom: 12px; }
  .rc-home-heading > span { margin-top: 12px; font-size: .76rem; }
  .rc-app .app-phone-shell { padding: 20px; border-radius: 22px; }
  .rc-app .app-phone-top { margin-bottom: 18px; }
  .rc-app .app-phone-top div > span { font-size: .96rem; }
  .rc-app .order-tab { font-size: .7rem; }
  .rc-editorial-promo { padding: 22px 18px; gap: 8px; min-height: 215px; grid-template-columns: 1.2fr 1fr; border-radius: 22px; }
  .rc-promo-eyebrow { font-size: .43rem; letter-spacing: .1em; }
  .rc-promo-copy h2 { font-size: 1.5rem; margin: 10px 0; }
  .rc-promo-copy p { font-size: .65rem; margin-bottom: 12px; }
  .rc-promo-link { font-size: .62rem; gap: 8px; }
  .rc-promo-art { gap: 10px; }
  .rc-promo-carousel { padding: 4px; }
  .rc-promo-art > span { font-size: .45rem; line-height: 1.5; }
  .rc-home-shortcuts { gap: 9px; margin-top: 0; }
  .rc-home-shortcuts a { font-size: .64rem; padding: 15px 4px; }
  .rc-app .stat strong { font-size: 1.3rem; }
  .rc-app .stat span { font-size: .62rem; }
  .rc-app .app-tabbar { left: 12px; bottom: max(12px,env(safe-area-inset-bottom)); width: calc(100% - 24px); height: 66px; padding: 5px; border-radius: 22px; border-bottom: 1px solid #ffffff15; }
  .rc-app .app-tabbar a { height: 54px; font-size: .59rem; }
}
@media (prefers-reduced-motion: reduce) {
  .rc-home-shortcuts a { transition: none; }
}

/* A single compact journey strip instead of five oversized stacked cards. */
.rc-guide-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; }
.rc-guide-heading .section-title { margin-bottom: 0; font-size: 1.6rem; }
.rc-guide-tag { display: inline-flex; gap: 7px; align-items: center; font-size: .7rem; color: #73796f; white-space: nowrap; }
.rc-guide-tag i { color: #9d7849; }
.rc-guide-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); list-style: none; margin: 0; padding: 22px 10px; border: 1px solid #e5e0d5; border-radius: 22px; background: #fff; }
.rc-guide-steps li { position: relative; min-width: 0; text-align: center; padding: 0 14px; }
.rc-guide-steps li + li { border-left: 1px solid #f0ede7; }
.rc-guide-symbol { position: relative; width: 44px; height: 44px; display: grid; place-items: center; margin: 0 auto 14px; border-radius: 14px; color: #8f7044; background: #f5f0e7; }
.rc-guide-symbol > i { font-size: 1.25rem; }
.rc-guide-symbol > span { position: absolute; right: -5px; top: -5px; border: 2px solid #fff; width: 19px; height: 19px; border-radius: 50%; background: #253e40; color: #fff; font-size: .55rem; display: grid; place-items: center; line-height: 1; }
.rc-guide-steps li:last-child .rc-guide-symbol { background: #eaf2eb; color: #437350; }
.rc-guide-steps h3 { font-size: .82rem; font-weight: 700; margin: 0 0 6px; letter-spacing: -.02em; }
.rc-guide-steps small { display: none; }
.rc-guide-steps p { font-size: .69rem; line-height: 1.6; color: #7a807b; max-width: 180px; margin: 0 auto; }
@media (max-width: 767.98px) {
  .rc-app .rc-order-guide { padding: 24px 0; }
  .rc-guide-heading { margin-bottom: 14px; }
  .rc-guide-heading .section-kicker { font-size: .55rem; margin-bottom: 7px; }
  .rc-guide-heading .section-title { font-size: 1.25rem; }
  .rc-guide-tag { display: none; }
  .rc-guide-steps { padding: 18px 6px 16px; border-radius: 18px; }
  .rc-guide-steps li { padding: 0 3px; }
  .rc-guide-steps li + li { border-left: 0; }
  .rc-guide-symbol { width: 34px; height: 34px; border-radius: 11px; margin-bottom: 12px; }
  .rc-guide-symbol > i { font-size: 1rem; }
  .rc-guide-symbol > span { width: 17px; height: 17px; font-size: .48rem; right: -4px; }
  .rc-guide-steps h3 { font-size: .6rem; margin-bottom: 4px; white-space: nowrap; }
  .rc-guide-steps small { display: block; font-size: .48rem; line-height: 1.4; color: #707970; }
  .rc-guide-steps p { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media (max-width: 575.98px) {
  .rc-app[data-page="index"] .section-pad { padding-top: 24px; padding-bottom: 24px; }
  .rc-app[data-page="index"] .section-pad .mb-5 { margin-bottom: 20px !important; }
  .rc-app[data-page="index"] .app-offers-section .row-cols-1 > .col { width: 50%; }
  .rc-app[data-page="index"] :is(.coupon-card,.benefit-card,.food-card,.testimonial-card) { padding: 16px; border-radius: 17px; }
  .rc-app[data-page="index"] :is(.coupon-card h4,.benefit-card h5,.food-card h6) { font-size: .88rem; line-height: 1.35; margin-bottom: 7px; }
  .rc-app[data-page="index"] :is(.coupon-card p,.benefit-card p,.food-card p,.testimonial-card p) { font-size: .75rem; line-height: 1.55; margin-bottom: 10px; }
  .rc-app[data-page="index"] :is(.coupon-icon,.benefit-card .icon-tile,.app-food-card i) { width: 36px; height: 36px; font-size: 1.05rem; border-radius: 11px; margin-bottom: 10px; }
  .rc-app[data-page="index"] .coupon-card .pill { font-size: .56rem; padding: 4px 7px; }
  .rc-app[data-page="index"] .benefit-card { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 0 12px; }
  .rc-app[data-page="index"] .benefit-card > :first-child { grid-column: 1; grid-row: 1 / span 2; }
  .rc-app[data-page="index"] .benefit-card > h5, .rc-app[data-page="index"] .benefit-card > p { grid-column: 2; }
  .rc-app[data-page="index"] .benefit-card p { margin-bottom: 0; }
}
