/* NOTE: built by _rebus/editable_css.py from rebus-home.source.css.
   Selectors are wrapped in :where() with fixed :not() padding so that any
   setting made in the Elementor panel wins over these defaults.
   Edit rebus-home.source.css and re-run the script, or add new rules at the
   end of this file using the same pattern. */

/* ==========================================================
   Rebus home page
   Built from _rebus/rebus-home-template.json. Any page whose Elementor
   layout uses the "rb-home" class gets this stylesheet and is shown with
   Elementor Canvas (the page brings its own header and footer).

   Content is all native Elementor widgets. These rules give the layout
   and the default look; selectors stay at three classes or fewer, so a
   colour, font or spacing set on a widget in Elementor still wins.
   ========================================================== */

:root {
  --rb-ink: #0a1510;
  /* dark sections */
  --rb-card: rgba(255, 255, 255, 0.05);
  /* cards on dark */
  --rb-card-2: rgba(255, 255, 255, 0.03);
  /* closed FAQ items */
  --rb-line: rgba(255, 255, 255, 0.12);
  /* borders on dark */
  --rb-forest: #1c573b;
  /* buttons, dark green type */
  --rb-forest-2: #1c573b;
  /* button borders, open FAQ border */
  --rb-mint: #ffffff;
  /* highlights */
  --rb-light: #ffffff;
  /* light sections */
  --rb-paper: #ffffff;
  /* header bar */
  --rb-white: #ffffff;
  --rb-text: #0a1510;
  /* body text on light */
  --rb-muted-light: rgba(10, 21, 16, 0.72);
  --rb-muted-dark: rgba(255, 255, 255, 0.74);
  --rb-grey-title: #ffffff;
  --rb-gutter: clamp(16px, 5.3vw, 80px);
  --rb-max: 1320px;
  --rb-radius: clamp(10px, 1vw, 14px);
  --rb-section-y: clamp(44px, 5.5vw, 80px);
  --rb-header-h: 88px;
  /* rebus-home.js sets the measured height */

  --rb-font-head: "Oswald", "Arial Narrow", sans-serif;
  --rb-font-body: "Inter", "Helvetica Neue", Arial, sans-serif;
}

html:has(.rb-home) {
  scroll-behavior: smooth;
  scroll-padding-top: 90px;
}

body:has(.rb-home) {
  background: var(--rb-ink);
  overflow-x: clip;
}

/* ---------- Elementor resets (inherited, so per-element settings win) */

:where(.rb-home):not(.rbz):not(.rbz):not(rbz) {
  --container-default-padding-top: 0px;
  --container-default-padding-right: 0px;
  --container-default-padding-bottom: 0px;
  --container-default-padding-left: 0px;
  --kit-widget-spacing: 0px;
  --widgets-spacing: 0px 0px;
  --widgets-spacing-row: 0px;
  --widgets-spacing-column: 0px;
  font-family: var(--rb-font-body);
  color: var(--rb-white);
  background: var(--rb-ink);
  -webkit-font-smoothing: antialiased;
}

:where(.rb-home .e-con):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --row-gap: 0px;
  --column-gap: 0px;
}

/* The kit's fonts (Playfair / Hind Siliguri) belong to another site */

:where(.rb-home .elementor-widget.elementor-widget-text-editor):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-body);
  color: inherit;
}
:where(.rb-home .elementor-widget .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .elementor-widget .elementor-icon-list-text):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-body);
  color: inherit;
}

:where(.rb-home.rb-home :is(h1, h2, h3).elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0;
  margin: 0;
}

:where(.rb-home .elementor-widget-text-editor p):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  margin: 0 0 1em;
}

:where(.rb-home .elementor-widget-text-editor p:last-child):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-bottom: 0;
}

:where(.rb-home .elementor-widget-text-editor a):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  color: inherit;
}

/* ---------- Layout helpers */

:where(.rb-home .rb-wrap):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 100%;
  width: var(--width);
  max-width: calc(var(--rb-max) + 2 * var(--rb-gutter));
  --margin-left: auto;
  margin-left: var(--margin-left);
  --margin-right: auto;
  margin-right: var(--margin-right);
  --padding-left: var(--rb-gutter);
  --padding-right: var(--rb-gutter);
}

:where(.rb-home .rb-section):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --padding-top: var(--rb-section-y);
  --padding-bottom: var(--rb-section-y);
}

:where(.rb-home .rb-dark):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-ink);
  color: var(--rb-white);
}

:where(.rb-home .rb-light):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-light);
  color: var(--rb-text);
}

:where(.rb-home .rb-grid):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --display: grid;
  display: grid;
  --row-gap: clamp(9px, 0.9vw, 14px);
  row-gap: var(--row-gap);
  --column-gap: clamp(9px, 0.9vw, 14px);
  column-gap: var(--column-gap);
}

:where(.rb-home .rb-grid > .e-con):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --width: auto;
  width: var(--width);
  min-width: 0;
}

:where(.rb-home .rb-grid-3):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

:where(.rb-home .rb-grid-4):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

:where(.rb-home .rb-grid-5):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

/* ---------- Type */

:where(.rb-home .rb-eyebrow .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: clamp(11px, 1.07vw, 15px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--rb-mint);
  margin: 0;
}

:where(.rb-home .rb-light .rb-eyebrow .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-eyebrow--muted .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: rgba(255, 255, 255, 0.62);
}

:where(.rb-home .rb-h1 .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(50px, 7.05vw, 108px);
  line-height: 0.93;
  color: var(--rb-light);
}

:where(.rb-home .rb-h2 .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(36px, 5vw, 74px);
  line-height: 0.98;
  color: var(--rb-light);
}

:where(.rb-home .rb-light .rb-h2 .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .elementor-heading-title span):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  color: var(--rb-mint);
}

:where(.rb-home .rb-eyebrow + .rb-h2 > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(12px, 1.3vw, 18px);
}

:where(.rb-home .rb-lead):not(.rbz):not(.rbz):not(rbz):not(rbz),
:where(.rb-home .rb-body):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(15px, 1.42vw, 20px);
  line-height: 1.62;
}

:where(.rb-home .rb-body):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(15px, 1.27vw, 18px);
  line-height: 1.75;
}

:where(.rb-home .rb-dark .rb-lead):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-dark .rb-body):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-muted-dark);
}

:where(.rb-home .rb-light .rb-body):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: #0a1510;
}

/* ---------- Buttons */

:where(.rb-home .rb-btn .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: clamp(14px, 1.38vw, 18px);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1;
  padding: 0.98em 1.62em;
  border-radius: 7px;
  border: 1.5px solid transparent;
  background: transparent;
  color: var(--rb-white);
  white-space: nowrap;
  transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s, transform 0.2s;
}

:where(.rb-home .rb-btn--sm .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(13px, 1.18vw, 16px);
  padding: 0.85em 1.25em;
}

:where(.rb-home .rb-btn--case .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  text-transform: none;
  letter-spacing: 0.03em;
}

:where(.rb-home .rb-btn--primary .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: var(--rb-forest);
  border-color: var(--rb-forest-2);
  color: var(--rb-white);
}

:where(.rb-home .rb-light .rb-btn--primary .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-color: var(--rb-forest);
}

:where(.rb-home .rb-btn--primary .elementor-button:hover):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: #0a1510;
  transform: translateY(-1px);
}

:where(.rb-home .rb-btn--glow .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  box-shadow: 0 10px 28px -6px rgba(28, 87, 59, 0.38);
}

:where(.rb-home .rb-btn--outline .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-color: var(--rb-light);
  color: var(--rb-white);
}

:where(.rb-home .rb-btn--outline .elementor-button:hover):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: var(--rb-light);
  color: var(--rb-ink);
}

:where(.rb-home .rb-btn--outline-dark .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-color: var(--rb-forest);
  color: var(--rb-forest);
}

:where(.rb-home .rb-btn--outline-dark .elementor-button:hover):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: var(--rb-forest);
  color: var(--rb-white);
}

:where(.rb-home .rb-btn .elementor-button-icon svg):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  width: 0.85em;
  height: 0.85em;
  fill: currentColor;
}

:where(.rb-home .rb-btn-row):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --flex-wrap: wrap;
  flex-wrap: var(--flex-wrap);
  --row-gap: 10px;
  --column-gap: clamp(9px, 0.9vw, 12px);
}

/* Text links ("Find out more →") are Button widgets without a box */

:where(.rb-home .rb-textlink .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: clamp(13px, 1.12vw, 16px);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  line-height: 1.2;
  padding: 0;
  background: none;
  border: 0;
  border-radius: 0;
  color: var(--rb-mint);
}

:where(.rb-home .rb-textlink--dark .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-textlink .elementor-button:hover):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  opacity: 0.8;
}

/* ==========================================================
   Header
   ========================================================== */

:where(.rb-home .rb-header):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --position: sticky;
  position: var(--position);
  top: 0;
  --z-index: 100;
  z-index: var(--z-index);
  /* No background: the menu bar floats over the hero. The negative
     margin pulls the hero up underneath it. */
  background-color: transparent;
  /* --rb-header-push follows the header's real height (also with the
     mobile menu open), so opening the menu overlays the page instead of
     pushing it down */
  margin-bottom: calc(-1 * var(--rb-header-push, var(--rb-header-h)));
  --padding-top: 11px;
  --padding-bottom: 11px;
  --padding-left: clamp(10px, 1.4vw, 20px);
  --padding-right: clamp(10px, 1.4vw, 20px);;
}

body.admin-bar .rb-home .rb-header {
  top: var(--wp-admin--admin-bar--height, 32px);
}

:where(.rb-home .rb-nav-bar):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-paper);
  --border-radius: var(--rb-radius);
  border-radius: var(--border-radius);
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --padding-top: 9px;
  --padding-bottom: 9px;
  --padding-left: clamp(16px, 2.4vw, 32px);
  --padding-right: 9px;
  --min-height: 57px;
  min-height: var(--min-height);
}

:where(.rb-home .rb-logo):not(.rbz):not(.rbz):not(rbz):not(rbz),
:where(.rb-home .rb-foot-logo):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  text-align: left;
}

:where(.rb-home .rb-logo img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  display: block;
  width: auto;
  height: clamp(30px, 3.2vw, 42px);
}

:where(.rb-home .rb-nav):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: auto;
  width: var(--width);
  --align-items: center;
  align-items: var(--align-items);
  --column-gap: clamp(14px, 1.9vw, 30px);
}

:where(.rb-home .rb-nav .rb-btn--outline-dark.rb-btn--portal > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-left: 0;
}

:where(.rb-home .rb-nav-link .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: clamp(13px, 1.18vw, 16px);
  letter-spacing: 0.07em;
  text-transform: uppercase;
  line-height: 1;
  color: var(--rb-ink);
}

:where(.rb-home .rb-nav-link a:hover):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-nav .rb-btn--outline-dark > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-left: clamp(0px, 0.4vw, 8px);
}

:where(.rb-home .rb-nav .rb-btn--primary .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-color: var(--rb-forest);
  letter-spacing: 0.08em;
}

:where(.rb-home .rb-burger-wrap):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  display: none;
}

:where(.rb-home .rb-burger-wrap .rb-burger):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-burger-wrap .rb-burger:hover):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-burger-wrap .rb-burger:focus):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  display: inline-flex;
  margin: 0;
  box-shadow: none;
  color: var(--rb-white);
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0 11px;
  border: 0;
  border-radius: 8px;
  background: var(--rb-forest);
  cursor: pointer;
}

:where(.rb-home .rb-burger-wrap .rb-burger:focus-visible):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  outline: 2px solid var(--rb-forest-2);
  outline-offset: 2px;
}

:where(.rb-home .rb-burger-wrap .rb-burger span):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  width: 100%;
  display: block;
  height: 2px;
  background: var(--rb-white);
  border-radius: 2px;
  transition: transform 0.25s, opacity 0.2s;
}

:where(.rb-home .rb-nav-open .rb-burger span:nth-child(1)):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transform: translateY(7px) rotate(45deg);
}

:where(.rb-home .rb-nav-open .rb-burger span:nth-child(2)):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  opacity: 0;
}

:where(.rb-home .rb-nav-open .rb-burger span:nth-child(3)):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ==========================================================
   Hero
   ========================================================== */

:where(.rb-home .rb-hero):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --padding-top: calc(var(--rb-header-h) + clamp(48px, 7vw, 110px));
  --padding-bottom: clamp(56px, 8vw, 120px);
  --overflow: hidden;
  overflow: var(--overflow);
}

:where(.rb-home .rb-hero-inner):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: 40px;
}

:where(.rb-home .rb-hero-copy):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 52%;
  width: var(--width);
  max-width: 700px;
}

:where(.rb-home .rb-hero-copy .rb-lead):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  max-width: 29em;
}
:where(.rb-home .rb-hero-copy .rb-lead > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(22px, 3vw, 40px);
}

:where(.rb-home .rb-hero-copy .rb-btn-row):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --margin-top: clamp(24px, 3vw, 40px);
  margin-top: var(--margin-top);
}

:where(.rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --position: relative;
  position: var(--position);
  --width: 44%;
  width: var(--width);
  aspect-ratio: 1;
  max-width: 560px;
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: center;
  justify-content: var(--justify-content);
}

/* Orbit rings and the dot are drawn here, around the logo image */

:where(.rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz)::before,
:where(.rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz)::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

