/*
 * The Right Choice — Conversion Polish Layer
 * Self-contained, theme-independent, brand-fixed (orange + teal)
 * Additive only: never overrides existing page styles.
 *
 * Brand:
 *   Primary orange: #fb8e28
 *   Deep teal:      #00364a
 *   Darker teal:    #002836
 *
 * Animations: GPU-only (transform/opacity), respect prefers-reduced-motion.
 * Loop animations pause when off-viewport via .rc-paused class added by JS.
 */

/* =========================================================================
   Brand vars (scoped to .rc- elements so we never collide with theme vars)
   ========================================================================= */
.rc-hero-animated,
.rc-trust-bar,
.rc-emergency-strip,
.rc-service-tiles,
.rc-social-proof,
.rc-comfort-club-pitch,
.rc-anchor-pricing-banner,
.rc-cta-strip-mobile,
.rc-fab-bottom,
.rc-section-trust-grid,
.rc-faq,
.rc-counter,
.rc-cta-button-large,
.rc-exit-intent-modal {
  --rc-orange:       #fb8e28;
  --rc-orange-dark:  #e57a18;
  --rc-orange-light: #ffb872;
  --rc-teal:         #00364a;
  --rc-teal-deep:    #002836;
  --rc-teal-light:   #0a4a63;
  --rc-text:         #0f172a;
  --rc-text-muted:   #475569;
  --rc-white:        #ffffff;
  --rc-bg-soft:      #f8fafc;
  --rc-border:       rgba(15,23,42,.08);
  --rc-shadow-sm:    0 2px 8px rgba(0,54,74,.06);
  --rc-shadow-md:    0 8px 28px rgba(0,54,74,.10);
  --rc-shadow-lg:    0 24px 60px rgba(0,54,74,.18);
  --rc-radius:       14px;
  --rc-radius-sm:    10px;
  --rc-radius-pill:  999px;
  --rc-font:         'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, system-ui, sans-serif;
  font-family: var(--rc-font);
  box-sizing: border-box;
}

.rc-hero-animated *,
.rc-trust-bar *,
.rc-service-tiles *,
.rc-social-proof *,
.rc-comfort-club-pitch *,
.rc-section-trust-grid *,
.rc-faq *,
.rc-cta-button-large *,
.rc-exit-intent-modal * {
  box-sizing: border-box;
}

/* =========================================================================
   .rc-hero-animated
   Full-bleed hero with animated gradient mesh background.
   Replaces or augments existing hero.
   ========================================================================= */
.rc-hero-animated {
  position: relative;
  width: 100%;
  min-height: 380px;
  padding: 64px 24px 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  overflow: hidden;
  isolation: isolate;
  background: #00364a;
}
.rc-hero-animated::before {
  content: '';
  position: absolute;
  inset: -50%;
  z-index: -1;
  background: rgba(251, 142, 40, 0.10);
  pointer-events: none;
}
.rc-hero-animated__inner { position: relative; z-index: 2; max-width: 880px; width: 100%; }
.rc-hero-animated__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  background: rgba(251, 142, 40,.18);
  color: var(--rc-orange-light);
  border: 1px solid rgba(251, 142, 40,.4);
  border-radius: var(--rc-radius-pill);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .5px;
  margin-bottom: 18px;
}
.rc-hero-animated__title {
  font-size: clamp(28px, 5vw, 48px);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 14px;
  text-shadow: 0 2px 18px rgba(0,0,0,.25);
}
.rc-hero-animated__title .rc-accent { color: var(--rc-orange); }
.rc-hero-animated__sub {
  font-size: clamp(15px, 2vw, 18px);
  color: rgba(255,255,255,.85);
  max-width: 620px;
  margin: 0 auto 24px;
  line-height: 1.55;
}
.rc-hero-animated__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.rc-hero-animated__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 26px;
  border-radius: var(--rc-radius-pill);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease;
  will-change: transform;
}
.rc-hero-animated__cta--primary {
  background: var(--rc-orange);
  color: #fff;
  box-shadow: 0 10px 26px rgba(251, 142, 40,.35);
}
.rc-hero-animated__cta--primary:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(251, 142, 40,.5); }
.rc-hero-animated__cta--ghost {
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(255,255,255,.3);
  backdrop-filter: blur(6px);
}
.rc-hero-animated__cta--ghost:hover { background: rgba(255,255,255,.18); }

