/* Mobile application shell and page layouts. Desktop begins at 901px. */
.rm-header, .rm-bottom-nav, .rm-drawer, .rm-only { display: none; }

@media (max-width: 900px) {
  :root {
    --rm-green: #104534; --rm-ink: #143b35; --rm-yellow: #f9cf16;
    --rm-muted: #506d5e; --rm-sage: #f3f6ee; --rm-rule: #d5e1d9;
    --rm-gutter: max(20px, env(safe-area-inset-left));
    --rm-bottom: calc(68px + env(safe-area-inset-bottom));
    --rm-top: calc(64px + env(safe-area-inset-top));
    --rm-ease: cubic-bezier(.2,.7,.2,1);
  }
  html { scroll-padding-top: calc(var(--rm-top) + 16px); scroll-padding-bottom: calc(var(--rm-bottom) + 16px); }
  body { background: #fff; color: var(--rm-ink); font: 400 15px/1.6 'Poppins','Segoe UI',sans-serif; padding-bottom: var(--rm-bottom); overflow-x: clip; }
  body.rm-menu-open { position: fixed; width: 100%; overflow: hidden; }
  main { padding-top: var(--rm-top); }
  main > section { scroll-margin-top: 0; }
  #siteHeader, .hero-legacy, .products-legacy, .serve-legacy, .how-legacy, .how-ring,
  .culinary-legacy, .about-legacy, .testimonials-legacy, .footer-legacy, .mobile-legacy-only,
  main > .tagline-banner, main > #features,
  .whatsapp-float, .wa-float { display: none !important; }
  .hero-desktop, .rasa-products-desktop, .rasa-serve-desktop, .rasa-how-desktop,
  .rasa-culinary-desktop, .rasa-about-desktop, .rasa-testimonials-desktop,
  .rasa-enquiry-desktop, .rasa-footer-desktop { display: block; min-width: 0; }
  main > #products, main > #serve, main > #how, main > #culinary, main > #about,
  main > #testimonials, main > #enquiry, #footer { margin: 0; padding: 40px var(--rm-gutter); background: #fff; overflow: visible; }
  :is(.rp-inner,.rp-benefits-inner,.ws-layout,.rasa-how-desktop,.rc-layout,.rasa-about-desktop,.rasa-testimonials-desktop,.rf-layout,.rasa-footer-desktop) { width: 100%; max-width: 640px; margin-inline: auto; }
  :is(h1,h2,h3,button,input,select,textarea) { font-family: 'Poppins','Segoe UI',sans-serif; }
  :is(a,button,input,select,textarea,summary) { -webkit-tap-highlight-color: transparent; }
  :is(a,button,summary):focus-visible { outline: 3px solid #2468ac; outline-offset: 3px; }
  :is(button,a,summary) { touch-action: manipulation; }
  :is(input,select,textarea,button,a) { scroll-margin-block: calc(var(--rm-top) + 16px) calc(var(--rm-bottom) + 16px); }
  :is(.rm-header,.rm-drawer,.rm-bottom-nav) svg { width: 24px; height: 24px; flex: none; stroke-width: 1.8; }
  :is(.rp-heading,.ws-heading,.hw-heading,.rc-heading,.ra-heading,.rt-heading,.rf-heading) { color: var(--rm-green); font: 700 32px/1.14 'Poppins',sans-serif; letter-spacing: -.045em; margin: 0 0 24px; text-wrap: balance; }
  :is(.ra-eyebrow,.rt-eyebrow,.rf-eyebrow,.rc-eyebrow) { color: var(--rm-green); font-size: 10px; line-height: 1.5; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; margin-bottom: 10px; }
  :is(.rp-sr-only,.ws-sr-only,.rt-announcement,.rf-honeypot,.rm-sr-only) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .rm-only { display: flex; }
  .rm-only[hidden] { display: none; }
  .rm-header { display: flex; align-items: center; justify-content: space-between; position: fixed; z-index: 100; inset: 0 0 auto; height: var(--rm-top); padding: env(safe-area-inset-top) var(--rm-gutter) 0; background: #fff; border-bottom: 1px solid var(--rm-rule); }
  .rm-logo { display: flex; align-items: center; width: 100px; height: 56px; }
  .rm-logo img { width: 90px; height: 54px; object-fit: contain; }
  .rm-menu-button, .rm-close { display: grid; place-items: center; width: 48px; height: 48px; color: var(--rm-green); border-radius: 14px; background: var(--rm-sage); }
  .rm-menu-button { visibility: hidden; }
  .rm-ready .rm-menu-button { visibility: visible; }
  .rm-bottom-nav { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); position: fixed; inset: auto 0 0; z-index: 100; min-height: var(--rm-bottom); padding: 6px max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left)); background: #fff; border-top: 1px solid var(--rm-rule); transition: transform 220ms var(--rm-ease); }
  .rm-bottom-nav a { min-height: 56px; min-width: 44px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 2px; color: #52685e; font-size: 10px; font-weight: 500; }
  .rm-bottom-nav a > span { display: grid; place-items: center; width: 54px; height: 30px; border-radius: 30px; transition: background 220ms, color 220ms; }
  .rm-bottom-nav a[aria-current] { color: var(--rm-green); font-weight: 600; }
  .rm-bottom-nav a[aria-current] > span { background: var(--rm-green); color: #fff; }
  .rm-bottom-nav svg { width: 21px; height: 21px; }
  .rm-keyboard .rm-bottom-nav { transform: translateY(110%); pointer-events: none; }
  .rm-drawer[open] { display: flex; flex-direction: column; }
  .rm-drawer { position: fixed; inset: 0 0 0 auto; margin: 0; width: min(360px,calc(100% - 28px)); max-width: none; height: 100%; height: 100dvh; max-height: none; border: 0; padding: max(16px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom)); background: #fff; color: var(--rm-ink); overscroll-behavior: contain; overflow-y: auto; }
  .rm-drawer::backdrop { background: rgb(5 29 21 / .55); }
  .rm-drawer-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; flex: none; position: sticky; top: 0; z-index: 1; background: #fff; }
  .rm-drawer nav { display: grid; gap: 5px; }
  .rm-drawer-link { display: flex; align-items: center; gap: 16px; min-height: 54px; padding: 12px; border-radius: 12px; font-size: 14px; font-weight: 500; }
  .rm-drawer-link::after { content: ''; width: 7px; height: 7px; border-top: 1.5px solid; border-right: 1.5px solid; transform: rotate(45deg); margin-left: auto; flex: none; }
  .rm-drawer-link[aria-current] { background: #eaf2eb; color: var(--rm-green); }
  .rm-drawer-cta { margin-top: auto; padding-top: 28px; }
  .rm-action, .rasa-hero-primary, .rp-samples, .rc-primary, .rf-submit { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 52px; padding: 14px 20px; background: var(--rm-yellow); color: var(--rm-green); border: 0; border-radius: 14px; font-size: 14px; font-weight: 600; line-height: 1.5; transition: transform 200ms var(--rm-ease),background 200ms; }
  :is(.rm-action,.rasa-hero-primary,.rp-samples,.rc-primary,.rf-submit) svg { width: 22px; height: 22px; flex: none; }
  :is(.rm-action,.rasa-hero-primary,.rp-samples,.rc-primary,.rf-submit,.rm-menu-button,.rm-close,.rp-tab,.ws-tab,.rp-arrow,.rt-arrow):active { transform: scale(.97); }

  /* 1. A product-led mobile hero, with supporting details below its primary action. */
  .hero.hero-desktop { margin: 0; padding: 0; background: #fff; border-radius: 0; overflow: visible; }
  .rasa-hero-card { display: flex; flex-direction: column; background: linear-gradient(130deg,#104534,#197d61); padding: 28px var(--rm-gutter) 0; color: #fff; min-height: 0; width: 100%; }
  .rasa-hero-backdrop, .rasa-hero-ghost { display: none; }
  .rasa-hero-eyebrow { text-align: center; font-size: 10px; text-transform: uppercase; font-weight: 500; letter-spacing: .16em; color: #e5ead3; margin: 0 0 14px; }
  .rasa-hero-title { font-size: clamp(32px,8.9vw,52px); line-height: 1.1; font-weight: 700; letter-spacing: -.055em; text-align: center; margin: 0; }
  .rasa-hero-title > span { display: block; }
  .rasa-hero-title br { display: none; }
  .rasa-hero-title--right { color: var(--rm-yellow); }
  .rasa-hero-product { width: min(100%,430px); height: clamp(245px,74vw,345px); margin: 8px auto 0; }
  .rasa-hero-product img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 14px 14px #072b2840); }
  .rasa-hero-action { order: 1; width: 100%; max-width: 520px; margin: 0 auto; padding-bottom: 24px; }
  .rasa-hero-action p { font-size: 13px; color: #e6f0ea; text-align: center; margin: 0 auto 16px; max-width: 275px; }
  .rasa-hero-primary { background: #fff; }
  .rasa-hero-panel { color: var(--rm-green); background: #fff; margin-inline: calc(-1 * var(--rm-gutter)); padding: 20px var(--rm-gutter); }
  .rasa-hero-panel--samples { order: 2; display: flex; flex-direction: row-reverse; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--rm-rule); }
  .rasa-hero-socials { display: flex; gap: 8px; }
  .rasa-hero-socials a { width: 44px; height: 44px; display: grid; place-items: center; background: var(--rm-sage); border-radius: 50%; }
  .rasa-hero-socials a svg { width: 21px; height: 21px; }
  .rasa-hero-socials .rasa-hero-phone { display: none; }
  .rasa-hero-story { font-size: 12px; line-height: 1.7; }
  .rasa-hero-panel--trust { order: 3; display: grid; grid-template-columns: 1fr auto; gap: 8px 18px; padding-block: 16px 24px; }
  .rasa-hero-panel--trust .rasa-hero-panel-tools { grid-column: 2; grid-row: 1; align-self: center; }
  .rasa-hero-panel--trust .rasa-hero-panel-body { grid-column: 1; grid-row: 1; }
  .rasa-hero-range { display: flex; align-items: center; gap: 5px; min-height: 44px; font-size: 11px; font-weight: 600; }
  .rasa-hero-range > span { display: none; }
  .rasa-hero-trust { font-size: 11px; }
  .rasa-hero-story-link { display: none; }

  /* 2. Swipeable categories, a single food stage, and progressively disclosed lists. */
  main > #products { padding-top: 20px; padding-bottom: 0; }
  .rp-heading-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0 16px; margin-bottom: 12px; }
  .rp-heading { margin: 0; font-size: 30px; }
  .rp-price-link { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; font-size: 11px; font-weight: 500; text-decoration: underline; text-underline-offset: 4px; }
  .rp-price-link svg { width: 18px; height: 18px; }
  .rp-tabs, .ws-tabs { display: flex; overflow-x: auto; gap: 8px; padding: 3px 0 10px; scroll-snap-type: x proximity; scrollbar-width: none; overscroll-behavior-x: contain; }
  .rp-tabs::-webkit-scrollbar, .ws-tabs::-webkit-scrollbar { display: none; }
  .rp-tab, .ws-tab { flex: none; min-height: 48px; padding: 12px 17px; border: 1px solid transparent; border-radius: 14px; color: var(--rm-green); background: #edf3ed; font-size: 12px; font-weight: 500; white-space: nowrap; scroll-snap-align: start; transition: background 200ms,color 200ms,transform 200ms; }
  .rp-tab[data-range='dairy'] { background: #fbf1d9; }
  .rp-tab[data-range='indian'] { background: #fff0e6; }
  .rp-tab[data-range='malay'] { background: #eaf1fa; }
  .rp-tab[aria-selected='true'], .ws-tab[aria-selected='true'] { color: #fff; background: var(--rm-green); }
  .rp-panel { display: block; min-width: 0; padding-top: 6px; }
  .rp-panel[hidden], .ws-panel[hidden], .rp-product-list li[hidden] { display: none; }
  .rp-stage { position: relative; overflow: hidden; background: linear-gradient(135deg,#104534,#197d61); border-radius: 20px; height: clamp(235px,64vw,345px); }
  .rp-stage-shape { display: none; }
  [data-range='dairy'] .rp-stage { background: linear-gradient(135deg,#ffe4a0,#f1bd51); }
  [data-range='indian'] .rp-stage { background: linear-gradient(135deg,#ffb367,#e77438); }
  [data-range='malay'] .rp-stage { background: linear-gradient(135deg,#1a526d,#428ba0); }
  [data-range='middle-eastern'] .rp-stage { background: linear-gradient(135deg,#9bdad1,#3ea995); }
  [data-range='marinades'] .rp-stage { background: linear-gradient(135deg,#102c46,#366f9c); }
  .rp-stage-word { position: absolute; left: 16px; top: 12px; color: #fff; opacity: .12; font-size: clamp(60px,20vw,110px); line-height: 1; letter-spacing: -.06em; font-weight: 700; }
  .rp-art { position: absolute; inset: 6px 0 0; }
  .rp-art img { position: absolute; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 10px 8px #062d2633); }
  .rp-art--dairy .rp-dairy-cheese { width: 67%; height: 75%; right: 0; top: 0; transform: rotate(-8deg); }
  .rp-art--dairy .rp-dairy-butter { width: 68%; height: 65%; left: 0; bottom: 0; }
  .rp-art--dairy .rp-dairy-ghee { width: 39%; height: 48%; right: 4%; bottom: 1%; }
  .rp-detail { padding-top: 18px; }
  .rp-detail h3 { font-size: 23px; line-height: 1.25; letter-spacing: -.035em; font-weight: 600; }
  .rp-detail h3 br { display: none; }
  .rp-list-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 10px 0; min-height: 24px; }
  .rp-count { color: var(--rm-muted); font-size: 12px; white-space: nowrap; }
  .rp-category-filter { min-height: 48px; min-width: 0; max-width: 72%; padding: 10px; border: 1px solid #748d7e; border-radius: 10px; background: #fff; color: var(--rm-green); font-size: 16px; }
  .rp-product-list { max-height: none !important; overflow: visible; list-style: none; margin: 0; padding: 0; }
  .rp-product-list li { margin-top: 8px; border-radius: 12px; background: var(--rm-sage); }
  .rp-product-list a { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 58px; padding: 14px; }
  .rp-product-list strong { font-size: 14px; line-height: 1.45; font-weight: 500; display: block; }
  .rp-product-list small { display: block; font-size: 11px; color: var(--rm-muted); margin-top: 2px; }
  .rp-product-list svg { flex: none; width: 20px; height: 20px; }
  .rp-product-list .rm-row-collapsed { display: none; }
  .rm-list-toggle, .rm-read-more { align-items: center; justify-content: center; min-height: 44px; font-size: 12px; font-weight: 600; color: var(--rm-green); text-decoration: underline; text-underline-offset: 4px; }
  .rm-list-toggle { width: 100%; margin-top: 8px; }
  .rm-list-toggle[hidden] { display: none; }
  .rp-samples { margin-top: 16px; }
  .rp-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 16px; }
  .rp-progress { width: 58px; height: 3px; background: var(--rm-rule); border-radius: 5px; overflow: hidden; }
  .rp-progress > span { display: block; height: 100%; background: #cb631c; }
  .rp-navigation { display: flex; align-items: center; gap: 8px; }
  .rp-page-number { margin-right: 8px; font-size: 12px; font-variant-numeric: tabular-nums; }
  .rp-arrow, .rt-arrow { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #748d7e; border-radius: 50%; color: var(--rm-green); background: #fff; }
  .rp-arrow svg, .rt-arrow svg { width: 22px; height: 22px; }
  .rp-previous svg { transform: rotate(180deg); }
  .rp-benefits { margin: 28px 0 0; padding: 0 0 36px; }
  .rp-benefit { position: relative; padding: 14px 0 14px 54px; border-top: 1px solid var(--rm-rule); --benefit-icon: #104534; --benefit-halo: #e7efe5; --benefit-paper: #fff; --benefit-accent: #f9cf16; }
  .rp-benefit:nth-child(2) { --benefit-icon: #2468ac; --benefit-halo: #eaf1fa; --benefit-accent: #b9d7ed; }
  .rp-benefit:nth-child(3) { --benefit-icon: #b1541a; --benefit-halo: #fff0e6; --benefit-accent: #f9cf16; }
  .rp-benefit-art { position: absolute; width: 42px; height: 44px; left: 0; top: 14px; display: flex; align-items: center; }
  .rp-benefit-icon { width: 42px; height: 42px; color: var(--benefit-icon); }
  .rp-art-halo { fill: var(--benefit-halo); } .rp-art-paper { fill: var(--benefit-paper); } .rp-art-accent { fill: var(--benefit-accent); }
  .rp-benefit h3 { font-size: 15px; line-height: 1.4; padding-block: 10px; font-weight: 600; }
  .rp-benefit p { color: var(--rm-muted); font-size: 13px; padding-top: 6px; }
  .rm-disclosure-button { align-items: center; justify-content: space-between; gap: 15px; width: 100%; min-height: 44px; text-align: left; color: inherit; font-size: 15px; font-weight: 600; line-height: 1.4; }
  .rm-disclosure-button::after { content: '+'; font-size: 22px; font-weight: 400; flex: none; width: 24px; text-align: center; }
  .rm-disclosure-button[aria-expanded='true']::after { content: '−'; }
  .rm-disclosure > h3, .rm-disclosure > h2 { display: none; }
  .rm-disclosure:not(.rm-expanded) > :is(p,ul) { display: none; }

  /* 3–5. Audience selector, compact process timeline, and culinary action. */
  main > #serve { background: var(--rm-sage); }
  .ws-heading { margin-bottom: 20px; }
  .ws-tabs { margin-bottom: 10px; }
  .ws-tab { background: #fff; }
  .ws-number, .ws-tab > svg { display: none; }
  .ws-panel { border-radius: 20px; background: #fff; overflow: hidden; }
  .ws-photo img { width: 100%; height: auto; aspect-ratio: 1.35; object-fit: cover; }
  .ws-caption { padding: 18px; display: grid; grid-template-columns: minmax(0,1fr) 44px; align-items: center; gap: 14px; }
  .ws-caption p { font-size: 14px; line-height: 1.6; }
  .ws-link { display: grid; place-items: center; width: 44px; height: 44px; background: var(--rm-yellow); border-radius: 50%; }
  .ws-link svg { width: 22px; height: 22px; }
  .ws-caption .rm-read-more { grid-column: 1; justify-self: start; }
  main > #how { background: var(--rm-green); color: #fff; }
  .hw-heading { color: #fff; }
  .hw-steps { list-style: none; }
  .hw-step { position: relative; display: grid; grid-template-columns: 38px minmax(0,1fr) 66px; align-items: center; gap: 14px; min-height: 96px; }
  .hw-step:not(:last-child)::after { position: absolute; content: ''; width: 1px; height: calc(100% - 38px); left: 18px; top: calc(50% + 19px); background: #8b9e73; }
  .hw-track { grid-row: 1; grid-column: 1; }
  .hw-number { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--rm-yellow); color: var(--rm-green); font-size: 12px; font-weight: 600; }
  .hw-next { display: none; }
  .hw-art { grid-row: 1; grid-column: 3; width: 66px; height: 66px; }
  .hw-step h3 { grid-row: 1; grid-column: 2; font-size: 16px; font-weight: 500; line-height: 1.5; color: #fff; }
  .hw-step h3 span { display: block; }
  main > #culinary { background: #f7d747; padding-block: 32px; }
  .rc-layout { display: grid; grid-template-columns: minmax(0,1fr); }
  .rc-copy { display: contents; }
  .rc-eyebrow { grid-row: 1; font-size: 9px; }
  .rc-heading { grid-row: 2; margin-bottom: 12px; }
  .rc-description { grid-row: 3; font-size: 13px; max-width: 440px; }
  .rc-visual { grid-row: 4; height: 175px; margin-block: 4px 10px; }
  .rc-food { width: 100%; height: 100%; object-fit: contain; }
  .rc-actions { grid-row: 5; display: grid; gap: 6px; }
  .rc-primary { color: #fff; background: var(--rm-green); }
  .rc-secondary { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; font-size: 12px; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
  .rc-secondary svg { width: 20px; height: 20px; }

  /* 6–7. Short introductions, expandable source copy, and native review swiping. */
  .ra-main { display: flex; flex-direction: column; }
  .ra-copy { display: contents; }
  .ra-eyebrow { order: 0; }
  .ra-heading { order: 1; }
  .ra-visual { order: 2; }
  .ra-description { order: 3; margin-top: 20px; font-size: 14px; line-height: 1.65; }
  .ra-description strong { font-weight: 500; }
  .ra-copy > .rm-read-more { order: 4; align-self: flex-start; }
  .ra-more { order: 5; display: inline-flex; align-items: center; min-height: 44px; gap: 12px; font-weight: 600; font-size: 13px; }
  .ra-more svg { width: 20px; height: 20px; }
  .rm-ready .ra-more { display: none; }
  .ra-photo { width: 100%; height: auto; aspect-ratio: 1.5; object-fit: cover; border-radius: 20px; }
  .ra-stats { display: grid; grid-template-columns: 1fr 1fr; text-align: center; padding-top: 18px; }
  .ra-stats > div { display: flex; flex-direction: column; }
  .ra-stats > div + div { border-left: 1px solid var(--rm-rule); }
  .ra-stats dt { order: 2; font-size: 11px; color: var(--rm-muted); margin-top: 4px; line-height: 1.5; font-weight: 400; }
  .ra-stats dd { order: 1; font-size: 28px; font-weight: 700; letter-spacing: -.04em; line-height: 1.2; }
  .ra-strengths { margin-top: 20px; background: var(--rm-sage); border-radius: 16px; padding: 4px 16px; }
  .ra-strength { display: grid; grid-template-columns: 40px minmax(0,1fr); gap: 13px; padding-block: 15px; align-items: center; }
  .ra-strength + .ra-strength { border-top: 1px solid var(--rm-rule); }
  .ra-strength-art { width: 40px; height: 40px; }
  .ra-strength h3 { font-size: 13px; font-weight: 600; line-height: 1.4; }
  .ra-strength p { font-size: 11px; line-height: 1.6; color: var(--rm-muted); margin-top: 4px; }
  .rm-extra-copy { display: none; }
  .rm-expanded > .rm-extra-copy { display: inline; }
  main > #testimonials { background: var(--rm-sage); }
  .rasa-testimonials-desktop { --rt-visible: 1; }
  .rt-heading { font-size: 29px; margin-bottom: 12px; }
  .rt-intro { display: none; }
  .rt-track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; padding: 4px 0; margin-top: 20px; }
  .rt-track::-webkit-scrollbar { display: none; }
  .rt-card { scroll-snap-align: start; border-radius: 18px; padding: 22px; margin: 0; background: #fff; min-width: 0; align-self: start; }
  .rt-profile { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
  .rt-avatar { flex: none; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #eaf1fa; color: #2468ac; font-size: 12px; font-weight: 600; }
  .rt-avatar-2 { background: #fff0e6; color: #9b4f19; } .rt-avatar-3 { background: #eaf2eb; color: #104534; }
  .rt-avatar-4 { background: #fbf1d9; color: #7c5b14; }
  .rt-person { min-width: 0; }
  .rt-person strong { display: block; font-size: 14px; font-weight: 600; }
  .rt-person > span { display: block; margin-top: 3px; font-size: 10px; color: var(--rm-muted); }
  .rt-quote-mark { display: none; }
  .rt-card blockquote { color: #365849; font-size: 14px; line-height: 1.75; margin: 0; }
  .rm-clamp:not(.rm-expanded) { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .rt-card .rm-read-more { justify-content: flex-start; }
  .rt-navigation { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 16px; }
  .rt-navigation[hidden] { display: none; }
  .rt-count { display: none; }
  .rt-dots { display: flex; gap: 0; }
  .rt-dot { display: grid; place-items: center; min-width: 44px; height: 44px; }
  .rt-dot::before { content: ''; width: 6px; height: 6px; border-radius: 6px; background: #748d7e; transition: width 220ms,background 220ms; }
  .rt-dot[aria-current='true']::before { width: 20px; background: var(--rm-green); }
  .rt-arrows { display: flex; gap: 8px; }
  .rt-arrow:disabled { opacity: .35; }

  /* 8–9. One-column form and compact, expandable footer navigation. */
  .rf-heading { margin-bottom: 20px; }
  .rf-contact-links { display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 24px; }
  .rf-contact-link { display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 12px 16px; background: var(--rm-sage); border-radius: 12px; }
  .rf-contact-link svg { width: 24px; height: 24px; flex: none; }
  .rf-contact-link span span { display: block; color: var(--rm-muted); font-size: 10px; }
  .rf-contact-link strong { display: block; font-size: 13px; font-weight: 500; overflow-wrap: anywhere; }
  .rf-form, .rf-field { min-width: 0; }
  .rf-fields { border: 0; display: grid; grid-template-columns: 1fr; gap: 18px; min-width: 0; }
  .rf-field > label, .rf-delivery > legend { display: block; padding: 0; font-size: 13px; margin-bottom: 8px; font-weight: 500; }
  .rf-input { display: block; width: 100%; min-width: 0; height: 52px; border-radius: 12px; border: 1px solid #748d7e; padding: 12px 14px; background: #fff; color: var(--rm-green); font: 400 16px/1.5 'Poppins',sans-serif; }
  .rf-input::placeholder { color: #687c70; }
  .rf-input:focus { outline: 2px solid var(--rm-green); outline-offset: 2px; }
  .rf-input[aria-invalid='true'] { border-color: #a23428; }
  .rf-required { color: #a23428; }
  .rf-delivery { border: 0; min-width: 0; }
  .rf-delivery-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  .rf-choice { display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 6px; min-height: 66px; padding: 10px 3px; border: 1px solid var(--rm-rule); border-radius: 12px; background: var(--rm-sage); font-size: 11px; cursor: pointer; }
  .rf-choice:has(input:checked) { border-color: var(--rm-green); background: #e4f0e5; }
  .rf-choice input { width: 20px; height: 20px; accent-color: var(--rm-green); }
  textarea.rf-input { min-height: 100px; resize: vertical; }
  .rf-error { color: #a23428; font-size: 12px; margin-top: 6px; }
  .rf-actions { margin-top: 22px; }
  .rf-privacy { display: flex; align-items: center; justify-content: center; min-height: 44px; font-size: 11px; color: var(--rm-muted); text-decoration: underline; text-underline-offset: 3px; margin-top: 6px; }
  .rf-submit:disabled { opacity: .6; cursor: wait; }
  .rf-status { padding: 16px; background: #edf5ef; border-radius: 12px; margin-top: 12px; font-size: 13px; overflow-wrap: anywhere; }
  .rf-status[data-state='error'] { background: #fff2ec; color: #802f26; }
  #footer { background: var(--rm-green); color: #fff; padding-top: 28px; padding-bottom: 24px; }
  .rft-logo-link { display: flex; width: 110px; min-height: 64px; align-items: center; }
  .rft-logo { width: 105px; height: 68px; object-fit: contain; filter: brightness(0) invert(1); }
  .rft-description { color: #d1e6dc; font-size: 12px; margin: 12px 0 24px; }
  .rft-description strong { display: block; color: #fff; font-size: 14px; margin-bottom: 5px; font-weight: 500; }
  .rft-nav { border-top: 1px solid #42705c; padding-block: 6px; }
  .rft-nav h2 { font-size: 15px; font-weight: 500; padding-block: 12px; }
  .rft-nav ul { padding-bottom: 10px; }
  .rft-nav a { display: flex; align-items: center; min-height: 44px; font-size: 13px; color: #d1e6dc; }
  .rft-contacts { border-top: 1px solid #42705c; padding-top: 20px; margin-top: 6px; display: grid; gap: 18px; }
  .rft-contact { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 12px; }
  .rft-contact > svg { width: 22px; height: 22px; margin-top: 4px; color: var(--rm-yellow); }
  .rft-contact-label { display: block; font-size: 10px; color: #bcd6c8; margin-bottom: 4px; }
  .rft-contact-value { display: block; font-size: 12px; font-style: normal; line-height: 1.7; overflow-wrap: anywhere; }
  .rm-address > .rft-contact-label { display: none; }
  .rm-address:not(.rm-expanded) address { display: none; }
  .rm-address > button { font-size: 13px; font-weight: 500; }
  .rm-address address { padding-top: 6px; }
  a.rft-contact-value { display: inline-flex; align-items: center; min-height: 44px; margin-top: -5px; }
  .rft-bottom { display: flex; flex-direction: column-reverse; gap: 16px; margin-top: 24px; border-top: 1px solid #42705c; padding-top: 16px; }
  .rft-up { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 44px; font-size: 12px; }
  .rft-up-icon { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--rm-green); }
  .rft-up-icon svg { width: 22px; height: 22px; }
  .rft-copyright { color: #bcd6c8; font-size: 10px; }
  #footer :is(a,button):focus-visible { outline-color: var(--rm-yellow); }
}

@media (max-width: 359px) {
  :root { --rm-gutter: max(16px,env(safe-area-inset-left)); }
  .rt-arrows .rt-arrow:first-child { display: none; }
  .rasa-hero-title { font-size: 30px; }
  .rp-heading { font-size: 28px; }
}
@media (min-width: 600px) and (max-width: 900px) {
  :root { --rm-gutter: max(32px,env(safe-area-inset-left)); }
  .rasa-hero-panel { padding-inline: max(32px,calc((100vw - 600px)/2)); }
  .rasa-hero-action { max-width: 520px; }
  .rp-panel { display: grid; grid-template-columns: 1fr 1fr; align-items: start; gap: 24px; }
  .rp-panel[hidden] { display: none; }
  .rp-stage { height: 300px; position: sticky; top: calc(var(--rm-top) + 16px); }
  .rp-detail { padding-top: 0; }
  .rp-category-filter { font-size: 16px; width: 100%; max-width: 100%; }
  .rp-list-header { flex-wrap: wrap; }
  .rf-contact-links { grid-template-columns: 1fr 1fr; }
  .rc-layout { grid-template-columns: 1.2fr 1fr; gap: 0 20px; }
  .rc-visual { grid-column: 2; grid-row: 1 / 5; height: 230px; align-self: center; }
  .rc-actions { grid-column: 1; }
}
@media (max-width: 900px) and (prefers-reduced-motion: no-preference) {
  .rm-drawer[open] { animation: rm-drawer-in 250ms var(--rm-ease) both; }
  .rm-drawer[open]::backdrop { animation: rm-backdrop-in 250ms ease both; }
  .rm-drawer.rm-closing { animation: rm-drawer-out 220ms var(--rm-ease) both; }
  .rm-drawer.rm-closing::backdrop { animation: rm-backdrop-out 220ms ease both; }
  .rp-panel.is-entering .rp-art, .ws-panel.is-entering .ws-photo { animation: rm-enter 250ms var(--rm-ease) both; }
  .rm-disclosure.rm-expanded > :is(p,ul) { animation: rm-enter 220ms var(--rm-ease); }
  @keyframes rm-enter { from { opacity: .4; transform: translateY(8px); } to { opacity: 1; transform: none; } }
  @keyframes rm-drawer-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
  @keyframes rm-drawer-out { from { transform: translateX(0); } to { transform: translateX(100%); } }
  @keyframes rm-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
  @keyframes rm-backdrop-out { from { opacity: 1; } to { opacity: 0; } }
}
@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