:where(.rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz)::before {
  inset: 0;
  border: 1px dashed rgba(255, 255, 255, 0.6);
  background: radial-gradient(circle, rgba(10, 21, 16, 0.55) 0%, rgba(28, 87, 59, 0.35) 45%, transparent 71%);
}

:where(.rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz)::after {
  inset: 9%;
  border: 1px solid rgba(255, 255, 255, 0.45);
}

:where(.rb-home .rb-hero-visual > .elementor-element.rb-hero-mark):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  position: relative;
  z-index: 1;
  width: 60%;
}

:where(.rb-home .rb-hero-mark img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 50%;
  box-shadow: 0 0 60px 6px rgba(255, 255, 255, 0.18);
}

:where(.rb-hero-orbit):not(.rbz):not(.rbz):not(.rbz):not(rbz) {
  position: absolute;
  inset: 9%;
  border-radius: 50%;
  pointer-events: none;
  animation: rb-orbit 26s linear infinite;
}

:where(.rb-hero-orbit):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz)::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 50%;
  width: 10px;
  height: 10px;
  margin-left: -5px;
  border-radius: 50%;
  background: var(--rb-mint);
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.8);
}

@keyframes rb-orbit {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  :where(.rb-hero-orbit):not(.rbz):not(.rbz):not(.rbz):not(rbz) {
    animation: none;
  }

}

/* ==========================================================
   Services
   ========================================================== */

:where(.rb-home .rb-services .rb-h2 > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-bottom: clamp(36px, 4.9vw, 68px);
}

:where(.rb-home .rb-svc-card):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-card);
  border: 1px solid var(--rb-line);
  --border-radius: var(--rb-radius);
  border-radius: var(--border-radius);
  --overflow: hidden;
  overflow: var(--overflow);
}

:where(.rb-home .rb-svc-img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  position: relative;
}

:where(.rb-home .rb-svc-img img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  display: block;
  width: 100%;
  aspect-ratio: 2.1;
  object-fit: cover;
}

/* Photo fades into the card */

:where(.rb-home .rb-svc-img):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz)::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(180deg, rgba(10, 21, 16, 0) 0%, var(--rb-card) 100%);
  pointer-events: none;
}

:where(.rb-home .rb-svc-body):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  flex-grow: 1;
  --padding-top: clamp(14px, 1.4vw, 20px);
  --padding-right: clamp(20px, 2vw, 28px);
  --padding-bottom: clamp(24px, 2.4vw, 34px);
  --padding-left: clamp(20px, 2vw, 28px);
}

:where(.rb-home .rb-svc-for .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: clamp(11px, 0.98vw, 14px);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

:where(.rb-home .rb-svc-title > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: 8px;
}

:where(.rb-home.rb-home .rb-svc-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-weight: 600;
  font-size: clamp(26px, 2.75vw, 38px);
  line-height: 0.98;
  color: var(--rb-light);
}

:where(.rb-home .rb-svc-title .elementor-heading-title span):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-grey-title);
}

:where(.rb-home .rb-svc-desc):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(14px, 1.13vw, 16px);
  line-height: 1.6;
  color: var(--rb-muted-dark);
}
:where(.rb-home .rb-svc-desc > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(12px, 1.2vw, 16px);
}

:where(.rb-home .rb-svc-body .rb-textlink):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: auto;
  padding-top: clamp(28px, 3vw, 44px);
}

:where(.rb-home .rb-svc-foot):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: 32px;
  --row-gap: 20px;
  --margin-top: clamp(24px, 2.4vw, 32px);
  margin-top: var(--margin-top);
  --padding-top: clamp(20px, 2vw, 28px);
  border-top: 1px solid var(--rb-line);
}

:where(.rb-home .rb-svc-foot-text):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  max-width: 34em;
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.8);
}

/* ==========================================================
   About
   ========================================================== */

:where(.rb-home .rb-about-row):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: clamp(32px, 7vw, 100px);
}

:where(.rb-home .rb-about-copy):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 49%;
  width: var(--width);
}

:where(.rb-home .rb-about-copy .rb-body):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  max-width: 34em;
}
:where(.rb-home .rb-about-copy .rb-body > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(20px, 2.4vw, 32px);
}

:where(.rb-home .rb-about-copy .rb-btn > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(24px, 2.6vw, 36px);
}

:where(.rb-home .rb-about-media):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 46%;
  width: var(--width);
  aspect-ratio: 1.33;
  --border-radius: var(--rb-radius);
  border-radius: var(--border-radius);
  border: 1px dashed rgba(28, 87, 59, 0.35);
  background-color: #ffffff;
  background-size: cover;
  background-position: center;
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: center;
  justify-content: var(--justify-content);
  --overflow: hidden;
  overflow: var(--overflow);
}

:where(.rb-media-ph):not(.rbz):not(.rbz):not(.rbz):not(rbz) {
  text-align: center;
  color: rgba(10, 21, 16, 0.72);
  font-size: clamp(12px, 0.95vw, 14px);
  line-height: 1.4;
  padding: 16px;
}

:where(.rb-media-ph svg):not(.rbz):not(.rbz):not(rbz) {
  display: block;
  fill: none;
  width: 28px;
  height: 28px;
  margin: 0 auto 8px;
  color: rgba(10, 21, 16, 0.72);
}

:where(.rb-home .rb-media-ph p):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  margin: 0 0 4px;
}

:where(.rb-media-ph .rb-media-ph-small):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  font-size: 0.82em;
  opacity: 0.75;
}

/* Stats */

:where(.rb-home .rb-stats):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(56px, 6.8vw, 96px);
}

:where(.rb-home .rb-stat):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  min-height: clamp(130px, 13.9vw, 200px);
  border-radius: var(--rb-radius);
  justify-content: space-between;
  --row-gap: 14px;
  --padding-top: clamp(20px, 2vw, 28px);
  --padding-right: clamp(20px, 2vw, 28px);
  --padding-bottom: clamp(20px, 2vw, 28px);
  --padding-left: clamp(20px, 2vw, 28px);
}

:where(.rb-home .rb-stat-num .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 700;
  font-size: clamp(46px, 5.5vw, 80px);
  line-height: 0.95;
  text-transform: uppercase;
}

:where(.rb-home .rb-stat-desc):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(13px, 1.13vw, 16px);
  line-height: 1.5;
}

:where(.rb-home .rb-stat--green):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-forest);
  color: var(--rb-light);
}

:where(.rb-home .rb-stat--green .rb-stat-desc):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: rgba(255, 255, 255, 0.85);
}

:where(.rb-home .rb-stat--white):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-white);
}

:where(.rb-home .rb-stat--white .rb-stat-num):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-stat--white .rb-stat-desc):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-muted-light);
}

:where(.rb-home .rb-stat--mint):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-mint);
  color: var(--rb-ink);
}

:where(.rb-home .rb-stat--mint .rb-stat-desc):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: #0a1510;
}

/* ==========================================================
   Why choose Rebus
   ========================================================== */

:where(.rb-home .rb-why .rb-h2 > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-bottom: clamp(36px, 4.6vw, 64px);
}

:where(.rb-home .rb-feature):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-card);
  border: 1px solid var(--rb-line);
  --border-radius: var(--rb-radius);
  border-radius: var(--border-radius);
  --min-height: clamp(150px, 12.8vw, 190px);
  min-height: var(--min-height);
  --padding-top: clamp(22px, 2.6vw, 34px);
  --padding-right: clamp(20px, 2vw, 28px);
  --padding-bottom: clamp(22px, 2.6vw, 34px);
  --padding-left: clamp(20px, 2vw, 28px);
}

:where(.rb-home .rb-feature-num .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: clamp(12px, 1.08vw, 15px);
  letter-spacing: 0.08em;
  color: var(--rb-mint);
}

:where(.rb-home .rb-feature-title > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(10px, 1.1vw, 14px);
}

:where(.rb-home.rb-home .rb-feature-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-weight: 500;
  font-size: clamp(19px, 1.85vw, 26px);
  line-height: 1.1;
  color: var(--rb-light);
}

:where(.rb-home .rb-feature-desc):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(14px, 1.13vw, 16px);
  line-height: 1.6;
  color: var(--rb-muted-dark);
}
:where(.rb-home .rb-feature-desc > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(8px, 0.9vw, 12px);
}

/* ==========================================================
   Getting paid band
   ========================================================== */

:where(.rb-home .rb-paid):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --min-height: clamp(380px, 47vw, 680px);
  min-height: var(--min-height);
  --justify-content: flex-end;
  justify-content: var(--justify-content);
  --padding-top: clamp(64px, 8vw, 120px);
  --padding-bottom: clamp(48px, 6.3vw, 90px);
}

:where(.rb-home .rb-paid-inner):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: flex-end;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: 40px;
  --row-gap: 28px;
}

:where(.rb-home .rb-paid-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(40px, 5.3vw, 80px);
  line-height: 0.98;
}

:where(.rb-home .rb-paid-card):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 37%;
  width: var(--width);
  max-width: 480px;
  flex-shrink: 0;
  background-color: var(--rb-light);
  color: var(--rb-text);
  --border-radius: var(--rb-radius);
  border-radius: var(--border-radius);
  --padding-top: clamp(22px, 2.6vw, 34px);
  --padding-right: clamp(20px, 2vw, 30px);
  --padding-bottom: clamp(22px, 2.6vw, 34px);
  --padding-left: clamp(20px, 2vw, 30px);
  --row-gap: clamp(16px, 1.8vw, 24px);
}

:where(.rb-home .rb-paid-text):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.6;
}

/* ==========================================================
   Five steps
   ========================================================== */

:where(.rb-home .rb-steps .rb-h2 > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-bottom: clamp(32px, 4.4vw, 60px);
}

:where(.rb-home .rb-step):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-white);
  border: 1px solid rgba(28, 87, 59, 0.22);
  --border-radius: var(--rb-radius);
  border-radius: var(--border-radius);
  --min-height: clamp(160px, 16vw, 230px);
  min-height: var(--min-height);
  --padding-top: clamp(18px, 1.9vw, 26px);
  --padding-right: clamp(18px, 1.9vw, 26px);
  --padding-bottom: clamp(22px, 2.2vw, 30px);
  --padding-left: clamp(18px, 1.9vw, 26px);
}

:where(.rb-home .rb-step-num .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  display: grid;
  place-items: center;
  width: clamp(36px, 3.6vw, 50px);
  height: clamp(36px, 3.6vw, 50px);
  border-radius: 50%;
  background: #1c573b;
  font-family: var(--rb-font-head);
  font-weight: 600;
  font-size: clamp(16px, 1.7vw, 23px);
  line-height: 1;
  color: var(--rb-forest);
}

:where(.rb-home .rb-step-title > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(16px, 1.8vw, 24px);
}

:where(.rb-home.rb-home .rb-step-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-weight: 600;
  font-size: clamp(16px, 1.55vw, 22px);
  line-height: 1.1;
  color: var(--rb-text);
}

:where(.rb-home .rb-step-desc):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(13px, 1.13vw, 16px);
  line-height: 1.6;
  color: var(--rb-muted-light);
}
:where(.rb-home .rb-step-desc > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(8px, 0.8vw, 12px);
}

:where(.rb-home .rb-steps-cta):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --margin-top: clamp(24px, 2.6vw, 36px);
  margin-top: var(--margin-top);
  --align-items: center;
  align-items: var(--align-items);
  --flex-wrap: wrap;
  flex-wrap: var(--flex-wrap);
  --column-gap: 9px;
  --row-gap: 12px;
}

:where(.rb-home .rb-or-call):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(14px, 1.2vw, 17px);
  color: var(--rb-muted-light);
}

:where(.rb-home .rb-or-call a):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ==========================================================
   FAQs
   ========================================================== */

:where(.rb-home .rb-faq-row):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: clamp(32px, 7vw, 100px);
  --row-gap: 40px;
}

:where(.rb-home .rb-faq-intro):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 42%;
  width: var(--width);
}

:where(.rb-home .rb-faq-intro .rb-body):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  max-width: 28em;
  font-size: clamp(15px, 1.27vw, 18px);
  line-height: 1.6;
}
:where(.rb-home .rb-faq-intro .rb-body > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(12px, 1.4vw, 20px);
}

:where(.rb-home .rb-faq-intro .rb-btn-row):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --margin-top: clamp(20px, 2.2vw, 30px);
  margin-top: var(--margin-top);
}

:where(.rb-home .rb-faq-list):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 46%;
  width: var(--width);
  --row-gap: clamp(10px, 1.2vw, 16px);
}

/* Nested Accordion */

:where(.rb-home .rb-accordion .e-n-accordion):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  display: flex;
  flex-direction: column;
  gap: clamp(6px, 0.6vw, 9px);
}

:where(.rb-home .rb-accordion .e-n-accordion-item):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-card-2);
  border: 1px solid var(--rb-line);
  border-radius: var(--rb-radius);
  overflow: hidden;
  transition: background-color 0.2s, border-color 0.2s;
}

:where(.rb-home .rb-accordion .e-n-accordion-item[open]):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-card);
  border-color: var(--rb-forest-2);
}

:where(.rb-home .rb-accordion):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --n-accordion-title-icon-order: 0;
  --n-accordion-title-flex-direction: row;
  --n-accordion-title-justify-content: space-between;
  --n-accordion-title-flex-grow: 1;
  --n-accordion-icon-normal-color: var(--rb-white);
  --n-accordion-icon-hover-color: var(--rb-white);
  --n-accordion-icon-active-color: var(--rb-ink);
}

