/* RestoBulut home ecosystem showcase. All selectors stay inside this section. */
.rb-home .rb-home-ecosystem,
.rb-home .rb-home-ecosystem * { box-sizing: border-box; }
.rb-home .rb-home-ecosystem {
  --eco-ink: #21162a;
  --eco-muted: #6e6877;
  --eco-pink: #e80a62;
  --eco-plum: #76249a;
  --eco-line: rgba(95, 54, 91, .12);
  --eco-shadow: 0 22px 70px rgba(72, 31, 69, .09);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(56px, 7vw, 100px) 0 clamp(58px, 7vw, 92px);
  color: var(--eco-ink);
  background:
    radial-gradient(ellipse at 6% 5%, rgba(254, 218, 234, .78), transparent 35%),
    radial-gradient(ellipse at 92% 38%, rgba(242, 226, 250, .70), transparent 32%),
    linear-gradient(145deg, #fffafd 0%, #fff 46%, #fff8fb 100%);
}
.rb-home .rb-home-ecosystem::before,
.rb-home .rb-home-ecosystem::after {
  position: absolute;
  z-index: -1;
  width: 330px;
  height: 330px;
  border: 1px solid rgba(232, 10, 98, .08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}
.rb-home .rb-home-ecosystem::before { top: 100px; left: -235px; box-shadow: 0 0 0 32px rgba(232,10,98,.018), 0 0 0 68px rgba(118,36,154,.015); }
.rb-home .rb-home-ecosystem::after { right: -260px; bottom: 160px; width: 440px; height: 440px; border-color: rgba(118,36,154,.07); box-shadow: 0 0 0 38px rgba(118,36,154,.018), 0 0 0 78px rgba(232,10,98,.014); }
.rb-home .rb-eco-shell { position: relative; z-index: 1; width: min(calc(100% - 64px), 1380px); margin: 0 auto; }
.rb-home .rb-eco-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin: 0 0 28px; }
.rb-home .rb-eco-heading-copy { max-width: 830px; }
.rb-home .rb-eco-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: #bb2769; font-size: 11px; font-weight: 850; letter-spacing: .16em; }
.rb-home .rb-eco-eyebrow i { font-size: 13px; }
.rb-home .rb-eco-heading h2 { margin: 12px 0 10px; color: var(--eco-ink); font-size: clamp(34px, 4.25vw, 58px); font-weight: 850; line-height: 1.04; letter-spacing: -.052em; }
.rb-home .rb-eco-heading h2 em { color: var(--eco-pink); font-style: normal; }
.rb-home .rb-eco-heading p { max-width: 710px; margin: 0; color: var(--eco-muted); font-size: clamp(14px, 1.3vw, 17px); line-height: 1.72; }
.rb-home .rb-eco-admin-note { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; margin-bottom: 6px; padding: 11px 15px; border: 1px solid rgba(139, 78, 127, .13); border-radius: 999px; background: rgba(255,255,255,.68); color: #71617a; font-size: 11px; font-weight: 700; box-shadow: 0 7px 24px rgba(87,45,81,.045); }
.rb-home .rb-eco-admin-note i { color: var(--eco-plum); }
.rb-home .rb-eco-tabs-wrap { position: relative; margin: 0 0 20px; }
.rb-home .rb-eco-tabs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; padding: 7px; border: 1px solid rgba(145, 81, 126, .13); border-radius: 17px; background: rgba(255,255,255,.76); box-shadow: 0 10px 30px rgba(66,27,60,.055); backdrop-filter: blur(14px); }
.rb-home .rb-eco-tab { position: relative; display: inline-flex; min-width: 0; min-height: 55px; align-items: center; justify-content: center; gap: 9px; padding: 10px 12px; overflow: hidden; border: 1px solid transparent; border-radius: 12px; background: transparent; color: #54445c; font: inherit; font-size: 12px; font-weight: 750; line-height: 1.2; text-align: center; cursor: pointer; transition: transform .28s ease, color .28s ease, background .28s ease, box-shadow .28s ease, border-color .28s ease; }
.rb-home .rb-eco-tab i { flex: 0 0 auto; color: #a53b79; font-size: 16px; transition: transform .35s ease, color .25s ease; }
.rb-home .rb-eco-tab:hover { transform: translateY(-2px); border-color: rgba(232,10,98,.13); background: #fff8fb; color: var(--eco-ink); }
.rb-home .rb-eco-tab:hover i { transform: translateY(-2px) scale(1.07); color: var(--eco-pink); }
.rb-home .rb-eco-tab.is-active { border-color: transparent; background: linear-gradient(110deg, #e90b63 0%, #aa1684 55%, #792693 100%); color: #fff; box-shadow: 0 10px 24px rgba(193, 19, 111, .25), inset 0 1px 0 rgba(255,255,255,.25); }
.rb-home .rb-eco-tab.is-active i { color: #fff; }
.rb-home .rb-eco-tab:focus-visible { outline: 3px solid rgba(232,10,98,.3); outline-offset: 2px; }
.rb-home .rb-eco-tabs-hint { display: none; }
.rb-home .rb-eco-panels { position: relative; }
.rb-home .rb-eco-panel { padding: clamp(20px, 3vw, 36px); border: 1px solid rgba(129, 73, 121, .12); border-radius: 25px; background: rgba(255,255,255,.88); box-shadow: var(--eco-shadow); }
.rb-home .rb-eco-panel[hidden] { display: none !important; }
.rb-home .rb-eco-panel.is-active { animation: rbEcoPanelIn .48s cubic-bezier(.2,.7,.2,1) both; }
@keyframes rbEcoPanelIn { from { opacity: 0; transform: translateY(10px) scale(.994); } to { opacity: 1; transform: translateY(0) scale(1); } }
.rb-home .rb-eco-feature-layout { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); align-items: center; gap: clamp(25px, 4.2vw, 60px); }
.rb-home .rb-eco-feature-copy { max-width: 520px; padding: 6px 0 8px 4px; }
.rb-home .rb-eco-module-kicker { display: inline-flex; align-items: center; gap: 8px; color: #b32b70; font-size: 10px; font-weight: 850; letter-spacing: .14em; }
.rb-home .rb-eco-module-kicker i { display: inline-grid; width: 29px; height: 29px; place-items: center; border: 1px solid rgba(232,10,98,.12); border-radius: 9px; background: #fff2f7; color: var(--eco-pink); font-size: 13px; }
.rb-home .rb-eco-feature-copy h3 { margin: 16px 0 10px; color: var(--eco-ink); font-size: clamp(24px, 2.45vw, 34px); font-weight: 850; line-height: 1.16; letter-spacing: -.035em; }
.rb-home .rb-eco-module-description { max-width: 500px; margin: 0; color: #706a79; font-size: 14px; line-height: 1.72; }
.rb-home .rb-eco-feature-list { display: grid; gap: 11px; margin: 21px 0 0; padding: 0; list-style: none; }
.rb-home .rb-eco-feature-list li { display: flex; align-items: flex-start; gap: 10px; color: #3f3849; font-size: 12.5px; font-weight: 650; line-height: 1.48; }
.rb-home .rb-eco-feature-list li > span { display: grid; flex: 0 0 19px; width: 19px; height: 19px; place-items: center; margin-top: -1px; border-radius: 50%; background: #e8f9f0; color: #14985a; font-size: 9px; }
.rb-home .rb-eco-cta { display: inline-flex; align-items: center; gap: 12px; margin-top: 22px; padding: 12px 17px; border: 1px solid rgba(232,10,98,.12); border-radius: 11px; background: linear-gradient(120deg, #fff2f7, #f8f0fb); color: #ac1a63; font-size: 12px; font-weight: 800; text-decoration: none; transition: color .25s ease, transform .25s ease, box-shadow .25s ease; }
.rb-home .rb-eco-cta i { transition: transform .25s ease; }
.rb-home .rb-eco-cta:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(147, 40, 111, .12); color: #792693; }
.rb-home .rb-eco-cta:hover i { transform: translateX(4px); }
.rb-home .rb-eco-compliance-note { display: flex; gap: 9px; margin-top: 18px; padding: 11px 12px; border: 1px solid rgba(197, 131, 35, .17); border-radius: 12px; background: #fffaf0; color: #786335; font-size: 10px; line-height: 1.55; }
.rb-home .rb-eco-compliance-note i { flex: 0 0 auto; margin-top: 2px; color: #bf8a26; }
.rb-home .rb-eco-compliance-mobile { display: none; }
.rb-home .rb-eco-visual { position: relative; min-width: 0; padding: 8px 5px 14px; }
.rb-home .rb-eco-visual-surface { position: relative; overflow: hidden; min-height: 310px; border: 1px solid rgba(132, 68, 116, .12); border-radius: 20px; background: linear-gradient(145deg, #fff, #fff4f8 60%, #f8f1fb); box-shadow: 0 18px 42px rgba(64,26,57,.12), inset 0 1px 0 rgba(255,255,255,.95); transform: perspective(1000px) rotateY(-1.1deg); transition: transform .45s ease, box-shadow .45s ease; }
.rb-home .rb-eco-visual:hover .rb-eco-visual-surface { transform: perspective(1000px) rotateY(0) translateY(-4px); box-shadow: 0 23px 52px rgba(64,26,57,.15), inset 0 1px 0 rgba(255,255,255,.95); }
.rb-home .rb-eco-visual-surface > img { display: block; width: 100%; height: clamp(310px, 32vw, 440px); object-fit: cover; transition: transform .75s cubic-bezier(.2,.7,.2,1); }
.rb-home .rb-eco-visual:hover .rb-eco-visual-surface > img { transform: scale(1.025); }
.rb-home .rb-eco-visual-flow { grid-column: 1 / -1; padding: 0; }
.rb-home .rb-eco-visual-flow .rb-eco-visual-surface { min-height: 0; transform: none; background: #fff; }
.rb-home .rb-eco-visual-flow .rb-eco-visual-surface > img { height: auto; max-height: none; object-fit: contain; }
.rb-home .rb-eco-visual-flow:hover .rb-eco-visual-surface { transform: translateY(-2px); }
.rb-home .rb-eco-visual-status { position: absolute; top: 15px; right: 15px; display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; background: rgba(255,255,255,.9); color: #356e55; font-size: 10px; font-weight: 800; box-shadow: 0 7px 20px rgba(35,46,39,.1); backdrop-filter: blur(10px); }
.rb-home .rb-eco-status-dot,.rb-home .rb-eco-live i { width: 8px; height: 8px; border-radius: 50%; background: #26bb70; box-shadow: 0 0 0 4px rgba(38,187,112,.12); animation: rbEcoPulse 1.9s ease-in-out infinite; }
@keyframes rbEcoPulse { 0%,100% { box-shadow: 0 0 0 3px rgba(38,187,112,.12); } 50% { box-shadow: 0 0 0 7px rgba(38,187,112,.025); } }
.rb-home .rb-eco-float-card { position: absolute; z-index: 2; right: -9px; bottom: 7px; display: flex; align-items: center; gap: 10px; min-width: 205px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.88); border-radius: 15px; background: rgba(255,255,255,.89); box-shadow: 0 13px 32px rgba(57,30,59,.16); backdrop-filter: blur(14px); animation: rbEcoFloat 3.4s ease-in-out infinite; }
.rb-home .rb-eco-float-card > span:nth-child(2) { display: grid; gap: 3px; }
.rb-home .rb-eco-float-card b { color: #2a2030; font-size: 11px; font-weight: 850; }
.rb-home .rb-eco-float-card small { color: #756c7d; font-size: 9px; }
.rb-home .rb-eco-float-card > i:last-child { margin-left: auto; color: #17a864; font-size: 15px; }
.rb-home .rb-eco-float-icon { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 11px; background: linear-gradient(135deg,#ffe5ef,#efe2fa); color: #bc1e73; }
.rb-home .rb-eco-ticket-pulse { display: grid; width: 28px; height: 28px; margin-left: auto; place-items: center; border-radius: 9px; background: #fff0d9; color: #bd7a0d; font-size: 11px; font-weight: 850; animation: rbEcoPulse 1.6s ease-in-out infinite; }
.rb-home .rb-eco-waiter-card { right: -8px; bottom: 18px; }
.rb-home .rb-eco-kitchen-card { right: 13px; bottom: -4px; }
.rb-home .rb-eco-payment-card { right: 12px; bottom: -2px; }
.rb-home .rb-eco-allergen-card { right: 10px; bottom: 0; }
@keyframes rbEcoFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.rb-home .rb-eco-flow-mobile { display: none; }
.rb-home .rb-eco-faq { margin-top: 31px; padding-top: 24px; border-top: 1px solid var(--eco-line); }
.rb-home .rb-eco-faq-heading { display: flex; align-items: baseline; gap: 12px; margin-bottom: 14px; }
.rb-home .rb-eco-faq-heading > span { color: #b82a70; font-size: 9px; font-weight: 850; letter-spacing: .15em; }
.rb-home .rb-eco-faq-heading h4 { margin: 0; color: var(--eco-ink); font-size: 17px; font-weight: 850; letter-spacing: -.02em; }
.rb-home .rb-eco-faq-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; align-items: start; }
.rb-home .rb-eco-faq-card { min-width: 0; overflow: hidden; border: 1px solid rgba(119,67,111,.12); border-radius: 13px; background: linear-gradient(140deg, rgba(255,255,255,.96), rgba(255,248,251,.82)); transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease; }
.rb-home .rb-eco-faq-card:hover,.rb-home .rb-eco-faq-card[open] { transform: translateY(-2px); border-color: rgba(232,10,98,.24); box-shadow: 0 11px 24px rgba(90,33,77,.075); }
.rb-home .rb-eco-faq-card summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 67px; padding: 14px 15px; color: #35283c; font-size: 11px; font-weight: 800; line-height: 1.45; cursor: pointer; list-style: none; }
.rb-home .rb-eco-faq-card summary::-webkit-details-marker { display: none; }
.rb-home .rb-eco-faq-card summary i { display: grid; flex: 0 0 25px; width: 25px; height: 25px; place-items: center; border: 1px solid rgba(232,10,98,.14); border-radius: 8px; color: #c51b68; font-size: 10px; transition: transform .25s ease, background .25s ease; }
.rb-home .rb-eco-faq-card[open] summary i { transform: rotate(45deg); background: #fff0f6; }
.rb-home .rb-eco-faq-answer { padding: 0 15px 15px; animation: rbEcoFaqIn .25s ease both; }
.rb-home .rb-eco-faq-answer p { margin: 0; color: #716a79; font-size: 11px; line-height: 1.65; }
@keyframes rbEcoFaqIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.rb-home .rb-eco-bottom-line { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 17px; padding: 0 4px; color: #7b7081; font-size: 10px; }
.rb-home .rb-eco-bottom-line > span:first-child { display: inline-flex; align-items: center; gap: 8px; }
.rb-home .rb-eco-bottom-line > span:first-child i { color: #a72d7c; }
.rb-home .rb-eco-live { display: inline-flex; align-items: center; gap: 9px; color: #338159; font-weight: 800; }
.rb-home .rb-eco-flow-mobile { display: none; }
.rb-home .rb-home-ecosystem.is-motion-reduced *,
.rb-home .rb-home-ecosystem.is-motion-reduced *::before,
.rb-home .rb-home-ecosystem.is-motion-reduced *::after { animation: none !important; transition-duration: .01ms !important; }
@media (max-width: 1100px) {
  .rb-home .rb-eco-shell { width: min(calc(100% - 42px), 960px); }
  .rb-home .rb-eco-heading { align-items: flex-start; }
  .rb-home .rb-eco-admin-note { max-width: 205px; line-height: 1.4; }
  .rb-home .rb-eco-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rb-home .rb-eco-feature-layout { grid-template-columns: minmax(260px,.78fr) minmax(0,1.22fr); gap: 28px; }
  .rb-home .rb-eco-visual-surface > img { height: 340px; }
}
@media (max-width: 700px) {
  .rb-home .rb-home-ecosystem { padding: 44px 0 48px; }
  .rb-home .rb-home-ecosystem::before { top: 120px; left: -290px; }
  .rb-home .rb-home-ecosystem::after { right: -340px; bottom: 240px; }
  .rb-home .rb-eco-shell { width: calc(100% - 30px); }
  .rb-home .rb-eco-heading { display: block; margin-bottom: 20px; }
  .rb-home .rb-eco-eyebrow { font-size: 9px; }
  .rb-home .rb-eco-heading h2 { max-width: 520px; margin: 10px 0 8px; font-size: clamp(29px, 8vw, 42px); }
  .rb-home .rb-eco-heading p { font-size: 13px; line-height: 1.62; }
  .rb-home .rb-eco-admin-note { display: none; }
  .rb-home .rb-eco-tabs-wrap { margin: 0 -15px 14px; padding: 0 15px 5px; }
  .rb-home .rb-eco-tabs { display: flex; gap: 8px; width: 100%; padding: 4px 0 7px; overflow-x: auto; border: 0; border-radius: 0; background: transparent; box-shadow: none; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .rb-home .rb-eco-tabs::-webkit-scrollbar { display: none; }
  .rb-home .rb-eco-tab { flex: 0 0 auto; min-height: 45px; justify-content: flex-start; padding: 10px 13px; border-color: rgba(145,81,126,.13); border-radius: 999px; background: rgba(255,255,255,.87); font-size: 11px; scroll-snap-align: start; }
  .rb-home .rb-eco-tab i { font-size: 14px; }
  .rb-home .rb-eco-tab.is-active { box-shadow: 0 7px 18px rgba(193,19,111,.2); }
  .rb-home .rb-eco-tabs-hint { display: flex; align-items: center; justify-content: flex-end; gap: 5px; padding: 0 2px; color: #95879a; font-size: 9px; }
  .rb-home .rb-eco-tabs-hint i { color: #c23278; font-size: 9px; }
  .rb-home .rb-eco-panel { padding: 16px; border-radius: 19px; }
  .rb-home .rb-eco-feature-layout { grid-template-columns: minmax(0,1fr); gap: 14px; }
  .rb-home .rb-eco-feature-copy { max-width: none; padding: 1px 1px 0; }
  .rb-home .rb-eco-module-kicker { font-size: 9px; }
  .rb-home .rb-eco-module-kicker i { width: 26px; height: 26px; }
  .rb-home .rb-eco-feature-copy h3 { margin: 12px 0 7px; font-size: clamp(22px, 6.3vw, 29px); }
  .rb-home .rb-eco-module-description { font-size: 12px; line-height: 1.62; }
  .rb-home .rb-eco-feature-list { grid-template-columns: 1fr; gap: 9px; margin-top: 16px; }
  .rb-home .rb-eco-feature-list li { gap: 8px; font-size: 11px; }
  .rb-home .rb-eco-feature-list li > span { flex-basis: 17px; width: 17px; height: 17px; font-size: 8px; }
  .rb-home .rb-eco-cta { margin-top: 16px; padding: 11px 14px; font-size: 11px; }
  .rb-home .rb-eco-visual { padding: 0 0 9px; }
  .rb-home .rb-eco-visual-surface { min-height: 0; border-radius: 15px; transform: none; }
  .rb-home .rb-eco-visual-surface > img { width: 100%; height: auto; min-height: 0; aspect-ratio: 1.48 / 1; object-fit: cover; }
  .rb-home .rb-eco-visual-status { top: 9px; right: 9px; gap: 6px; padding: 7px 9px; font-size: 8px; }
  .rb-home .rb-eco-status-dot { width: 6px; height: 6px; }
  .rb-home .rb-eco-float-card { right: 5px; bottom: 0; min-width: 174px; gap: 8px; padding: 8px 9px; border-radius: 12px; }
  .rb-home .rb-eco-float-icon { flex-basis: 28px; width: 28px; height: 28px; border-radius: 9px; font-size: 11px; }
  .rb-home .rb-eco-float-card b { font-size: 9px; }
  .rb-home .rb-eco-float-card small { font-size: 8px; }
  .rb-home .rb-eco-float-card > i:last-child { font-size: 12px; }
  .rb-home .rb-eco-visual-flow { display: none; }
  .rb-home .rb-eco-flow-mobile { display: grid; gap: 0; margin: 0 1px; }
  .rb-home .rb-eco-flow-step { position: relative; display: grid; grid-template-columns: 30px minmax(0,1fr); gap: 10px; padding: 0 0 15px; }
  .rb-home .rb-eco-flow-step:not(:last-child)::after { position: absolute; top: 28px; bottom: 0; left: 14px; width: 1px; background: linear-gradient(#ec70a4,#e9d8e8); content: ""; }
  .rb-home .rb-eco-flow-step-number { position: relative; z-index: 1; display: grid; width: 29px; height: 29px; place-items: center; border: 2px solid #fff; border-radius: 50%; background: linear-gradient(135deg,#e90b63,#8a2a9a); color: #fff; font-size: 10px; font-weight: 850; box-shadow: 0 5px 12px rgba(172,21,104,.2); }
  .rb-home .rb-eco-flow-step > span:last-child { display: grid; gap: 3px; padding-top: 2px; }
  .rb-home .rb-eco-flow-step b { color: #33253a; font-size: 11px; font-weight: 850; }
  .rb-home .rb-eco-flow-step small { color: #807886; font-size: 9px; line-height: 1.45; }
  .rb-home .rb-eco-compliance-note { display: none; }
  .rb-home .rb-eco-compliance-mobile { display: flex; gap: 8px; margin-top: 8px; padding: 10px; border: 1px solid rgba(197,131,35,.17); border-radius: 10px; background: #fffaf0; color: #786335; font-size: 9px; line-height: 1.5; }
  .rb-home .rb-eco-compliance-mobile i { flex: 0 0 auto; margin-top: 2px; }
  .rb-home .rb-eco-faq { margin-top: 19px; padding-top: 17px; }
  .rb-home .rb-eco-faq-heading { display: block; margin-bottom: 10px; }
  .rb-home .rb-eco-faq-heading h4 { margin-top: 5px; font-size: 15px; }
  .rb-home .rb-eco-faq-grid { grid-template-columns: 1fr; gap: 8px; }
  .rb-home .rb-eco-faq-card { border-radius: 11px; }
  .rb-home .rb-eco-faq-card summary { min-height: 54px; padding: 10px 11px; font-size: 10px; }
  .rb-home .rb-eco-faq-card summary i { flex-basis: 23px; width: 23px; height: 23px; }
  .rb-home .rb-eco-faq-answer { padding: 0 11px 12px; }
  .rb-home .rb-eco-faq-answer p { font-size: 10px; }
  .rb-home .rb-eco-bottom-line { align-items: flex-start; flex-direction: column; gap: 8px; margin-top: 13px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-home .rb-home-ecosystem *, .rb-home .rb-home-ecosystem *::before, .rb-home .rb-home-ecosystem *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Subtle, controlled motion; all effects respect the admin toggle and OS preference. */
.rb-home .rb-home-ecosystem::before { animation: rbEcoOrbDrift 18s ease-in-out infinite alternate; }
.rb-home .rb-home-ecosystem::after { animation: rbEcoOrbDrift 22s ease-in-out infinite alternate-reverse; }
.rb-home .rb-eco-visual-surface::after { position:absolute; z-index:1; inset:-35%; background:linear-gradient(112deg,transparent 42%,rgba(255,255,255,.22) 50%,transparent 58%); content:""; pointer-events:none; transform:translateX(-76%) rotate(8deg); animation:rbEcoShimmer 8s ease-in-out infinite; }
@keyframes rbEcoOrbDrift { from { transform:translate3d(0,0,0) scale(.98); } to { transform:translate3d(24px,-17px,0) scale(1.04); } }
@keyframes rbEcoShimmer { 0%,52%,100% { transform:translateX(-76%) rotate(8deg); } 72% { transform:translateX(76%) rotate(8deg); } }
.rb-home .rb-home-ecosystem[data-motion="calm"] .rb-eco-panel.is-active { animation-duration:.72s; }
.rb-home .rb-home-ecosystem[data-motion="calm"] .rb-eco-float-card { animation-duration:5s; }
.rb-home .rb-home-ecosystem[data-motion="calm"] .rb-eco-visual-surface::after { animation-duration:12s; }
.rb-home .rb-home-ecosystem[data-motion="quick"] .rb-eco-panel.is-active { animation-duration:.3s; }
.rb-home .rb-home-ecosystem[data-motion="quick"] .rb-eco-float-card { animation-duration:2.5s; }
.rb-home .rb-home-ecosystem[data-motion="quick"] .rb-eco-visual-surface::after { animation-duration:5s; }
.rb-home .rb-home-ecosystem.is-motion-reduced::before,
.rb-home .rb-home-ecosystem.is-motion-reduced::after { animation:none!important; }
.rb-home .rb-home-ecosystem.is-motion-reduced .rb-eco-visual-surface::after { display:none; }
.rb-home .rb-eco-visual-empty { display:flex; width:100%; min-height:310px; align-items:center; justify-content:center; flex-direction:column; gap:12px; background:radial-gradient(ellipse at 50% 15%,rgba(245,219,234,.7),transparent 48%),linear-gradient(145deg,#fff,#faf5fc); color:#8f3e7d; font-size:13px; font-weight:850; }
.rb-home .rb-eco-visual-empty i { display:grid; width:68px; height:68px; place-items:center; border:1px solid rgba(206,70,135,.18); border-radius:22px; background:linear-gradient(145deg,#fff,#fbedf5); box-shadow:0 13px 28px rgba(103,44,89,.12),inset 0 1px 0 #fff; font-size:25px; }
@media(max-width:700px) { .rb-home .rb-eco-visual-empty { min-height:200px; border-radius:15px; } .rb-home .rb-eco-visual-empty i { width:56px; height:56px; border-radius:18px; font-size:21px; } }

/* Premium two-tone surfaces and touch-friendly responsive treatment. */
.rb-home .rb-home-ecosystem {
  --eco-duo: linear-gradient(135deg, #ef126b 0%, #c21b83 54%, #71309b 100%);
  --eco-soft-duo: linear-gradient(135deg, rgba(255,235,244,.96), rgba(244,235,251,.96));
}
.rb-home .rb-eco-eyebrow { gap: 10px; }
.rb-home .rb-eco-eyebrow i,
.rb-home .rb-eco-admin-note i {
  width: 34px;
  height: 34px;
  display: grid;
  flex: 0 0 34px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 11px;
  background: var(--eco-duo);
  box-shadow: 0 8px 18px rgba(168,27,111,.21), inset 0 1px 0 rgba(255,255,255,.36);
  color: #fff;
  font-size: 13px;
}
.rb-home .rb-eco-admin-note {
  gap: 10px;
  padding: 8px 13px 8px 8px;
  border-color: rgba(178,77,143,.18);
  background: linear-gradient(125deg, rgba(255,255,255,.92), rgba(255,242,249,.9) 58%, rgba(244,238,252,.92));
  box-shadow: 0 10px 26px rgba(74,37,78,.075), inset 0 1px 0 #fff;
  backdrop-filter: blur(12px);
}
.rb-home .rb-eco-tabs {
  gap: 9px;
  padding: 8px;
  border-color: rgba(156,83,140,.2);
  background: linear-gradient(140deg, rgba(255,255,255,.92), rgba(255,247,251,.88) 62%, rgba(246,240,252,.9));
  box-shadow: 0 13px 34px rgba(77,35,72,.08), inset 0 1px 0 #fff;
  -webkit-backdrop-filter: blur(16px) saturate(130%);
  backdrop-filter: blur(16px) saturate(130%);
}
.rb-home .rb-eco-tab {
  min-height: 59px;
  gap: 10px;
  border-color: rgba(148,81,134,.08);
  background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(255,248,252,.88));
  box-shadow: 0 3px 10px rgba(63,35,66,.035), inset 0 1px 0 #fff;
  transform-style: preserve-3d;
}
.rb-home .rb-eco-tab i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.68);
  border-radius: 10px;
  background: var(--eco-soft-duo);
  box-shadow: 0 5px 12px rgba(99,44,96,.1), inset 0 1px 0 #fff;
  color: #a51b70;
  font-size: 14px;
  transform: translateZ(7px);
}
.rb-home .rb-eco-tab:hover {
  transform: perspective(700px) translateY(-4px) rotateX(3deg);
  border-color: rgba(221,50,127,.28);
  background: linear-gradient(135deg, #fff 0%, #fff2f8 57%, #f4ecfc 100%);
  box-shadow: 0 12px 22px rgba(142,37,105,.13), inset 0 1px 0 #fff;
}
.rb-home .rb-eco-tab:hover i { transform: translateZ(13px) rotate(-4deg) scale(1.08); background: var(--eco-duo); color: #fff; }
.rb-home .rb-eco-tab.is-active {
  border-color: rgba(255,255,255,.36);
  background: var(--eco-duo);
  box-shadow: 0 13px 27px rgba(174,20,111,.28), inset 0 1px 0 rgba(255,255,255,.38), inset 0 -2px 0 rgba(70,12,81,.16);
}
.rb-home .rb-eco-tab.is-active i {
  border-color: rgba(255,255,255,.42);
  background: rgba(255,255,255,.2);
  box-shadow: 0 5px 12px rgba(64,10,72,.14), inset 0 1px 0 rgba(255,255,255,.28);
  color: #fff;
}
.rb-home .rb-eco-panel {
  position: relative;
  border-color: rgba(154,91,147,.16);
  background: linear-gradient(145deg, rgba(255,255,255,.97), rgba(255,251,253,.94) 65%, rgba(250,246,253,.96));
  box-shadow: 0 25px 74px rgba(72,31,69,.105), inset 0 1px 0 #fff, inset 0 -1px 0 rgba(234,220,239,.52);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  backdrop-filter: blur(18px) saturate(125%);
}
.rb-home .rb-eco-feature-copy h3 { font-weight: 900; }
.rb-home .rb-eco-module-kicker i {
  border-color: rgba(255,255,255,.42);
  background: var(--eco-duo);
  box-shadow: 0 7px 16px rgba(169,29,111,.2), inset 0 1px 0 rgba(255,255,255,.38);
  color: #fff;
  transform: translateZ(8px);
}
.rb-home .rb-eco-feature-list li {
  align-items: center;
  min-height: 37px;
  padding: 7px 11px;
  border: 1px solid rgba(129,88,138,.09);
  border-radius: 11px;
  background: linear-gradient(110deg, rgba(255,255,255,.85), rgba(255,247,251,.8) 55%, rgba(247,242,252,.84));
  box-shadow: 0 4px 12px rgba(69,41,73,.035), inset 0 1px 0 rgba(255,255,255,.95);
  transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.rb-home .rb-eco-feature-list li:hover {
  transform: translateX(4px);
  border-color: rgba(215,57,131,.23);
  box-shadow: 0 8px 18px rgba(107,43,94,.09), inset 0 1px 0 #fff;
}
.rb-home .rb-eco-feature-list li > span {
  flex-basis: 22px;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(255,255,255,.85);
  background: linear-gradient(145deg,#35cb84,#158d66);
  box-shadow: 0 4px 9px rgba(22,153,96,.2), inset 0 1px 0 rgba(255,255,255,.5);
  color: #fff;
}
.rb-home .rb-eco-cta {
  position: relative;
  overflow: hidden;
  min-height: 46px;
  border-color: rgba(255,255,255,.48);
  background: var(--eco-duo);
  box-shadow: 0 11px 22px rgba(171,24,111,.23), inset 0 1px 0 rgba(255,255,255,.32), inset 0 -2px 0 rgba(65,14,76,.18);
  color: #fff;
  transform-style: preserve-3d;
}
.rb-home .rb-eco-cta::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(112deg, transparent 35%, rgba(255,255,255,.2) 50%, transparent 66%);
  content: "";
  opacity: .65;
  pointer-events: none;
  transform: translateX(-115%);
  transition: transform .55s ease;
}
.rb-home .rb-eco-cta:hover {
  transform: perspective(650px) translateY(-4px) rotateX(3deg);
  box-shadow: 0 17px 30px rgba(171,24,111,.3), inset 0 1px 0 rgba(255,255,255,.38), inset 0 -2px 0 rgba(65,14,76,.18);
  color: #fff;
}
.rb-home .rb-eco-cta:hover::before { transform: translateX(115%); }
.rb-home .rb-eco-cta i { position: relative; z-index: 1; }
.rb-home .rb-eco-visual { perspective: 1100px; }
.rb-home .rb-eco-visual-surface {
  border-color: rgba(255,255,255,.94);
  background: linear-gradient(145deg,#fff,#fff1f7 59%,#f2eafa);
  box-shadow: 0 23px 50px rgba(64,26,57,.14), 0 4px 14px rgba(112,42,92,.06), inset 0 1px 0 #fff, inset 0 -2px 0 rgba(222,202,229,.5);
  transform: perspective(1100px) rotateY(-1.3deg) rotateX(.5deg) translateZ(0);
}
.rb-home .rb-eco-visual:hover .rb-eco-visual-surface {
  transform: perspective(1100px) rotateY(0) rotateX(1deg) translateY(-5px) translateZ(5px);
  box-shadow: 0 30px 62px rgba(64,26,57,.18), 0 6px 18px rgba(112,42,92,.08), inset 0 1px 0 #fff, inset 0 -2px 0 rgba(222,202,229,.5);
}
.rb-home .rb-eco-visual-status {
  border-color: rgba(255,255,255,.96);
  background: linear-gradient(135deg,rgba(255,255,255,.96),rgba(238,255,246,.93));
  box-shadow: 0 10px 22px rgba(31,79,58,.13), inset 0 1px 0 #fff;
}
.rb-home .rb-eco-float-card {
  border-color: rgba(255,255,255,.96);
  background: linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,246,251,.94) 56%,rgba(245,239,252,.94));
  box-shadow: 0 17px 36px rgba(57,30,59,.19), inset 0 1px 0 #fff;
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
}
.rb-home .rb-eco-float-icon {
  border: 1px solid rgba(255,255,255,.48);
  background: var(--eco-duo);
  box-shadow: 0 7px 14px rgba(157,29,110,.22), inset 0 1px 0 rgba(255,255,255,.36);
  color: #fff;
}
.rb-home .rb-eco-ticket-pulse {
  border: 1px solid rgba(255,255,255,.72);
  background: linear-gradient(145deg,#ffd88a,#f4a942);
  box-shadow: 0 5px 12px rgba(199,129,32,.2), inset 0 1px 0 rgba(255,255,255,.65);
  color: #6a3d09;
}
.rb-home .rb-eco-faq { border-color: rgba(141,88,132,.18); }
.rb-home .rb-eco-faq-heading > span { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border: 1px solid rgba(216,69,136,.15); border-radius: 999px; background: linear-gradient(135deg,#fff1f7,#f5edfb); }
.rb-home .rb-eco-faq-card {
  border-color: rgba(148,82,138,.15);
  background: linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,247,251,.95) 57%,rgba(247,242,252,.95));
  box-shadow: 0 5px 14px rgba(75,42,77,.045), inset 0 1px 0 #fff;
  transform-style: preserve-3d;
}
.rb-home .rb-eco-faq-card:hover,
.rb-home .rb-eco-faq-card[open] {
  transform: perspective(700px) translateY(-3px) rotateX(1.5deg);
  border-color: rgba(220,47,128,.3);
  box-shadow: 0 15px 26px rgba(90,33,77,.11), inset 0 1px 0 #fff;
}
.rb-home .rb-eco-faq-card summary { background: linear-gradient(110deg,rgba(255,255,255,.72),rgba(255,244,250,.5) 65%,rgba(244,237,251,.52)); }
.rb-home .rb-eco-faq-card summary i {
  border-color: rgba(255,255,255,.55);
  background: var(--eco-duo);
  box-shadow: 0 6px 12px rgba(169,29,111,.19), inset 0 1px 0 rgba(255,255,255,.35);
  color: #fff;
}
.rb-home .rb-eco-faq-card[open] summary i { background: linear-gradient(135deg,#75248f,#52206f); color: #fff; }
.rb-home .rb-eco-faq-answer { background: linear-gradient(110deg,rgba(255,255,255,.75),rgba(255,248,252,.8)); }
.rb-home .rb-eco-bottom-line {
  min-height: 47px;
  padding: 8px 13px;
  border: 1px solid rgba(147,91,143,.11);
  border-radius: 13px;
  background: linear-gradient(115deg,rgba(255,255,255,.68),rgba(255,246,251,.8) 58%,rgba(244,239,251,.78));
  box-shadow: 0 7px 18px rgba(77,40,77,.045), inset 0 1px 0 rgba(255,255,255,.9);
}
.rb-home .rb-eco-bottom-line > span:first-child > i {
  width: 27px;
  height: 27px;
  display: grid;
  place-items: center;
  border-radius: 9px;
  background: var(--eco-duo);
  box-shadow: 0 5px 11px rgba(169,29,111,.17);
  color: #fff;
}
.rb-home .rb-eco-live { min-height: 29px; padding: 0 10px; border: 1px solid rgba(40,151,94,.13); border-radius: 999px; background: linear-gradient(135deg,#f1fff7,#e4f8ed); }
.rb-home .rb-eco-flow-step {
  padding: 10px 11px 17px;
  border: 1px solid rgba(148,82,138,.1);
  border-radius: 13px;
  background: linear-gradient(110deg,rgba(255,255,255,.93),rgba(255,246,251,.9) 58%,rgba(245,239,252,.9));
  box-shadow: 0 6px 16px rgba(75,42,77,.06), inset 0 1px 0 #fff;
}
.rb-home .rb-eco-flow-step:not(:last-child)::after { top: 39px; left: 25px; bottom: -4px; z-index: 0; }
.rb-home .rb-eco-flow-step-number { width: 31px; height: 31px; background: var(--eco-duo); box-shadow: 0 7px 15px rgba(172,21,104,.25), inset 0 1px 0 rgba(255,255,255,.42); }
.rb-home .rb-eco-compliance-note,
.rb-home .rb-eco-compliance-mobile {
  border-color: rgba(201,145,50,.2);
  background: linear-gradient(135deg,#fffaf0,#fff5dc);
  box-shadow: 0 7px 16px rgba(134,96,29,.055), inset 0 1px 0 #fff;
}
.rb-home .rb-eco-visual-empty {
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 18px;
  background: radial-gradient(ellipse at 48% 14%,rgba(250,219,236,.72),transparent 51%),linear-gradient(145deg,#fff,#fff6fa 57%,#f4effa);
}
.rb-home .rb-eco-visual-empty i { background: var(--eco-duo); box-shadow: 0 15px 27px rgba(103,44,89,.2),inset 0 1px 0 rgba(255,255,255,.4); color: #fff; }
@media (max-width: 900px) {
  .rb-home .rb-eco-heading { gap: 18px; }
  .rb-home .rb-eco-tabs { gap: 7px; }
  .rb-home .rb-eco-tab { gap: 7px; padding-inline: 8px; font-size: 11px; }
  .rb-home .rb-eco-tab i { width: 31px; height: 31px; }
}
@media (max-width: 700px) {
  .rb-home .rb-eco-shell { width: calc(100% - 24px); }
  .rb-home .rb-eco-heading { margin-bottom: 17px; }
  .rb-home .rb-eco-eyebrow { font-size: 9px; letter-spacing: .13em; }
  .rb-home .rb-eco-eyebrow i { width: 31px; height: 31px; flex-basis: 31px; border-radius: 10px; }
  .rb-home .rb-eco-heading h2 { max-width: 480px; font-size: clamp(29px,8vw,40px); }
  .rb-home .rb-eco-tabs-wrap { margin-inline: -12px; padding-inline: 12px; }
  .rb-home .rb-eco-tabs { gap: 8px; }
  .rb-home .rb-eco-tab { min-height: 48px; gap: 8px; padding: 7px 11px 7px 8px; }
  .rb-home .rb-eco-tab i { width: 31px; height: 31px; border-radius: 9px; font-size: 13px; }
  .rb-home .rb-eco-tabs-hint { min-height: 19px; font-size: 9px; }
  .rb-home .rb-eco-panel { padding: 14px; border-radius: 18px; }
  .rb-home .rb-eco-feature-layout { gap: 13px; }
  .rb-home .rb-eco-module-kicker i { width: 28px; height: 28px; border-radius: 9px; }
  .rb-home .rb-eco-feature-copy h3 { max-width: 28ch; font-size: clamp(23px,6.5vw,29px); }
  .rb-home .rb-eco-module-description { font-size: 12px; }
  .rb-home .rb-eco-feature-list { gap: 7px; margin-top: 14px; }
  .rb-home .rb-eco-feature-list li { min-height: 35px; padding: 7px 9px; border-radius: 10px; font-size: 10.5px; }
  .rb-home .rb-eco-feature-list li:hover { transform: translateY(-2px); }
  .rb-home .rb-eco-visual { padding-bottom: 10px; }
  .rb-home .rb-eco-visual-surface { border-radius: 16px; }
  .rb-home .rb-eco-visual-surface > img { aspect-ratio: 1.42 / 1; }
  .rb-home .rb-eco-visual-status { max-width: calc(100% - 18px); font-size: 8px; }
  .rb-home .rb-eco-float-card { right: 6px; bottom: 0; min-width: min(174px, calc(100% - 20px)); padding: 8px 9px; }
  .rb-home .rb-eco-faq { margin-top: 17px; padding-top: 15px; }
  .rb-home .rb-eco-faq-grid { gap: 8px; }
  .rb-home .rb-eco-faq-card summary { min-height: 52px; font-size: 10px; }
  .rb-home .rb-eco-bottom-line { gap: 9px; border-radius: 12px; }
  .rb-home .rb-eco-bottom-line > span:first-child { align-items: flex-start; line-height: 1.45; }
  .rb-home .rb-eco-bottom-line > span:first-child > i { flex: 0 0 27px; }
}
@media (hover: none) {
  .rb-home .rb-eco-tab:hover,
  .rb-home .rb-eco-cta:hover,
  .rb-home .rb-eco-faq-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-home .rb-home-ecosystem .rb-eco-tab:hover,
  .rb-home .rb-home-ecosystem .rb-eco-cta:hover,
  .rb-home .rb-home-ecosystem .rb-eco-faq-card:hover,
  .rb-home .rb-home-ecosystem .rb-eco-feature-list li:hover { transform: none; }
}

/* FAQ cards: always expanded, equal grid rows, bold white type and pomegranate/plum depth. */
.rb-home .rb-eco-faq {
  margin-top: 28px;
  padding-top: 22px;
  border-top: 1px solid rgba(119,54,117,.16);
}
.rb-home .rb-eco-faq-heading {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px 14px;
  max-width: 100%;
  margin: 0 0 14px;
  padding: 9px 15px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 13px;
  background: linear-gradient(110deg,#d90a60 0%,#a9137c 52%,#62258f 100%);
  box-shadow: 0 9px 22px rgba(103,26,103,.2), inset 0 1px 0 rgba(255,255,255,.28), inset 0 -2px 0 rgba(43,12,68,.14);
}
.rb-home .rb-eco-faq-heading > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(255,255,255,.82);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
}
.rb-home .rb-eco-faq-heading > span i { color: #fff; font-size: 14px; }
.rb-home .rb-eco-faq-heading h4 {
  margin: 0;
  color: #fff;
  font-size: clamp(16px,1.45vw,20px);
  font-weight: 900;
  letter-spacing: -.025em;
}
.rb-home .rb-eco-faq-grid {
  grid-auto-rows: minmax(188px,1fr);
  align-items: stretch;
  gap: 13px;
}
.rb-home .rb-eco-faq-card {
  position: relative;
  display: flex;
  min-height: 188px;
  flex-direction: column;
  border: 1px solid rgba(255,255,255,.44);
  border-radius: 17px;
  background: linear-gradient(125deg,#e20b63 0%,#b01783 48%,#682491 100%);
  background-size: 180% 180%;
  color: #fff;
  box-shadow: 0 12px 26px rgba(90,23,88,.18), 0 3px 7px rgba(59,18,72,.12), inset 0 1px 0 rgba(255,255,255,.35), inset 0 -3px 0 rgba(43,12,68,.17);
  transform: perspective(900px) translateZ(0);
  transform-style: preserve-3d;
  transition: transform .32s cubic-bezier(.2,.75,.25,1), box-shadow .32s ease, border-color .32s ease, filter .32s ease;
  animation: rbEcoFaqCardGlow 8s ease-in-out infinite;
}
.rb-home .rb-eco-faq-card:nth-child(2) { animation-delay: -2.3s; }
.rb-home .rb-eco-faq-card:nth-child(3) { animation-delay: -4.6s; }
.rb-home .rb-eco-faq-card:nth-child(2)::after { animation-delay: -2.8s; }
.rb-home .rb-eco-faq-card:nth-child(3)::after { animation-delay: -5.6s; }
.rb-home .rb-eco-faq-card::before,
.rb-home .rb-eco-faq-card::after {
  position: absolute;
  z-index: 0;
  content: "";
  pointer-events: none;
}
.rb-home .rb-eco-faq-card::before {
  inset: 0;
  border-radius: inherit;
  background: radial-gradient(ellipse at 12% 5%,rgba(255,255,255,.2),transparent 38%), radial-gradient(ellipse at 92% 100%,rgba(36,9,73,.22),transparent 48%);
}
.rb-home .rb-eco-faq-card::after {
  top: -45%;
  bottom: -45%;
  left: -65%;
  width: 38%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);
  transform: rotate(18deg);
  animation: rbEcoFaqSheen 8.5s ease-in-out infinite;
}
.rb-home .rb-eco-faq-card > .rb-eco-faq-question,
.rb-home .rb-eco-faq-answer { position: relative; z-index: 1; }
.rb-home .rb-eco-faq-card > .rb-eco-faq-question {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  min-height: 82px;
  margin: 0;
  align-items: center;
  padding: 17px 18px 13px;
  color: #fff;
  font-size: clamp(14px,1.18vw,16px);
  font-weight: 900;
  line-height: 1.4;
  text-shadow: 0 1px 1px rgba(40,9,52,.2);
}
.rb-home .rb-eco-faq-card > .rb-eco-faq-question i {
  flex-basis: 34px;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 11px;
  background: linear-gradient(145deg,rgba(255,255,255,.25),rgba(255,255,255,.1));
  color: #fff;
  font-size: 14px;
  box-shadow: 0 5px 14px rgba(38,8,65,.17), inset 0 1px 0 rgba(255,255,255,.33);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.rb-home .rb-eco-faq-card > .rb-eco-faq-question i { background: linear-gradient(145deg,rgba(255,255,255,.32),rgba(255,255,255,.13)); color: #fff; }
.rb-home .rb-eco-faq-answer {
  display: flex;
  flex: 1 1 auto;
  align-items: flex-start;
  padding: 0 18px 18px;
  animation: rbEcoFaqIn .42s cubic-bezier(.2,.7,.2,1) both;
}
.rb-home .rb-eco-faq-answer p {
  margin: 0;
  color: rgba(255,255,255,.93);
  font-size: clamp(13px,1vw,14px);
  font-weight: 650;
  line-height: 1.65;
  text-shadow: 0 1px 1px rgba(41,10,53,.14);
}
.rb-home .rb-eco-faq-card:hover {
  z-index: 2;
  border-color: rgba(255,255,255,.76);
  box-shadow: 0 20px 36px rgba(82,20,88,.26), 0 7px 14px rgba(59,18,72,.15), inset 0 1px 0 rgba(255,255,255,.44), inset 0 -3px 0 rgba(43,12,68,.17);
  filter: saturate(1.08) brightness(1.035);
  transform: perspective(900px) translateY(-5px) rotateX(1.2deg) scale(1.012);
}
@keyframes rbEcoFaqCardGlow {
  0%,100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}
@keyframes rbEcoFaqSheen {
  0%,62%,100% { left: -65%; }
  80% { left: 135%; }
}
@media (max-width: 700px) {
  .rb-home .rb-eco-faq { margin-top: 19px; padding-top: 17px; }
  .rb-home .rb-eco-faq-heading { gap: 7px 10px; margin-bottom: 11px; padding: 8px 11px; border-radius: 11px; }
  .rb-home .rb-eco-faq-heading > span { font-size: 9px; }
  .rb-home .rb-eco-faq-heading > span i { font-size: 13px; }
  .rb-home .rb-eco-faq-heading h4 { font-size: 16px; }
  .rb-home .rb-eco-faq-grid { grid-template-columns: minmax(0,1fr); grid-auto-rows: minmax(166px,auto); gap: 9px; }
  .rb-home .rb-eco-faq-card { min-height: 166px; border-radius: 15px; }
  .rb-home .rb-eco-faq-card > .rb-eco-faq-question { min-height: 70px; padding: 13px 13px 10px; font-size: 14px; }
  .rb-home .rb-eco-faq-card > .rb-eco-faq-question i { flex-basis: 31px; width: 31px; height: 31px; border-radius: 10px; }
  .rb-home .rb-eco-faq-answer { padding: 0 13px 14px; }
  .rb-home .rb-eco-faq-answer p { font-size: 13px; line-height: 1.58; }
}
@media (max-width: 980px) and (min-width: 701px) {
  .rb-home .rb-eco-faq-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (hover: none) {
  .rb-home .rb-eco-faq-card:hover { transform: none; filter: none; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-home .rb-eco-faq-card,
  .rb-home .rb-eco-faq-card::after { animation: none !important; }
  .rb-home .rb-eco-faq-card:hover { transform: none; }
}

/* SSS color refinement: purple banner and darker answer surface. */
.rb-home .rb-eco-faq-heading {
  background: linear-gradient(135deg,#64278d 0%,#4b1c73 55%,#371353 100%);
  border-color: rgba(255,255,255,.32);
  box-shadow: 0 9px 22px rgba(61,22,94,.28), inset 0 1px 0 rgba(255,255,255,.25);
}
.rb-home .rb-eco-faq-heading > span {
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
}
.rb-home .rb-eco-faq-heading > span i {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 9px;
  background: linear-gradient(145deg,#8950ad,#542276);
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3), 0 5px 12px rgba(36,12,58,.2);
}
.rb-home .rb-eco-faq-answer {
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.16);
  border-radius: 0 0 16px 16px;
  background: linear-gradient(135deg,#40185f 0%,#351451 58%,#29103f 100%);
}
.rb-home .rb-eco-faq-card > .rb-eco-faq-question { min-width: 0; }
.rb-home .rb-eco-faq-card > .rb-eco-faq-question > span {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: anywhere;
}
.rb-home .rb-eco-faq-card > .rb-eco-faq-question > i {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  min-width: 34px;
  max-width: 34px;
  height: 34px;
  flex-shrink: 0;
  place-items: center;
  align-self: center;
  margin: 0;
  padding: 0;
  line-height: 1;
  box-sizing: border-box;
  text-align: center;
}
@media (max-width: 700px) {
  .rb-home .rb-eco-faq-card > .rb-eco-faq-question > i {
    flex-basis: 31px;
    width: 31px;
    min-width: 31px;
    max-width: 31px;
    height: 31px;
  }
}
