/* WA Battery Rebate -----------------------------------------------------------
   Part 1: the hub page /solar-battery-rebate (lead magnet: calculator + guide), scoped to .page-solar-battery-rebate.
   Part 2: legacy rules still used by the four sub-pages (/solar-battery-rebate/*), which link this file via
   extra_head. Their body classes are page-solar-battery-rebate-<sub>, so Part 1 does not leak into them. */

/* ===========================================================================
   Part 1: hub page
   =========================================================================== */

/* Hero: compact copy on top, one full-width calculator card beneath (three columns on wide screens).
   The photo is the original rooftop shot under a navy overlay; the header is absolute over the hero, hence the
   large top padding. Everything is in normal flow at natural height. */
.page-solar-battery-rebate .page-hero { height: auto; min-height: 0; padding: 0; align-items: stretch; background-attachment: scroll; background-position: center 38%; }
.page-solar-battery-rebate .page-hero::before { background: linear-gradient(180deg, rgba(45,59,98,.84) 0%, rgba(45,59,98,.62) 100%); }
.page-solar-battery-rebate .page-hero__inner { display: block; max-width: var(--container); padding: 168px clamp(var(--pad-x-md), 2.6vw, var(--pad-x)) 56px; }
.rb-hub-hero__text { min-width: 0; margin: 0 0 28px; }
/* Note: site.css sets .page-hero p (0,1,1), so every paragraph inside the hero needs an element-qualified selector */
.page-solar-battery-rebate .page-hero p.rb-hub-hero__eyebrow { color: var(--orange); font-size: 12px; line-height: 1.45; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 10px; }
.page-solar-battery-rebate .page-hero h1 { font-size: clamp(32px, 3.2vw, 46px); line-height: 1.12; letter-spacing: -.01em; max-width: 24ch; margin: 0 0 12px; }
.page-solar-battery-rebate .page-hero p.rb-hub-hero__sub { font-size: 17px; line-height: 1.6; max-width: 62ch; margin: 0 0 10px; }
.page-solar-battery-rebate .page-hero p.rb-hub-hero__checked { font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.82); margin: 0; }

/* Calculator card (entrance is CSS only, so the card is visible without JavaScript) */
.rb-calc { background: #fff; color: var(--dark); border: 1px solid var(--border); border-radius: 10px; padding: 28px 30px 26px; box-shadow: 0 12px 32px rgba(20,28,50,.22); text-align: left; min-width: 0; animation: rb-card-in 320ms cubic-bezier(.22,1,.36,1) 60ms both; }
@keyframes rb-card-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.rb-calc__title { font-family: var(--font-head); font-weight: 700; font-size: 28px; line-height: 1.15; color: var(--navy); margin: 0 0 18px; }
.rb-calc__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.1fr); gap: 0 28px; align-items: start; }
.rb-calc__col { min-width: 0; }
.rb-calc__col + .rb-calc__col { border-left: 1px solid var(--border); padding-left: 28px; }
.rb-calc__group { border: 0; padding: 0; margin: 0 0 18px; min-width: 0; }
.rb-calc__group:last-child { margin-bottom: 0; }
.rb-calc__group legend { display: block; padding: 0; margin: 0 0 8px; font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--dark); }

/* Option controls: native radios styled through their label, with a visible indicator so the selected state
   does not rely on colour alone. Borders are reserved at 2px so selecting never shifts the layout. */