:where(.rb-home .rb-accordion .e-n-accordion-item-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: clamp(14px, 1.6vw, 22px) clamp(16px, 1.6vw, 22px);
  border: 0;
  background: none;
}

:where(.rb-home .rb-accordion .e-n-accordion-item-title-header):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  flex: 1 1 auto;
  justify-content: flex-start;
  text-align: left;
}

:where(.rb-home .rb-accordion .e-n-accordion-item-title-text):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-body);
  font-weight: 500;
  font-size: clamp(15px, 1.38vw, 19px);
  line-height: 1.35;
  text-transform: none;
  color: inherit;
  margin: 0;
}

/* title colours: Elementor's accordion variables (Style > Header > Title) */

:where(.rb-home .rb-accordion):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --n-accordion-title-normal-color: var(--rb-white);
  --n-accordion-title-hover-color: var(--rb-white);
  --n-accordion-title-active-color: var(--rb-white);
}

:where(.rb-home .rb-accordion .e-n-accordion-item-title-icon):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: clamp(26px, 2.4vw, 34px);
  height: clamp(26px, 2.4vw, 34px);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  color: var(--rb-white);
}

:where(.rb-home .rb-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: var(--rb-mint);
  color: var(--rb-ink);
}

:where(.rb-home .rb-accordion .e-n-accordion-item-title-icon span):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  height: auto;
  align-items: center;
  justify-content: center;
}

:where(.rb-home .rb-accordion .e-n-accordion-item-title-icon svg):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  width: 11px;
  height: 11px;
  fill: currentColor;
}

:where(.rb-home .rb-acc-content):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --padding-top: 0px;
  --padding-right: clamp(16px, 1.6vw, 22px);
  --padding-bottom: clamp(18px, 1.8vw, 24px);
  --padding-left: clamp(16px, 1.6vw, 22px);
  border: 0;
}

:where(.rb-home .rb-acc-text):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  max-width: 44em;
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.7;
  color: var(--rb-muted-dark);
}

/* ==========================================================
   CTA + contact details
   ========================================================== */

:where(.rb-home .rb-cta):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

:where(.rb-home .rb-cta-row):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: 40px;
  --row-gap: 32px;
}

:where(.rb-home .rb-cta-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(48px, 6.1vw, 92px);
  line-height: 0.95;
}

:where(.rb-home .rb-cta-copy):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 46%;
  width: var(--width);
  --row-gap: clamp(20px, 2.4vw, 32px);
}

:where(.rb-home .rb-cta-copy .rb-lead):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  max-width: 30em;
  font-size: clamp(15px, 1.42vw, 20px);
  line-height: 1.65;
}

:where(.rb-home .rb-info):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --margin-top: clamp(56px, 8.3vw, 120px);
  margin-top: var(--margin-top);
}

:where(.rb-home .rb-info-card):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-card);
  border: 1px solid var(--rb-line);
  --border-radius: var(--rb-radius);
  border-radius: var(--border-radius);
  --min-height: clamp(120px, 12.9vw, 180px);
  min-height: var(--min-height);
  --row-gap: clamp(10px, 1vw, 14px);
  --padding-top: clamp(18px, 1.9vw, 26px);
  --padding-right: clamp(18px, 1.9vw, 26px);
  --padding-bottom: clamp(18px, 1.9vw, 26px);
  --padding-left: clamp(18px, 1.9vw, 26px);
}

:where(.rb-home .rb-info-phone .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: clamp(20px, 2.1vw, 30px);
  line-height: 1.1;
  color: var(--rb-white);
}

:where(.rb-home .rb-info-text):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(13px, 1.13vw, 16px);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
}

:where(.rb-home .rb-info-text a):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  text-decoration: underline;
  text-underline-offset: 3px;
}

:where(.rb-home .rb-hours):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  width: 100%;
  border: 0;
  margin: 0;
  border-collapse: collapse;
  font-size: inherit;
}

:where(.rb-home .rb-hours td):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  padding: 2px 0;
  border: 0;
  background: none;
  color: rgba(255, 255, 255, 0.62);
}

:where(.rb-home .rb-hours td:last-child):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  text-align: right;
}

:where(.rb-home .rb-hours tr:hover > td):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: none;
}

:where(.rb-home .rb-hours .rb-hours-today td):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-white);
  font-weight: 700;
}

/* ==========================================================
   Footer
   ========================================================== */

:where(.rb-home .rb-footer-wrap):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-ink);
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  --padding-left: clamp(10px, 1.7vw, 24px);
  --padding-right: clamp(10px, 1.7vw, 24px);
  --padding-bottom: clamp(10px, 1.7vw, 24px);
}

:where(.rb-home .rb-footer):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-card);
  border: 1px solid var(--rb-line);
  border-top: 0;
  --padding-top: clamp(40px, 4.6vw, 64px);
  --padding-right: clamp(20px, 4.7vw, 68px);
  --padding-bottom: clamp(24px, 2.6vw, 36px);
  --padding-left: clamp(20px, 4.7vw, 68px);
}

:where(.rb-home .rb-footer-top):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --display: grid;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  --row-gap: 32px;
  row-gap: var(--row-gap);
  --column-gap: 32px;
  column-gap: var(--column-gap);
  --padding-bottom: clamp(32px, 3.7vw, 52px);
  border-bottom: 1px solid var(--rb-line);
}

:where(.rb-home .rb-footer-top > .e-con):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --width: auto;
  width: var(--width);
  min-width: 0;
}

:where(.rb-home .rb-foot-logo img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  display: block;
  width: auto;
  height: clamp(34px, 3.6vw, 48px);
}

:where(.rb-home .rb-foot-brand .rb-foot-text):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  max-width: 19em;
}
:where(.rb-home .rb-foot-brand .rb-foot-text > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(14px, 1.6vw, 22px);
}

:where(.rb-home .rb-foot-text):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(13px, 1.13vw, 16px);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.6);
}

:where(.rb-home .rb-foot-phone > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(18px, 2vw, 28px);
}

:where(.rb-home .rb-foot-phone .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.1;
  color: var(--rb-white);
}

:where(.rb-home .rb-foot-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: clamp(13px, 1.18vw, 16px);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rb-mint);
  margin-bottom: clamp(14px, 1.6vw, 20px);
}

:where(.rb-home .rb-foot-links .elementor-icon-list-items):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  display: flex;
  flex-direction: column;
  gap: clamp(8px, 0.9vw, 12px);
}

:where(.rb-home .rb-foot-links .elementor-icon-list-item):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin: 0;
  padding: 0;
}

:where(.rb-home .rb-foot-links .elementor-icon-list-item > a):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(14px, 1.2vw, 17px);
}

:where(.rb-home .rb-foot-links .elementor-icon-list-text):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: inherit;
  line-height: 1.35;
  color: var(--rb-light);
  transition: color 0.2s;
}

:where(.rb-home .rb-foot-links a:hover .elementor-icon-list-text):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-mint);
}

:where(.rb-home .rb-foot-company):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  line-height: 1.6;
}

:where(.rb-home .rb-footer-bottom):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --flex-wrap: wrap;
  flex-wrap: var(--flex-wrap);
  --row-gap: 12px;
  --column-gap: 24px;
  --padding-top: clamp(20px, 2.2vw, 30px);
}

:where(.rb-home .rb-foot-copy):not(.rbz):not(.rbz):not(rbz):not(rbz),
:where(.rb-home .rb-foot-legal):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(12px, 1.02vw, 14px);
  color: rgba(255, 255, 255, 0.6);
}

:where(.rb-home .rb-foot-legal a):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  text-decoration: underline;
  text-underline-offset: 3px;
}

:where(.rb-home .rb-foot-legal a + a):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  margin-left: clamp(14px, 1.3vw, 20px);
}

:where(.rb-home .rb-foot-legal a:hover):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-white);
}

/* ==========================================================
   Inner pages: banner
   ========================================================== */

:where(.rb-home .rb-page-hero):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --padding-top: calc(var(--rb-header-h) + clamp(56px, 8vw, 120px));
  --padding-bottom: clamp(56px, 7vw, 104px);
}

:where(.rb-home .rb-page-hero .rb-h1 > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(12px, 1.3vw, 18px);
}

:where(.rb-home .rb-h1--page .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(44px, 6.2vw, 96px);
}

:where(.rb-home .rb-page-hero .rb-lead):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  max-width: 36em;
}
:where(.rb-home .rb-page-hero .rb-lead > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(18px, 2.2vw, 30px);
}

/* ==========================================================
   What we offer
   ========================================================== */

:where(.rb-home .rb-intro-row):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: flex-start;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: clamp(32px, 7vw, 100px);
  --row-gap: 28px;
}

:where(.rb-home .rb-intro-head):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 40%;
  width: var(--width);
}

:where(.rb-home .rb-intro-text):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  width: 52%;
}

:where(.rb-home .rb-offer-row):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: clamp(32px, 6vw, 88px);
  --row-gap: 40px;
}

:where(.rb-home .rb-offer-row--reverse):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --flex-direction: row-reverse;
  flex-direction: var(--flex-direction);
}

:where(.rb-home .rb-offer-copy):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 54%;
  width: var(--width);
}

:where(.rb-home .rb-offer-media):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 40%;
  width: var(--width);
  align-self: stretch;
}

:where(.rb-home .rb-offer-img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  height: 100%;
}
:where(.rb-home .rb-offer-img .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  height: 100%;
}

:where(.rb-home .rb-offer-img img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  max-height: 640px;
  object-fit: cover;
  border-radius: var(--rb-radius);
}

:where(.rb-home .rb-offer .rb-h2 > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(12px, 1.3vw, 18px);
}

:where(.rb-home .rb-offer-title .elementor-heading-title span):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-light .rb-offer-title .elementor-heading-title span):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-grey-title);
}

:where(.rb-home .rb-light .rb-offer-title .elementor-heading-title span):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: rgba(10, 21, 16, 0.72);
}

:where(.rb-home .rb-offer-lead > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(14px, 1.6vw, 22px);
}

:where(.rb-home .rb-light .rb-offer-lead):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: #0a1510;
}

:where(.rb-home .rb-checks > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(22px, 2.4vw, 32px);
}

:where(.rb-home .rb-checks .elementor-icon-list-items):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(10px, 1vw, 14px) clamp(20px, 2.6vw, 36px);
  margin: 0;
  padding: 0;
}

:where(.rb-home .rb-checks .elementor-icon-list-item):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  align-items: flex-start;
  margin: 0;
  padding: 0;
}

:where(.rb-home .rb-checks .elementor-icon-list-icon):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  margin-top: 1px;
  margin-right: 12px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.16);
}

:where(.rb-home .rb-checks .elementor-icon-list-icon svg):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  width: 10px;
  height: 10px;
  fill: var(--rb-mint);
}

:where(.rb-home .rb-light .rb-checks .elementor-icon-list-icon):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: #1c573b;
}

:where(.rb-home .rb-light .rb-checks .elementor-icon-list-icon svg):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  fill: var(--rb-forest);
}

:where(.rb-home .rb-checks .elementor-icon-list-item > .elementor-icon-list-text):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-foot-links .elementor-icon-list-item .elementor-icon-list-text):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-body);
  font-weight: 400;
}

:where(.rb-home .rb-checks .elementor-icon-list-icon + .elementor-icon-list-text):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  align-self: flex-start;
  padding-inline-start: 0;
}

:where(.rb-home .rb-checks .elementor-icon-list-text):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: 15px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.86);
}

:where(.rb-home .rb-light .rb-checks .elementor-icon-list-text):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: #0a1510;
}

:where(.rb-home .rb-offer-note):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(14px, 1.2vw, 17px);
  line-height: 1.7;
}
:where(.rb-home .rb-offer-note > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(22px, 2.4vw, 32px);
}

:where(.rb-home .rb-offer-note .rb-footnote):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: 0.86em;
  opacity: 0.85;
}

:where(.rb-home .rb-offer-note a):not(.rbz):not(.rbz):not(rbz):not(rbz),
:where(.rb-home .rb-acc-text a):not(.rbz):not(.rbz):not(rbz):not(rbz),
:where(.rb-home .rb-body a):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  text-decoration: underline;
  text-underline-offset: 3px;
}

:where(.rb-home .rb-dark .rb-acc-text a):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-mint);
}

:where(.rb-home .rb-offer-copy .rb-btn-row):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --margin-top: clamp(26px, 2.8vw, 38px);
  margin-top: var(--margin-top);
}

/* ==========================================================
   FAQs page
   ========================================================== */

:where(.rb-home .rb-faq--full .rb-faq-row):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --align-items: flex-start;
  align-items: var(--align-items);
}

:where(.rb-home .rb-faq--full .rb-faq-intro):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --width: 34%;
  width: var(--width);
  --position: sticky;
  position: var(--position);
  top: calc(var(--rb-header-h) + 32px);
}

:where(.rb-home .rb-faq--full .rb-faq-list):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --width: 58%;
  width: var(--width);
}

/* ==========================================================
   Contact page
   ========================================================== */

:where(.rb-home .rb-contact-details .rb-info):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --margin-top: clamp(32px, 4.4vw, 60px);
  margin-top: var(--margin-top);
}

:where(.rb-home .rb-contact-row):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: flex-start;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: clamp(32px, 6vw, 88px);
  --row-gap: 48px;
}

:where(.rb-home .rb-contact-form-col):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 54%;
  width: var(--width);
}

:where(.rb-home .rb-contact-form-col .rb-body):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  max-width: 34em;
}
:where(.rb-home .rb-contact-form-col .rb-body > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(14px, 1.6vw, 22px);
}