@keyframes rcMeshShift {
  0%, 100% { background-position: 0% 0%, 100% 100%, 0 0; }
  50%      { background-position: 100% 50%, 0% 50%, 0 0; }
}
@keyframes rcMeshOrbit {
  0%   { transform: rotate(0deg) scale(1); }
  100% { transform: rotate(360deg) scale(1); }
}

/* =========================================================================
   .rc-trust-bar
   Horizontal flex of 5 trust signals.
   .rc-trust-bar.is-floating  → sticky on scroll
   ========================================================================= */
.rc-trust-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 24px;
  padding: 14px 20px;
  background: var(--rc-white);
  border-top: 1px solid var(--rc-border);
  border-bottom: 1px solid var(--rc-border);
  color: var(--rc-text);
  font-size: 14px;
  font-weight: 500;
  box-shadow: var(--rc-shadow-sm);
  z-index: 50;
}
.rc-trust-bar__item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  color: var(--rc-text-muted);
}
.rc-trust-bar__item i { color: var(--rc-orange); font-size: 15px; }
.rc-trust-bar__stars { display: inline-flex; gap: 2px; color: #f5b50a; }
.rc-trust-bar__stars i { animation: rcShimmer 3s ease-in-out infinite; }
.rc-trust-bar__stars i:nth-child(2) { animation-delay: .15s; }
.rc-trust-bar__stars i:nth-child(3) { animation-delay: .3s; }
.rc-trust-bar__stars i:nth-child(4) { animation-delay: .45s; }
.rc-trust-bar__stars i:nth-child(5) { animation-delay: .6s; }

.rc-trust-bar.is-floating.is-pinned {
  position: fixed;
  top: 0; left: 0; right: 0;
  animation: rcSlideDown .28s ease-out;
}
.rc-trust-bar.rc-paused .rc-trust-bar__stars i { animation-play-state: paused; }

@keyframes rcShimmer {
  0%, 100% { transform: scale(1);   filter: drop-shadow(0 0 0 #f5b50a); }
  50%      { transform: scale(1.18); filter: drop-shadow(0 0 6px #f5b50a); }
}
@keyframes rcSlideDown {
  from { transform: translateY(-100%); }
  to   { transform: translateY(0); }
}

/* =========================================================================
   .rc-emergency-strip
   Pulsing orange→red sticky-bottom-on-mobile call strip.
   ========================================================================= */
.rc-emergency-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 12px 20px;
  background: #fb8e28;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
  text-align: center;
  z-index: 60;
}
.rc-emergency-strip__icon {
  font-size: 18px;
  animation: rcPulseDot 1.6s ease-in-out infinite;
}
.rc-emergency-strip__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  margin-left: 6px;
  background: rgba(0,0,0,.18);
  border-radius: var(--rc-radius-pill);
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid rgba(255,255,255,.35);
  transition: background .18s ease;
}
.rc-emergency-strip__cta:hover { background: rgba(0,0,0,.28); }

@keyframes rcGradientPulse {
  0%, 100% { background-position: 0% 50%; }
  50%      { background-position: 100% 50%; }
}
@keyframes rcPulseDot {
  0%, 100% { transform: scale(1);   opacity: 1; }
  50%      { transform: scale(1.25); opacity: .65; }
}

/* =========================================================================
   .rc-service-tiles
   6-tile grid: AC Repair / AC Install / Heating / Plumbing / Drain / Water Heater
   ========================================================================= */
.rc-service-tiles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  padding: 32px 20px;
  max-width: 1180px;
  margin: 0 auto;
}
.rc-service-tile {
  position: relative;
  background: var(--rc-white);
  border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius);
  padding: 24px 22px;
  text-decoration: none;
  color: var(--rc-text);
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  will-change: transform;
}
.rc-service-tile::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 4px;
  background: var(--rc-orange);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .28s ease;
}
.rc-service-tile:hover {
  transform: translateY(-4px);
  box-shadow: var(--rc-shadow-md);
  border-color: rgba(251, 142, 40,.4);
}
.rc-service-tile:hover::before { transform: scaleX(1); }
.rc-service-tile__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(251, 142, 40,.12);
  color: var(--rc-orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 14px;
}
.rc-service-tile__title { font-size: 17px; font-weight: 700; margin: 0 0 6px; color: var(--rc-text); }
.rc-service-tile__desc { font-size: 14px; color: var(--rc-text-muted); margin: 0 0 14px; line-height: 1.5; }
.rc-service-tile__link { font-size: 13px; font-weight: 700; color: var(--rc-orange); text-decoration: none; }
.rc-service-tile__link i { margin-left: 4px; transition: transform .2s ease; display: inline-block; }
.rc-service-tile:hover .rc-service-tile__link i { transform: translateX(4px); }