.rb-seg { display: flex; gap: 8px; }
.rb-seg__opt { flex: 1 1 0; position: relative; min-width: 0; margin: 0; }
.rb-seg__opt input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.rb-seg__opt span { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; padding: 0 12px; border: 2px solid #d0d0d0; border-radius: 6px; background: #fff; font-size: 15px; line-height: 1.3; font-weight: 600; color: var(--dark); cursor: pointer; transition: border-color 150ms, background-color 150ms, color 150ms; }
.rb-seg__opt span::before { content: ""; flex: 0 0 auto; width: 16px; height: 16px; border: 2px solid #9aa3ad; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 5px #fff; transition: border-color 120ms, background-color 120ms; }
.rb-seg__opt input:checked + span { border-color: var(--orange); background: #fff5ea; color: var(--navy); }
.rb-seg__opt input:checked + span::before { border-color: var(--orange); background: var(--orange); }
.rb-seg__opt input:focus-visible + span { outline: 2px solid var(--navy); outline-offset: 2px; }
.rb-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 10px; }
.rb-chip { display: inline-flex; align-items: center; justify-content: center; gap: 5px; min-height: 44px; padding: 0 11px; border: 2px solid #d0d0d0; border-radius: 6px; background: #fff; font-family: var(--font-body); font-size: 14px; font-weight: 600; color: var(--dark); cursor: pointer; transition: border-color 150ms, background-color 150ms, color 150ms; }
.rb-chip::before { content: ""; width: 6px; height: 10px; margin: -3px 0 0; border-right: 2px solid var(--orange); border-bottom: 2px solid var(--orange); transform: rotate(45deg); opacity: 0; transition: opacity 120ms; }
.rb-chip.is-active { border-color: var(--orange); background: #fff5ea; color: var(--navy); }
.rb-chip.is-active::before { opacity: 1; }
.rb-chip:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
@media (hover: hover) {
  .rb-seg__opt input:not(:checked) + span:hover, .rb-chip:not(.is-active):hover { border-color: #9aa3ad; background: var(--grey-1); }
}
.rb-calc__num { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; }
.rb-calc__num input { width: 104px; min-height: 44px; padding: 0 12px; border: 2px solid #d0d0d0; border-radius: 6px; background: #fff; font-family: var(--font-body); font-size: 16px; font-weight: 600; color: var(--dark); transition: border-color 140ms, box-shadow 140ms; }
.rb-calc__num input:focus { outline: none; border-color: var(--navy); }
.rb-calc__num input:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.rb-calc p.rb-calc__hint { font-size: 13px; line-height: 1.5; color: var(--muted); margin: 8px 0 0; max-width: none; }

/* Result panel (column 3): tabular figures so a changing value does not jitter; the CTA sits under the panel */
.rb-result { background: var(--navy); color: #fff; border-radius: 8px; padding: 16px 20px 18px; }
.rb-result__list { margin: 0; }
.rb-result__row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 5px 0; }
.rb-result__row dt { font-size: 15px; font-weight: 600; margin: 0; }
.rb-result__row dd { font-family: var(--font-head); font-weight: 900; font-size: 22px; font-variant-numeric: tabular-nums; text-align: right; margin: 0; white-space: nowrap; }
.rb-result__row--total { border-top: 1px solid rgba(255,255,255,.28); margin-top: 6px; padding-top: 12px; }
.rb-result__row--total dt { font-size: 17px; font-weight: 700; }
.rb-result__row--total dd { font-size: 34px; line-height: 1; color: var(--orange); }
.rb-result__cta { display: flex; flex-direction: column; align-items: stretch; gap: 6px; margin-top: 14px; }
.rb-result__cta .btn { width: 100%; min-height: 50px; border-radius: 6px; color: var(--navy); box-shadow: 0 2px 0 var(--orange-dark); transition: background-color 160ms, box-shadow 160ms, transform 160ms; }
.rb-result__cta .btn:hover { background: #ffa640; box-shadow: 0 3px 0 var(--orange-dark); }
.rb-result__cta .btn:active { transform: translateY(0); box-shadow: 0 1px 0 var(--orange-dark); }
.rb-result__cta .btn:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
@media (hover: hover) { .rb-result__cta .btn:hover { transform: translateY(-1px); } .rb-result__cta .btn:active { transform: translateY(0); } }
.rb-result__tel { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; color: var(--dark); font-size: 16px; font-weight: 600; }
.rb-result__tel:hover { text-decoration: underline; }
.rb-result__tel:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; border-radius: 4px; }

/* Full-width notes under the columns: the live calculation breakdown and the eligibility / estimate wording */
.rb-calc__notes { border-top: 1px solid var(--border); margin-top: 22px; padding-top: 16px; }
.rb-calc p.rb-result__how { font-size: 14px; line-height: 1.55; color: var(--dark); margin: 0 0 8px; max-width: none; }
.rb-calc p.rb-result__note { font-size: 13px; line-height: 1.55; color: var(--muted); margin: 0; max-width: none; }

/* Guide sections */
.rb-hub-section .container { max-width: 1000px; }
.rb-hub-section--grey { background: rgba(242,242,242,.5); }
.rb-hub-section h2 { margin-bottom: 16px; }
.rb-hub-lead { font-size: 18px; line-height: 1.5; max-width: 780px; margin: 0 0 28px; }
.rb-hub-section p a.link-orange, .rb-hub-section .prose a { color: var(--orange); font-weight: 700; }
.rb-hub-accordion { margin-top: 24px; }
.rb-hub-accordion .accordion__item { border: 1px solid var(--border); }
.rb-hub-accordion .accordion__body ul { list-style: disc; padding-left: 24px; margin: 0; }
.rb-hub-accordion .accordion__body li { margin-bottom: 6px; }
.rb-hub-accordion .accordion__body p:last-child { margin-bottom: 0; }

/* On this page + quick answer */
.rb-toc { background: #fff; border-bottom: 1px solid var(--border); padding: 14px var(--pad-x); }
.rb-toc .container { max-width: var(--container); display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.rb-toc p.rb-toc__label { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); margin: 0; }
.rb-toc__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rb-toc__list a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid var(--border); border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--navy); text-decoration: none; transition: border-color 150ms, background-color 150ms, color 150ms; }
.rb-toc__list a:hover { border-color: var(--orange); color: var(--orange-dark); }
.rb-toc__list a:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.rb-answer { background: var(--cream); padding-top: 44px; padding-bottom: 44px; }
.rb-answer .container { max-width: var(--container); }
.rb-answer h2 { margin: 0 0 14px; }
.rb-answer p.rb-answer__lead { font-size: 18px; line-height: 1.6; color: var(--dark); margin: 0 0 18px; max-width: 78ch; }
.rb-answer__facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 32px; max-width: 1100px; }
.rb-answer__facts li { position: relative; padding-left: 20px; font-size: 15px; line-height: 1.5; color: var(--dark); }
.rb-answer__facts li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.rb-answer__facts strong { color: var(--navy); }
#quick-answer { scroll-margin-top: 16px; }
@media (max-width: 767px) {
  .rb-toc { padding: 12px var(--pad-x-sm); }
  .rb-toc__list a { min-height: 40px; font-size: 13px; padding: 0 12px; }
  .rb-answer { padding-top: 32px; padding-bottom: 32px; }
  .rb-answer p.rb-answer__lead { font-size: 16px; }
  .rb-answer__facts { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .rb-toc__list a { transition: none; } }

/* Battery rebates at a glance */
.rb-glance { background: var(--cream); }
.rb-glance .container { max-width: var(--container); }
.rb-glance__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin: 0 0 24px; }
.rb-glance__head h2 { margin: 0 0 6px; }
.rb-glance p.rb-glance__sub { font-size: 18px; line-height: 1.5; color: var(--muted); margin: 0; }
.rb-glance p.rb-glance__checked { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; font-size: 14px; font-weight: 600; color: var(--navy); margin: 0 0 4px; white-space: nowrap; }
.rb-glance__cal { width: 16px; height: 14px; border: 2px solid var(--navy); border-top-width: 4px; border-radius: 3px; }
.rb-glance__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 24px; align-items: stretch; }
.rb-glance__panel { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 30px; box-shadow: 0 2px 8px rgba(0,0,0,.05); min-width: 0; display: flex; flex-direction: column; }
.rb-glance p.rb-glance__eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--orange); margin: 0 0 10px; }
.rb-glance__panel h3 { font-family: var(--font-head); font-weight: 700; font-size: 30px; line-height: 1.15; color: var(--navy); margin: 0 0 10px; }
.rb-glance__panel h4 { font-family: var(--font-head); font-weight: 700; font-size: 20px; line-height: 1.2; color: var(--navy); margin: 0 0 8px; }
.rb-glance p.rb-glance__lead { font-size: 16px; line-height: 1.55; color: var(--dark); margin: 0 0 20px; }
.rb-glance__retailers { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; margin: 4px 0 20px; }
.rb-glance__retailer { min-width: 0; }
.rb-glance__retailer + .rb-glance__retailer { border-left: 1px solid var(--border); padding-left: 32px; }
.rb-glance p.rb-glance__who { font-size: 17px; font-weight: 700; color: var(--navy); margin: 0 0 6px; }
.rb-glance p.rb-glance__amount { font-family: var(--font-head); font-weight: 900; font-size: 40px; line-height: 1.1; color: var(--navy); margin: 0 0 6px; white-space: nowrap; }
.rb-count { display: inline-grid; color: var(--orange); font-variant-numeric: tabular-nums; }
.rb-count::after { content: attr(data-final); grid-area: 1 / 1; visibility: hidden; } /* reserves the final width */
.rb-count__anim { grid-area: 1 / 1; text-align: left; }
.rb-glance p.rb-glance__where { font-size: 14px; line-height: 1.45; color: var(--muted); margin: 0; }
.rb-glance p.rb-glance__note { position: relative; display: block; background: #fff5ea; border-radius: 6px; padding: 14px 16px 14px 50px; font-size: 15px; line-height: 1.5; color: var(--dark); margin: 0 0 20px; }
.rb-glance__info { position: absolute; left: 16px; top: 15px; width: 22px; height: 22px; border: 2px solid var(--orange); border-radius: 50%; color: var(--orange); font-family: var(--font-head); font-weight: 900; font-size: 14px; line-height: 18px; text-align: center; }
.rb-glance__rule { border: 0; border-top: 1px solid var(--border); margin: 0 0 20px; }
.rb-glance__link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; min-height: 44px; font-size: 17px; font-weight: 700; color: var(--navy); text-decoration: underline; text-decoration-color: rgba(45,59,98,.4); text-underline-offset: 4px; transition: color 150ms, text-decoration-color 150ms; }
.rb-glance__link:hover { color: var(--orange-dark); text-decoration-color: currentColor; }
.rb-glance__link:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; border-radius: 3px; }
#rebate-calculator, #federal, #eligibility { scroll-margin-top: 16px; }
@media (max-width: 1024px) {
  .rb-glance__grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .rb-glance__head { flex-direction: column; align-items: flex-start; gap: 8px; }
  .rb-glance__panel { padding: 22px 20px; }
  .rb-glance__panel h3 { font-size: 26px; }
  .rb-glance__retailers { grid-template-columns: 1fr; gap: 18px 0; }
  .rb-glance__retailer + .rb-glance__retailer { border-left: 0; border-top: 1px solid var(--border); padding-left: 0; padding-top: 18px; }
  .rb-glance p.rb-glance__amount { font-size: 34px; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-glance__link { transition: none; }
}

/* Fact cards */
.rb-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 0 0 28px; }
.rb-fact { background: #fff; border: 1px solid var(--border); border-radius: 15px; padding: 24px; box-shadow: 0 2px 10px rgba(0,0,0,.05); }
.rb-fact p.rb-fact__label { font-size: 13px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--muted); margin: 0 0 8px; }
.rb-fact p.rb-fact__value { font-family: var(--font-head); font-weight: 900; font-size: 34px; line-height: 1.1; color: var(--navy); margin: 0 0 8px; }
.rb-fact__value em { font-style: normal; font-size: 18px; color: var(--orange); }
.rb-fact p { font-size: 14px; line-height: 1.5; margin: 0; }