:where(.rb-home .rb-contact-side):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 40%;
  width: var(--width);
  --row-gap: clamp(10px, 1vw, 14px);
}

:where(.rb-home .rb-map iframe):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  display: block;
  border-radius: var(--rb-radius);
  filter: saturate(0.85);
}

:where(.rb-home .rb-company-card):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-white);
  border: 1px solid rgba(28, 87, 59, 0.22);
  --border-radius: var(--rb-radius);
  border-radius: var(--border-radius);
  --row-gap: 12px;
  --padding-top: clamp(20px, 2.2vw, 30px);
  --padding-right: clamp(20px, 2.2vw, 30px);
  --padding-bottom: clamp(20px, 2.2vw, 30px);
  --padding-left: clamp(20px, 2.2vw, 30px);
}

:where(.rb-home .rb-company-text):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(14px, 1.13vw, 16px);
  line-height: 1.6;
  color: #0a1510;
}

:where(.rb-home .rb-company-text p):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  margin-bottom: 0.7em;
}

/* Elementor Pro form */

:where(.rb-home .rb-form):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(24px, 2.6vw, 36px);
}

:where(.rb-home .rb-form .elementor-form-fields-wrapper):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin: 0 -7px;
}

:where(.rb-home .rb-form .elementor-field-group):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  padding: 0 7px;
  margin-bottom: 14px;
}

:where(.rb-home .rb-form .elementor-field-label):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rb-forest);
  margin-bottom: 8px;
}

:where(.rb-home .rb-form .elementor-field-group .elementor-field):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  width: 100%;
  font-family: var(--rb-font-body);
  font-size: 16px;
  line-height: 1.4;
  color: var(--rb-text);
  background-color: var(--rb-white);
  border: 1px solid rgba(28, 87, 59, 0.22);
  border-radius: 8px;
  padding: 13px 15px;
  min-height: 50px;
  box-shadow: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

/* The dropdown's wrapper also has the elementor-field class */

:where(.rb-home .rb-form .elementor-field-group .elementor-select-wrapper):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  padding: 0;
  border: 0;
  min-height: 0;
  background: none;
}

:where(.rb-home .rb-form .elementor-select-wrapper select):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-body);
  font-size: 16px;
  line-height: 1.4;
  color: var(--rb-text);
  background-color: var(--rb-white);
  border: 1px solid rgba(28, 87, 59, 0.22);
  border-radius: 8px;
  padding: 13px 40px 13px 15px;
  min-height: 50px;
  text-transform: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  padding-right: 40px;
  cursor: pointer;
}

:where(.rb-home .rb-form .elementor-select-wrapper .select-caret-down-wrapper):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  right: 16px;
}

:where(.rb-home .rb-form .elementor-select-wrapper .select-caret-down-wrapper svg):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  fill: var(--rb-forest);
}

:where(.rb-home .rb-form .elementor-field-group .elementor-field):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-form .elementor-field):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz)::placeholder {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}

:where(.rb-home .rb-form .elementor-select-wrapper select:focus):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-form .elementor-field-group .elementor-field:focus):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  outline: none;
  border-color: var(--rb-forest-2);
  box-shadow: 0 0 0 3px rgba(28, 87, 59, 0.15);
}

:where(.rb-home .rb-form .elementor-field):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz)::placeholder {
  color: rgba(10, 21, 16, 0.5);
}

:where(.rb-home .rb-form .elementor-select-wrapper):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz)::before {
  color: var(--rb-forest);
}

:where(.rb-home .rb-form .elementor-field-type-submit):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: 6px;
}

:where(.rb-home .rb-form .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  width: 100%;
  min-height: 52px;
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rb-white);
  background-color: var(--rb-forest);
  border: 1.5px solid var(--rb-forest);
  border-radius: 7px;
  transition: background-color 0.2s;
}

:where(.rb-home .rb-form .elementor-button:hover):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background-color: #0a1510;
}

:where(.rb-home .rb-form .elementor-message):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: 12px;
  font-size: 15px;
}

/* ==========================================================
   Fluent Forms (Contact + Sign Up), in the site's style
   ========================================================== */

.rb-home .rb-ff {
  margin-top: clamp(24px, 2.6vw, 36px);
}

.rb-home .rb-ff .ff-t-container {
  gap: 14px;
}

.rb-home .rb-ff .ff-t-cell {
  padding: 0;
}

.rb-home .rb-ff .ff-el-group {
  margin-bottom: 16px;
}

.rb-home .rb-ff .ff-el-input--label {
  margin-bottom: 8px;
  padding: 0;
}

.rb-home .rb-ff .ff-el-input--label label {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.2;
  color: var(--rb-forest);
}

.rb-home .rb-ff .ff-el-is-required.asterisk-right label::after {
  color: #1c573b;
  margin-left: 3px;
}

.rb-home .rb-ff .ff-el-group .ff-el-form-control {
  width: 100%;
  min-height: 50px;
  font-family: var(--rb-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
  color: var(--rb-text);
  background-color: var(--rb-white);
  border: 1px solid rgba(28, 87, 59, 0.22);
  border-radius: 8px;
  padding: 13px 15px;
  box-shadow: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.rb-home .rb-ff .ff-el-group select.ff-el-form-control {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231c573b' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
}

.rb-home .rb-ff .ff-el-group textarea.ff-el-form-control {
  min-height: 140px;
  resize: vertical;
}

.rb-home .rb-ff .ff-el-group .ff-el-form-control::placeholder {
  color: rgba(10, 21, 16, 0.5);
  opacity: 1;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 400;
}

.rb-home .rb-ff .ff-el-group .ff-el-form-control:focus {
  outline: none;
  border-color: var(--rb-forest-2);
  box-shadow: 0 0 0 3px rgba(28, 87, 59, 0.15);
}

.rb-home .rb-ff .ff-el-group.ff-el-is-error .ff-el-form-control {
  border-color: #1c573b;
}

.rb-home .rb-ff .error.text-danger,
.rb-home .rb-ff .ff-el-is-error .text-danger {
  margin-top: 6px;
  font-size: 13px;
  color: #1c573b;
}

/* Privacy checkbox */

.rb-home .rb-ff .ff-el-form-check-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--rb-muted-light);
  cursor: pointer;
}

.rb-home .rb-ff .ff-el-form-check-input {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--rb-forest);
}

.rb-home .rb-ff .ff-el-form-check-label,
.rb-home .rb-ff .ff-el-form-check-label * {
  font-family: var(--rb-font-body);
  font-weight: 400;
}

.rb-home .rb-ff .ff-el-form-check-label a {
  color: var(--rb-forest);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Submit button */

.rb-home .rb-ff .ff_submit_btn_wrapper {
  margin-top: 6px;
}

.rb-home .rb-ff .ff_submit_btn_wrapper .ff-btn.ff-btn-submit {
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 0.98em 1.62em;
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
  color: var(--rb-white);
  background-color: var(--rb-forest);
  border: 1.5px solid var(--rb-forest);
  border-radius: 7px;
  box-shadow: none;
  opacity: 1;
  transition: background-color 0.2s;
}

.rb-home .rb-ff .ff_submit_btn_wrapper .ff-btn.ff-btn-submit:hover,
.rb-home .rb-ff .ff_submit_btn_wrapper .ff-btn.ff-btn-submit:focus {
  background-color: #0a1510;
  color: var(--rb-white);
  opacity: 1;
}

/* After sending */

.rb-home .rb-ff .ff-message-success {
  padding: 22px 24px;
  border: 1px solid var(--rb-forest-2);
  border-radius: var(--rb-radius);
  background: #ffffff;
  box-shadow: none;
  font-size: 16px;
  line-height: 1.6;
  color: var(--rb-forest);
}

.rb-home .rb-ff .ff-errors-in-stack {
  margin-top: 12px;
  font-size: 14px;
  color: #1c573b;
}

/* Sign Up page: phone number in the side card */

:where(.rb-home .rb-signup-phone .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: clamp(22px, 2.1vw, 30px);
  line-height: 1.1;
  color: var(--rb-forest);
}

:where(.rb-home .rb-company-card .rb-btn > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: 4px;
}

:where(.rb-home .rb-company-text a):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* ==========================================================
   Sign Up popup (Elementor popup "Rebus Sign Up")
   ========================================================== */

:where(.rb-home.rb-popup):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background: transparent;
  color: var(--rb-text);
  --padding-top: clamp(28px, 4vw, 44px);
  --padding-right: clamp(22px, 4vw, 44px);
  --padding-bottom: clamp(26px, 4vw, 40px);
  --padding-left: clamp(22px, 4vw, 44px);
}

:where(.rb-home.rb-popup .rb-popup-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(32px, 4.2vw, 46px);
  line-height: 1;
  color: var(--rb-forest);
  padding-right: 36px;
  /* clear of the close button */;
}

:where(.rb-home.rb-popup .rb-popup-title .elementor-heading-title span):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: #1c573b;
}

:where(.rb-home.rb-popup .rb-popup-text):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(15px, 1.2vw, 16px);
  line-height: 1.6;
  color: #0a1510;
}
:where(.rb-home.rb-popup .rb-popup-text > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: 14px;
}

.rb-home.rb-popup .rb-ff {
  margin-top: 22px;
}

.rb-home.rb-popup .rb-ff .ff-el-group:last-of-type {
  margin-bottom: 10px;
}

:where(.rb-popup-wrap .dialog-close-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  top: 22px;
  right: 22px;
}

:where(.rb-popup-wrap .dialog-close-button svg):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  fill: var(--rb-forest);
}

:where(.rb-popup-wrap .dialog-message):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  max-height: 92vh;
  overflow-y: auto;
}

/* ==========================================================
   Trustpilot (reviews section, badges)
   Stars are Elementor Rating widgets drawn as Trustpilot's green boxes;
   change the rating number in the widget and the boxes follow.
   ========================================================== */

:where(.rb-home .rb-tp-stars):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --rb-tp-box: 22px;
  --e-rating-gap: 3px;
  width: auto;
}

:where(.rb-home .rb-tp-stars--sm):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --rb-tp-box: 18px;
  --e-rating-gap: 2px;
}

:where(.rb-home .rb-tp-stars--lg):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --rb-tp-box: clamp(30px, 3vw, 40px);
  --e-rating-gap: 4px;
}

.rb-home .rb-tp-stars .e-rating .e-icon-wrapper {
  display: grid;
  place-items: center;
  width: var(--rb-tp-box);
  height: var(--rb-tp-box);
  background: rgba(28, 87, 59, 0.2);
}

/* The green layer keeps Elementor's own width (a % of the box), so any
   score fills the right amount; its star is pinned where the grey one is */

.rb-home .rb-tp-stars .e-rating .e-icon-wrapper.e-icon-marked {
  display: block;
  height: var(--rb-tp-box);
  width: var(--e-rating-icon-marked-width);
  background: #1c573b;
}

.rb-home .rb-tp-stars .e-rating .e-icon-wrapper svg {
  width: calc(var(--rb-tp-box) * 0.68);
  height: calc(var(--rb-tp-box) * 0.68);
  fill: #ffffff;
}

.rb-home .rb-tp-stars .e-rating .e-icon-wrapper.e-icon-marked svg {
  position: absolute;
  top: calc(var(--rb-tp-box) * 0.16);
  left: calc(var(--rb-tp-box) * 0.16);
}

/* Section */

:where(.rb-home .rb-reviews):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-forest);
  color: var(--rb-white);
}

:where(.rb-home .rb-reviews .rb-eyebrow .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-mint);
}

:where(.rb-home .rb-reviews-head):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: flex-end;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: 40px;
  --row-gap: 28px;
  --margin-bottom: clamp(32px, 4vw, 56px);
  margin-bottom: var(--margin-bottom);
}

:where(.rb-home .rb-reviews-intro):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: auto;
  width: var(--width);
  flex: 1 1 auto;
}

:where(.rb-home .rb-reviews .rb-eyebrow + .rb-h2 > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(12px, 1.3vw, 18px);
}

:where(.rb-home .rb-tp-summary):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: auto;
  width: var(--width);
  flex: 0 0 auto;
  --align-items: flex-start;
  align-items: var(--align-items);
  --row-gap: 10px;
  background: rgba(10, 21, 16, 0.32);
  border: 1px solid rgba(255, 255, 255, 0.22);
  --border-radius: var(--rb-radius);
  border-radius: var(--border-radius);
  --padding-top: clamp(20px, 2vw, 28px);
  --padding-right: clamp(22px, 2.4vw, 32px);
  --padding-bottom: clamp(20px, 2vw, 28px);
  --padding-left: clamp(22px, 2.4vw, 32px);
}

:where(.rb-home .rb-tp-label .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 600;
  font-size: clamp(24px, 2.4vw, 32px);
  line-height: 1;
  text-transform: uppercase;
  color: var(--rb-white);
}

:where(.rb-home .rb-tp-score):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.82);
}

:where(.rb-home .rb-tp-score strong):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  color: var(--rb-white);
}

:where(.rb-home .rb-tp-summary .rb-textlink > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: 4px;
}

/* Cards */

:where(.rb-home .rb-review):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-white);
  color: var(--rb-text);
  --border-radius: var(--rb-radius);
  border-radius: var(--border-radius);
  --row-gap: clamp(14px, 1.4vw, 18px);
  --padding-top: clamp(22px, 2.2vw, 30px);
  --padding-right: clamp(20px, 2.2vw, 30px);
  --padding-bottom: clamp(20px, 2vw, 26px);
  --padding-left: clamp(20px, 2.2vw, 30px);
}

