/* ---- RMP Europe build tokens, 13 Oct 2026. Third colour and angle system from the approved comps. ---- */
:root {
  --rmp-orange: #F85030;        /* accent only: eyebrows, rules, tile edges, accordion icons, never body text */
  --rmp-orange-text: #C84828;   /* 4.6:1 on white, for the rare orange word */
  --rmp-angle: 17deg;           /* logo slash angle; wedges and separators */
  --rmp-navy: #050925;
  --rmp-cyan: #00B2C8;
}
.rmp-eyebrow { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--rmp-orange-text); }
.rmp-rule-orange { border-top: 2px solid var(--rmp-orange); }
.rmp-display { text-transform: uppercase; letter-spacing: .01em; font-weight: 500; }
.rmp-wedge-tr { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 4vw), 0 100%); }
.rmp-wedge-tl { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 4vw)); }
.rmp-stripe-orange { position: relative; }
.rmp-stripe-orange::before { content: ""; position: absolute; left: -40px; top: 0; bottom: 0; width: 8px; background: var(--rmp-orange); transform: skewX(calc(-1 * var(--rmp-angle))); }

/* ---- RMP Europe page components, 13 Oct 2026. Used by Avada Text elements on the built pages. ---- */
.rmp-eyebrow { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 500; font-size: 18px; letter-spacing: .04em; text-transform: uppercase; color: var(--rmp-orange-text); margin: 0 0 10px; }
.rmp-eyebrow.cyan { color: var(--rmp-cyan); }
.rmp-eyebrow.white { color: #fff; }
.rmp-hero { position: relative; }
.rmp-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(4vw + 10px); background: var(--rmp-orange); clip-path: polygon(0 calc(100% - 10px), 100% 0, 100% 10px, 0 100%); pointer-events: none; }
.rmp-hero h1 { color: #fff; }
.rmp-hero .rmp-eyebrow { color: var(--rmp-cyan); }
.rmp-hero p { color: #fff; font-size: 18px; max-width: 640px; }
.rmp-tile { display: block; text-decoration: none; }
.rmp-tile img { display: block; width: 100%; height: 260px; object-fit: cover; }
.rmp-tile-label { background: var(--rmp-navy); color: #fff; padding: 22px 28px; border-bottom: 5px solid var(--rmp-orange); font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 400; font-size: 26px; text-transform: uppercase; letter-spacing: .01em; line-height: 1.1; }
.rmp-tile-label.light { background: #fff; color: var(--rmp-navy); }
.rmp-bar { display: block; padding: 22px 28px; border-bottom: 5px solid var(--rmp-orange); font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 400; font-size: 20px; text-transform: uppercase; letter-spacing: .01em; text-decoration: none; transition: transform .15s ease; }
.rmp-bar.dark { background: var(--rmp-navy); color: #fff; }
.rmp-bar.light { background: #fff; color: var(--rmp-navy); }
.rmp-bar:hover, .rmp-tile:hover .rmp-tile-label { transform: translateY(-2px); }
.rmp-diagonals { position: relative; overflow: hidden; }
.rmp-diagonals::before, .rmp-diagonals::after { content: ""; position: absolute; top: -20%; bottom: -20%; width: 42%; background: rgba(255,255,255,.035); transform: skewX(calc(-1 * var(--rmp-angle))); pointer-events: none; }
.rmp-diagonals::before { left: -8%; } .rmp-diagonals::after { left: 52%; }
.rmp-diagonals > .fusion-row, .rmp-diagonals > .fusion-builder-row { position: relative; z-index: 1; }
.rmp-light-wedge { position: relative; overflow: hidden; }
.rmp-light-wedge::before { content: ""; position: absolute; top: 0; bottom: 0; left: -10%; width: 50%; background: rgba(5,9,37,.035); clip-path: polygon(0 0, 100% 0, 60% 100%, 0 100%); pointer-events: none; }
.rmp-light-wedge > .fusion-row, .rmp-light-wedge > .fusion-builder-row { position: relative; z-index: 1; }
.rmp-card { background: #fff; border: 1px solid var(--awb-color5, #e4e6ec); border-bottom: 5px solid var(--rmp-orange); display: block; text-decoration: none; color: var(--rmp-navy); height: 100%; }
.rmp-card img { display: block; width: 100%; height: 220px; object-fit: cover; }
.rmp-card-body { padding: 20px 22px 24px; }
.rmp-chip { display: inline-block; font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 500; font-size: 14px; letter-spacing: .05em; text-transform: uppercase; color: var(--rmp-cyan); border: 1px solid var(--rmp-cyan); padding: 3px 8px; margin-bottom: 12px; }
.rmp-card h3 { font-size: 26px; line-height: 1.1; margin: 0 0 10px; color: var(--rmp-navy); }
.rmp-card p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--awb-color6, #5c6478); }
.rmp-stat { background: rgba(255,255,255,.92); padding: 22px 24px; border-top: 3px solid var(--rmp-navy); height: 100%; }
.rmp-stat .rmp-eyebrow { color: var(--rmp-navy); font-size: 16px; margin-bottom: 6px; }
.rmp-stat .num { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 500; font-size: 44px; line-height: 1; color: var(--rmp-navy); margin: 0 0 8px; }
.rmp-stat p { margin: 0; font-size: 15px; color: var(--rmp-navy); }
.rmp-attr { border-top: 2px solid var(--rmp-navy); padding: 14px 0 0; }
.rmp-attr .rmp-eyebrow { color: var(--rmp-navy); font-size: 16px; margin-bottom: 6px; }
.rmp-attr p { margin: 0; font-size: 15px; line-height: 1.45; color: var(--rmp-navy); }
.rmp-value-col { border-top: 2px solid var(--rmp-cyan); padding-top: 18px; }
.rmp-value-col h3 { font-size: 28px; line-height: 1.1; margin: 0 0 10px; }
.rmp-value-col p { font-size: 15px; line-height: 1.55; margin: 0; }
.rmp-statement { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 300; font-size: 28px; line-height: 1.3; color: var(--rmp-navy); margin: 0 0 36px; }
@media (max-width: 800px) { .rmp-tile img { height: 200px; } .rmp-statement { font-size: 24px; } }
.rmp-value-col h3, .rmp-card h3, .rmp-sentence, .rmp-sentence h3 { text-transform: none; }

.rmp-hero > .fusion-row, .rmp-hero > .fusion-builder-row { position: relative; z-index: 1; }
.rmp-card { display: flex; flex-direction: column; }
.rmp-card::after { content: ""; display: table; clear: both; }
.rmp-sentence h1, .rmp-sentence h2, .rmp-sentence h3, .rmp-sentence h4 { text-transform: none !important; }

/* 13 Oct, pass 2: stretched links (a link around block content is split by the HTML parser), hero duotone without greying the overlay */
.rmp-tile, .rmp-card { position: relative; }
.rmp-tile a, .rmp-card h3 a { color: inherit; text-decoration: none; }
.rmp-tile a::after, .rmp-card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }

/* 15 Oct: hero revised to the comp. Straight orange base rule, Title Case headline, pill buttons, orange rule at the top of the page */
body { border-top: 8px solid var(--rmp-orange); }
.rmp-hero::after { height: 12px; clip-path: none; }
.rmp-hero .rmp-eyebrow { font-size: 28px; font-weight: 400; letter-spacing: .02em; margin-bottom: 14px; }
.rmp-hero-h1 h1 { text-transform: none !important; font-weight: 400 !important; line-height: 1.08 !important; }
.rmp-hero p { font-family: Roboto, Arial, sans-serif; font-size: 19px; line-height: 1.5; }
.fusion-button.rmp-btn { border-radius: 40px !important; font-family: Roboto, Arial, sans-serif !important; font-weight: 700 !important; font-size: 15px !important; letter-spacing: .02em !important; padding: 0 36px !important; height: 62px; line-height: 62px !important; }

/* 15 Oct: eyebrows in the true orange, larger, per Tim */
.rmp-eyebrow { color: var(--rmp-orange); font-size: 26px; font-weight: 400; letter-spacing: .03em; margin-bottom: 14px; }
.rmp-stat .rmp-eyebrow, .rmp-attr .rmp-eyebrow { font-size: 17px; color: var(--rmp-navy); }

/* 15 Oct: attribute and stat labels larger, per Tim */
.rmp-attr .rmp-eyebrow { font-size: 26px; font-weight: 400; margin-bottom: 10px; }
.rmp-attr p { font-size: 16px; }
.rmp-stat .rmp-eyebrow { font-size: 22px; font-weight: 400; }

/* 15 Oct, comp review pass */
.rmp-light-wedge::before { background: rgba(255,255,255,.75); left: 0; width: 48%; clip-path: polygon(0 0, 100% 0, 48% 100%, 0 100%); }
.rmp-diagonals::before, .rmp-diagonals::after { background: rgba(255,255,255,.055); width: 26%; }
.rmp-diagonals::before { left: 6%; } .rmp-diagonals::after { left: 58%; }
.rmp-diagonals .fusion-row::before { content: ""; position: absolute; top: -40%; bottom: -40%; left: 118%; width: 26%; background: rgba(255,255,255,.055); transform: skewX(calc(-1 * var(--rmp-angle))); pointer-events: none; z-index: -1; }
.rmp-pcard { position: relative; display: block; height: 400px; overflow: hidden; border-bottom: 5px solid var(--rmp-orange); background: var(--rmp-navy); }
.rmp-pcard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.rmp-pcard-body { position: absolute; left: 0; right: 0; bottom: 0; padding: 120px 26px 26px; background: linear-gradient(180deg, rgba(5,9,37,0) 0%, rgba(5,9,37,.78) 55%, rgba(5,9,37,.92) 100%); color: #fff; }
.rmp-pcard .rmp-chip { color: #fff; border-color: rgba(255,255,255,.7); margin-bottom: 10px; }
.rmp-pcard h3 { font-size: 30px; line-height: 1.05; margin: 0 0 8px; color: #fff; text-transform: none; }
.rmp-pcard h3 a { color: #fff; text-decoration: none; }
.rmp-pcard h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.rmp-pcard p { margin: 0; font-size: 14px; line-height: 1.45; color: rgba(255,255,255,.85); }
.rmp-cta-text p { font-size: 17px; max-width: 560px; }
.rmp-cta .rmp-cta-buttons { display: flex; gap: 14px; flex-wrap: wrap; justify-content: flex-end; }
.rmp-cta .fusion-button { margin-bottom: 0; }
.rmp-hairline { border: 0; border-top: 1px solid rgba(255,255,255,.35); margin: 30px 0 0; }
@media (max-width: 800px) { .rmp-pcard { height: 320px; } .rmp-cta .rmp-cta-buttons { justify-content: flex-start; } }

/* 15 Oct, Tim's Usersnap notes 35 to 37: Barlow Condensed button text, side-by-side hero buttons, tighter button padding */
.fusion-button.rmp-btn { font-family: "Barlow Condensed", Arial, sans-serif !important; font-weight: 500 !important; font-size: 18px !important; letter-spacing: .04em !important; padding: 0 26px !important; height: 50px; line-height: 50px !important; }
.rmp-btn-row { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.rmp-btn-row .fusion-button { margin: 0 !important; }
.rmp-hero .fusion-text:has(.rmp-btn-row) { display: contents; }

.rmp-cta .fusion-builder-row-inner { justify-content: flex-end; }
@media (max-width: 800px) { .rmp-cta .fusion-builder-row-inner { justify-content: flex-start; } }

/* auto-width button columns size to their button */
.fusion-button.rmp-btn { white-space: nowrap; }
.rmp-hero .fusion-builder-row-inner > .fusion-layout-column, .rmp-cta .fusion-builder-row-inner > .fusion-layout-column { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }

/* 15 Oct: buttons Roboto bold uppercase (Tim); hero eyebrow Barlow Condensed, beating the hero paragraph rule */
.fusion-button.rmp-btn { font-family: Roboto, Arial, sans-serif !important; font-weight: 700 !important; font-size: 14px !important; letter-spacing: .04em !important; text-transform: uppercase !important; }
.rmp-hero p.rmp-eyebrow { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 400; font-size: 28px; letter-spacing: .02em; }

/* 15 Oct: eyebrow-with-line rows, tighter below; tile image flush with its label */
.fusion-title.fusion-sep-single { margin-bottom: 6px !important; }
.fusion-title.fusion-sep-single + .fusion-text, .rmp-tile, .rmp-bar { margin-top: 0; }
.rmp-tile p, .rmp-tile img { margin: 0 !important; }
.fusion-text .rmp-tile img { margin-bottom: 0 !important; display: block; }

/* 15 Oct: separator line sits a few px low so it centres on the uppercase cap height */
.fusion-title.fusion-sep-single .title-sep-container { transform: translateY(4px); }

/* 15 Oct: correct selector for the separator line nudge */
.fusion-title .title-sep-container { transform: translateY(4px); }

/* 15 Oct, Usersnap 38 to 47 */
/* 1. one rule thickness everywhere: 1px, matching the eyebrow separator */
.rmp-value-col { border-top-width: 1px; }
.rmp-attr { border-top-width: 1px; border-top-color: var(--rmp-orange); }
.rmp-stat { border-top: 1px solid var(--rmp-orange); }
.rmp-rule-orange { border-top-width: 1px; }
/* 2. hero base rule matches the 8px page-top rule */
.rmp-hero::after { height: 8px; }
/* 4, 5. label text turns teal on hover, tiles and bars */
.rmp-tile:hover .rmp-tile-label, .rmp-tile:hover .rmp-tile-label a, .rmp-bar:hover { color: var(--rmp-cyan); }
/* 6. hero paragraph uses its column width */
.rmp-hero p { max-width: none; }
/* 7. equal-height stat boxes, content at the top */
.rmp-why .fusion-builder-row-inner .fusion-column-wrapper { display: flex; flex-direction: column; }
.rmp-why .fusion-builder-row-inner .fusion-text { flex: 1 1 auto; display: flex; }
.rmp-why .rmp-stat { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: flex-start; }
/* 8. light scheme for Why RMP: white boxes on the grey ground, navy text, orange accents */
.rmp-why .rmp-stat { background: #ffffff; border-left: 1px solid #e4e6ec; border-right: 1px solid #e4e6ec; border-bottom: 1px solid #e4e6ec; }
.rmp-why .rmp-stat .rmp-eyebrow, .rmp-why .rmp-attr .rmp-eyebrow { color: var(--rmp-navy); }
.rmp-why .rmp-stat p, .rmp-why .rmp-attr p { color: var(--rmp-navy); }

/* 15 Oct: hero paragraph breaks on the headline width (767px at 68px type) */
.rmp-hero p:not(.rmp-eyebrow) { max-width: 770px; }

/* 15 Oct: button rows start flush with the text (Avada inner rows carry a negative outer margin) */
.rmp-hero .fusion-builder-row-inner { margin-left: 0 !important; margin-right: 0 !important; width: 100%; }

.rmp-hero .fusion-builder-row-inner .fusion-layout-column:first-child > .fusion-column-wrapper { margin-left: 0 !important; }

/* 15 Oct: whole tile lifts on hover, not just the label */
.rmp-tile { transition: transform .18s ease; }
.rmp-tile:hover { transform: translateY(-4px); }
.rmp-tile:hover .rmp-tile-label { transform: none; }

/* 15 Oct: buttons are square per the v3 comps */
.fusion-button.rmp-btn { border-radius: 0 !important; height: 50px; line-height: 50px !important; padding: 0 28px !important; }

/* ---- Header and footer (Europe layout sections), 15 Oct ---- */
.rmp-utility .fusion-menu-element-wrapper, .rmp-utility ul.fusion-menu { font-family: "Barlow Condensed", Arial, sans-serif; }
.rmp-utility .menu-item a { font-size: 15px !important; letter-spacing: .04em; text-transform: uppercase; }
.rmp-utility .menu-item-eur > a::after { content: ""; display: inline-block; width: 24px; height: 16px; margin-left: 10px; vertical-align: -2px; background: url("/wp-content/uploads/2026/10/flag-eu.png") center/cover no-repeat; }
.rmp-header .fusion-menu-element-wrapper .menu-item > a { letter-spacing: .01em; }
.rmp-footer { border-bottom: 5px solid var(--rmp-orange); }
.rmp-footer .fusion-menu-element-wrapper .menu-item > a { font-family: "Barlow Condensed", Arial, sans-serif; font-size: 16px; text-transform: uppercase; letter-spacing: .03em; color: #fff; padding: 4px 0; }
.rmp-footer .fusion-menu-element-wrapper .menu-item > a:hover { color: var(--rmp-cyan); }
.rmp-footer .rmp-footer-label { font-family: "Barlow Condensed", Arial, sans-serif; font-size: 16px; text-transform: uppercase; letter-spacing: .06em; color: var(--rmp-cyan); margin: 0 0 10px; }
.rmp-footer .rmp-footer-address { font-family: "Barlow Condensed", Arial, sans-serif; font-size: 16px; text-transform: uppercase; letter-spacing: .03em; line-height: 1.7; color: #fff; margin: 0; }
.rmp-footer .rmp-footer-address a { color: #fff; }
.rmp-footer .rmp-footer-legal { font-family: "Barlow Condensed", Arial, sans-serif; font-size: 14px; text-transform: uppercase; letter-spacing: .04em; color: rgba(255,255,255,.75); margin: 0; }
.rmp-footer .rmp-footer-legal a { color: rgba(255,255,255,.75); }
.rmp-footer .fusion-social-links a { color: #fff !important; }

/* mobile: hero type scale and header trigger */
@media (max-width: 800px) {
  .rmp-hero-h1 h1 { font-size: 40px !important; line-height: 1.08 !important; }
  .rmp-hero p.rmp-eyebrow { font-size: 20px; }
  .rmp-hero p:not(.rmp-eyebrow) { font-size: 17px; }
  .rmp-hero-h1 h1 br { display: none; }
}
.rmp-header .awb-menu__m-toggle, .rmp-header .fusion-menu-element-wrapper .awb-menu__m-toggle { background: transparent !important; color: #fff !important; }

/* footer: Let's Talk hairline */
.rmp-footer .rmp-footer-rule { width: 100%; }
.rmp-footer .rmp-hairline { border: 0; border-top: 1px solid rgba(255,255,255,.45); margin: 30px 0 44px; width: 100%; }

/* 15 Oct: footer links in sentence case (labels stay uppercase) */
.rmp-footer .fusion-menu-element-wrapper .menu-item > a { text-transform: none; letter-spacing: 0; font-size: 17px; }
.rmp-footer .rmp-footer-legal, .rmp-footer .rmp-footer-legal a { text-transform: none; letter-spacing: .01em; font-size: 15px; }

/* 15 Oct: footer links in Roboto */
.rmp-footer .fusion-menu-element-wrapper .menu-item > a { font-family: Roboto, Arial, sans-serif; font-size: 15px; line-height: 1.5; }
.rmp-footer .rmp-footer-legal, .rmp-footer .rmp-footer-legal a { font-family: Roboto, Arial, sans-serif; font-size: 14px; }

/* 15 Oct: footer address in Roboto sentence case; teal column labels 2px larger */
.rmp-footer .rmp-footer-address { font-family: Roboto, Arial, sans-serif; font-size: 15px; text-transform: none; letter-spacing: 0; line-height: 1.6; }
.rmp-footer .rmp-footer-label { font-size: 18px; }

/* 15 Oct: footer links 1px smaller */
.rmp-footer .fusion-menu-element-wrapper .menu-item > a { font-size: 14px; }

/* 15 Oct: hero content 10 percent smaller (eyebrow, headline, copy, buttons) */
@media (min-width: 801px) {
  .rmp-hero p.rmp-eyebrow { font-size: 25px; }
  .rmp-hero-h1 h1 { font-size: 61px !important; }
  .rmp-hero p:not(.rmp-eyebrow) { font-size: 17px; max-width: 700px; }
  .rmp-hero .fusion-button.rmp-btn { font-size: 13px !important; height: 45px; line-height: 45px !important; padding: 0 25px !important; }
}

/* 15 Oct: two teal button styles. Light backgrounds: teal with white text (default). Dark backgrounds: teal with navy text (.rmp-btn-dark) */
.fusion-button.rmp-btn-dark, .fusion-button.rmp-btn-dark .fusion-button-text, .fusion-button.rmp-btn-dark:hover, .fusion-button.rmp-btn-dark:hover .fusion-button-text { color: var(--rmp-navy) !important; }

/* 15 Oct: stat boxes styled like the tiles and bars: white block, thick orange base, no other borders */
.rmp-why .rmp-stat { border-top: 0; border-left: 0; border-right: 0; border-bottom: 5px solid var(--rmp-orange); padding: 24px 26px 26px; }

/* 15 Oct: bar labels match the tile labels */
.rmp-bar { font-size: 26px; }

/* 15 Oct: bars in a row share one height, label centred, so a two-line label does not break the row */
.fusion-layout-column:has(.rmp-bar) > .fusion-column-wrapper { display: flex; flex-direction: column; }
.fusion-text:has(> .rmp-bar) { flex: 1 1 auto; display: flex; }
.rmp-bar { flex: 1 1 auto; display: flex; align-items: center; line-height: 1.1; }

/* 15 Oct: bar columns stretch to the row height; project card headline line height tightened 3px */
.fusion-layout-column:has(.rmp-bar) { align-self: stretch !important; }
.fusion-layout-column:has(.rmp-bar) > .fusion-column-wrapper { height: 100%; }
.rmp-pcard h3 { line-height: 28px; }

/* 15 Oct: equal-height bars (WordPress wraps the bar in a <p>) */
.fusion-text:has(.rmp-bar) { flex: 1 1 auto; display: flex; }
.fusion-text:has(.rmp-bar) > p { display: flex; flex: 1 1 auto; margin: 0; }
/* headings inside components: outrank Avada's .fusion-post-content h3 rule */
.fusion-body .rmp-pcard .rmp-pcard-body h3 { font-size: 30px; line-height: 28px; }
.fusion-body .rmp-card .rmp-card-body h3 { font-size: 26px; line-height: 1.1; }
/* value-prop columns 5 percent smaller (Tim) */
.fusion-body .rmp-value-col h3 { font-size: 34px; line-height: 1.1; margin: 0 0 10px; }
.fusion-body .rmp-value-col p { font-size: 14px; line-height: 1.55; }

/* 15 Oct: tile and bar labels sized so the longest name fits one line at site width */
.rmp-tile-label, .rmp-bar { font-size: 24px; padding-left: 24px; padding-right: 24px; white-space: nowrap; }
@media (max-width: 1100px) { .rmp-tile-label, .rmp-bar { white-space: normal; font-size: 22px; } }

/* 15 Oct: Explore by Application background per the comp: navy, lighter at left, wide diagonal bands at the brand angle */
.rmp-diagonals::before, .rmp-diagonals::after, .rmp-diagonals .fusion-row::before { display: none; }
.fusion-body .fusion-flex-container.rmp-diagonals, .rmp-diagonals {
  background-color: #0a0e2b !important;
  background-image:
    linear-gradient(107deg,
      rgba(255,255,255,.075) 0%, rgba(255,255,255,.075) 14%,
      rgba(255,255,255,.035) 14%, rgba(255,255,255,.035) 27%,
      rgba(255,255,255,.06) 27%, rgba(255,255,255,.06) 41%,
      rgba(255,255,255,0) 41%, rgba(255,255,255,0) 55%,
      rgba(255,255,255,.045) 55%, rgba(255,255,255,.045) 70%,
      rgba(255,255,255,0) 70%, rgba(255,255,255,0) 84%,
      rgba(255,255,255,.03) 84%, rgba(255,255,255,.03) 100%),
    linear-gradient(90deg, #2a2e4c 0%, #1a1d3a 45%, #080c27 100%) !important;
  background-size: cover !important;
}

/* 15 Oct: no single-word last lines in column copy */
.rmp-value-col p, .rmp-attr p, .rmp-stat p, .rmp-pcard p { text-wrap: pretty; }

/* 15 Oct: orange base rule on the footer, same 8px as the page top (Avada container rule outranks the class) */
.fusion-body .fusion-flex-container.rmp-footer { border-bottom: 5px solid var(--rmp-orange) !important; }

/* 15 Oct: no orange rule under heroes (Tim) */
.rmp-hero::after { display: none; }

/* ---- Product page components (RMP Recycled first), 15 Oct ---- */
.rmp-crumbs { font-family: "Barlow Condensed", Arial, sans-serif; font-size: 17px; letter-spacing: .04em; text-transform: uppercase; color: var(--rmp-cyan); margin: 0 0 14px; }
.rmp-crumbs a { color: var(--rmp-cyan); text-decoration: none; }
.rmp-crumbs span { margin: 0 8px; opacity: .6; }
.rmp-benefit { border-top: 1px solid var(--rmp-orange); padding-top: 18px; }
.fusion-body .rmp-benefit h3 { font-size: 26px; line-height: 1.15; margin: 0 0 10px; text-transform: none; }
.rmp-benefit p { font-size: 15px; line-height: 1.55; margin: 0; text-wrap: pretty; }
.rmp-strip .fusion-carousel-item img { width: 100%; height: 300px; object-fit: cover; display: block; }
.rmp-strip .fusion-carousel-nav .fusion-nav-prev, .rmp-strip .fusion-carousel-nav .fusion-nav-next { background: rgba(5,9,37,.6); }
.rmp-variant { background: var(--rmp-navy); border-bottom: 5px solid var(--rmp-orange); }
.rmp-variant img { display: block; width: 100%; height: 300px; object-fit: cover; margin: 0 !important; }
.rmp-variant-body { padding: 24px 28px 28px; }
.fusion-body .rmp-variant-body h3 { font-family: "Barlow Condensed", Arial, sans-serif; font-size: 26px; text-transform: uppercase; letter-spacing: .01em; color: #fff; margin: 0 0 8px; }
.rmp-variant-body p { color: rgba(255,255,255,.88); font-size: 15px; line-height: 1.55; margin: 0; }
.rmp-variant-body sub { font-size: .7em; }
/* Design Range gallery: orange base, name bottom-left */
.rmp-range .fusion-gallery-image { border-bottom: 5px solid var(--rmp-orange); }
.rmp-range .fusion-gallery-image img { height: 230px; object-fit: cover; width: 100%; }
.rmp-range .fusion-image-wrapper .fusion-rollover { display: none; }
.rmp-range .awb-imageframe-caption-title, .rmp-range .fusion-gallery-caption h3 { font-family: "Barlow Condensed", Arial, sans-serif !important; font-size: 24px !important; font-weight: 400; color: #fff !important; text-transform: none; }
/* System at a Glance key/value lists */
.rmp-kv { margin: 0; }
.rmp-kv > div { display: flex; justify-content: space-between; gap: 24px; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.22); }
.rmp-kv dt { color: rgba(255,255,255,.8); font-size: 15px; margin: 0; }
.rmp-kv dd { color: #fff; font-weight: 700; font-size: 15px; margin: 0; text-align: right; }
.rmp-kv sub { font-size: .7em; }
/* Compare table */
.rmp-table-wrap { overflow-x: auto; }
.rmp-table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; }
.rmp-table th { text-align: left; font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 500; font-size: 15px; letter-spacing: .04em; text-transform: uppercase; color: var(--rmp-navy); background: #eef0f4; padding: 12px 14px; border-bottom: 1px solid var(--rmp-navy); white-space: nowrap; }
.rmp-table td { padding: 11px 14px; border-bottom: 1px solid #e4e6ec; color: var(--rmp-navy); vertical-align: top; }
.rmp-table td:first-child { font-weight: 700; }
.rmp-table tbody tr:hover td { background: #f7f8fa; }
.fusion-body .rmp-h3 { font-size: 26px; margin: 0 0 12px; text-transform: none; }
/* Accordion */
.rmp-accordion .fusion-toggle-heading { font-family: Roboto, Arial, sans-serif !important; font-weight: 400 !important; font-size: 21px !important; color: var(--rmp-navy) !important; }
.rmp-accordion .fusion-panel { padding: 6px 0; }
.rmp-accordion .toggle-content p { font-size: 15px; line-height: 1.55; color: var(--rmp-navy); max-width: 860px; }
.rmp-media img { display: block; width: 100%; height: 360px; object-fit: cover; border-bottom: 5px solid var(--rmp-orange); margin: 0 !important; }

/* 15 Oct: value-prop column headings light weight */
.fusion-body .rmp-value-col h3 { font-weight: 300; }

/* 15 Oct: Design Range names always visible over the photo, bottom-left on a navy fade */
.rmp-range .fusion-gallery-image { position: relative; overflow: hidden; }
.rmp-range .awb-imageframe-caption-container { opacity: 1 !important; visibility: visible !important; transform: none !important; position: absolute; left: 0; right: 0; bottom: 0; top: auto !important; height: auto !important; padding: 70px 18px 16px !important; background: linear-gradient(180deg, rgba(5,9,37,0) 0%, rgba(5,9,37,.85) 100%) !important; display: block !important; }
.rmp-range .awb-imageframe-caption { position: static !important; transform: none !important; opacity: 1 !important; text-align: left; }
.rmp-range .awb-imageframe-caption-title { margin: 0 !important; }
.rmp-range .fusion-gallery-image::before, .rmp-range .fusion-gallery-image::after { display: none !important; }

/* 15 Oct: gallery caption shows the name only */
.rmp-range .awb-imageframe-caption-text { display: none !important; }

/* 16 Oct: benefit headings 2px larger, one line */
.fusion-body .rmp-benefit h3 { font-size: 28px; white-space: nowrap; }
@media (max-width: 1100px) { .fusion-body .rmp-benefit h3 { white-space: normal; } }

/* 16 Oct: photo strip, seamless and one height (Avada carousel renders swiper slides) */
.rmp-strip .swiper-slide, .rmp-strip .fusion-carousel-item-wrapper, .rmp-strip .fusion-image-wrapper, .rmp-strip .fusion-image-wrapper a { height: 320px !important; display: block; }
.rmp-strip .fusion-image-wrapper img { width: 100% !important; height: 320px !important; object-fit: cover; display: block; }
.rmp-strip .swiper-slide { margin: 0 !important; }
.rmp-strip .fusion-carousel-nav .awb-swiper-button { background: rgba(5,9,37,.6); }

/* 16 Oct: static photo strip replaces the carousel */
.rmp-photo-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; width: 100%; }
.rmp-photo-strip a { display: block; height: 320px; }
.rmp-photo-strip img { width: 100%; height: 320px; object-fit: cover; display: block; margin: 0 !important; }
.fusion-text:has(> .rmp-photo-strip), .fusion-text:has(> p > .rmp-photo-strip) p { margin: 0; }
@media (max-width: 800px) { .rmp-photo-strip { grid-template-columns: repeat(2, 1fr); } .rmp-photo-strip a, .rmp-photo-strip img { height: 180px; } }

/* 16 Oct: gallery grid flush with the content edges; button rows start flush with the content edge in every section */
.rmp-range.fusion-gallery { margin-left: -10px; margin-right: -10px; width: calc(100% + 20px); }
.fusion-builder-row-inner:has(.fusion-button) { margin-left: 0 !important; margin-right: 0 !important; width: 100%; }
.fusion-builder-row-inner:has(.fusion-button) > .fusion-layout-column:first-child > .fusion-column-wrapper { margin-left: 0 !important; }

/* 16 Oct: variant cards, larger text */
.fusion-body .rmp-variant-body h3 { font-size: 30px; }
.rmp-variant-body p { font-size: 17px; line-height: 1.6; }

/* 16 Oct: glance rows one fixed height; subscripts no longer stretch the line box */
.rmp-kv > div { height: 58px; padding: 0; align-items: center; }
.rmp-kv dt, .rmp-kv dd { line-height: 1.3; }
.rmp-kv sub { font-size: .65em; line-height: 0; position: relative; top: .3em; vertical-align: baseline; }

/* 16 Oct: table header row in Roboto Bold, title case */
.rmp-table th { font-family: Roboto, Arial, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: 0; text-transform: none; }

/* 16 Oct: section intro paragraphs wrap at a readable measure, no single-word last lines */
.fusion-fullwidth .fusion-title + .fusion-text > p:first-child { max-width: 860px; text-wrap: pretty; }

/* 16 Oct: accordion icon box hovers navy, icon stays orange */
.rmp-accordion .fusion-panel:hover .fa-fusion-box, .rmp-accordion .panel-title a:hover .fa-fusion-box, .rmp-accordion .fusion-panel .active .fa-fusion-box { background-color: var(--rmp-navy) !important; }
.rmp-accordion .fusion-panel:hover .fa-fusion-box::before, .rmp-accordion .panel-title a:hover .fa-fusion-box::before { color: var(--rmp-orange) !important; }

/* 16 Oct: chevron on dropdown items that open a third level */
.rmp-header .awb-menu__sub-ul li.menu-item-has-children > a, .rmp-header .awb-menu__sub-ul li.menu-item-has-children > .awb-menu__sub-a { position: relative; padding-right: 44px !important; }
.rmp-header .awb-menu__sub-ul li.menu-item-has-children > a::after, .rmp-header .awb-menu__sub-ul li.menu-item-has-children > .awb-menu__sub-a::after { content: ""; position: absolute; right: 22px; top: 50%; width: 7px; height: 7px; border: solid currentColor; border-width: 1.5px 1.5px 0 0; transform: translateY(-50%) rotate(45deg); opacity: .8; }

/* 16 Oct: stat box labels in teal */
.rmp-why .rmp-stat .rmp-eyebrow { color: var(--rmp-cyan); }

/* ---- Application page components, 16 Oct ---- */
.rmp-who { background: #fff; border-bottom: 5px solid var(--rmp-orange); padding: 22px 22px 24px; height: 100%; }
.fusion-body .rmp-who h3 { font-size: 22px; line-height: 1.15; margin: 0 0 8px; text-transform: none; }
.rmp-who p { font-size: 14px; line-height: 1.5; margin: 0; color: var(--awb-color6, #5c607a); }
.fusion-layout-column:has(.rmp-who) > .fusion-column-wrapper { height: 100%; }
.fusion-text:has(.rmp-who) { height: 100%; }
.rmp-reqs { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 40px; border-top: 1px solid var(--rmp-navy); }
.rmp-reqs li { padding: 12px 0; border-bottom: 1px solid #d9dbe3; break-inside: avoid; font-size: 16px; color: var(--rmp-navy); }
.rmp-sys { background: #fff; border-bottom: 5px solid var(--rmp-orange); height: 100%; }
.rmp-sys img { display: block; width: 100%; height: 200px; object-fit: cover; margin: 0 !important; }
.rmp-sys-body { padding: 20px 24px 24px; }
.rmp-sys-body .rmp-eyebrow { font-size: 15px; margin-bottom: 4px; }
.fusion-body .rmp-sys-body h3 { font-size: 26px; line-height: 1.1; margin: 0 0 12px; text-transform: none; }
.rmp-sys-body ul { list-style: none; margin: 0; padding: 0; }
.rmp-sys-body li { padding: 7px 0; border-top: 1px solid #e4e6ec; font-size: 15px; }
.rmp-sys-body li a { color: var(--rmp-navy); text-decoration: none; }
.rmp-sys-body li a:hover { color: var(--rmp-cyan); }
.fusion-layout-column:has(.rmp-sys) > .fusion-column-wrapper, .fusion-text:has(.rmp-sys) { height: 100%; }
@media (max-width: 800px) { .rmp-reqs { columns: 1; } }

/* 16 Oct: Who Decides as a numbered chain; requirements grouped into five themed columns */
.rmp-chain-label { display: grid; grid-template-columns: 1fr 1fr; margin: 0 0 10px; font-family: "Barlow Condensed", Arial, sans-serif; font-size: 16px; letter-spacing: .05em; text-transform: uppercase; color: var(--rmp-cyan); }
.rmp-chain { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px 24px; border-top: 1px solid var(--rmp-navy); padding-top: 18px; position: relative; }
.rmp-chain li { position: relative; }
.rmp-chain .n { display: block; font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 500; font-size: 34px; line-height: 1; color: var(--rmp-orange); margin: 0 0 10px; }
.fusion-body .rmp-chain h3 { font-size: 20px; line-height: 1.15; margin: 0 0 6px; text-transform: none; }
.rmp-chain p { font-size: 14px; line-height: 1.5; margin: 0; color: var(--awb-color6, #5c607a); }
.rmp-chain li:nth-child(5) { border-top: 1px solid #d9dbe3; padding-top: 18px; }
.rmp-chain li:nth-child(n+5) { border-top: 1px solid #d9dbe3; padding-top: 18px; }
.rmp-group { border-top: 1px solid var(--rmp-orange); padding-top: 16px; height: 100%; }
.fusion-body .rmp-group h3 { font-size: 24px; line-height: 1.1; margin: 0 0 12px; text-transform: none; }
.rmp-group ul { list-style: none; margin: 0; padding: 0; }
.rmp-group li { padding: 8px 0; border-top: 1px solid #e4e6ec; font-size: 15px; color: var(--rmp-navy); line-height: 1.35; }
.rmp-group li:first-child { border-top: 0; }
@media (max-width: 1000px) { .rmp-chain { grid-template-columns: repeat(2, 1fr); } }

/* 16 Oct: project-stage strip (application pages, version 2) */
.rmp-step { border-top: 1px solid var(--rmp-orange); padding-top: 18px; height: 100%; }
.rmp-step .n { display: block; font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 500; font-size: 40px; line-height: 1; color: var(--rmp-orange); margin: 0 0 12px; }
.fusion-body .rmp-step h3 { font-size: 26px; line-height: 1.1; margin: 0 0 10px; text-transform: none; }
.rmp-step p { font-size: 15px; line-height: 1.55; margin: 0; color: var(--rmp-navy); text-wrap: pretty; }

/* 16 Oct: systems cards, tighter body, cards end after their list */
.rmp-sys { height: auto; }
.fusion-layout-column:has(.rmp-sys) > .fusion-column-wrapper, .fusion-text:has(.rmp-sys) { height: auto; }
.rmp-sys-body { padding: 14px 24px 10px; }
.rmp-sys-body .rmp-eyebrow, .rmp-sys-body p { margin-top: 0 !important; }
.rmp-sys-body li:last-child { padding-bottom: 12px; }

/* 16 Oct: systems cards equal height again, with the tighter body */
.rmp-sys { height: 100%; display: flex; flex-direction: column; }
.rmp-sys-body { flex: 1 1 auto; }
.fusion-layout-column:has(.rmp-sys) { align-self: stretch !important; }
.fusion-layout-column:has(.rmp-sys) > .fusion-column-wrapper { height: 100%; display: flex; flex-direction: column; }
.fusion-text:has(.rmp-sys) { flex: 1 1 auto; display: flex; }
.fusion-text:has(.rmp-sys) > .rmp-sys, .fusion-text:has(.rmp-sys) > p { flex: 1 1 auto; margin: 0; display: flex; flex-direction: column; }

/* 16 Oct: systems card body, less room above the eyebrow */
.rmp-sys-body { padding-top: 6px; }
.rmp-sys-body .rmp-eyebrow { margin-bottom: 2px; }

/* 16 Oct: WordPress paragraph margins inside the systems cards removed */
.rmp-sys p, .fusion-text:has(.rmp-sys) > p { margin: 0 !important; }
.rmp-sys img { margin: 0 !important; }

/* 16 Oct: systems card eyebrow and heading larger */
.rmp-sys-body .rmp-eyebrow { font-size: 18px; margin-top: 8px !important; margin-bottom: 4px; }
.fusion-body .rmp-sys-body h3 { font-size: 30px; margin-bottom: 14px; }

/* 16 Oct: page-top and footer bars match the 5px tile/card bases */
body { border-top: 5px solid var(--rmp-orange); }

/* 20 Oct: accordion toggle hover is orange box, white icon */
.rmp-accordion.fusion-accordian .panel-title a:not(.active):hover .fa-fusion-box, .rmp-accordion.fusion-accordian .panel-title a:not(.active).hover .fa-fusion-box { background-color: var(--rmp-orange) !important; border-color: var(--rmp-orange) !important; }
.rmp-accordion.fusion-accordian .panel-title a:not(.active):hover .fa-fusion-box::before, .rmp-accordion.fusion-accordian .panel-title a:not(.active).hover .fa-fusion-box::before { color: #fff !important; }

/* 20 Oct: sticky header is shorter with smaller nav text */
.rmp-header .awb-menu__main-a { transition: font-size .2s ease; }
.fusion-body .rmp-header.fusion-sticky-transition { padding-top: 10px !important; padding-bottom: 10px !important; }
.rmp-header.fusion-sticky-transition .awb-menu__main-ul > .menu-item > .awb-menu__main-a { font-size: 19px !important; }
.rmp-header.fusion-sticky-transition .fusion-imageframe img { max-width: 160px; }

/* 20 Oct: column "more" link under benefit columns */
.rmp-benefit .rmp-more { display: inline-block; margin-top: 14px; font-family: Roboto, Arial, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .02em; text-transform: uppercase; color: var(--rmp-cyan); text-decoration: none; }
.rmp-benefit .rmp-more::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: translateY(-1px) rotate(45deg); }
.rmp-benefit .rmp-more:hover { color: var(--rmp-navy); }

/* 21 Oct: Products hub requirement routes, inline link list, note line */
.rmp-route { position: relative; background: #fff; border: 1px solid var(--awb-color5, #e4e6ec); border-bottom: 5px solid var(--rmp-orange); padding: 22px 24px 24px; height: 100%; transition: transform .15s ease; }
.rmp-route:hover { transform: translateY(-2px); }
.fusion-body .rmp-route h3 { font-size: 24px; line-height: 1.1; margin: 0 0 8px; text-transform: none; }
.rmp-route h3 a { color: var(--rmp-navy); text-decoration: none; }
.rmp-route h3 a::after { content: ""; position: absolute; inset: 0; }
.rmp-route p { font-size: 14px; line-height: 1.45; margin: 0; color: var(--awb-color6, #5c6478); }
.rmp-inline-list { list-style: none; margin: 18px 0 26px !important; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.rmp-inline-list li a { display: inline-block; font-family: Roboto, Arial, sans-serif; font-weight: 700; font-size: 13px; letter-spacing: .02em; text-transform: uppercase; color: var(--rmp-navy); border: 1px solid var(--rmp-navy); padding: 7px 12px; text-decoration: none; }
.rmp-inline-list li a:hover { background: var(--rmp-navy); color: #fff; }
.rmp-note { font-size: 15px; line-height: 1.55; color: var(--rmp-navy); border-left: 3px solid var(--rmp-cyan); padding-left: 16px; margin: 0; }
.rmp-note a { color: var(--rmp-cyan); font-weight: 700; }

/* 21 Oct: requirement route cards equal height (same pattern as .rmp-sys) */
.fusion-layout-column:has(.rmp-route) { align-self: stretch !important; }
.fusion-layout-column:has(.rmp-route) > .fusion-column-wrapper { height: 100%; display: flex; flex-direction: column; }
.fusion-text:has(.rmp-route) { flex: 1 1 auto; display: flex; }
.fusion-text:has(.rmp-route) > .rmp-route { flex: 1 1 auto; }

/* 22 Oct (TH #53): text link hover is orange */
.rmp-benefit .rmp-more:hover, .rmp-note a:hover, .rmp-inline-list li a:hover { color: var(--rmp-orange); }
.rmp-inline-list li a:hover { background: transparent; border-color: var(--rmp-orange); }

/* 22 Oct: enquiry forms (Gravity Forms, gravity theme) */
.rmp-form { background: #fff; border: 1px solid var(--awb-color5, #e4e6ec); border-bottom: 5px solid var(--rmp-orange); padding: 36px 36px 32px; }
.rmp-form .gform_wrapper.gravity-theme .gfield_label, .rmp-form .gform_wrapper.gravity-theme legend.gfield_label { font-family: Roboto, Arial, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .01em; color: var(--rmp-navy); margin-bottom: 8px; }
.rmp-form .gform_wrapper.gravity-theme .gfield_required { color: var(--rmp-orange); }
.rmp-form .gform_wrapper.gravity-theme input[type=text], .rmp-form .gform_wrapper.gravity-theme input[type=email], .rmp-form .gform_wrapper.gravity-theme input[type=tel], .rmp-form .gform_wrapper.gravity-theme select, .rmp-form .gform_wrapper.gravity-theme textarea {
  font-family: Roboto, Arial, sans-serif; font-size: 15px; color: var(--rmp-navy); background: #fff; border: 1px solid #c3c7d3; border-radius: 0; padding: 0 14px; height: 50px; line-height: 48px; width: 100%; box-shadow: none; }
.rmp-form .gform_wrapper.gravity-theme textarea { height: 150px; line-height: 1.5; padding: 12px 14px; }
.rmp-form .gform_wrapper.gravity-theme input:focus, .rmp-form .gform_wrapper.gravity-theme select:focus, .rmp-form .gform_wrapper.gravity-theme textarea:focus { outline: none; border-color: var(--rmp-cyan); box-shadow: 0 0 0 2px rgba(0,178,200,.25); }
.rmp-form .gform_wrapper.gravity-theme .gfield_description { font-size: 13px; color: var(--awb-color6, #5c6478); padding-top: 6px; }
.rmp-form .gform_wrapper.gravity-theme .ginput_complex label, .rmp-form .gform_wrapper.gravity-theme .gfield_checkbox label, .rmp-form .gform_wrapper.gravity-theme .gfield_consent_label { font-family: Roboto, Arial, sans-serif; font-size: 14px; color: var(--rmp-navy); }
.rmp-form .gform_wrapper.gravity-theme .gfield_checkbox input[type=checkbox], .rmp-form .gform_wrapper.gravity-theme .ginput_container_consent input[type=checkbox] { accent-color: var(--rmp-cyan); width: 18px; height: 18px; }
.rmp-form .gform_wrapper.gravity-theme .gfield_consent_label a { color: var(--rmp-cyan); font-weight: 700; }
.rmp-form .gform_wrapper.gravity-theme .gform_footer { margin-top: 8px; padding: 0; }
.rmp-form .gform_wrapper.gravity-theme .gform_button { font-family: Roboto, Arial, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: .04em; text-transform: uppercase; color: #fff; background: var(--rmp-cyan); border: 0; border-radius: 0; height: 50px; line-height: 50px; padding: 0 28px; cursor: pointer; transition: background .15s ease; }
.rmp-form .gform_wrapper.gravity-theme .gform_button:hover { background: #008ea0; }
.rmp-form .gform_wrapper.gravity-theme .gfield_validation_message, .rmp-form .gform_wrapper.gravity-theme .gform_validation_errors { font-family: Roboto, Arial, sans-serif; background: #fff4f1; border: 1px solid var(--rmp-orange); color: var(--rmp-navy); border-radius: 0; box-shadow: none; }
.rmp-form .gform_wrapper.gravity-theme .gfield_error input, .rmp-form .gform_wrapper.gravity-theme .gfield_error select, .rmp-form .gform_wrapper.gravity-theme .gfield_error textarea { border-color: var(--rmp-orange); }
.rmp-form .gform_confirmation_message .rmp-confirm { font-size: 17px; line-height: 1.6; color: var(--rmp-navy); margin: 0; }
.rmp-form .gform_confirmation_message a { color: var(--rmp-cyan); font-weight: 700; }
.rmp-step-side { margin-bottom: 26px; }
.rmp-step-side .n { font-size: 30px; }
.rmp-contact { font-size: 15px; line-height: 1.7; color: var(--rmp-navy); margin: 0; }
.rmp-contact a { color: var(--rmp-cyan); font-weight: 700; }
.rmp-contact.light, .rmp-contact.light a { color: #fff; }
.rmp-route-lg { padding: 30px 32px 32px; }
.fusion-body .rmp-route-lg h3 { font-size: 32px; margin: 6px 0 12px; }
.rmp-route-lg p { font-size: 15px; }

/* 22 Oct: beat Avada's later dynamic form rules (navy --form_bg_color) and stop side steps stretching */
.fusion-body .rmp-form .gform_wrapper input[type=text], .fusion-body .rmp-form .gform_wrapper input[type=email], .fusion-body .rmp-form .gform_wrapper input[type=tel], .fusion-body .rmp-form .gform_wrapper .gfield select, .fusion-body .rmp-form .gform_wrapper .gfield .gravity-select-parent select, .fusion-body .rmp-form .gform_wrapper textarea {
  background-color: #fff !important; color: var(--rmp-navy) !important; border: 1px solid #c3c7d3 !important; border-radius: 0 !important; box-shadow: none !important; font-family: Roboto, Arial, sans-serif !important; font-size: 15px !important; }
.fusion-body .rmp-form .gform_wrapper .gfield select { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23050925' stroke-width='2'/></svg>") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; -webkit-appearance: none; appearance: none; padding-right: 40px !important; }
.fusion-body .rmp-form .gform_wrapper input:focus, .fusion-body .rmp-form .gform_wrapper select:focus, .fusion-body .rmp-form .gform_wrapper textarea:focus { border-color: var(--rmp-cyan) !important; box-shadow: 0 0 0 2px rgba(0,178,200,.25) !important; }
.fusion-body .rmp-form .gform_wrapper ::placeholder { color: #8a90a3; }
.rmp-step.rmp-step-side { height: auto; }

/* 22 Oct: Avada paints form labels white (--form_text_color) and injects its own select arrow; override both */
.fusion-body .rmp-form .gform_wrapper .gfield_label, .fusion-body .rmp-form .gform_wrapper legend, .fusion-body .rmp-form .gform_wrapper .gform-field-label, .fusion-body .rmp-form .gform_wrapper .ginput_complex label, .fusion-body .rmp-form .gform_wrapper .gfield_checkbox label, .fusion-body .rmp-form .gform_wrapper .gfield_consent_label, .fusion-body .rmp-form .gform_wrapper .gfield_description { color: var(--rmp-navy) !important; }
.fusion-body .rmp-form .gform_wrapper .gfield_description { color: var(--awb-color6, #5c6478) !important; }
.fusion-body .rmp-form .gravity-select-parent .select-arrow, .fusion-body .rmp-form .gravity-select-parent::after { display: none !important; }
.fusion-body .rmp-form .gravity-select-parent { background: transparent !important; }

/* 22 Oct: project card status line */
.rmp-pcard .rmp-pcard-status { display: inline-block; margin-top: 10px; font-family: Roboto, Arial, sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; color: var(--rmp-cyan); }
.rmp-pcard .rmp-pcard-status.progress { color: var(--rmp-orange); }
.rmp-pcard .rmp-pcard-status { display: block; white-space: nowrap; }

/* ================= 22 Oct: mobile pass (phone and small tablet) ================= */
@media (max-width: 800px) {
  /* type scale */
  .fusion-body h2.fusion-title-heading, .fusion-body .fusion-title h2 { font-size: 34px !important; line-height: 1.1 !important; }
  .fusion-body .rmp-hero-h1, .fusion-body h1.fusion-title-heading { font-size: 40px !important; line-height: 1.05 !important; }
  .fusion-body .rmp-footer h2.fusion-title-heading { font-size: 36px !important; }
  .fusion-body .rmp-eyebrow, .fusion-body .rmp-hero .rmp-eyebrow { font-size: 18px; }
  .fusion-body .rmp-benefit h3, .fusion-body .rmp-value-col h3, .fusion-body .rmp-step h3 { font-size: 24px !important; white-space: normal; }
  .fusion-body .rmp-sys-body h3, .fusion-body .rmp-pcard .rmp-pcard-body h3, .fusion-body .rmp-route-lg h3 { font-size: 26px !important; line-height: 1.1 !important; }
  .fusion-body .rmp-route h3 { font-size: 22px !important; }
  .fusion-body .rmp-statement { font-size: 22px; }
  .rmp-hero p { font-size: 16px !important; }
  /* header: toggle on the right, logo left */
  .rmp-header .awb-menu { display: flex; justify-content: flex-end; }
  .rmp-header .awb-menu__m-toggle { margin-left: auto !important; padding-right: 0 !important; }
  /* photo cards: let the text set the height instead of clipping it */
  .rmp-pcard { height: auto !important; min-height: 300px; }
  .rmp-pcard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
  .rmp-pcard .rmp-pcard-body { position: relative; padding-top: 150px; }
  /* forms: form first, side notes after */
  .fusion-builder-row:has(.rmp-form) .fusion-layout-column:has(.rmp-form) { order: -1; margin-bottom: 40px; }
  .rmp-form { padding: 22px 18px 20px; }
  .rmp-form .gform_wrapper.gravity-theme .gform_button { width: 100%; }
  /* tables scroll inside their box with a visible edge */
  .rmp-table-wrap { border: 1px solid #e4e6ec; -webkit-overflow-scrolling: touch; }
  .rmp-table { min-width: 560px; }
  .rmp-table-wrap::after { content: "Scroll sideways for the full table"; display: block; font-family: Roboto, Arial, sans-serif; font-size: 12px; color: #5c6478; padding: 8px 12px; background: #f7f8fa; }
  /* spacing */
  .rmp-step { margin-bottom: 8px; }
  .rmp-kv > div { height: auto; min-height: 58px; padding: 10px 0; }
  .rmp-kv dd { text-align: left; }
  .rmp-kv > div { flex-direction: column; align-items: flex-start; gap: 2px; }
}

/* 22 Oct: mobile toggle icon states were inverted (X when closed). Bars when closed, X when open. */
.rmp-header .awb-menu__m-toggle[aria-expanded="false"] .awb-menu__m-collapse-icon-open { display: none !important; }
.rmp-header .awb-menu__m-toggle[aria-expanded="false"] .awb-menu__m-collapse-icon-close { display: inline-block !important; }
.rmp-header .awb-menu__m-toggle[aria-expanded="true"] .awb-menu__m-collapse-icon-open { display: inline-block !important; }
.rmp-header .awb-menu__m-toggle[aria-expanded="true"] .awb-menu__m-collapse-icon-close { display: none !important; }

/* 22 Oct: Avada ships only the icon glyphs it thinks it uses; the bars glyph was missing, so set it directly */
.rmp-header .awb-menu__m-collapse-icon-close::before { content: "\f0c9" !important; font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free", "awb-icons" !important; font-weight: 900 !important; }
@media (max-width: 800px) {
  .fusion-body h3.fusion-title-heading { font-size: 28px !important; line-height: 1.1 !important; }
  .fusion-body .rmp-hero .rmp-eyebrow { font-size: 18px !important; }
}
.rmp-header .awb-menu__m-toggle[aria-expanded="false"] .awb-menu__m-collapse-icon-close, .rmp-header .awb-menu__m-toggle[aria-expanded="true"] .awb-menu__m-collapse-icon-open { opacity: 1 !important; visibility: visible !important; }
.rmp-header .awb-menu__m-toggle[aria-expanded="false"] .awb-menu__m-collapse-icon-open, .rmp-header .awb-menu__m-toggle[aria-expanded="true"] .awb-menu__m-collapse-icon-close { opacity: 0 !important; }

/* 22 Oct: staging-only review markers for unvalidated claims. Remove this block (or set display:none) at launch. */
.rmp-check { display: inline-block; vertical-align: middle; margin: 0 0 0 8px; padding: 2px 7px; font-family: Roboto, Arial, sans-serif; font-weight: 700; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; line-height: 1.4; color: var(--rmp-orange); border: 1px solid var(--rmp-orange); background: rgba(248,80,48,.08); white-space: nowrap; }
.rmp-kv .rmp-check, .fusion-fullwidth[style*="rgb(5, 9, 37)"] .rmp-check { color: #fff; border-color: var(--rmp-orange); background: var(--rmp-orange); }

/* 22 Oct (Tim): navy bands use option B, flat navy with a soft teal glow, instead of the angled stripes */
.fusion-body .fusion-flex-container.rmp-diagonals, .rmp-diagonals {
  background-color: #050925 !important;
  background-image: radial-gradient(120% 90% at 85% 10%, rgba(0,178,200,.22) 0%, rgba(0,178,200,0) 55%), radial-gradient(90% 80% at 0% 100%, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 60%) !important;
  background-size: auto !important; background-repeat: no-repeat !important; background-position: 0 0 !important;
}
.rmp-diagonals::before, .rmp-diagonals::after, .rmp-diagonals .fusion-row::before { display: none !important; }

/* 22 Oct (Tim): footer takes a variation of option B, glow low on the left so it mirrors the content bands above */
.fusion-body .fusion-flex-container.rmp-footer, .rmp-footer {
  background-color: #050925 !important;
  background-image: radial-gradient(110% 80% at 8% 95%, rgba(0,178,200,.20) 0%, rgba(0,178,200,0) 55%), radial-gradient(80% 70% at 100% 0%, rgba(255,255,255,.045) 0%, rgba(255,255,255,0) 60%) !important;
  background-repeat: no-repeat !important; background-size: auto !important; background-position: 0 0 !important;
}

/* Project detail pages, 28 Oct 2026 */
.rmp-facts .fusion-builder-row { align-items: stretch; }
.rmp-fact { padding: 14px 0 10px; border-top: 2px solid var(--rmp-navy); }
.rmp-fact .rmp-eyebrow { font-size: 15px; margin-bottom: 4px; }
.rmp-fact-v { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 400; font-size: 24px; line-height: 1.15; color: var(--rmp-navy); margin: 0; }
.rmp-fact-v a { color: var(--rmp-navy); text-decoration: none; border-bottom: 1px solid var(--rmp-cyan); }
.rmp-fact-v a:hover { color: var(--rmp-orange-text); border-color: var(--rmp-orange); }
.rmp-proj-gallery .fusion-gallery-image img { display: block; width: 100%; height: 420px; object-fit: cover; }
@media (max-width: 800px) { .rmp-fact { padding: 10px 0 6px; } .rmp-fact-v { font-size: 20px; } .rmp-proj-gallery .fusion-gallery-image img { height: 240px; } }
.rmp-projnav { display: flex; justify-content: space-between; gap: 24px; margin: 0; }
.rmp-projnav a { display: flex; align-items: center; gap: 14px; padding: 26px 0; color: var(--rmp-navy); text-decoration: none; flex: 1; }
.rmp-projnav a.next { justify-content: flex-end; text-align: right; }
.rmp-projnav .arr { font-family: "Barlow Condensed", Arial, sans-serif; font-size: 34px; line-height: 1; color: var(--rmp-cyan); transition: transform .15s ease, color .15s ease; }
.rmp-projnav .lbl { display: block; font-family: "Barlow Condensed", Arial, sans-serif; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: #6B6B66; }
.rmp-projnav .nm { display: block; font-family: "Barlow Condensed", Arial, sans-serif; font-size: 26px; line-height: 1.1; color: var(--rmp-navy); }
.rmp-projnav a.prev .lbl, .rmp-projnav a.prev .nm { display: block; }
.rmp-projnav a > span.lbl + span.nm { margin-left: 0; }
.rmp-projnav a.prev { flex-wrap: nowrap; }
.rmp-projnav a .lbl, .rmp-projnav a .nm { flex: 0 0 auto; }
.rmp-projnav a.prev .lbl { order: 2; } .rmp-projnav a.prev .nm { order: 3; } .rmp-projnav a.prev .arr { order: 1; }
.rmp-projnav a:hover .arr { color: var(--rmp-orange); } .rmp-projnav a.next:hover .arr { transform: translateX(4px); } .rmp-projnav a.prev:hover .arr { transform: translateX(-4px); }
.rmp-projnav a:hover .nm { color: var(--rmp-orange-text); }
.rmp-hero .rmp-eyebrow.white a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.5); }
.rmp-hero .rmp-eyebrow.white a:hover { border-color: #fff; }
@media (max-width: 800px) { .rmp-projnav { flex-direction: column; gap: 0; } .rmp-projnav a { padding: 16px 0; border-top: 1px solid #e4e6ec; } .rmp-projnav a.next { justify-content: flex-start; text-align: left; } }
/* 28 Oct 2026: utility bar hidden while it has no items (About RMP, Blog and the EUR flag are off for the quick launch). Remove this rule when they return. */
.fusion-body .rmp-utility { display: none !important; }
/* 28 Oct 2026 launch: review claim markers hidden on the live domain. Remove this rule to show them again for a review round. */
.rmp-check { display: none !important; }

/* Complianz consent banner, brand styling, 28 Oct 2026. Complianz writes its palette inline, so these are direct overrides. */
.cmplz-cookiebanner { background-color: #050925 !important; color: #ffffff !important; border-radius: 0 !important; border-top: 5px solid var(--rmp-orange) !important; box-shadow: 0 10px 30px rgba(0,0,0,.35) !important; }
.cmplz-cookiebanner .cmplz-title, .cmplz-cookiebanner .cmplz-message, .cmplz-cookiebanner .cmplz-header, .cmplz-cookiebanner .cmplz-links a, .cmplz-cookiebanner .cmplz-close { color: #ffffff !important; }
.cmplz-cookiebanner .cmplz-close svg { fill: #ffffff !important; }
.cmplz-cookiebanner .cmplz-title { font-family: "Barlow Condensed", Arial, sans-serif; font-weight: 400; font-size: 26px; text-transform: none; }
.cmplz-cookiebanner .cmplz-message { font-size: 14px; line-height: 1.5; }
.cmplz-cookiebanner .cmplz-btn { font-family: "Barlow Condensed", Arial, sans-serif; font-size: 16px; letter-spacing: .04em; text-transform: uppercase; border-radius: 0 !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background-color: #00B2C8 !important; border-color: #00B2C8 !important; color: #050925 !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover { background-color: #008ea0 !important; border-color: #008ea0 !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny { background-color: transparent !important; border: 2px solid #ffffff !important; color: #ffffff !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover { background-color: #ffffff !important; color: #050925 !important; }
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences, .cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { background-color: transparent !important; border-color: transparent !important; color: #ffffff !important; text-decoration: underline; }
.cmplz-cookiebanner .cmplz-links a { text-decoration: underline; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category { background-color: rgba(255,255,255,.08) !important; color: #ffffff !important; border-radius: 0 !important; }
.cmplz-cookiebanner .cmplz-categories .cmplz-category * { color: #ffffff !important; }
.cmplz-cookiebanner .cmplz-category .cmplz-banner-checkbox .cmplz-label { background-color: #6B6B66 !important; }
.cmplz-cookiebanner .cmplz-category .cmplz-banner-checkbox input:checked + .cmplz-label { background-color: #00B2C8 !important; }

/* 28 Oct 2026, bottom-right corner tidy: reCAPTCHA badge hidden (Google allows this when the notice is shown by the form), banner keeps the corner */
.grecaptcha-badge { visibility: hidden !important; }
.fusion-body .rmp-form .rmp-recaptcha-note, .rmp-recaptcha-note { font-size: 12px !important; line-height: 1.5; color: #6B6B66 !important; margin: 6px 0 0 !important; }
.rmp-recaptcha-note a { color: #6B6B66 !important; text-decoration: underline; }
.fusion-body .rmp-form .gfield.rmp-recaptcha-note { margin-top: 0 !important; }

/* Why RMP pillar pages (10 Nov 2026): long-form accordion at reading size */
.rmp-accordion-read .toggle-content p, .rmp-accordion-read .toggle-content li { font-size: 17px; line-height: 1.6; color: var(--rmp-navy); max-width: 760px; }
.rmp-accordion-read .toggle-content ul { margin: 0 0 16px 20px; padding: 0; }
.rmp-accordion-read .toggle-content li { margin-bottom: 6px; }
.rmp-accordion-read .toggle-content { padding-bottom: 10px; }

/* Why RMP imagery sample (10 Nov 2026): icon cards built from native elements, and the photo beside long text */
.fusion-body .fusion-layout-column.rmp-icard > .fusion-column-wrapper { background-color: #fff !important; border: 1px solid var(--awb-color5, #e4e6ec) !important; border-bottom: 5px solid var(--rmp-orange) !important; padding: 26px 24px 26px !important; height: 100%; }
.fusion-body .rmp-icard h3 { font-size: 24px; line-height: 1.1; margin: 0 0 8px; text-transform: none; }
.rmp-icard p { font-size: 14px; line-height: 1.45; margin: 0; color: var(--awb-color6, #5c6478); }
.rmp-icard .fusion-text { margin: 0; }
.fusion-layout-column.rmp-icard { align-self: stretch !important; }
.rmp-side-photo, .rmp-side-photo img { display: block; width: 100%; }
.rmp-side-photo img { border-bottom: 5px solid var(--rmp-orange); }
.rmp-side-photo img { aspect-ratio: 3 / 4; object-fit: cover; }

/* Legal pages (Privacy Policy, Cookie Policy), 10 Nov 2026 */
.rmp-legal, .rmp-legal p, .rmp-legal li, .rmp-legal td, .rmp-legal #cmplz-document, .rmp-legal #cmplz-document p, .rmp-legal #cmplz-document li { font-size: 16px; line-height: 1.65; color: var(--rmp-navy); }
.rmp-legal p { margin: 0 0 16px; }
.rmp-legal ul, .rmp-legal ol { margin: 0 0 18px 22px; padding: 0; }
.rmp-legal li { margin-bottom: 6px; }
.fusion-body .rmp-legal h2, .fusion-body .rmp-legal #cmplz-document h2 { font-size: 30px; line-height: 1.15; margin: 40px 0 14px; text-transform: none; color: var(--rmp-navy); }
.fusion-body .rmp-legal h3, .fusion-body .rmp-legal #cmplz-document h3 { font-size: 23px; line-height: 1.2; margin: 28px 0 10px; text-transform: none; color: var(--rmp-navy); }
.fusion-body .rmp-legal h4, .fusion-body .rmp-legal #cmplz-document h4 { font-size: 19px; margin: 22px 0 8px; text-transform: none; color: var(--rmp-navy); }
.rmp-legal a { color: var(--awb-color4, #008ea0); text-decoration: underline; }
.rmp-legal a:hover { color: var(--rmp-orange); }
.rmp-legal #cmplz-document { max-width: none; }
.rmp-legal strong { font-weight: 700; }