/* =========================================================================
   .rc-social-proof
   Auto-scrolling marquee of review excerpts. Pauses on hover.
   ========================================================================= */
.rc-social-proof {
  position: relative;
  padding: 28px 0;
  background: var(--rc-bg-soft);
  border-top: 1px solid var(--rc-border);
  border-bottom: 1px solid var(--rc-border);
  overflow: hidden;
}
.rc-social-proof__heading {
  text-align: center;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  color: var(--rc-text-muted);
  font-weight: 600;
  margin: 0 0 18px;
}
.rc-social-proof__track {
  display: flex;
  gap: 16px;
  width: max-content;
  animation: rcMarquee 38s linear infinite;
}
.rc-social-proof:hover .rc-social-proof__track,
.rc-social-proof.rc-paused .rc-social-proof__track { animation-play-state: paused; }
.rc-social-proof__card {
  flex: 0 0 320px;
  background: var(--rc-white);
  border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius);
  padding: 18px 20px;
  box-shadow: var(--rc-shadow-sm);
}
.rc-social-proof__card .rc-stars { color: #f5b50a; font-size: 13px; margin-bottom: 8px; }
.rc-social-proof__quote { font-size: 14px; line-height: 1.5; color: var(--rc-text); margin: 0 0 10px; }
.rc-social-proof__author { font-size: 13px; color: var(--rc-text-muted); font-weight: 600; }

@keyframes rcMarquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* =========================================================================
   .rc-comfort-club-pitch
   Comfort Club $19.95/mo upsell card.
   ========================================================================= */
.rc-comfort-club-pitch {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
  background: var(--rc-teal);
  color: #fff;
  border-radius: var(--rc-radius);
  padding: 28px;
  box-shadow: var(--rc-shadow-md);
  position: relative;
  overflow: hidden;
}
.rc-comfort-club-pitch::after {
  content: '';
  position: absolute;
  top: -40px; right: -40px;
  width: 220px; height: 220px;
  background: rgba(251, 142, 40, 0.18);
  border-radius: 50%;
  pointer-events: none;
}
.rc-comfort-club-pitch__copy { position: relative; z-index: 1; }
.rc-comfort-club-pitch__eyebrow {
  display: inline-block;
  padding: 4px 12px;
  background: rgba(251, 142, 40,.2);
  color: var(--rc-orange-light);
  border-radius: var(--rc-radius-pill);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 12px;
}
.rc-comfort-club-pitch__title {
  font-size: 26px;
  font-weight: 800;
  margin: 0 0 6px;
  line-height: 1.15;
}
.rc-comfort-club-pitch__title .rc-price { color: var(--rc-orange); }
.rc-comfort-club-pitch__sub { color: rgba(255,255,255,.75); margin: 0 0 18px; font-size: 14px; }
.rc-comfort-club-pitch__list { list-style: none; padding: 0; margin: 0 0 18px; }
.rc-comfort-club-pitch__list li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 6px 0;
  font-size: 14px;
  color: rgba(255,255,255,.92);
}
.rc-comfort-club-pitch__list i { color: var(--rc-orange); margin-top: 3px; }
.rc-comfort-club-pitch__cta-wrap { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: stretch; }
.rc-comfort-club-pitch__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 22px;
  background: var(--rc-orange);
  color: #fff;
  border-radius: var(--rc-radius-pill);
  text-decoration: none;
  font-weight: 800;
  font-size: 16px;
  box-shadow: 0 10px 26px rgba(251, 142, 40,.4);
  transition: transform .18s ease, box-shadow .18s ease;
}
.rc-comfort-club-pitch__cta:hover { transform: translateY(-2px); box-shadow: 0 14px 32px rgba(251, 142, 40,.55); }
.rc-comfort-club-pitch__fine { font-size: 12px; color: rgba(255,255,255,.6); text-align: center; margin-top: 10px; }