:where(.rb-home .rb-review-text):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  flex-grow: 1;
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.6;
  color: #0a1510;
}

:where(.rb-home .rb-review-by .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  color: var(--rb-forest);
}

:where(.rb-home .rb-review-by .elementor-heading-title span):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-weight: 400;
  color: var(--rb-muted-light);
}

:where(.rb-home .rb-reviews-note):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(18px, 2vw, 26px);
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
}

/* Badge (hero, sign-up popup) */

:where(.rb-home .rb-tp-badge):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: auto;
  width: var(--width);
  align-self: flex-start;
  --align-items: center;
  align-items: var(--align-items);
  --flex-wrap: wrap;
  flex-wrap: var(--flex-wrap);
  --column-gap: 12px;
  --row-gap: 6px;
}

:where(.rb-home .rb-tp-badge-text .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: 14px;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.85);
}

:where(.rb-home .rb-tp-badge-text .elementor-heading-title strong):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-white);
}

:where(.rb-home .rb-tp-badge-text a:hover):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  text-decoration: underline;
  text-underline-offset: 3px;
}

:where(.rb-home .rb-tp-badge--hero):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --margin-top: clamp(22px, 2.6vw, 34px);
  margin-top: var(--margin-top);
}

:where(.rb-home .rb-tp-badge--popup):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --margin-top: 14px;
  margin-top: var(--margin-top);
}

:where(.rb-home.rb-popup .rb-tp-badge-text .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home.rb-popup .rb-tp-badge-text .elementor-heading-title strong):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

/* ==========================================================
   Less "card grid" layouts (6 Nov 2026)
   ========================================================== */

/* Why choose Rebus: a plain two-column list, no boxes or numbers */

:where(.rb-home .rb-features):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  --column-gap: clamp(32px, 6vw, 96px);
  column-gap: var(--column-gap);
  --row-gap: 0;
  row-gap: var(--row-gap);
}

:where(.rb-home .rb-features .rb-feature):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: none;
  border: 0;
  border-top: 1px solid var(--rb-line);
  --border-radius: 0;
  border-radius: var(--border-radius);
  --min-height: 0;
  min-height: var(--min-height);
  --padding-top: clamp(20px, 2.2vw, 28px);
  --padding-right: 0px;
  --padding-bottom: clamp(20px, 2.2vw, 28px);
  --padding-left: 0px;
}

:where(.rb-home .rb-features .rb-feature-title > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: 0;
}

:where(.rb-home .rb-why .rb-h2):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  max-width: 16em;
}

/* How to get started: one line, steps joined by a rule */

:where(.rb-home .rb-step-grid):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --rb-dot: clamp(38px, 3.4vw, 46px);
  --rb-step-gap: clamp(20px, 2.4vw, 36px);
  --position: relative;
  position: var(--position);
  --column-gap: var(--rb-step-gap);
  column-gap: var(--column-gap);
}

:where(.rb-home .rb-step-grid):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz)::before {
  content: "";
  position: absolute;
  top: calc(var(--rb-dot) / 2);
  left: calc(var(--rb-dot) / 2);
  right: calc((100% - 4 * var(--rb-step-gap)) / 5 - var(--rb-dot) / 2);
  /* stops at step 5 */
  width: auto;
  /* Elementor's own overlay rule sets a width here */
  height: 1px;
  background: rgba(28, 87, 59, 0.3);
  opacity: 1;;
}

:where(.rb-home .rb-step-grid .rb-step):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --position: relative;
  position: var(--position);
  background: none;
  border: 0;
  --border-radius: 0;
  border-radius: var(--border-radius);
  --min-height: 0;
  min-height: var(--min-height);
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
}

:where(.rb-home .rb-step-grid .rb-step-num .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  width: var(--rb-dot);
  height: var(--rb-dot);
  background: var(--rb-forest);
  color: var(--rb-white);
  box-shadow: 0 0 0 6px var(--rb-light);
  /* gap in the rule around each number */;
}

/* Buttons keep their full width in a row instead of squeezing */

:where(.rb-home .elementor-widget.rb-btn):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  flex-shrink: 0;
}

/* Contact details: one row of columns, no boxes */

:where(.rb-home .rb-info):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --row-gap: 0;
  row-gap: var(--row-gap);
  --column-gap: 0;
  column-gap: var(--column-gap);
}

:where(.rb-home .rb-info .rb-info-card):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: none;
  border: 0;
  border-left: 1px solid var(--rb-line);
  --border-radius: 0;
  border-radius: var(--border-radius);
  --min-height: 0;
  min-height: var(--min-height);
  --padding-top: 4px;
  --padding-right: clamp(16px, 2vw, 28px);
  --padding-bottom: 4px;
  --padding-left: clamp(16px, 2vw, 28px);
}

:where(.rb-home .rb-info .rb-info-card:first-child):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-left: 0;
  --padding-left: 0px;
}

/* Stats now sit in the About text */

:where(.rb-home .rb-light .rb-body strong):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-weight: 600;
  color: var(--rb-forest);
}

@media (max-width: 1024px) {
  :where(.rb-home .rb-info .rb-info-card:nth-child(3)):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    border-left: 0;
    --padding-left: 0px;
  }

  :where(.rb-home .rb-info):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --row-gap: 28px;
    row-gap: var(--row-gap);
  }

}

@media (max-width: 767px) {
  :where(.rb-home .rb-features):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    grid-template-columns: minmax(0, 1fr);
  }

  /* Steps run down the page, rule on the left */

  :where(.rb-home .rb-step-grid):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --row-gap: 26px;
    row-gap: var(--row-gap);
  }

  :where(.rb-home .rb-step-grid):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz)::before {
    top: 0;
    bottom: 0;
    left: calc(var(--rb-dot) / 2);
    right: auto;
    width: 1px;
    height: auto;
  }

  :where(.rb-home .rb-step-grid .rb-step):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    --padding-left: calc(var(--rb-dot) + 18px);
  }

  /* covers the rule below the last number */

  :where(.rb-home .rb-step-grid .rb-step:last-child):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    background: var(--rb-light);
  }

  :where(.rb-home .rb-step-grid .rb-step-num):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    position: absolute;
    top: 0;
    left: 0;
  }

  :where(.rb-home .rb-step-grid .rb-step-title > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    margin-top: calc((var(--rb-dot) - 1.2em) / 2);
  }

}

@media (max-width: 520px) {
  :where(.rb-home .rb-info .rb-info-card):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    border-left: 0;
    --padding-left: 0px;
  }

}

/* ==========================================================
   Plainer finish (6 Nov 2026): sentence-case section headings,
   no decorative rings/glows/fades
   ========================================================== */

/* Only page titles (h1) stay in capitals */

:where(.rb-home.rb-home :is(h2, h3).elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  text-transform: none;
  font-weight: 600;
  letter-spacing: 0;
}

:where(.rb-home .rb-h2 .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(30px, 3.9vw, 56px);
  line-height: 1.06;
}

:where(.rb-home .rb-cta-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-paid-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(32px, 4.4vw, 64px);
}

@media (max-width: 767px) {
  :where(.rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --width: min(70vw, 280px);
    width: var(--width);
  }

}

:where(.rb-home .rb-h1 .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(38px, 4.7vw, 70px);
  line-height: 1;
}

:where(.rb-home .rb-hero-copy):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 56%;
  width: var(--width);
  max-width: 760px;
}

/* Hero logo keeps its rings and orbiting dot (see Hero section above) */

/* No glow under buttons */

:where(.rb-home .rb-btn--glow .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  box-shadow: none;
}

/* Service photos: no fade into the card */

:where(.rb-home .rb-svc-img):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz)::after {
  display: none;
}

/* Inner page banners are plain now: a bit less height */

:where(.rb-home .rb-page-hero):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --padding-top: calc(var(--rb-header-h) + clamp(44px, 6vw, 88px));
  --padding-bottom: clamp(44px, 5.5vw, 80px);
}

/* ==========================================================
   Motion (rebus-home.js adds html.rb-motion; never in the Elementor
   editor or with "reduce motion" on, so nothing is hidden there)
   ========================================================== */

@keyframes rb-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes rb-spin {
  to { transform: rotate(360deg); }
}

@keyframes rb-pop {
  0% { transform: scale(0.4); opacity: 0; }
  70% { transform: scale(1.08); opacity: 1; }
  100% { transform: scale(1); opacity: 1; }
}

/* Hero entrance */

:where(.rb-motion .rb-intro):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) var(--rb-delay, 0s),
    transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) var(--rb-delay, 0s);
}

:where(.rb-motion.rb-loaded .rb-intro):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  opacity: 1;
  transform: none;
}

/* Hero logo builds up in parts once the page has loaded:
   outer ring + glow, inner ring, the logo, then the orbiting dot */

@keyframes rb-ring-in {
  0% { opacity: 0; transform: scale(0.6) rotate(-40deg); }
  100% { opacity: 1; transform: scale(1) rotate(0deg); }
}

@keyframes rb-ring-in-2 {
  0% { opacity: 0; transform: scale(1.25); }
  100% { opacity: 1; transform: scale(1); }
}

@keyframes rb-logo-in {
  0% { opacity: 0; transform: scale(0.5) rotate(-12deg); }
  65% { opacity: 1; transform: scale(1.06) rotate(2deg); }
  100% { opacity: 1; transform: scale(1) rotate(0deg); }
}

:where(.rb-motion .rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transform: translateY(var(--rb-parallax, 0px));
  transition: transform 0.25s linear;
}

:where(.rb-motion .rb-home .rb-hero-visual > .rb-hero-mark):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  opacity: 0;
}
:where(.rb-motion .rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz)::before,
:where(.rb-motion .rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz)::after,
:where(.rb-motion .rb-hero-orbit):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  opacity: 0;
}

:where(.rb-motion.rb-loaded .rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz)::before {
  animation: rb-ring-in 1.1s cubic-bezier(0.2, 0.7, 0.2, 1) 0.2s both,
    rb-spin 60s linear 1.3s infinite;
}

:where(.rb-motion.rb-loaded .rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz)::after {
  animation: rb-ring-in-2 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) 0.55s both;
}

:where(.rb-motion.rb-loaded .rb-home .rb-hero-visual > .rb-hero-mark):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  animation: rb-logo-in 0.9s cubic-bezier(0.3, 1.2, 0.5, 1) 0.85s both,
    rb-float 6s ease-in-out 1.8s infinite;
}

:where(.rb-motion.rb-loaded .rb-hero-orbit):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  opacity: 1;
  transition: opacity 0.6s ease 1.5s;
}

/* Reveal on scroll */

:where(.rb-motion .rb-reveal):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.75s cubic-bezier(0.2, 0.7, 0.2, 1) var(--rb-delay, 0s),
    transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1) var(--rb-delay, 0s);
}

:where(.rb-motion .rb-reveal.rb-in):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  opacity: 1;
  transform: none;
}

/* Steps: the rule draws across, then the numbers pop in */

:where(.rb-motion .rb-home .rb-step-grid):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz)::before {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.2s cubic-bezier(0.6, 0, 0.2, 1) 0.2s;
}

:where(.rb-motion .rb-home .rb-step-grid.rb-in):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz)::before {
  transform: none;
}

:where(.rb-motion .rb-home .rb-step-grid .rb-step-num .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  opacity: 0;
}

:where(.rb-motion .rb-home .rb-step-grid.rb-in .rb-step-num .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  animation: rb-pop 0.5s ease forwards;
}

:where(.rb-motion .rb-home .rb-step-grid.rb-in .rb-step:nth-child(2) .rb-step-num .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  animation-delay: 0.25s;
}

:where(.rb-motion .rb-home .rb-step-grid.rb-in .rb-step:nth-child(3) .rb-step-num .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  animation-delay: 0.5s;
}

:where(.rb-motion .rb-home .rb-step-grid.rb-in .rb-step:nth-child(4) .rb-step-num .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  animation-delay: 0.75s;
}

:where(.rb-motion .rb-home .rb-step-grid.rb-in .rb-step:nth-child(5) .rb-step-num .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  animation-delay: 1s;
}

@media (max-width: 767px) {
  :where(.rb-motion .rb-home .rb-step-grid):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz)::before {
    transform: scaleY(0);
    transform-origin: center top;
  }

}

/* Trustpilot stars fill one by one */

:where(.rb-motion .rb-home .rb-tp-stars .e-icon):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  opacity: 0;
  transform: scale(0.6);
  transition: opacity 0.3s ease, transform 0.35s cubic-bezier(0.3, 1.4, 0.5, 1);
}

:where(.rb-motion .rb-home .rb-tp-stars.rb-in .e-icon):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  opacity: 1;
  transform: none;
}

:where(.rb-motion .rb-home .rb-tp-stars.rb-in .e-icon:nth-child(2)):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transition-delay: 0.08s;
}

:where(.rb-motion .rb-home .rb-tp-stars.rb-in .e-icon:nth-child(3)):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transition-delay: 0.16s;
}

:where(.rb-motion .rb-home .rb-tp-stars.rb-in .e-icon:nth-child(4)):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transition-delay: 0.24s;
}

:where(.rb-motion .rb-home .rb-tp-stars.rb-in .e-icon:nth-child(5)):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transition-delay: 0.32s;
}

/* Hover (always on: no hidden states) */