/* Already have solar? */
.rb-existing { padding-top: 0; padding-bottom: 60px; }
.rb-existing .container { max-width: var(--container); }
.rb-existing__card { display: grid; grid-template-columns: minmax(0, 46fr) minmax(0, 54fr); background: #fff; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.rb-existing__media { position: relative; min-height: 300px; }
.rb-existing__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.rb-existing__body { padding: 36px 40px 36px 36px; display: flex; flex-direction: column; justify-content: center; }
.rb-existing h2 { margin: 0 0 12px; }
.rb-existing p.rb-existing__lead { font-size: 17px; line-height: 1.55; color: var(--dark); margin: 0 0 18px; max-width: 62ch; }
.rb-existing__list { list-style: none; margin: 0 0 24px; padding: 0; display: grid; gap: 10px; }
.rb-existing__list li { display: flex; align-items: flex-start; gap: 12px; font-size: 16px; line-height: 1.45; color: var(--dark); }
.rb-existing__tick { flex: 0 0 auto; width: 22px; height: 22px; margin-top: 1px; }
.rb-existing__tick circle { fill: var(--orange); }
.rb-existing__tick path { fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.rb-existing__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
.rb-existing__btn { border-radius: 6px; min-height: 50px; padding: 0 26px; box-shadow: 0 2px 0 var(--orange-dark); transition: background-color 160ms, box-shadow 160ms, transform 160ms; }
.rb-existing__btn:hover { background: #ffa640; box-shadow: 0 3px 0 var(--orange-dark); }
.rb-existing__btn:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
.rb-existing__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 17px; font-weight: 700; color: var(--navy); text-decoration: underline; text-decoration-color: rgba(45,59,98,.4); text-underline-offset: 4px; transition: color 150ms, text-decoration-color 150ms; }
.rb-existing__link:hover { color: var(--orange-dark); text-decoration-color: currentColor; }
.rb-existing__link:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; border-radius: 3px; }
@media (hover: hover) { .rb-existing__btn:hover { transform: translateY(-1px); } }
@media (max-width: 900px) {
  .rb-existing__card { grid-template-columns: 1fr; }
  .rb-existing__media { min-height: 0; aspect-ratio: 16 / 9; }
  .rb-existing__body { padding: 24px 20px 26px; }
}
@media (max-width: 767px) {
  .rb-existing__body { padding: 20px 16px 22px; }
  .rb-existing__actions { flex-direction: column; align-items: stretch; gap: 12px; }
  .rb-existing__btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-existing__btn, .rb-existing__link { transition: none; }
  .rb-existing__btn:hover { transform: none; }
}

/* Eligibility explorer */
.rb-elig .container { max-width: var(--container); }
.rb-elig p.rb-elig__eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--orange); margin: 0 0 10px; }
.rb-elig h2 { margin: 0 0 12px; }
.rb-elig p.rb-elig__intro { font-size: 18px; line-height: 1.55; color: var(--muted); max-width: 62ch; margin: 0 0 12px; }
.rb-elig__source { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 16px; font-weight: 700; color: var(--navy); text-decoration: underline; text-decoration-color: rgba(45,59,98,.4); text-underline-offset: 4px; transition: color 150ms, text-decoration-color 150ms; }
.rb-elig__source:hover { color: var(--orange-dark); text-decoration-color: currentColor; }
.rb-elig__source:focus-visible, .rb-explore__vpp:focus-visible, .rb-elig__footer a:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; border-radius: 3px; }
.rb-elig__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; align-items: start; margin: 20px 0 28px; }
.rb-elig__list h3 { font-family: var(--font-head); font-weight: 700; font-size: 28px; line-height: 1.2; color: var(--navy); margin: 8px 0 16px; }
.rb-req { list-style: none; margin: 0; padding: 0; }
.rb-req li { display: flex; gap: 20px; align-items: flex-start; padding: 18px 0; border-bottom: 1px solid var(--border); }
.rb-req li:last-child { border-bottom: 0; }
.rb-req__num { flex: 0 0 auto; width: 56px; height: 56px; border-radius: 50%; background: #fff5ea; color: var(--orange); font-family: var(--font-head); font-weight: 900; font-size: 20px; display: flex; align-items: center; justify-content: center; font-variant-numeric: tabular-nums; }
.rb-req h4 { font-family: var(--font-head); font-weight: 700; font-size: 20px; line-height: 1.2; color: var(--navy); margin: 8px 0 4px; }
.rb-req p { font-size: 16px; line-height: 1.5; color: var(--dark); margin: 0; }
.rb-explore { background: #fff; border: 1.5px solid var(--navy); border-radius: 10px; padding: 28px 30px 26px; min-width: 0; }
.rb-explore p.rb-explore__eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--navy); margin: 0 0 8px; }
.rb-explore h3 { font-family: var(--font-head); font-weight: 700; font-size: 26px; line-height: 1.2; color: var(--navy); margin: 0 0 6px; }
.rb-explore p.rb-explore__sub { font-size: 15px; line-height: 1.5; color: var(--muted); margin: 0 0 16px; }
.rb-explore__group { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; }
.rb-explore__group legend { display: block; padding: 0; margin: 0 0 10px; font-family: var(--font-head); font-weight: 700; font-size: 19px; color: var(--navy); }
.rb-explore__group--property { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--border); }
.rb-seg--3 .rb-seg__opt span { padding: 0 10px; }
.rb-stack-opts { display: grid; gap: 8px; }
.rb-stack-opts .rb-seg__opt span { justify-content: flex-start; padding: 0 14px; font-weight: 500; }
.rb-explore__panel { background: #f4f6fb; border-radius: 8px; padding: 18px 20px; margin: 0 0 4px; }
.rb-explore__panel h4 { font-family: var(--font-head); font-weight: 700; font-size: 19px; line-height: 1.25; color: var(--navy); margin: 0 0 6px; }
.rb-explore__panel p { font-size: 15px; line-height: 1.55; color: var(--dark); margin: 0; }
.rb-explore__panel--property { margin-top: 12px; }
.rb-explore p.rb-explore__empty { color: var(--muted); }
.rb-explore__vpp { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; min-height: 40px; font-size: 15px; font-weight: 700; color: var(--navy); text-decoration: underline; text-decoration-color: rgba(45,59,98,.4); text-underline-offset: 4px; transition: color 150ms, text-decoration-color 150ms; }
.rb-explore__vpp:hover { color: var(--orange-dark); text-decoration-color: currentColor; }
.rb-explore__foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 20px; }
.rb-explore p.rb-explore__disclaimer { font-size: 13px; line-height: 1.4; color: var(--muted); margin: 0; }
.rb-explore__btn { border-radius: 6px; min-height: 50px; padding: 0 22px; box-shadow: 0 2px 0 var(--orange-dark); transition: background-color 160ms, box-shadow 160ms, transform 160ms; }
.rb-explore__btn:hover { background: #ffa640; box-shadow: 0 3px 0 var(--orange-dark); }
.rb-explore__btn:active { transform: translateY(0); box-shadow: 0 1px 0 var(--orange-dark); }
.rb-explore__btn:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
@media (hover: hover) { .rb-explore__btn:hover { transform: translateY(-1px); } .rb-explore__btn:active { transform: translateY(0); } }
.rb-elig p.rb-elig__footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 20px; background: var(--cream); border: 1px solid var(--border); border-radius: 8px; padding: 16px 20px; margin: 0 0 28px; font-size: 16px; font-weight: 600; color: var(--dark); }
.rb-elig p.rb-elig__footer .rb-glance__info { position: static; }
.rb-elig p.rb-elig__footer a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; color: var(--navy); text-decoration: underline; text-decoration-color: rgba(45,59,98,.4); text-underline-offset: 4px; border-left: 1px solid var(--border); padding-left: 20px; transition: color 150ms, text-decoration-color 150ms; }
.rb-elig p.rb-elig__footer a:hover { color: var(--orange-dark); text-decoration-color: currentColor; }
.rb-elig .rb-hub-accordion { margin-top: 0; }
@media (max-width: 1024px) {
  .rb-elig__grid { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 767px) {
  .rb-elig p.rb-elig__intro { font-size: 16px; }
  .rb-elig__list h3 { font-size: 24px; }
  .rb-req li { gap: 14px; padding: 14px 0; }
  .rb-req__num { width: 46px; height: 46px; font-size: 17px; }
  .rb-req h4 { font-size: 18px; margin-top: 4px; }
  .rb-explore { padding: 20px 18px; }
  .rb-explore h3 { font-size: 22px; }
  .rb-seg--3 { flex-direction: column; }
  .rb-explore__foot { flex-direction: column; align-items: stretch; }
  .rb-explore__btn { width: 100%; }
  .rb-elig p.rb-elig__footer { flex-direction: column; align-items: flex-start; }
  .rb-elig p.rb-elig__footer a { border-left: 0; padding-left: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-elig__source, .rb-explore__vpp, .rb-elig p.rb-elig__footer a, .rb-explore__btn { transition: none; }
  .rb-explore__btn:hover, .rb-explore__btn:active { transform: none; }
}

/* How WA and federal support work together */
.rb-anchor { position: relative; top: -16px; display: block; height: 0; }
.rb-support .container { max-width: var(--container); }
.rb-support h2 { margin: 0 0 8px; }
.rb-support p.rb-support__sub { font-size: 18px; line-height: 1.5; color: var(--muted); max-width: 70ch; margin: 0 0 20px; }
.rb-support__module { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 24px 24px 20px; }
.rb-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1.15fr); gap: 12px; align-items: stretch; }
.rb-flow__tile { display: flex; align-items: center; gap: 14px; min-height: 96px; padding: 16px 18px; border: 1px solid var(--border); border-radius: 8px; background: #fff; }
.rb-flow__tile--result { background: #f1f4fb; border-color: #d9e0f0; }
.rb-flow__ico { flex: 0 0 auto; width: 40px; height: 40px; color: var(--orange); }
.rb-flow__ico svg { width: 40px; height: 40px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rb-flow__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.rb-flow__text strong { font-family: var(--font-head); font-weight: 700; font-size: 19px; line-height: 1.2; color: var(--navy); }
.rb-flow__text span { font-size: 14px; line-height: 1.4; color: var(--muted); }
.rb-flow__op { display: flex; align-items: center; justify-content: center; font-family: var(--font-head); font-weight: 900; font-size: 30px; line-height: 1; color: var(--orange); padding: 0 2px; }
.rb-support p.rb-support__note { position: relative; padding: 4px 0 0 34px; margin: 14px 0 18px; font-size: 15px; line-height: 1.5; color: var(--dark); }
.rb-support p.rb-support__note .rb-glance__info { position: absolute; left: 0; top: 3px; }
.rb-disc { border: 1px solid var(--border); border-radius: 8px; background: #fff; margin: 0 0 8px; }
.rb-disc summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 20px; font-family: var(--font-head); font-weight: 700; font-size: 19px; line-height: 1.3; color: var(--navy); cursor: pointer; transition: background-color 160ms; }
.rb-disc summary::-webkit-details-marker { display: none; }
.rb-disc summary::after { content: "+"; flex: 0 0 auto; font-weight: 700; font-size: 26px; line-height: 1; color: var(--navy); transition: transform 180ms; }
.rb-disc[open] summary::after { content: "\2212"; }
@media (hover: hover) { .rb-disc summary:hover { background: var(--grey-1); } }
.rb-disc summary:focus-visible { outline: 2px solid var(--navy); outline-offset: -4px; border-radius: 8px; }
.rb-disc__body { padding: 0 20px 18px; }
.rb-disc__body p { font-size: 16px; line-height: 1.6; color: var(--dark); margin: 0; }
.rb-disc__body a { color: var(--navy); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.rb-ex { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); gap: 12px; align-items: center; background: #f1f4fb; border-radius: 8px; padding: 22px 20px 18px; margin: 4px 0 12px; }
.rb-ex__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; min-width: 0; }
.rb-ex__label { font-size: 17px; font-weight: 600; color: var(--navy); }
.rb-ex__value { font-family: var(--font-head); font-weight: 900; font-size: 38px; line-height: 1.1; color: var(--navy); white-space: nowrap; }
.rb-ex__item--total .rb-ex__value { color: var(--orange); }
.rb-ex__op { font-family: var(--font-head); font-weight: 700; font-size: 26px; color: var(--navy); border-left: 1px solid #d9e0f0; padding-left: 12px; }
.rb-disc__body p.rb-ex__note { font-size: 14px; line-height: 1.55; color: var(--muted); }
.rb-loanstrip { display: flex; align-items: center; gap: 20px; background: #fff5ea; border-radius: 8px; padding: 18px 24px; margin: 20px 0 20px; }
.rb-loanstrip__ico { flex: 0 0 auto; width: 44px; height: 44px; color: var(--orange); padding-right: 20px; border-right: 1px solid rgba(45,59,98,.15); box-sizing: content-box; }
.rb-loanstrip__ico svg { width: 44px; height: 44px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rb-loanstrip__text { display: flex; flex-direction: column; gap: 4px; flex: 1 1 auto; min-width: 0; }
.rb-loanstrip__text strong { font-family: var(--font-head); font-weight: 700; font-size: 19px; color: var(--navy); }
.rb-loanstrip__text span { font-size: 15px; line-height: 1.45; color: var(--dark); }
.rb-loanstrip__link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; flex: 0 0 auto; font-size: 17px; font-weight: 700; color: var(--navy); text-decoration: underline; text-decoration-color: rgba(45,59,98,.4); text-underline-offset: 4px; transition: color 150ms, text-decoration-color 150ms; }
.rb-loanstrip__link:hover { color: var(--orange-dark); text-decoration-color: currentColor; }
.rb-loanstrip__link:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; border-radius: 3px; }
.rb-support p.rb-support__cta { display: flex; justify-content: flex-end; margin: 0; }
.rb-support__btn { border-radius: 6px; min-height: 50px; padding: 0 24px; box-shadow: 0 2px 0 var(--orange-dark); transition: background-color 160ms, box-shadow 160ms, transform 160ms; }
.rb-support__btn:hover { background: #ffa640; box-shadow: 0 3px 0 var(--orange-dark); }
.rb-support__btn:active { transform: translateY(0); box-shadow: 0 1px 0 var(--orange-dark); }
.rb-support__btn:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
@media (hover: hover) { .rb-support__btn:hover { transform: translateY(-1px); } .rb-support__btn:active { transform: translateY(0); } }
@media (max-width: 1024px) {
  .rb-flow { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .rb-flow__op:nth-of-type(4), .rb-flow__op:nth-of-type(6) { grid-column: 1 / -1; padding: 0; }
}
@media (max-width: 767px) {
  .rb-support__module { padding: 18px 16px 14px; }
  .rb-flow { grid-template-columns: 1fr; gap: 8px; }
  .rb-flow__tile { min-height: 0; }
  .rb-flow__op { padding: 0; font-size: 26px; }
  .rb-disc summary { padding: 14px 16px; font-size: 17px; }
  .rb-disc__body { padding: 0 16px 16px; }
  .rb-ex { grid-template-columns: 1fr; gap: 8px; padding: 18px 16px 14px; }
  .rb-ex__op { border-left: 0; padding-left: 0; text-align: center; }
  .rb-ex__value { font-size: 32px; }
  .rb-loanstrip { flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px 18px; }
  .rb-loanstrip__ico { border-right: 0; padding-right: 0; }
  .rb-support p.rb-support__cta { justify-content: stretch; }
  .rb-support__btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-disc summary, .rb-disc summary::after, .rb-loanstrip__link, .rb-support__btn { transition: none; }
  .rb-support__btn:hover, .rb-support__btn:active { transform: none; }
}

/* Battery size cards */
.rb-sizes .container { max-width: var(--container); }
.rb-sizes h2.rb-sizes__title { text-align: center; margin: 0 0 8px; }
.rb-sizes p.rb-sizes__sub { text-align: center; font-size: 18px; line-height: 1.5; color: var(--muted); margin: 0 auto 28px; max-width: 70ch; }
.rb-sizes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; align-items: stretch; }
.rb-size { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--border); border-radius: 6px; overflow: hidden; transition: border-color 150ms, box-shadow 150ms; }
@media (hover: hover) { .rb-size:hover { border-color: #d5d5d5; box-shadow: 0 6px 18px rgba(45,59,98,.10); } }
.rb-size__img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; background: var(--grey-1); }
.rb-size__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 20px 24px 8px; }
.rb-size h3.rb-size__kwh { font-family: var(--font-head); font-weight: 900; font-size: 34px; line-height: 1.1; color: var(--navy); margin: 0 0 4px; }
.rb-size p.rb-size__config { font-size: 18px; line-height: 1.3; color: var(--dark); margin: 0 0 8px; }
.rb-size p.rb-size__modules { font-size: 15px; line-height: 1.4; color: var(--muted); margin: 0 0 14px; padding-bottom: 14px; border-bottom: 1px solid var(--border); }
.rb-size__rows { margin: 0; padding: 0 0 12px; border-bottom: 1px solid var(--border); }
.rb-size__row { display: grid; grid-template-columns: minmax(96px, 34%) 1fr; gap: 12px; align-items: baseline; padding: 4px 0; font-size: 15px; line-height: 1.45; }
.rb-size__row dt { font-weight: 700; color: var(--dark); margin: 0; }
.rb-size__row dd { margin: 0; color: var(--dark); }
.rb-size__toggle { margin-top: auto; display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 52px; padding: 8px 0; border: 0; background: none; text-align: left; font-family: var(--font-head); font-weight: 700; font-size: 18px; color: var(--navy); cursor: pointer; transition: color 150ms; }
.rb-size__toggle:hover { color: var(--orange-dark); }
.rb-size__toggle:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; border-radius: 3px; }
.rb-size__arrow { flex: 0 0 auto; font-size: 24px; line-height: 1; color: var(--orange); transition: transform 150ms; }
.rb-size__toggle:hover .rb-size__arrow { transform: translateX(2px); }
.rb-size__toggle[aria-expanded="true"] .rb-size__arrow { transform: rotate(90deg); }
.rb-size__more { display: grid; grid-template-rows: 0fr; visibility: hidden; transition: grid-template-rows 180ms ease, visibility 180ms; }
.rb-size__more.is-open { grid-template-rows: 1fr; visibility: visible; }
.rb-size__more-inner { min-height: 0; overflow: hidden; }
.rb-size__more p { margin: 0; padding: 0 0 16px; font-size: 15px; line-height: 1.55; color: var(--dark); }
.rb-size__more a { display: inline-block; margin-top: 6px; font-weight: 700; color: var(--navy); text-decoration: underline; text-underline-offset: 3px; }
.rb-size__more a:hover { color: var(--orange-dark); }
.rb-sizes p.rb-sizes__note { text-align: center; font-size: 15px; line-height: 1.5; color: var(--dark); margin: 24px auto 6px; max-width: 80ch; }
.rb-sizes p.rb-sizes__caption { text-align: center; font-size: 13px; line-height: 1.4; color: var(--muted); margin: 0; }
@media (max-width: 1180px) {
  .rb-sizes__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
}
@media (max-width: 767px) {
  .rb-sizes__grid { grid-template-columns: 1fr; gap: 16px; }
  .rb-size__body { padding: 16px 16px 6px; }
  .rb-size h3.rb-size__kwh { font-size: 30px; }
  .rb-sizes p.rb-sizes__sub { font-size: 16px; margin-bottom: 20px; }
}
@media (max-width: 360px) {
  .rb-size__row { grid-template-columns: 1fr; gap: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-size, .rb-size__toggle, .rb-size__arrow, .rb-size__more { transition: none; }
  .rb-size__toggle:hover .rb-size__arrow { transform: none; }
}

/* How your battery application works */
.rb-hiw .container { max-width: var(--container); }
.rb-hiw__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; margin-bottom: 26px; }
.rb-hiw h2 { margin: 0 0 6px; }
.rb-hiw p.rb-hiw__sub { font-size: 18px; line-height: 1.5; color: var(--muted); margin: 0; max-width: 70ch; }
.rb-hiw__tools { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; text-align: right; }
.rb-hiw p.rb-hiw__hint { font-size: 15px; color: var(--muted); margin: 0; }
.rb-hiw__demo { display: flex; align-items: center; gap: 10px; }
.rb-hiw__demo-btn { min-height: 40px; padding: 0 14px; border: 1px solid var(--border); border-radius: 6px; background: #fff; font-family: var(--font-body); font-size: 14px; font-weight: 700; color: var(--navy); cursor: pointer; transition: border-color 150ms, background-color 150ms, color 150ms; }
.rb-hiw__demo-btn:hover { border-color: var(--navy); }
.rb-hiw__demo-btn:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.rb-hiw__demo-label { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--orange-dark); }
.rb-hiw__demo-label::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--orange); }
.rb-hiw p.rb-hiw__reduced { font-size: 13px; color: var(--muted); margin: 0; max-width: 40ch; }

/* Explorer: one DOM. Desktop = tabs row + shared panel slot. Mobile = accordion rows. No-JS = ordered process. */
.rb-hiw__explorer { position: relative; }
.rb-hiw__track { display: none; }
.rb-hiw__stages { display: grid; gap: 12px; }
.rb-hiw__stage { display: contents; }
.rb-hiw__tab { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 56px; padding: 8px 12px; border: 1px solid var(--border); border-radius: 8px; background: #fff; text-align: left; font-family: var(--font-body); font-size: 17px; font-weight: 700; color: var(--navy); cursor: pointer; transition: border-color 160ms, background-color 160ms, color 160ms; }
.rb-hiw__num { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--navy); background: #fff; font-family: var(--font-head); font-weight: 700; font-size: 18px; color: var(--navy); transition: background-color 160ms, border-color 160ms, color 160ms; }
.rb-hiw__tab[aria-selected="true"] .rb-hiw__num { background: var(--orange); border-color: var(--orange); color: #fff; }
.rb-hiw__tab:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.rb-hiw__panel { background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 22px 20px; display: grid; gap: 18px; }
.rb-hiw__panel:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.rb-hiw.is-ready .rb-hiw__panel[hidden] { display: none; }
.rb-hiw p.rb-hiw__eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--orange-dark); margin: 0 0 8px; }
.rb-hiw__intro h3 { font-family: var(--font-head); font-weight: 900; font-size: 26px; line-height: 1.15; color: var(--navy); margin: 0 0 10px; }
.rb-hiw__intro p { font-size: 16px; line-height: 1.55; color: var(--dark); margin: 0; }
.rb-hiw__intro a { color: var(--navy); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.rb-hiw__col h4 { font-family: var(--font-head); font-weight: 700; font-size: 18px; color: var(--navy); margin: 0 0 10px; }
.rb-hiw__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rb-hiw__col li { position: relative; padding-left: 20px; font-size: 15px; line-height: 1.45; color: var(--dark); }
.rb-hiw__col li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.rb-hiw__nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.rb-hiw__prev, .rb-hiw__next { display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 22px; border-radius: 8px; font-family: var(--font-head); font-weight: 700; font-size: 17px; cursor: pointer; transition: background-color 150ms, border-color 150ms, color 150ms, box-shadow 150ms; }
.rb-hiw__prev { border: 1px solid var(--navy); background: #fff; color: var(--navy); }
.rb-hiw__prev:hover:not(:disabled) { background: var(--grey-1); }
.rb-hiw__prev:disabled { opacity: .45; cursor: default; }
.rb-hiw__next { border: 1px solid var(--navy); background: var(--navy); color: #fff; }
.rb-hiw__next:hover { background: #3b4c7c; }
.rb-hiw__prev span, .rb-hiw__next span { color: var(--orange); transition: transform 150ms; }
.rb-hiw__next:hover span { transform: translateX(2px); }
.rb-hiw__prev:hover:not(:disabled) span { transform: translateX(-2px); }
.rb-hiw__prev:focus-visible, .rb-hiw__next:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
.rb-hiw p.rb-hiw__note { text-align: center; font-size: 14px; color: var(--muted); margin: 18px 0 0; }
@keyframes rb-hiw-enter { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.rb-hiw__panel.is-enter { animation: rb-hiw-enter 180ms ease-out; }

/* Without JS every panel stays visible: a readable ordered process. Hide the controls that need JS. */
.rb-hiw:not(.is-ready) .rb-hiw__panel[hidden] { display: grid; }
.rb-hiw:not(.is-ready) .rb-hiw__nav, .rb-hiw:not(.is-ready) .rb-hiw__tools { display: none; }

@media (min-width: 768px) {
  .rb-hiw__explorer { padding-top: 0; }
  .rb-hiw__track { display: block; position: absolute; left: calc(100% / 12); right: calc(100% / 12); top: 22px; height: 2px; background: #d9dde6; }
  .rb-hiw__track-fill { display: block; height: 100%; width: 0; background: var(--orange); transition: width 200ms ease; }
  .rb-hiw__stages { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0; }
  .rb-hiw__tab { grid-row: 1; flex-direction: column; justify-content: flex-start; gap: 10px; min-height: 96px; padding: 0 6px 10px; border: 0; border-radius: 0; background: none; font-size: 16px; text-align: center; position: relative; }
  .rb-hiw__tab::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 0; height: 3px; background: var(--orange); border-radius: 2px; transform: translateX(-50%); transition: width 180ms ease; }
  .rb-hiw__tab[aria-selected="true"]::after { width: 64%; }
  .rb-hiw__num { width: 44px; height: 44px; position: relative; z-index: 1; }
  .rb-hiw__tab:hover .rb-hiw__num { border-color: var(--orange); }
  .rb-hiw__label { line-height: 1.25; }
  .rb-hiw__panel { grid-row: 2; grid-column: 1 / -1; margin-top: 22px; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr); gap: 0; padding: 28px 32px 24px; min-height: 260px; }
  .rb-hiw__intro { padding-right: 32px; }
  .rb-hiw__col { padding: 6px 0 6px 28px; border-left: 1px solid var(--border); }
  .rb-hiw__col + .rb-hiw__col { margin-left: 28px; }
  .rb-hiw__nav { border-top: 0; }
  .rb-hiw:not(.is-ready) .rb-hiw__stages { grid-template-columns: 1fr; gap: 12px; }
  .rb-hiw:not(.is-ready) .rb-hiw__track { display: none; }
  .rb-hiw:not(.is-ready) .rb-hiw__panel { grid-row: auto; margin-top: 0; }
}
@media (max-width: 1100px) and (min-width: 768px) {
  .rb-hiw__panel { grid-template-columns: 1fr 1fr; }
  .rb-hiw__intro { grid-column: 1 / -1; padding-right: 0; padding-bottom: 18px; border-bottom: 1px solid var(--border); margin-bottom: 18px; }
  .rb-hiw__col { padding-left: 0; border-left: 0; }
  .rb-hiw__col + .rb-hiw__col { margin-left: 0; padding-left: 24px; border-left: 1px solid var(--border); }
}
@media (max-width: 767px) {
  .rb-hiw__head { margin-bottom: 18px; }
  .rb-hiw__tools { align-items: flex-start; text-align: left; }
  .rb-hiw__tab[aria-selected="true"] { border-color: var(--orange); }
  .rb-hiw__panel { border-top-left-radius: 0; border-top-right-radius: 0; border-top: 0; margin-top: -12px; padding-top: 18px; }
  .rb-hiw__intro h3 { font-size: 22px; }
  .rb-hiw__nav { flex-direction: column; align-items: stretch; }
  .rb-hiw__prev, .rb-hiw__next { justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-hiw__tab, .rb-hiw__num, .rb-hiw__tab::after, .rb-hiw__track-fill, .rb-hiw__prev, .rb-hiw__next, .rb-hiw__prev span, .rb-hiw__next span, .rb-hiw__demo-btn { transition: none; }
  .rb-hiw__panel.is-enter { animation: none; }
  .rb-hiw__next:hover span, .rb-hiw__prev:hover:not(:disabled) span { transform: none; }
}

/* Interest-free loan */
#loan { scroll-margin-top: 16px; }
.rb-loan { background: var(--cream); }
.rb-loan .container { max-width: var(--container); }
.rb-loan__grid { display: grid; grid-template-columns: minmax(0, 43fr) minmax(0, 57fr); gap: 44px; align-items: start; }
.rb-loan p.rb-loan__eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--orange-dark); margin: 0 0 10px; }
.rb-loan h2 { margin: 0 0 18px; }
.rb-loan p.rb-loan__lead { font-size: 18px; line-height: 1.55; color: var(--dark); margin: 0 0 22px; max-width: 58ch; }
.rb-loan__box { display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 1px solid var(--border); border-radius: 8px; padding: 20px 22px; margin: 0 0 20px; }
.rb-loan__info { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; background: var(--orange); color: #fff; font-family: var(--font-head); font-weight: 900; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; }
.rb-loan__box strong { display: block; font-family: var(--font-head); font-weight: 700; font-size: 19px; color: var(--navy); margin: 4px 0 4px; }
.rb-loan__box p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--dark); }
.rb-loan p.rb-loan__source, .rb-loan p.rb-loan__more { margin: 0; }
.rb-loan__source a, .rb-loan__more a, .rb-loan__body a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 17px; font-weight: 600; color: var(--navy); text-decoration: underline; text-decoration-color: rgba(45,59,98,.45); text-underline-offset: 4px; transition: color 150ms, text-decoration-color 150ms; }
.rb-loan__source a:hover, .rb-loan__more a:hover, .rb-loan__body a:hover { color: var(--orange-dark); text-decoration-color: currentColor; }
.rb-loan__source a:focus-visible, .rb-loan__more a:focus-visible, .rb-loan__body a:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; border-radius: 3px; }
.rb-loan__acc { background: #fff; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; }
.rb-loan__item + .rb-loan__item { border-top: 1px solid var(--border); }
.rb-loan__item summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; padding: 18px 24px; font-family: var(--font-head); font-weight: 700; font-size: 21px; line-height: 1.3; color: var(--navy); cursor: pointer; transition: background-color 160ms; }
.rb-loan__item summary::-webkit-details-marker { display: none; }
.rb-loan__item summary::after { content: "+"; flex: 0 0 auto; font-family: var(--font-head); font-weight: 400; font-size: 32px; line-height: 1; color: var(--orange); transition: transform 180ms; }
.rb-loan__item[open] summary::after { content: "\2212"; }
@media (hover: hover) { .rb-loan__item summary:hover { background: var(--grey-1); } }
.rb-loan__item summary:focus-visible { outline: 2px solid var(--navy); outline-offset: -4px; border-radius: 8px; }
.rb-loan__body { padding: 0 24px 22px; }
.rb-loan__body p, .rb-loan__body li { font-size: 16px; line-height: 1.6; color: var(--dark); margin: 0; }
.rb-loan__body p + p { margin-top: 10px; }
.rb-loan__body ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rb-loan__body li { position: relative; padding-left: 20px; }
.rb-loan__body li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.rb-loan p.rb-loan__note { border-top: 1px solid #d9dde6; margin: 34px 0 0; padding-top: 18px; font-size: 14px; line-height: 1.5; color: var(--muted); }
@media (max-width: 1024px) { .rb-loan__grid { gap: 32px; } .rb-loan__item summary { font-size: 19px; } }
@media (max-width: 767px) {
  .rb-loan__grid { grid-template-columns: 1fr; gap: 22px; }
  .rb-loan p.rb-loan__lead { font-size: 16px; }
  .rb-loan__box { padding: 16px; gap: 12px; }
  .rb-loan__item summary { padding: 14px 16px; font-size: 17px; min-height: 56px; }
  .rb-loan__body { padding: 0 16px 16px; }
  .rb-loan p.rb-loan__note { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-loan__item summary, .rb-loan__item summary::after, .rb-loan__source a, .rb-loan__more a, .rb-loan__body a { transition: none; }
}

/* Common questions */
#quote { scroll-margin-top: 16px; }
.rb-faq { background: #fff; }
.rb-faq .container { max-width: var(--container); }
.rb-faq p.rb-faq__eyebrow { text-align: center; font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--orange-dark); margin: 0 0 10px; }
.rb-faq h2 { text-align: center; margin: 0 0 8px; }
.rb-faq p.rb-faq__sub { text-align: center; font-size: 18px; line-height: 1.5; color: var(--muted); margin: 0 auto 32px; max-width: 70ch; }
.rb-faq__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 32px; align-items: start; }
.rb-faq__col { display: flex; flex-direction: column; gap: 18px; }
.rb-faq__item { border: 1px solid var(--border); border-radius: 6px; background: #fff; transition: background-color 150ms, border-color 150ms; }
.rb-faq__item[open] { background: var(--grey-1); }
.rb-faq__item summary { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 64px; padding: 18px 24px; font-family: var(--font-head); font-weight: 700; font-size: 21px; line-height: 1.3; color: var(--navy); cursor: pointer; }
.rb-faq__item summary::-webkit-details-marker { display: none; }
.rb-faq__item summary::after { content: "+"; flex: 0 0 auto; font-family: var(--font-head); font-weight: 400; font-size: 30px; line-height: 1; color: var(--orange); transition: transform 160ms; }
.rb-faq__item[open] summary::after { content: "\2212"; }
@media (hover: hover) { .rb-faq__item:not([open]) summary:hover { background: var(--grey-1); border-radius: 6px; } .rb-faq__item:hover { border-color: #d5d5d5; } }
.rb-faq__item summary:focus-visible { outline: 2px solid var(--navy); outline-offset: -4px; border-radius: 6px; }
.rb-faq__body { padding: 0 24px 22px; }
.rb-faq__body p, .rb-faq__body li { font-size: 16px; line-height: 1.6; color: var(--dark); margin: 0; }
.rb-faq__body p + p, .rb-faq__body ul + p, .rb-faq__body p + ul { margin-top: 10px; }
.rb-faq__body ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rb-faq__body li { position: relative; padding-left: 20px; }
.rb-faq__body li::before { content: ""; position: absolute; left: 2px; top: 10px; width: 7px; height: 7px; border-radius: 50%; background: var(--orange); }
.rb-faq p.rb-faq__more { margin-top: 12px; }
.rb-faq__more a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 16px; font-weight: 600; color: var(--navy); text-decoration: underline; text-decoration-color: rgba(45,59,98,.45); text-underline-offset: 4px; transition: color 150ms, text-decoration-color 150ms; }
.rb-faq__more a:hover { color: var(--orange-dark); text-decoration-color: currentColor; }
.rb-faq__more a:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; border-radius: 3px; }
@keyframes rb-faq-reveal { from { opacity: 0; } to { opacity: 1; } }
.rb-faq__item[open] .rb-faq__body { animation: rb-faq-reveal 180ms ease-out; }
.rb-faq__strip { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; background: #eef3fb; border-radius: 8px; padding: 30px 40px; margin-top: 36px; }
.rb-faq__strip h3 { font-family: var(--font-head); font-weight: 900; font-size: 28px; line-height: 1.15; color: var(--navy); margin: 0 0 8px; }
.rb-faq__strip p { font-size: 17px; line-height: 1.5; color: var(--dark); margin: 0; }
.rb-faq__btn { border-radius: 8px; min-height: 58px; padding: 0 44px; font-size: 18px; box-shadow: 0 2px 0 var(--orange-dark); transition: background-color 160ms, box-shadow 160ms, transform 160ms; }
.rb-faq__btn:hover { background: #ffa640; box-shadow: 0 3px 0 var(--orange-dark); }
.rb-faq__btn:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
@media (hover: hover) { .rb-faq__btn:hover { transform: translateY(-1px); } }
@media (max-width: 1024px) { .rb-faq__item summary { font-size: 19px; padding: 16px 20px; } .rb-faq__body { padding: 0 20px 20px; } }
@media (max-width: 767px) {
  .rb-faq__cols { grid-template-columns: 1fr; gap: 14px; }
  .rb-faq__col { gap: 14px; }
  .rb-faq p.rb-faq__sub { font-size: 16px; margin-bottom: 22px; }
  .rb-faq__item summary { font-size: 17px; padding: 14px 16px; min-height: 56px; }
  .rb-faq__body { padding: 0 16px 16px; }
  .rb-faq__strip { padding: 22px 18px; margin-top: 24px; }
  .rb-faq__strip h3 { font-size: 23px; }
  .rb-faq__btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-faq__item, .rb-faq__item summary::after, .rb-faq__more a, .rb-faq__btn { transition: none; }
  .rb-faq__item[open] .rb-faq__body { animation: none; }
  .rb-faq__btn:hover { transform: none; }
}

/* Numbered steps */
.rb-steps { list-style: none; padding: 0; margin: 0 0 8px; counter-reset: step; display: grid; gap: 18px; }
.rb-steps li { counter-increment: step; position: relative; padding-left: 62px; min-height: 44px; }
.rb-steps li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--navy); color: #fff; font-family: var(--font-head); font-weight: 900; font-size: 20px; display: flex; align-items: center; justify-content: center; }
.rb-steps h3 { font-size: 20px; margin: 9px 0 4px; }
.rb-steps p { margin: 0; font-size: 15px; line-height: 1.5; }
.rb-steps--light h3 { color: #fff; }
.rb-steps--light li::before { background: var(--orange); }

/* Why act now */
.rb-now { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 28px; }
.rb-now__tile { background: #fff; border-left: 6px solid var(--orange); border-radius: 0 15px 15px 0; padding: 24px 26px; box-shadow: 0 2px 10px rgba(0,0,0,.06); }
.rb-now__tile p.rb-now__big { font-family: var(--font-head); font-weight: 900; font-size: 34px; line-height: 1.1; color: var(--navy); margin: 0 0 8px; }
.rb-now__tile p { margin: 0; font-size: 15px; line-height: 1.5; }
.rb-now__cta { margin: 0; }

/* Form band */
.rb-quote { padding: 80px var(--pad-x); }
.rb-quote__card { max-width: 1200px; margin: 0 auto; background: #fff; border-radius: 10px; padding: 48px; box-shadow: 0 12px 32px rgba(0,0,0,.18); color: var(--dark); text-align: left; }
.rb-quote__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; flex-wrap: wrap; margin-bottom: 0; }
.rb-quote p.rb-quote__eyebrow { font-size: 15px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--orange); margin: 0 0 6px; }
.rb-quote h2.rb-quote__title { font-family: var(--font-head); font-weight: 900; font-size: clamp(30px, 3.2vw, 44px); line-height: 1.1; color: var(--navy); margin: 0 0 8px; text-align: left; }
.rb-quote p.rb-quote__sub { font-size: 19px; line-height: 1.5; color: var(--dark); margin: 0; }
.rb-quote__talk { display: flex; align-items: center; gap: 16px; text-align: right; flex-direction: row-reverse; padding-top: 6px; }
.rb-quote__phone { width: 36px; height: 36px; fill: var(--navy); flex: 0 0 auto; }
.rb-quote p.rb-quote__talk-label { font-size: 16px; font-weight: 700; color: var(--navy); margin: 0; }
.rb-quote a.rb-quote__tel { display: inline-block; font-family: var(--font-head); font-weight: 900; font-size: 24px; line-height: 1.2; color: var(--orange); text-decoration: none; margin: 2px 0; transition: color 160ms; }
.rb-quote a.rb-quote__tel:hover { color: var(--orange-dark); }
.rb-quote a.rb-quote__tel:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; border-radius: 3px; }
.rb-quote p.rb-quote__hours { font-size: 14px; color: var(--muted); margin: 0; }
/* The PipeReply form keeps its own 70px top / 30px bottom padding and a soft edge shadow. Clip those inside the
   wrapper (not by moving the frame) so the fields sit directly under the heading and the card looks like one box. */
.rb-quote__form { overflow: hidden; max-width: 1500px; margin: 12px auto 0; container-type: inline-size; }
.rb-quote__form iframe { width: calc(100% + 12px); margin: -70px 0 -30px -6px; height: 380px; border: 0; display: block; overflow: hidden; }
/* The PipeReply form picks its layout from the frame width (1024px+, 400-1023px, under 400px), so the height follows
   the frame (this container's width), not the viewport. Heights stay outside the navy glass bands
   (440-520, 740-800). The larger bottom offsets clip the form's own divider line under Submit. */
@media (max-width: 1023px) { .rb-quote__form iframe { height: 580px; margin-bottom: -46px; } }
@container (max-width: 1023px) { .rb-quote__form iframe { height: 580px; margin-bottom: -46px; } }
@media (max-width: 767px) { .rb-quote__form iframe { height: 880px; margin-bottom: -78px; } }
.rb-quote__next { max-width: 1200px; margin: 36px auto 0; padding: 0 32px; color: #fff; text-align: left; }
.rb-quote__next h3 { font-family: var(--font-head); font-weight: 700; font-size: 22px; color: #fff; margin: 0 0 14px; }
.rb-quote__steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.rb-quote__steps li { display: flex; align-items: flex-start; gap: 14px; padding-right: 20px; }
.rb-quote__steps li + li { border-left: 1px solid rgba(255,255,255,.25); padding-left: 24px; }
.rb-quote__num { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; border: 2px solid var(--orange); display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-head); font-weight: 700; font-size: 18px; color: var(--orange); }
.rb-quote__steps strong { display: block; font-family: var(--font-head); font-weight: 700; font-size: 17px; color: #fff; margin: 2px 0 2px; }
.rb-quote__steps span:not(.rb-quote__num) { font-size: 15px; line-height: 1.45; color: #fff; }

/* Note shown at the top of the four legacy sub-pages pointing to this hub */
.rb-hub-note { background: #fff5ea; border-left: 5px solid var(--orange); border-radius: 0 10px 10px 0; padding: 14px 18px; margin: 0 0 20px; font-size: 15px; line-height: 1.5; }
.rb-hub-note a { color: var(--orange); font-weight: 700; }

@media (max-width: 1180px) {
  /* three columns become cramped: retailer and battery side by side, results full width below */
  .rb-calc__cols { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 20px 28px; }
  .rb-calc__col + .rb-calc__col--results { grid-column: 1 / -1; border-left: 0; padding-left: 0; border-top: 1px solid var(--border); padding-top: 20px; }
  .rb-calc__col--results { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 24px; align-items: center; }
  .rb-calc__col--results .rb-result__cta { margin-top: 0; }
  .rb-quote { padding: 60px var(--pad-x-md); }
  .rb-quote__card { padding: 26px 22px; }
  .rb-quote__talk { flex-direction: row; text-align: left; }
  .rb-quote__steps { grid-template-columns: 1fr; gap: 14px; }
  .rb-quote__steps li + li { border-left: 0; padding-left: 0; border-top: 1px solid rgba(255,255,255,.25); padding-top: 14px; }
}
@media (max-width: 1024px) {
  /* site.css collapses .page-hero on mobile; keep the calculator in flow and left-aligned */
  .page-solar-battery-rebate .page-hero { min-height: 0; padding: 40px clamp(var(--pad-x-sm), 3.75vw, var(--pad-x-md)) 44px; text-align: left; }
  .page-solar-battery-rebate .page-hero__inner { padding: 0; }
  .page-solar-battery-rebate .page-hero h1 { font-size: clamp(30px, 6vw, 40px); }
  .page-solar-battery-rebate .page-hero p.rb-hub-hero__sub { font-size: 16px; }
}
@media (max-width: 767px) {
  .rb-calc { padding: 20px 18px 22px; border-radius: 8px; }
  .rb-calc__title { font-size: 24px; }
  .rb-calc__cols { grid-template-columns: 1fr; gap: 18px; }
  .rb-calc__col + .rb-calc__col { border-left: 0; padding-left: 0; border-top: 1px solid var(--border); padding-top: 18px; }
  .rb-calc__col--results .rb-result { max-width: none; }
  .rb-calc__col--results { display: block; }
  .rb-calc__col--results .rb-result__cta { margin-top: 14px; }
  .rb-seg__opt span { font-size: 14px; padding: 0 8px; }
  .rb-chip { padding: 0 12px; font-size: 14px; }
  .rb-result { padding: 16px 16px 18px; }
  .rb-result__row dd { font-size: 20px; }
  .rb-result__row--total dd { font-size: 30px; }
  .rb-hub-lead { font-size: 16px; margin-bottom: 22px; }
  .rb-facts, .rb-now { grid-template-columns: 1fr; }
  .rb-fact p.rb-fact__value { font-size: 30px; }
  .rb-steps li { padding-left: 56px; }
  .rb-steps h3 { font-size: 18px; }
  .rb-quote { padding: 50px var(--pad-x-sm); }
  .rb-quote__card { padding: 22px 16px; border-radius: 8px; }
  .rb-now__cta .btn { width: 100%; }
}
@media (max-width: 360px) {
  .rb-seg { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .rb-quote a.rb-quote__tel { transition: none; }
  .rb-calc { animation: none; }
  .rb-seg__opt span, .rb-seg__opt span::before, .rb-chip, .rb-chip::before, .rb-calc__num input, .rb-result__cta .btn { transition: none; }
  .rb-result__cta .btn:hover, .rb-result__cta .btn:active { transform: none; }
}

/* ===========================================================================
   Part 2: legacy rules for the four sub-pages (title hero, text + form split, h2 intro rows, image rows)
   =========================================================================== */
.rb-hero { position: relative; background-size: cover; background-position: 50% 0; background-repeat: no-repeat; padding: 220px var(--pad-x) 80px; color: #fff; }
.rb-hero::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.7); }
.rb-hero h1 { color: #fff; font-size: 60px; line-height: 72px; margin: 0 0 12px; }
.rb-hero p { color: #fff; font-size: 16px; line-height: 24px; margin: 0 0 12px; }
.rb-hero a { color: inherit; }
.rb-hero--title { padding: 220px var(--pad-x) 80px; }
.rb-hero__inner { position: relative; max-width: var(--container); margin: 0 auto; }
.rb-hero--title h1 { color: #fff; font-size: 60px; line-height: 108px; margin: 0; padding: 10px 0; }
.rb-hero strong, .rb-intro-h2 strong, .rb-split__text h2 strong { font-weight: inherit; }

.rb-split { position: relative; z-index: 1; padding: 40px var(--pad-x) 80px; }
.rb-split__grid { display: grid; grid-template-columns: 570px 570px; justify-content: space-between; align-items: center; max-width: var(--container); margin: 0 auto; }
.rb-split__text p { font-size: 16px; line-height: 22.08px; margin: 0; }
.rb-split__text p.rb-hub-note { margin: 0 0 20px; }
.rb-split__text h2 { font-size: 45px; line-height: 54px; margin: 0 0 4px; padding-left: 15px; }
.rb-split__text a { color: var(--orange); }
.rb-split__card { margin-top: -120px; }
.rb-split .form-card { padding: 50px var(--pad-x) 54px; border-radius: 20px; box-shadow: 0 6px 0 var(--orange), 0 10px 30px rgba(0,0,0,.12); }
.rb-split .form-card__eyebrow { margin: 0 0 12px; font-size: 16px; line-height: 24px; }
.rb-split .form-card__title { color: var(--dark); font-size: 30px; line-height: 45px; margin: 0 0 12px; }
.rb-split .form-card iframe { height: 705px; }
@container (max-width: 399px) { .rb-split .form-card iframe { height: 820px; } }
.rb-intro-h2 { background: rgba(242,242,242,.5); padding: 30px var(--pad-x) 10px; }
.rb-intro-h2 h2 { text-align: center; font-size: 45px; line-height: 62.1px; margin: 0; color: var(--dark); }
.rb-closing { padding: 90px var(--pad-x); }
.rb-closing p { text-align: center; font-size: 18px; line-height: 27px; margin: 0; }

/* Content rows */
.rb-row { padding: 80px var(--pad-x); }
.rb-row--grey { background: rgba(242,242,242,.5); }
.rb-row--white { background: #fff; }
.rb-grid > * { min-width: 0; }
.rb-grid { display: grid; grid-template-columns: 570px 570px; gap: 60px; justify-content: center; align-items: center; }
.rb-text { padding: 10px 0 12px; }
.rb-text h2, .rb-text h3, .rb-text h4, .rb-text p, .rb-text li, .rb-text ul, .rb-text ol { margin: 0; }
.rb-text h3 { color: var(--orange); font-size: 36px; line-height: 54px; margin-bottom: 20px; }
.rb-text h3.rb-h3--sm { font-size: 30px; line-height: 45px; }
.rb-text h4 { color: var(--orange); font-size: 16px; line-height: 24px; }
.rb-text h4:empty, .rb-text h4.rb-empty { height: 36px; }
.rb-text h4 strong { font-weight: 900; }
.rb-text h4.rb-h4--a { font-size: 18px; line-height: 27px; }
.rb-text h4.rb-h4--b { font-size: 18px; line-height: 24.84px; }
.rb-text h4.rb-h4--c { font-size: 16px; line-height: 22.08px; }
.rb-text p, .rb-text li { font-size: 16px; line-height: 22.08px; }
.rb-text p.rb-lh24 { line-height: 24px; }
.rb-text ul { list-style: disc; padding-left: 32px; }
.rb-text ol { list-style: decimal; padding-left: 32px; }
.rb-text li.rb-indent { list-style: circle; margin-left: 48px; }
.rb-text a { color: var(--orange); }
.rb-text strong { font-weight: 700; }
.rb-text .text-center { text-align: center; }
.rb-text p.rb-mb { margin-bottom: 12px; }

/* Image with navy offset block behind it */
.rb-pic { position: relative; padding-top: 10px; }
.rb-pic::before { content: ""; position: absolute; top: 10px; width: 200px; height: 200px; background: var(--navy); }
.rb-pic--left::before { left: 0; }
.rb-pic--right::before { right: 0; }
.rb-pic img { position: relative; width: 550px; max-width: calc(100% - 20px); height: auto; margin-top: 20px; }
.rb-pic--left img { margin-left: 20px; }

/* Comparison table */
.rb-table-wrap { overflow-x: auto; margin: 19px 0 11px; }
.rb-table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 24px; }
.rb-table th, .rb-table td { border: 1px solid #ddd; padding: 6px 10px; text-align: left; vertical-align: middle; white-space: normal; }
.rb-table th { background: var(--orange); color: #fff; font-weight: 700; }
.rb-table tr:nth-child(odd) td { background: #f5f5f5; }
.rb-table tr:nth-child(even) td { background: #fff; }

/* Gallery + info cards row */
.rb-started { padding: 80px var(--pad-x); }
.rb-started .info-cards { padding-top: 28px; gap: 3px; }
.rb-started .gallery__thumbs { padding-bottom: 0; }
.rb-started .info-card { padding: 10px 20px 8px 90px; }
.rb-started .info-card__title { color: var(--dark); margin-bottom: 4px; }
.rb-started .info-card .btn { margin: 10px 0 0; }
.rb-started .info-card .social { margin-top: 8px; }
.rb-hidden-cta { display: none !important; }

@media (max-width: 1100px) {
  .rb-split__grid { grid-template-columns: 1fr; gap: 40px; }
  .rb-split__card { margin-top: 0; }
  .rb-grid { grid-template-columns: 1fr; gap: 40px; }
  .rb-pic { order: -1; }
}
@media (max-width: 767px) {
  .rb-hero { padding: 40px 20px; }
  .rb-hero h1 { font-size: 30px; line-height: 36px; }
  .rb-hero p { font-size: 15px; line-height: 22.5px; }
  .rb-hero--title { padding: 40px 20px; }
  .rb-hero--title h1 { font-size: 30px; line-height: 54px; }
  .rb-split { padding: 50px 20px 40px; }
  .rb-split__text p { font-size: 15px; line-height: 20.7px; }
  .rb-split__text h2 { font-size: 24px; line-height: 28.8px; padding-left: 0; }
  .rb-split__card { display: none; }
  .rb-intro-h2 { padding: 50px 20px; }
  .rb-intro-h2 h2 { font-size: 24px; line-height: 33.12px; }
  .rb-intro-h2 h2.rb-h2--mob36 { font-size: 36px; line-height: 49.68px; }
  .rb-closing { padding: 50px 20px; }
  .rb-closing p { font-size: 14px; line-height: 21px; }
  .rb-row { padding: 40px 20px; }
  .rb-text h3 { font-size: 29px; line-height: 34.8px; margin-bottom: 20px; }
  .rb-text h3.rb-h3--sm { font-size: 21px; line-height: 25.2px; }
  .rb-text h4 { font-size: 13px; line-height: 19.5px; }
  .rb-text h4.rb-empty { height: 27px; }
  .rb-text h4.rb-h4--a { font-size: 14px; line-height: 21px; }
  .rb-text h4.rb-h4--b { font-size: 14px; line-height: 19.32px; }
  .rb-text h4.rb-h4--c { font-size: 13px; line-height: 17.94px; }
  .rb-text p, .rb-text li { font-size: 15px; line-height: 20.7px; }
  .rb-text p.rb-lh24 { line-height: 22.5px; }
  .rb-text li.rb-indent { margin-left: 30px; }
  .rb-grid { gap: 12px; }
  .rb-pic { padding-top: 0; }
  .rb-pic::before { top: 0; width: 150px; height: 150px; }
  .rb-pic img { width: 330px; max-width: calc(100% - 20px); }
  .rb-table { font-size: 15px; line-height: 22.5px; }
  .rb-table th, .rb-table td { padding: 9px 10px; white-space: nowrap; }
  .rb-started { display: none; }
}