/* =========================================================================
   .rc-anchor-pricing-banner
   Flat-rate AC swap anchor banner.
   ========================================================================= */
.rc-anchor-pricing-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 18px;
  padding: 20px 26px;
  background: var(--rc-teal-deep);
  color: #fff;
  border-radius: var(--rc-radius);
  border-left: 6px solid var(--rc-orange);
  box-shadow: var(--rc-shadow-md);
  position: relative;
  overflow: hidden;
}
.rc-anchor-pricing-banner__copy { flex: 1 1 320px; }
.rc-anchor-pricing-banner__eyebrow {
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--rc-orange-light);
  font-weight: 700;
  margin-bottom: 6px;
}
.rc-anchor-pricing-banner__title { font-size: 22px; font-weight: 800; margin: 0 0 4px; line-height: 1.2; }
.rc-anchor-pricing-banner__title .rc-price { color: var(--rc-orange); }
.rc-anchor-pricing-banner__sub { font-size: 13px; color: rgba(255,255,255,.78); margin: 0; }
.rc-anchor-pricing-banner__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  background: var(--rc-orange);
  color: #fff;
  text-decoration: none;
  border-radius: var(--rc-radius-pill);
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
  transition: transform .18s ease;
}
.rc-anchor-pricing-banner__cta:hover { transform: translateY(-2px); }

/* =========================================================================
   .rc-cta-strip-mobile
   Sticky bottom-of-screen mobile call/text/book bar.
   ========================================================================= */
.rc-cta-strip-mobile {
  display: none;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 80;
  background: var(--rc-white);
  border-top: 1px solid var(--rc-border);
  box-shadow: 0 -6px 24px rgba(0,0,0,.08);
}
.rc-cta-strip-mobile__row { display: flex; }
.rc-cta-strip-mobile__btn {
  flex: 1;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px 6px;
  gap: 4px;
  text-decoration: none;
  color: var(--rc-text);
  font-weight: 700;
  font-size: 12px;
  background: var(--rc-white);
  border: none;
  border-right: 1px solid var(--rc-border);
}
.rc-cta-strip-mobile__btn:last-child { border-right: none; }
.rc-cta-strip-mobile__btn i { font-size: 18px; color: var(--rc-orange); }
.rc-cta-strip-mobile__btn--call { background: var(--rc-orange); color: #fff; }
.rc-cta-strip-mobile__btn--call i { color: #fff; }

@media (max-width: 768px) {
  .rc-cta-strip-mobile { display: block; }
  body.rc-has-mobile-strip { padding-bottom: 72px; }
}

/* =========================================================================
   .rc-fab-bottom
   Floating action button — bottom-right desktop only.
   ========================================================================= */
.rc-fab-bottom {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 70;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  background: var(--rc-orange);
  color: #fff;
  border-radius: var(--rc-radius-pill);
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 14px 36px rgba(251, 142, 40,.4);
  animation: rcFabIdle 3.4s ease-in-out infinite;
  transition: transform .18s ease, box-shadow .18s ease;
}
.rc-fab-bottom:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 18px 44px rgba(251, 142, 40,.55); animation-play-state: paused; }
.rc-fab-bottom.rc-paused { animation-play-state: paused; }

@keyframes rcFabIdle {
  0%, 100% { transform: translateY(0);    box-shadow: 0 14px 36px rgba(251, 142, 40,.4); }
  50%      { transform: translateY(-4px); box-shadow: 0 22px 50px rgba(251, 142, 40,.55); }
}
@media (max-width: 768px) { .rc-fab-bottom { display: none; } }

/* =========================================================================
   .rc-section-trust-grid
   4-tile trust grid (Same-Day / Up-Front / Satisfaction / Background-Checked)
   ========================================================================= */
.rc-section-trust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  padding: 32px 20px;
  max-width: 1180px;
  margin: 0 auto;
}
.rc-trust-grid-tile {
  background: var(--rc-white);
  border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius);
  padding: 22px 20px;
  text-align: center;
  transition: transform .2s ease;
}
.rc-trust-grid-tile:hover { transform: translateY(-3px); }
.rc-trust-grid-tile__icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(251, 142, 40, 0.10);
  color: var(--rc-orange);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 12px;
}
.rc-trust-grid-tile__title { font-size: 16px; font-weight: 700; color: var(--rc-text); margin: 0 0 6px; }
.rc-trust-grid-tile__desc { font-size: 13px; color: var(--rc-text-muted); margin: 0; line-height: 1.5; }