:where(.rb-home .rb-svc-card):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  transition: transform 0.35s ease, border-color 0.35s ease;
}

:where(.rb-home .rb-svc-card:hover):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transform: translateY(-6px);
  border-color: var(--rb-forest-2);
}

:where(.rb-home .rb-svc-img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  overflow: hidden;
}

:where(.rb-home .rb-svc-img img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

:where(.rb-home .rb-svc-card:hover .rb-svc-img img):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transform: scale(1.06);
}

:where(.rb-home .rb-review):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

:where(.rb-home .rb-review:hover):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px -18px rgba(10, 21, 16, 0.5);
}

:where(.rb-home .rb-features .rb-feature):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transition: border-color 0.3s ease;
}

:where(.rb-home .rb-features .rb-feature:hover):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-top-color: var(--rb-mint);
}

@media (prefers-reduced-motion: reduce) {
  :where(.rb-home .rb-svc-card:hover):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-review:hover):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    transform: none;
  }
  :where(.rb-home .rb-svc-card:hover .rb-svc-img img):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    transform: none;
  }

}

/* ==========================================================
   Light look (6 Nov 2026): most sections light, green as the accent.
   Section backgrounds: .rb-light (pale), + .rb-bg-white, + .rb-bg-mint
   ========================================================== */

:root {
  --rb-mint-bg: #1c573b;
  --rb-line-light: rgba(28, 87, 59, 0.22);
}

:where(.rb-home):not(.rbz):not(.rbz):not(rbz) {
  background: var(--rb-light);
}
body:has(.rb-home) {
  background: var(--rb-light);
}

:where(.rb-home.rb-popup):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background: transparent;
}

:where(.rb-home .rb-light):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --rb-section-bg: var(--rb-light);
}

:where(.rb-home .rb-light.rb-bg-white):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-white);
  --rb-section-bg: var(--rb-white);
}

:where(.rb-home .rb-light.rb-bg-mint):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-mint-bg);
  --rb-section-bg: var(--rb-mint-bg);
}

/* Text and buttons on light */

:where(.rb-home .rb-light .rb-lead):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: #0a1510;
}

:where(.rb-home .rb-light .rb-h1 .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-light .rb-btn--outline .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-color: var(--rb-forest);
  color: var(--rb-forest);
}

:where(.rb-home .rb-light .rb-btn--outline .elementor-button:hover):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: var(--rb-forest);
  color: var(--rb-white);
}

:where(.rb-home .rb-light .rb-btn--primary .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-color: var(--rb-forest);
}

:where(.rb-home .rb-light .rb-textlink .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-light .rb-tp-badge-text .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-light .rb-tp-badge-text .elementor-heading-title strong):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

/* Inner page banners (light mint) */

:where(.rb-home .rb-page-hero.rb-light):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-text);
  border-bottom: 1px solid var(--rb-line-light);
}

/* Header bar reads against light banners */

:where(.rb-home .rb-nav-bar):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  box-shadow: 0 1px 0 rgba(10, 21, 16, 0.06), 0 8px 24px -14px rgba(10, 21, 16, 0.35);
}

/* Service cards on light */

:where(.rb-home .rb-light .rb-svc-card):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-white);
  border-color: var(--rb-line-light);
}

:where(.rb-home .rb-light .rb-svc-card:hover):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-color: var(--rb-forest);
}

:where(.rb-home.rb-home .rb-light .rb-svc-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-light .rb-svc-desc):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-muted-light);
}

:where(.rb-home .rb-light .rb-svc-foot):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-top-color: var(--rb-line-light);
}

:where(.rb-home .rb-light .rb-svc-foot-text):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: #0a1510;
}

/* "Why choose" list on light */

:where(.rb-home .rb-light .rb-features .rb-feature):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-top-color: var(--rb-line-light);
}

:where(.rb-home .rb-light .rb-features .rb-feature:hover):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-top-color: var(--rb-forest);
}

:where(.rb-home.rb-home .rb-light .rb-feature-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-light .rb-feature-desc):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-muted-light);
}

:where(.rb-home .rb-light .rb-feature-desc a):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

/* FAQ accordion on light */

:where(.rb-home .rb-light .rb-accordion):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --n-accordion-icon-normal-color: var(--rb-forest);
  --n-accordion-icon-hover-color: var(--rb-forest);
  --n-accordion-icon-active-color: var(--rb-white);
}

:where(.rb-home .rb-light .rb-accordion .e-n-accordion-item):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-white);
  border-color: var(--rb-line-light);
}

:where(.rb-home .rb-light.rb-bg-white .rb-accordion .e-n-accordion-item):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-light);
}

:where(.rb-home .rb-light .rb-accordion .e-n-accordion-item[open]):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-white);
  border-color: var(--rb-forest);
}

:where(.rb-home .rb-light .rb-accordion):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --n-accordion-title-normal-color: var(--rb-text);
  --n-accordion-title-hover-color: var(--rb-text);
  --n-accordion-title-active-color: var(--rb-text);
}

:where(.rb-home .rb-light .rb-accordion .e-n-accordion-item-title-icon):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: #1c573b;
  color: var(--rb-forest);
}

:where(.rb-home .rb-light .rb-accordion .e-n-accordion-item[open] .e-n-accordion-item-title-icon):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: var(--rb-forest);
  color: var(--rb-white);
}

:where(.rb-home .rb-light .rb-acc-text):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-muted-light);
}

:where(.rb-home .rb-light .rb-acc-text a):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-light .rb-faq-intro .rb-body a):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

/* Contact details row on light */

:where(.rb-home .rb-light .rb-info .rb-info-card):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-left-color: var(--rb-line-light);
}

:where(.rb-home .rb-light .rb-info-phone .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-light .rb-info-text):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: #0a1510;
}

:where(.rb-home .rb-light .rb-hours td):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-muted-light);
}

:where(.rb-home .rb-light .rb-hours .rb-hours-today td):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

/* What We Offer sections on light: tick colours */

:where(.rb-home .rb-light .rb-offer-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

/* Steps: ring round each number matches the section background */

:where(.rb-home .rb-step-grid .rb-step-num .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  box-shadow: 0 0 0 6px var(--rb-section-bg, var(--rb-light));
}

@media (max-width: 767px) {
  :where(.rb-home .rb-step-grid .rb-step:last-child):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    background: var(--rb-section-bg, var(--rb-light));
  }

}

/* Reviews: light mint instead of a solid green block */

:where(.rb-home .rb-reviews):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-mint-bg);
  color: var(--rb-text);
}

:where(.rb-home .rb-reviews .rb-eyebrow .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-reviews .rb-h2 .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-tp-summary):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background: var(--rb-white);
  border-color: var(--rb-line-light);
}

:where(.rb-home .rb-tp-label .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-tp-score):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  color: var(--rb-muted-light);
}

:where(.rb-home .rb-tp-score strong):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  color: var(--rb-text);
}

:where(.rb-home .rb-reviews .rb-textlink .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-review):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  border: 1px solid var(--rb-line-light);
}

/* Footer in the brand green */

:where(.rb-home .rb-footer-wrap):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-light);
  border-top: 0;
  --padding-top: 0px;
}

:where(.rb-home .rb-footer):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-forest);
  border: 0;
}

:where(.rb-home .rb-footer-top):not(.rbz):not(.rbz):not(rbz):not(rbz),
:where(.rb-home .rb-footer-bottom):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  border-color: rgba(255, 255, 255, 0.16);
}

:where(.rb-home .rb-footer .rb-foot-text):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-footer .rb-foot-copy):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-footer .rb-foot-legal):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: rgba(255, 255, 255, 0.78);
}

/* ==========================================================
   Three colours (6 Nov 2026): dark green #0A1510, brand green #1C573B
   and white, alternating section by section.
   Section classes: rb-dark (dark), rb-dark rb-bg-brand (brand green),
   rb-light rb-bg-white (white). Reviews are brand green.
   ========================================================== */

:where(.rb-home):not(.rbz):not(.rbz):not(rbz) {
  background: var(--rb-white);
}
body:has(.rb-home) {
  background: var(--rb-white);
}

:where(.rb-home.rb-popup):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background: transparent;
}

:where(.rb-home :is(.rb-dark.rb-bg-brand, .rb-reviews)):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-forest);
  color: var(--rb-white);
  --rb-section-bg: var(--rb-forest);
}

:where(.rb-home .rb-dark):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --rb-section-bg: var(--rb-ink);
}

:where(.rb-home .rb-reviews .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-reviews .rb-h2 .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-reviews .rb-eyebrow .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-reviews .rb-tp-label .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-reviews .rb-tp-score strong):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-reviews .rb-textlink .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-white);
}

:where(.rb-home .rb-reviews .rb-tp-score):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: rgba(255, 255, 255, 0.85);
}

:where(.rb-home .rb-reviews .rb-tp-summary):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.35);
}

/* Main button on brand green: white */

:where(.rb-home .rb-bg-brand .rb-btn--primary .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: var(--rb-white);
  border-color: var(--rb-white);
  color: var(--rb-forest);
}

:where(.rb-home .rb-bg-brand .rb-btn--primary .elementor-button:hover):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: var(--rb-ink);
  border-color: var(--rb-ink);
  color: var(--rb-white);
}

/* Cards and lines on dark/brand green */

:where(.rb-home .rb-bg-brand :is(.rb-svc-card, .rb-feature, .rb-info-card, .e-n-accordion-item)):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-color: rgba(255, 255, 255, 0.2);
}

:where(.rb-home .rb-bg-brand .rb-checks .elementor-icon-list-icon):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: rgba(255, 255, 255, 0.2);
}

/* Trustpilot stars: white boxes on green/dark, green boxes on white */

.rb-home :is(.rb-dark, .rb-reviews, .rb-hero, .rb-page-hero) .rb-tp-stars .e-rating .e-icon-wrapper {
  background: rgba(255, 255, 255, 0.3);
}

.rb-home :is(.rb-dark, .rb-reviews, .rb-hero, .rb-page-hero) .rb-tp-stars .e-rating .e-icon-wrapper.e-icon-marked {
  background: var(--rb-white);
}

.rb-home :is(.rb-dark, .rb-reviews, .rb-hero, .rb-page-hero) .rb-tp-stars .e-rating .e-icon-wrapper svg {
  fill: var(--rb-forest);
}

.rb-home .rb-reviews .rb-review .rb-tp-stars .e-rating .e-icon-wrapper {
  background: rgba(28, 87, 59, 0.2);
}

.rb-home .rb-reviews .rb-review .rb-tp-stars .e-rating .e-icon-wrapper.e-icon-marked {
  background: var(--rb-forest);
}

.rb-home .rb-reviews .rb-review .rb-tp-stars .e-rating .e-icon-wrapper svg {
  fill: var(--rb-white);
}

/* Icons that sit on solid green dots: white */

:where(.rb-home .rb-light .rb-checks .elementor-icon-list-icon svg):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-light .rb-accordion .e-n-accordion-item-title-icon svg):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  fill: var(--rb-white);
}

:where(.rb-home .rb-light .rb-accordion):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --n-accordion-icon-normal-color: var(--rb-white);
  --n-accordion-icon-hover-color: var(--rb-white);
}

:where(.rb-home .rb-light .rb-accordion .e-n-accordion-item-title-icon):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-white);
}

/* White sections: headings brand green, body text dark green */

:where(.rb-home .rb-light .rb-body):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-light .rb-lead):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-ink);
}

/* Photo placeholder */

:where(.rb-home .rb-about-media):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  border-color: rgba(28, 87, 59, 0.35);
}

:where(.rb-media-ph):not(.rbz):not(.rbz):not(.rbz):not(rbz),
:where(.rb-media-ph svg):not(.rbz):not(.rbz):not(rbz) {
  color: var(--rb-forest);
}

/* Footer: dark green card with a little white around it */

:where(.rb-home .rb-footer-wrap):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-white);
  --padding-top: clamp(10px, 1.7vw, 24px);
}

:where(.rb-home .rb-footer):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  background-color: var(--rb-ink);
}

/* Cookie banner */

body:has(.rb-home) #rb-cookies.rb-cookies {
  background: var(--rb-ink);
  border-color: var(--rb-forest);
}

/* Inside the white review cards: names green, dates dark */

:where(.rb-home .rb-reviews .rb-review .rb-review-by .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

:where(.rb-home .rb-reviews .rb-review .rb-review-by .elementor-heading-title span):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: rgba(10, 21, 16, 0.72);
}

/* ==========================================================
   Cookie banner (the site-wide one from functions.php) in Rebus colours
   ========================================================== */

body:has(.rb-home) .rb-cookies {
  background: var(--rb-card);
  border: 1px solid var(--rb-forest-2);
  font-family: var(--rb-font-body);
}

body:has(.rb-home) .rb-cookies-text a {
  color: var(--rb-mint);
}

body:has(.rb-home) #rb-cookies .rb-cookies-btn:hover,
body:has(.rb-home) #rb-cookies .rb-cookies-btn:focus-visible {
  background: var(--rb-mint);
  border-color: var(--rb-mint);
  color: var(--rb-ink);
}

/* ==========================================================
   Tablet
   ========================================================== */

@media (max-width: 1024px) {
  :where(.rb-home .rb-burger-wrap):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    display: block;
  }

  :where(.rb-home .rb-nav-bar):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --flex-wrap: wrap;
    flex-wrap: var(--flex-wrap);
    --padding-left: 14px;
  }

  :where(.rb-home .rb-nav):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    display: none;
    --width: 100%;
    width: var(--width);
    --flex-direction: column;
    flex-direction: var(--flex-direction);
    --align-items: stretch;
    align-items: var(--align-items);
    --row-gap: 4px;
    --padding-top: 12px;
    --padding-bottom: 6px;
    --padding-right: 5px;
  }

  :where(.rb-home .rb-nav-open .rb-nav):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    display: flex;
  }

  :where(.rb-home .rb-nav-link .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    font-size: 17px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(10, 21, 16, 0.1);
  }

  :where(.rb-home .rb-nav .rb-btn > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    margin: 8px 0 0;
  }

  :where(.rb-home .rb-nav .rb-btn .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    width: 100%;
    justify-content: center;
    font-size: 15px;
    padding: 15px 20px;
  }

  :where(.rb-home .rb-grid-5):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  :where(.rb-home .rb-checks .elementor-icon-list-items):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    grid-template-columns: minmax(0, 1fr);
  }

  :where(.rb-home .rb-grid-4):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  :where(.rb-home .rb-footer-top):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    --row-gap: 40px;
    row-gap: var(--row-gap);
  }

}

/* ==========================================================
   Mobile (stacked)
   ========================================================== */

@media (max-width: 767px) {
  :where(.rb-home .rb-hero-inner):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-intro-row):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-offer-row):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-offer-row--reverse):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-contact-row):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-about-row):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-faq-row):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-cta-row):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-paid-inner):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --flex-direction: column;
    flex-direction: var(--flex-direction);
    --align-items: stretch;
    align-items: var(--align-items);
  }

  :where(.rb-home .rb-hero-copy):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-intro-head):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-offer-copy):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-offer-media):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-contact-form-col):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-contact-side):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-faq--full .rb-faq-intro):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-faq--full .rb-faq-list):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-about-copy):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-about-media):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-faq-intro):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-faq-list):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-cta-copy):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-paid-card):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --width: 100%;
    width: var(--width);
    max-width: none;
  }
  :where(.rb-home .rb-intro-text):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    width: 100%;
    max-width: none;
  }

  :where(.rb-home .rb-hero-inner):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --row-gap: 48px;
  }

  :where(.rb-home .rb-hero-visual):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --width: min(80vw, 340px);
    width: var(--width);
    align-self: center;
  }

  :where(.rb-home .rb-about-row):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --row-gap: 40px;
  }

  :where(.rb-home .rb-grid-3):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-grid-5):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    grid-template-columns: minmax(0, 1fr);
  }

  :where(.rb-home .rb-step):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-feature):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-info-card):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --min-height: 0;
    min-height: var(--min-height);
  }

  :where(.rb-home .rb-svc-foot):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --flex-direction: column;
    flex-direction: var(--flex-direction);
    --align-items: flex-start;
    align-items: var(--align-items);
  }

  :where(.rb-home .rb-faq-intro):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    order: 0;
  }

  :where(.rb-home .rb-faq--full .rb-faq-intro):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    --position: static;
    position: var(--position);
  }

  :where(.rb-home .rb-reviews-head):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --flex-direction: column;
    flex-direction: var(--flex-direction);
    --align-items: stretch;
    align-items: var(--align-items);
  }

  :where(.rb-home .rb-tp-summary):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --width: 100%;
    width: var(--width);
  }

  :where(.rb-home .rb-offer-img img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    min-height: 0;
    aspect-ratio: 1.6;
  }

  .rb-home .rb-ff .ff-t-container {
    flex-direction: column;
    gap: 0;
  }

  .rb-home .rb-ff .ff-t-cell {
    flex-basis: 100% !important;
    /* Fluent sets the column width inline */
    width: 100%;
  }

  :where(.rb-home .rb-form .elementor-field-group):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    width: 100%;
    max-width: 100%;
    flex-basis: 100%;
  }

  :where(.rb-home .rb-paid):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --min-height: 0;
    min-height: var(--min-height);
    --padding-top: 200px;
  }

}

@media (max-width: 520px) {
  :where(.rb-home .rb-grid-4):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-footer-top):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    grid-template-columns: minmax(0, 1fr);
  }

  :where(.rb-home .rb-nav-bar .rb-logo img):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    height: 30px;
  }

  :where(.rb-home .rb-btn-row > .elementor-widget):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-steps-cta > .rb-btn):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    width: 100%;
  }

  :where(.rb-home .rb-btn-row .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-steps-cta .elementor-button):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    width: 100%;
    justify-content: center;
  }

  :where(.rb-home .rb-foot-legal a + a):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
    margin-left: 0;
  }

  :where(.rb-home .rb-foot-legal p):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
  }

}

/* Footer: square corners unless a radius is set on it in Elementor */

:where(.rb-home .rb-footer):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  border-radius: var(--border-radius, 0);
}

/* ==========================================================
   Richer pages (6 Nov 2026): photo banners, about photos, review
   quote, who we work with, comparison table, useful links
   ========================================================== */

/* Photo banners: taller, white text */

:where(.rb-home .rb-page-hero.rb-page-hero--photo):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --min-height: clamp(360px, 42vw, 560px);
  min-height: var(--min-height);
  --justify-content: flex-end;
  justify-content: var(--justify-content);
  --padding-bottom: clamp(48px, 6vw, 88px);
}

:where(.rb-home .rb-page-hero--photo .rb-lead):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: rgba(255, 255, 255, 0.92);
  max-width: 40em;
}

/* About photos (placeholder replaced) */

:where(.rb-home .rb-about-media.rb-has-photo):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border: 0;
  --min-height: 340px;
  min-height: var(--min-height);
}

/* Review quote over a photo */

:where(.rb-home .rb-quote):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  color: var(--rb-white);
  --padding-top: clamp(72px, 10vw, 140px);
  --padding-bottom: clamp(72px, 10vw, 140px);
}

:where(.rb-home .rb-quote-inner):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  max-width: calc(980px + 2 * var(--rb-gutter));
  --row-gap: clamp(18px, 2vw, 26px);
}

:where(.rb-home .rb-quote-text blockquote):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  margin: 0;
  padding: 0;
  border: 0;
}

:where(.rb-home .rb-quote-text p):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: clamp(24px, 2.9vw, 40px);
  line-height: 1.25;
  color: var(--rb-white);
}

:where(.rb-home .rb-quote-by .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: 15px;
  font-weight: 600;
  color: var(--rb-white);
}

:where(.rb-home .rb-quote-by .elementor-heading-title span):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-weight: 400;
  color: rgba(255, 255, 255, 0.75);
}

.rb-home .rb-quote .rb-tp-stars .e-rating .e-icon-wrapper {
  background: rgba(255, 255, 255, 0.3);
}

.rb-home .rb-quote .rb-tp-stars .e-rating .e-icon-wrapper.e-icon-marked {
  background: var(--rb-white);
}

.rb-home .rb-quote .rb-tp-stars .e-rating .e-icon-wrapper svg {
  fill: var(--rb-forest);
}

/* Who we work with */

:where(.rb-home .rb-who-row):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: clamp(32px, 6vw, 88px);
  --row-gap: 40px;
}

:where(.rb-home .rb-who-media):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 42%;
  width: var(--width);
}

:where(.rb-home .rb-who-img img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: var(--rb-radius);
}

:where(.rb-home .rb-who-copy):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 52%;
  width: var(--width);
  --row-gap: clamp(24px, 2.6vw, 34px);
}

:where(.rb-home .rb-who-list):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  display: grid;
  --display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  --row-gap: clamp(22px, 2.4vw, 32px);
  row-gap: var(--row-gap);
  --column-gap: clamp(24px, 3vw, 40px);
  column-gap: var(--column-gap);
}

:where(.rb-home .rb-who-list > .e-con):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --width: auto;
  width: var(--width);
  border-top: 2px solid var(--rb-forest);
  --padding-top: 16px;
  --row-gap: 8px;
}

:where(.rb-home.rb-home .rb-who-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(19px, 1.7vw, 24px);
  color: var(--rb-forest);
}

:where(.rb-home .rb-who-desc):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(14px, 1.13vw, 16px);
  line-height: 1.6;
  color: rgba(10, 21, 16, 0.78);
}

/* Comparison table */

:where(.rb-home .rb-compare-intro):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  max-width: 40em;
}
:where(.rb-home .rb-compare-intro > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: 14px;
}

:where(.rb-home .rb-compare-intro a):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
  font-weight: 600;
}

:where(.rb-home .rb-compare-wrap > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: clamp(28px, 3vw, 44px);
}

:where(.rb-compare-scroll):not(.rbz):not(.rbz):not(.rbz):not(rbz) {
  overflow-x: auto;
  border: 1px solid rgba(28, 87, 59, 0.22);
  border-radius: var(--rb-radius);
}

:where(.rb-home .rb-compare-wrap):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(14px, 1.1vw, 16px);
  color: var(--rb-ink);
}

:where(.rb-home .rb-compare):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  width: 100%;
  min-width: 720px;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  font-size: inherit;
  line-height: 1.5;
}

:where(.rb-home .rb-compare th):not(.rbz):not(.rbz):not(rbz):not(rbz),
:where(.rb-home .rb-compare td):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  padding: 16px 20px;
  border: 0;
  border-top: 1px solid rgba(28, 87, 59, 0.15);
  text-align: inherit;
  vertical-align: top;
  background: none;
  color: inherit;
}

:where(.rb-home .rb-compare thead th):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  border-top: 0;
  background: var(--rb-forest);
  color: var(--rb-white);
  font-family: var(--rb-font-head);
  font-weight: 600;
  font-size: clamp(16px, 1.4vw, 20px);
}

:where(.rb-home .rb-compare tbody th):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  width: 18%;
  font-weight: 600;
  color: var(--rb-forest);
}

:where(.rb-home .rb-compare tbody tr:nth-child(even) th):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-compare tbody tr:nth-child(even) td):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: rgba(28, 87, 59, 0.05);
}

:where(.rb-home .rb-compare tr:hover > td):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-compare tr:hover > th):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: rgba(28, 87, 59, 0.08);
}

/* Useful links */

:where(.rb-home .rb-links):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --margin-top: clamp(28px, 3vw, 44px);
  margin-top: var(--margin-top);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  --row-gap: 0;
  row-gap: var(--row-gap);
  --column-gap: clamp(24px, 4vw, 64px);
  column-gap: var(--column-gap);
}

:where(.rb-home .rb-links .rb-link-item):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-top: 1px solid rgba(28, 87, 59, 0.22);
  --padding-top: 20px;
  --padding-bottom: 22px;
  --row-gap: 6px;
}

:where(.rb-home.rb-home .rb-link-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(18px, 1.6vw, 22px);
  color: var(--rb-forest);
}

:where(.rb-home .rb-link-title a):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz)::after {
  content: " ↗";
  font-family: var(--rb-font-body);
  font-size: 0.8em;
}

:where(.rb-home .rb-link-title a:hover):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  text-decoration: underline;
  text-underline-offset: 4px;
}

:where(.rb-home .rb-link-desc):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(14px, 1.13vw, 16px);
  color: rgba(10, 21, 16, 0.78);
}

@media (max-width: 767px) {
  :where(.rb-home .rb-who-row):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --flex-direction: column;
    flex-direction: var(--flex-direction);
    --align-items: stretch;
    align-items: var(--align-items);
  }

  :where(.rb-home .rb-who-media):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-who-copy):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --width: 100%;
    width: var(--width);
  }

  :where(.rb-home .rb-who-img img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    aspect-ratio: 16 / 10;
  }

  :where(.rb-home .rb-who-list):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-links):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    grid-template-columns: minmax(0, 1fr);
  }

}

/* Shared footer (Elementor template "Rebus footer", placed with the
   Template widget on every page) */

:where(.rb-home .elementor-widget.rb-footer-slot):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  width: 100%;
}
:where(.rb-home .elementor-widget.rb-footer-slot > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin: 0;
}

:where(.rb-home .rb-home.rb-footer-tpl):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: transparent;
  --overflow: visible;
  overflow: var(--overflow);
}

/* ==========================================================
   Sign Up popup window (theme-built; was an Elementor Pro popup).
   Same settings as before: 560px wide (92vw on phones), centred,
   white, 14px corners, soft green shadow, dark overlay, close button
   inside top right, 0.3s fade, page doesn't scroll while open.
   ========================================================== */

#rb-signup.rb-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.3s ease;
}

#rb-signup.rb-modal[hidden] {
  display: none;
}

#rb-signup.rb-modal.is-open {
  opacity: 1;
}

#rb-signup .rb-modal-overlay {
  position: absolute;
  inset: 0;
  background: rgba(10, 21, 16, 0.82);
}

#rb-signup .rb-modal-box {
  position: relative;
  width: 560px;
  max-width: 92vw;
  max-height: 92vh;
  overflow-y: auto;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(28, 87, 59, 0.35);
}

@media (max-width: 767px) {
  #rb-signup .rb-modal-box {
    width: 92vw;
  }

}

/* ID selector: the site's Elementor kit styles every <button> */

#rb-signup .rb-modal-close {
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #1c573b;
  cursor: pointer;
}

#rb-signup .rb-modal-close:focus-visible {
  outline: 2px solid #1c573b;
  outline-offset: 3px;
}

html.rb-modal-lock,
html.rb-modal-lock body {
  overflow: hidden;
}

/* Stars in the popup show straight away (no scroll animation in a popup) */

.rb-motion #rb-signup .rb-tp-stars .e-icon {
  opacity: 1;
  transform: none;
}