/* =========================================================================
   .rc-faq
   Accessible accordion using <details>/<summary>. No JS dependency.
   ========================================================================= */
.rc-faq {
  max-width: 820px;
  margin: 32px auto;
  padding: 0 20px;
}
.rc-faq__heading {
  text-align: center;
  font-size: 24px;
  font-weight: 800;
  color: var(--rc-text);
  margin: 0 0 8px;
}
.rc-faq__sub {
  text-align: center;
  color: var(--rc-text-muted);
  margin: 0 0 22px;
  font-size: 14px;
}
.rc-faq details {
  background: var(--rc-white);
  border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius-sm);
  margin-bottom: 10px;
  overflow: hidden;
  transition: box-shadow .2s ease;
}
.rc-faq details[open] { box-shadow: var(--rc-shadow-sm); border-color: rgba(251, 142, 40,.4); }
.rc-faq summary {
  list-style: none;
  cursor: pointer;
  padding: 16px 20px;
  font-weight: 600;
  color: var(--rc-text);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.rc-faq summary::-webkit-details-marker { display: none; }
.rc-faq summary::after {
  content: '\f078';
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
  font-size: 12px;
  color: var(--rc-orange);
  transition: transform .22s ease;
}
.rc-faq details[open] summary::after { transform: rotate(180deg); }
.rc-faq__body {
  padding: 0 20px 18px;
  color: var(--rc-text-muted);
  font-size: 14px;
  line-height: 1.6;
}

/* =========================================================================
   .rc-counter
   Animated number counter (triggered by IntersectionObserver in JS).
   ========================================================================= */
.rc-counter {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  font-size: 32px;
  font-weight: 800;
  color: var(--rc-orange);
  font-variant-numeric: tabular-nums;
}
.rc-counter[data-prefix]::before { content: attr(data-prefix); margin-right: 2px; }
.rc-counter[data-suffix]::after  { content: attr(data-suffix); margin-left: 2px; font-size: .6em; color: var(--rc-text-muted); }

.rc-counter-block {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  justify-content: center;
  padding: 24px 20px;
  text-align: center;
}
.rc-counter-block__item {
  flex: 1 1 180px;
  max-width: 240px;
  background: var(--rc-white);
  border: 1px solid var(--rc-border);
  border-radius: var(--rc-radius);
  padding: 22px 18px;
  box-shadow: var(--rc-shadow-sm);
}
.rc-counter-block__label {
  display: block;
  font-size: 13px;
  color: var(--rc-text-muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-top: 6px;
  font-weight: 600;
}

/* =========================================================================
   .rc-cta-button-large
   56px-tall pulsing CTA button.
   ========================================================================= */
.rc-cta-button-large {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 56px;
  padding: 0 32px;
  background: var(--rc-orange);
  color: #fff;
  border: none;
  border-radius: var(--rc-radius-pill);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .3px;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(251, 142, 40,.4);
  animation: rcButtonIdle 2.4s ease-in-out infinite;
  transition: transform .18s ease, box-shadow .18s ease;
}
.rc-cta-button-large:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 36px rgba(251, 142, 40,.55);
  animation-play-state: paused;
}
.rc-cta-button-large.rc-paused { animation-play-state: paused; }

@keyframes rcButtonIdle {
  0%, 100% { box-shadow: 0 10px 28px rgba(251, 142, 40,.4),  0 0 0 0 rgba(251, 142, 40,.5); }
  70%      { box-shadow: 0 10px 28px rgba(251, 142, 40,.4),  0 0 0 14px rgba(251, 142, 40,0); }
}

/* =========================================================================
   .rc-exit-intent-modal
   Optional polite exit-intent prompt (shown by JS once per session).
   ========================================================================= */
.rc-exit-intent-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,40,54,.5);
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: rcFade .2s ease-out;
}
.rc-exit-intent-modal.is-open { display: flex; }
.rc-exit-intent-modal__card {
  background: var(--rc-white);
  border-radius: 16px;
  max-width: 440px;
  width: 100%;
  padding: 28px;
  box-shadow: 0 30px 70px rgba(0,0,0,.35);
  text-align: center;
  position: relative;
}
.rc-exit-intent-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  border: none;
  background: transparent;
  color: var(--rc-text-muted);
  font-size: 18px;
  cursor: pointer;
  width: 32px; height: 32px;
}
.rc-exit-intent-modal__title { font-size: 22px; font-weight: 800; margin: 0 0 8px; color: var(--rc-text); }
.rc-exit-intent-modal__sub { color: var(--rc-text-muted); margin: 0 0 18px; font-size: 14px; }
.rc-exit-intent-modal__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  background: var(--rc-orange);
  color: #fff;
  text-decoration: none;
  border-radius: var(--rc-radius-pill);
  font-weight: 700;
}
@keyframes rcFade { from { opacity: 0; } to { opacity: 1; } }

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width: 720px) {
  .rc-hero-animated { padding: 48px 20px 56px; min-height: 320px; }
  .rc-comfort-club-pitch { grid-template-columns: 1fr; padding: 24px; }
  .rc-anchor-pricing-banner { padding: 18px 20px; }
  .rc-trust-bar { gap: 14px; padding: 12px 14px; font-size: 13px; }
}