/* ==========================================================
   Trustpilot stars drawn from the Rating widget's own settings:
   Icon size = box size, Icon colour = filled boxes,
   Unmarked colour = empty boxes. (Doubled .rb-home so these defaults
   come after the older star rules above; panel settings still win.)
   ========================================================== */

:where(.rb-home.rb-home .rb-tp-stars):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --e-rating-icon-font-size: 22px;
  --e-rating-icon-marked-color: var(--rb-forest);
  --e-rating-icon-color: rgba(28, 87, 59, 0.2);
  --rb-tp-star: #ffffff;
}

:where(.rb-home.rb-home .rb-tp-stars--sm):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --e-rating-icon-font-size: 18px;
}

:where(.rb-home.rb-home .rb-tp-stars--lg):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --e-rating-icon-font-size: clamp(30px, 3vw, 40px);
}

:where(.rb-home.rb-home :is(.rb-dark, .rb-reviews, .rb-hero, .rb-page-hero, .rb-quote) .rb-tp-stars):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --e-rating-icon-marked-color: #ffffff;
  --e-rating-icon-color: rgba(255, 255, 255, 0.3);
  --rb-tp-star: var(--rb-forest);
}

:where(.rb-home.rb-home .rb-reviews .rb-review .rb-tp-stars):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --e-rating-icon-marked-color: var(--rb-forest);
  --e-rating-icon-color: rgba(28, 87, 59, 0.2);
  --rb-tp-star: #ffffff;
}

.rb-home.rb-home.rb-home .rb-tp-stars .e-rating .e-icon-wrapper,
.rb-home.rb-home.rb-home .rb-tp-stars .e-rating .e-icon-wrapper.e-icon-marked {
  --rb-tp-box: var(--e-rating-icon-font-size);
  background: var(--e-rating-icon-color);
}

.rb-home.rb-home.rb-home .rb-tp-stars .e-rating .e-icon-wrapper.e-icon-marked {
  background: var(--e-rating-icon-marked-color);
}

.rb-home.rb-home.rb-home .rb-tp-stars .e-rating .e-icon-wrapper svg,
.rb-home.rb-home.rb-home .rb-tp-stars .e-rating .e-icon-wrapper.e-icon-marked svg {
  fill: var(--rb-tp-star);
}

:where(.rb-home.rb-home.rb-home .rb-tp-stars .e-rating .e-icon):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  width: var(--e-rating-icon-font-size);
  height: var(--e-rating-icon-font-size);
}

/* ==========================================================
   Home page photo motion (rebus-home.js photoMotionSetup):
   photo layers behind content, heading lines
   ========================================================== */

:where(.rb-home .rb-has-bgfx):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  isolation: isolate;
  overflow: hidden;
}

:where(.rb-home .rb-bgfx):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  position: absolute;
  top: -12%;
  right: 0;
  bottom: -12%;
  left: 0;
  z-index: -1;
  background-size: cover;
  background-repeat: no-repeat;
  pointer-events: none;
  will-change: transform;
}

/* headings wait (hidden) until they are split into lines */

:where(.rb-motion .rb-home .rb-split-pending .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  visibility: hidden;
}

:where(.rb-home .rb-line):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  display: block;
}

/* the service card photo frame clips its zooming photo */

:where(.rb-home .rb-svc-img):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  overflow: hidden;
}

/* ==========================================================
   Fixes + redesign (6 Nov 2026, later)
   ========================================================== */

/* Elementor puts a 0.4s transition on container transforms; the scroll
   animations move these themselves, so switch that part off */

:where(.rb-home):not(.rbz):not(.rbz):not(rbz) {
  --e-con-transform-transition-duration: 0s;
  --e-transform-transition-duration: 0s;
}

/* About photo cut into two sloping panels (class rb-shape on the photo
   container: remove it in Elementor to go back to a plain photo) */

:where(.rb-home .rb-about-media.rb-shape):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  aspect-ratio: 740 / 800;
  border: 0;
  --border-radius: 0;
  border-radius: var(--border-radius);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20740%20800%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20fill%3D%22%23000%22%20transform%3D%22skewY%28-22%29%22%3E%3Crect%20x%3D%220%22%20y%3D%22380%22%20width%3D%22330%22%20height%3D%22420%22%20rx%3D%2264%22/%3E%3Crect%20x%3D%22380%22%20y%3D%22300%22%20width%3D%22360%22%20height%3D%22640%22%20rx%3D%2264%22/%3E%3C/g%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20740%20800%22%20preserveAspectRatio%3D%22none%22%3E%3Cg%20fill%3D%22%23000%22%20transform%3D%22skewY%28-22%29%22%3E%3Crect%20x%3D%220%22%20y%3D%22380%22%20width%3D%22330%22%20height%3D%22420%22%20rx%3D%2264%22/%3E%3Crect%20x%3D%22380%22%20y%3D%22300%22%20width%3D%22360%22%20height%3D%22640%22%20rx%3D%2264%22/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

/* "Weekly pay" band: the photo stays still while the page scrolls over it */

:where(.rb-home .rb-paid):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --min-height: clamp(560px, 88vh, 860px);
  min-height: var(--min-height);
  --justify-content: center;
  justify-content: var(--justify-content);
  clip-path: inset(0);
  --padding-top: clamp(72px, 9vw, 130px);
  --padding-bottom: clamp(72px, 9vw, 130px);
}

/* still photo (Weekly pay band, shaped About photo): fixed to the screen,
   shown only through the section's clip / the shape's mask */

:where(.rb-home .rb-bgfx.rb-bgfx--fixed):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: none;
}

:where(.rb-home .rb-paid-inner):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --align-items: center;
  align-items: var(--align-items);
  --justify-content: space-between;
  justify-content: var(--justify-content);
  --column-gap: clamp(32px, 6vw, 96px);
  --row-gap: 36px;
}

:where(.rb-home .rb-paid-copy):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 52%;
  width: var(--width);
  max-width: 620px;
  --row-gap: clamp(14px, 1.6vw, 20px);
  color: var(--rb-white);
}

:where(.rb-home .rb-paid-copy .rb-eyebrow .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-white);
}

:where(.rb-home .rb-paid-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(34px, 4.4vw, 64px);
  line-height: 1.02;
  color: var(--rb-white);
}

:where(.rb-home .rb-paid-lead):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  max-width: 30em;
  color: rgba(255, 255, 255, 0.88);
}

:where(.rb-home .rb-paid-card):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --width: 40%;
  width: var(--width);
  max-width: 440px;
  background-color: var(--rb-white);
  --border-radius: var(--rb-radius);
  border-radius: var(--border-radius);
  box-shadow: 0 30px 60px -30px rgba(10, 21, 16, 0.6);
  --row-gap: 0px;
  --padding-top: clamp(24px, 2.6vw, 34px);
  --padding-right: clamp(22px, 2.6vw, 34px);
  --padding-bottom: clamp(24px, 2.6vw, 34px);
  --padding-left: clamp(22px, 2.6vw, 34px);
}

:where(.rb-home .rb-paycard-title .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rb-forest);
  margin-bottom: 8px;
}

:where(.rb-home .rb-payrow):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  border-top: 1px solid rgba(28, 87, 59, 0.18);
  --padding-top: 16px;
  --padding-bottom: 16px;
  --row-gap: 4px;
}

:where(.rb-home.rb-home .rb-payrow-when .elementor-heading-title):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  font-size: clamp(20px, 1.8vw, 24px);
  line-height: 1.1;
  color: var(--rb-forest);
}

:where(.rb-home .rb-payrow-what):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: 15px;
  line-height: 1.5;
  color: rgba(10, 21, 16, 0.75);
}

:where(.rb-home .rb-paid-card .rb-textlink > .elementor-widget-container):not(.rbz):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: 14px;
}

@media (max-width: 767px) {
  :where(.rb-home .rb-paid-copy):not(.rbz):not(.rbz):not(rbz):not(rbz),
  :where(.rb-home .rb-paid-card):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    --width: 100%;
    width: var(--width);
    max-width: none;
  }

}

/* the shaped About photo clips its still photo */

:where(.rb-home .rb-about-media.rb-shape):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  clip-path: inset(0);
}

/* ==========================================================
   Legal pages (Privacy Policy, Modern Slavery Policy): one Text Editor
   widget holding the policy, kept to a readable width
   ========================================================== */

:where(.rb-home .rb-legal-wrap):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  max-width: calc(var(--rb-max) + 2 * var(--rb-gutter));
}

:where(.rb-home .rb-legal-text):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.7;
  color: var(--rb-ink);
}

:where(.rb-home .rb-legal-text h3):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  font-family: var(--rb-font-head);
  font-weight: 600;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.15;
  color: var(--rb-forest);
  margin: clamp(32px, 3.5vw, 48px) 0 12px;
}

:where(.rb-home .rb-legal-text h3:first-child):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  margin-top: 0;
}

:where(.rb-home .rb-legal-text p):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  margin: 0 0 1em;
}

:where(.rb-home .rb-legal-text ol):not(.rbz):not(.rbz):not(rbz):not(rbz),
:where(.rb-home .rb-legal-text ul):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  margin: 0 0 1.2em;
  padding-left: 1.6em;
}

:where(.rb-home .rb-legal-text ol ol):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-legal-text ul ul):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-legal-text li > ol):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz),
:where(.rb-home .rb-legal-text li > ul):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  margin: 0.5em 0 0.6em;
}

:where(.rb-home .rb-legal-text ol ol):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  list-style: lower-alpha;
}

:where(.rb-home .rb-legal-text ol ol ol):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  list-style: lower-roman;
}

:where(.rb-home .rb-legal-text li):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  margin: 0 0 0.6em;
  padding-left: 0.3em;
}

:where(.rb-home .rb-legal-text li::marker):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
  font-weight: 600;
}

:where(.rb-home .rb-legal-text a):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}

:where(.rb-home .rb-legal-text strong):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  color: var(--rb-forest);
}

/* definitions table */

:where(.rb-home .rb-legal-text table):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  width: 100%;
  margin: 0.8em 0 1.4em;
  border: 1px solid rgba(28, 87, 59, 0.22);
  border-radius: var(--rb-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  font-size: 0.95em;
}

:where(.rb-home .rb-legal-text td):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  padding: 12px 16px;
  border: 0;
  border-top: 1px solid rgba(28, 87, 59, 0.15);
  background: none;
  vertical-align: top;
  color: var(--rb-ink);
}

:where(.rb-home .rb-legal-text tr:first-child td):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  border-top: 0;
}

:where(.rb-home .rb-legal-text td:first-child):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  width: 28%;
  background: rgba(28, 87, 59, 0.06);
  font-weight: 600;
  color: var(--rb-forest);
}

:where(.rb-home .rb-legal-text tr:hover > td):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: inherit;
}

:where(.rb-home .rb-legal-text tr:hover > td:first-child):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background: rgba(28, 87, 59, 0.06);
}

@media (max-width: 600px) {
  :where(.rb-home .rb-legal-text td):not(.rbz):not(.rbz):not(rbz):not(rbz) {
    display: block;
    width: 100%;
    padding: 10px 14px;
  }

  :where(.rb-home .rb-legal-text td:first-child):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    width: 100%;
    padding-bottom: 4px;
  }

  :where(.rb-home .rb-legal-text td:last-child):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
    border-top: 0;
  }

}

/* Legal pages: text starts close under the banner */

:where(.rb-home .rb-section.rb-legal):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --padding-top: clamp(32px, 4vw, 56px);
}

/* Header once the page is scrolled (rebus-home.js adds .rb-scrolled):
   a full-width white bar fixed at the very top. Only colours change, so
   the header keeps its height and nothing on the page moves. */

:where(.rb-home .rb-header):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

:where(.rb-home .rb-header.rb-scrolled):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  background-color: var(--rb-white);
  box-shadow: 0 6px 24px -12px rgba(10, 21, 16, 0.35);
}

:where(.rb-home .rb-header .rb-nav-bar):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  transition: box-shadow 0.25s ease;
}

:where(.rb-home .rb-header.rb-scrolled .rb-nav-bar):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  box-shadow: none;
}

/* Logged in on a phone: WordPress's toolbar scrolls away with the page
   (it is only pinned from 601px up), so the header sits right at the top */

@media (max-width: 600px) {
  body.admin-bar .rb-home .rb-header {
    top: 0;
  }

}

/* Tighter vertical spacing (11 Nov 2026) */

:where(.rb-home .rb-quote):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --padding-top: clamp(48px, 6vw, 88px);
  --padding-bottom: clamp(48px, 6vw, 88px);
}

:where(.rb-home .rb-paid):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --min-height: clamp(460px, 70vh, 680px);
  min-height: var(--min-height);
  --padding-top: clamp(48px, 6vw, 88px);
  --padding-bottom: clamp(48px, 6vw, 88px);
}

:where(.rb-home .rb-page-hero):not(.rbz):not(.rbz):not(rbz):not(rbz) {
  --padding-top: calc(var(--rb-header-h) + clamp(32px, 4vw, 64px));
  --padding-bottom: clamp(36px, 4vw, 60px);
}

:where(.rb-home .rb-page-hero.rb-page-hero--photo):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --min-height: clamp(300px, 34vw, 460px);
  min-height: var(--min-height);
}

:where(.rb-home .rb-section.rb-legal):not(.rbz):not(.rbz):not(rbz):not(rbz):not(rbz):not(rbz) {
  --padding-top: clamp(28px, 3vw, 44px);
}