/* =========================================================================
   Reduced motion: collapse all animations to instant state.
   ========================================================================= */
@media (prefers-reduced-motion: reduce) {
  .rc-hero-animated,
  .rc-hero-animated::before,
  .rc-trust-bar__stars i,
  .rc-emergency-strip,
  .rc-emergency-strip__icon,
  .rc-social-proof__track,
  .rc-fab-bottom,
  .rc-cta-button-large {
    animation: none !important;
  }
  .rc-hero-animated__cta,
  .rc-service-tile,
  .rc-trust-grid-tile,
  .rc-comfort-club-pitch__cta,
  .rc-anchor-pricing-banner__cta {
    transition: none !important;
  }
  .rc-hero-animated__cta:hover,
  .rc-service-tile:hover,
  .rc-fab-bottom:hover,
  .rc-cta-button-large:hover { transform: none !important; }
}

/* =========================================================================
   Save-data: disable decorative animations
   ========================================================================= */
.rc-savedata .rc-hero-animated,
.rc-savedata .rc-hero-animated::before,
.rc-savedata .rc-trust-bar__stars i,
.rc-savedata .rc-emergency-strip,
.rc-savedata .rc-social-proof__track,
.rc-savedata .rc-fab-bottom,
.rc-savedata .rc-cta-button-large { animation: none !important; }
