/*
Theme Name: Blackridge Astra Child
Theme URI: https://blackridgecfo.com/
Description: Child theme for Blackridge CFO Advisory. Holds all custom CSS so the Astra Customizer field stays empty.
Author: Blackridge CFO Advisory
Template: astra
Version: 6.3.0
Text Domain: blackridge-astra-child
*/

/* ------------------------------------------------------------------
   Blackridge design system on top of Astra globals.
   Colors come from the Astra global palette, fonts from Astra typography
   (exposed as --br-heading-font / --br-body-font by functions.php).
   Palette slots:
     0 steel blue #2e5082  (action)
     1 navy #1b2b44        (dark grounds, footer, hover)
     2 ink #16202e         (headings, body text)
     3 sage #8fa898        (shapes only, never text)
     4 white
     5 tint #eef2f7        (light ground)
     6 slate #5b6572       (secondary text)
     7 hairline #d6dde6
     8 steel light #9bb8e0 (links and figures on navy)
   ------------------------------------------------------------------ */

:root {
  --br-steel: var(--ast-global-color-0);
  --br-navy: var(--ast-global-color-1);
  --br-ink: var(--ast-global-color-2);
  --br-sage: var(--ast-global-color-3);
  --br-white: var(--ast-global-color-4);
  --br-tint: var(--ast-global-color-5);
  --br-slate: var(--ast-global-color-6);
  --br-hair: var(--ast-global-color-7);
  --br-steel-light: var(--ast-global-color-8);
  --br-sage-soft: color-mix(in srgb, var(--ast-global-color-3) 28%, var(--ast-global-color-4));
  --br-offset: 28px;
  --br-ridge-h: clamp(44px, 7vw, 112px);
  --br-ridge-front: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 120 L0 92 L90 70 L170 84 L290 38 L370 62 L470 46 L560 74 L700 22 L790 56 L880 40 L990 72 L1110 30 L1210 60 L1300 48 L1440 78 L1440 120 Z'/%3E%3C/svg%3E");
  --br-ridge-back: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath d='M0 120 L0 70 L130 40 L230 58 L360 12 L450 44 L600 26 L680 50 L820 6 L930 38 L1050 20 L1160 48 L1280 16 L1380 40 L1440 30 L1440 120 Z'/%3E%3C/svg%3E");
}

/* Body measure and display leading */
.entry-content p,
.entry-content li,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li { max-width: 65ch; }
h1, h2, h3 { letter-spacing: -0.01em; }

/* ------------------------------------------------------------------
   Section shells (Elementor containers carry these classes)
   ------------------------------------------------------------------ */
.e-con.br-section {
  --padding-top: 104px;
  --padding-bottom: 104px;
  --padding-left: 24px;
  --padding-right: 24px;
  position: relative;
}
.e-con.br-section > .e-con-inner { position: relative; z-index: 2; }
.e-con.br-hero { --padding-top: 44px; --padding-bottom: 72px; }
@media (min-width: 1025px) { .br-hero h1.elementor-heading-title { font-size: 48px; } }
.e-con.br-bg-white { background-color: var(--br-white); }
.e-con.br-bg-tint { background-color: var(--br-tint); }
.e-con.br-bg-navy { background-color: var(--br-navy); }

/* Ridgeline transition: front ridge in the next section's ground, sage ridge behind */
.e-con.br-ridge { --padding-bottom: calc(104px + var(--br-ridge-h)); }
.e-con.br-hero.br-ridge { --padding-bottom: calc(48px + var(--br-ridge-h)); }
.e-con.br-ridge::before,
.e-con.br-ridge::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: var(--br-ridge-h);
  pointer-events: none;
  -webkit-mask: var(--br-ridge-back) center bottom / 100% 100% no-repeat;
  mask: var(--br-ridge-back) center bottom / 100% 100% no-repeat;
  background-color: var(--br-sage);
  opacity: 0.45;
  z-index: 1;
  inset: auto 0 -1px 0;
}
.e-con.br-ridge::after {
  -webkit-mask-image: var(--br-ridge-front);
  mask-image: var(--br-ridge-front);
  background-color: var(--br-ridge-to, var(--br-tint));
  opacity: 1;
}
.e-con.br-ridge-to-white { --br-ridge-to: var(--br-white); }
.e-con.br-ridge-to-tint { --br-ridge-to: var(--br-tint); }
.e-con.br-ridge-to-navy { --br-ridge-to: var(--br-navy); }
.e-con.br-bg-navy.br-ridge::before { opacity: 0.35; }

/* Hero: tint slab behind the photo side */
.e-con.br-hero::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: auto;
  bottom: auto;
  width: 34%;
  height: 72%;
  background-color: var(--br-tint);
  z-index: 0;
}
.e-con.br-hero.br-ridge::before {
  /* the hero uses ::before for the slab, so its back ridge moves to the grid */
  -webkit-mask: none;
  mask: none;
  inset: 0 0 auto auto;
  opacity: 1;
}

/* ------------------------------------------------------------------
   Type helpers
   ------------------------------------------------------------------ */
.br-label {
  display: block;
  font-family: var(--br-body-font, inherit);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--br-slate);
  margin: 0 0 20px;
  padding-top: 14px;
  position: relative;
}
.br-label::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 2px;
  background: var(--br-steel);
}
.br-dark .br-label { color: var(--br-steel-light); }
.br-dark .br-label::before { background: var(--br-sage); }

.br-hero h1.elementor-heading-title { max-width: none; }
.br-sub p { font-size: 20px; line-height: 1.5; color: var(--br-slate); max-width: 46ch; margin-bottom: 8px; }
.br-sub p strong { font-weight: 600; color: var(--br-ink); }
.br-lede p { font-size: 21px; line-height: 1.5; color: var(--br-ink); }
.br-note p { font-size: 14px; color: var(--br-slate); }
.br-textlink a { font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Dark grounds and panels */
.br-dark,
.br-dark .elementor-heading-title { color: var(--br-white); }
.br-dark p, .br-dark li { color: var(--br-hair); }
.br-dark .br-lede p { color: var(--br-white); }
.br-dark a:not(.elementor-button):not(.ast-button) { color: var(--br-steel-light); }
.br-dark a:not(.elementor-button):not(.ast-button):hover { color: var(--br-white); }

/* ------------------------------------------------------------------
   Photos on offset blocks
   ------------------------------------------------------------------ */
.e-con.br-media { position: relative; isolation: isolate; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
.e-con.br-media::before {
  content: "";
  position: absolute;
  inset: var(--br-offset) calc(var(--br-offset) * -1) calc(var(--br-offset) * -1) var(--br-offset);
  background-color: var(--br-sage);
  border-radius: 2px;
  z-index: -1;
}
.e-con.br-media-navy::before { background-color: var(--br-navy); }
.e-con.br-media-left::before { inset: var(--br-offset) var(--br-offset) calc(var(--br-offset) * -1) calc(var(--br-offset) * -1); }
.e-con.br-media-ring::after {
  content: "";
  position: absolute;
  width: 132px;
  height: 132px;
  top: -44px;
  left: -44px;
  border: 2px solid var(--br-steel);
  border-radius: 50%;
  z-index: -1;
}
.br-media .elementor-widget-image,
.br-media .elementor-widget-image .elementor-widget-container { width: 100%; }
.br-media .elementor-widget-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 2px;
}
.br-media-square .elementor-widget-image img { aspect-ratio: 1 / 1; }
.br-media-tall .elementor-widget-image img { aspect-ratio: 4 / 5; }
.br-media-wide .elementor-widget-image img { aspect-ratio: 3 / 2; }

/* ------------------------------------------------------------------
   Routing cards: the whole card is the link
   ------------------------------------------------------------------ */
.e-con.br-route {
  --padding-top: 32px;
  --padding-bottom: 28px;
  --padding-left: 32px;
  --padding-right: 32px;
  background-color: var(--br-white);
  border: 1px solid var(--br-hair);
  border-top: 6px solid var(--br-sage);
  border-radius: 2px;
  box-shadow: 0 2px 12px rgba(27, 43, 68, 0.07);
  text-decoration: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}
.e-con.br-route-cfo { border-top-color: var(--br-steel); }
.e-con.br-route:hover { transform: translateY(-2px); border-left-color: var(--br-steel); border-right-color: var(--br-steel); border-bottom-color: var(--br-steel); }
.e-con.br-route:focus-visible { outline: 2px solid var(--br-steel); outline-offset: 3px; }
.br-route .elementor-heading-title { font-size: 26px; line-height: 1.15; }
.br-route p { color: var(--br-ink); margin-bottom: 0; }
.br-program {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--br-steel);
  padding-top: 16px;
  border-top: 1px solid var(--br-hair);
}

/* ------------------------------------------------------------------
   Lists, columns, panels
   ------------------------------------------------------------------ */
.br-list { list-style: none; margin: 0; padding: 0; }
.br-list li {
  position: relative;
  font-family: var(--br-heading-font, inherit);
  font-weight: 500;
  font-size: 23px;
  line-height: 1.3;
  color: var(--br-ink);
  border-bottom: 1px solid var(--br-hair);
  padding: 20px 0 20px 40px;
  margin: 0;
  max-width: none;
}
.br-list li:first-child { border-top: 1px solid var(--br-hair); }
.br-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 22px;
  height: 3px;
  background: var(--br-sage);
}

.e-con.br-col { --padding-top: 28px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; border-top: 1px solid var(--br-hair); position: relative; }
.e-con.br-col::before { content: ""; position: absolute; top: -2px; left: 0; width: 48px; height: 3px; background: var(--br-sage); }
.br-dark .e-con.br-col { border-top-color: rgba(214, 221, 230, 0.25); }
.br-col .elementor-heading-title { font-size: 22px; line-height: 1.25; }
.br-col p { margin-bottom: 0; }

/* Navy stat panel */
.e-con.br-panel-navy {
  background-color: var(--br-navy);
  border-radius: 2px;
  --padding-top: 32px;
  --padding-bottom: 28px;
  --padding-left: 32px;
  --padding-right: 32px;
  position: relative;
  overflow: hidden;
}
.e-con.br-panel-navy::after {
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  right: -70px;
  bottom: -110px;
  left: auto;
  top: auto;
  border-radius: 50%;
  background: var(--br-sage);
  opacity: 0.35;
}
.br-stat {
  font-family: var(--br-heading-font, inherit);
  font-weight: 500;
  font-size: 60px;
  line-height: 1;
  color: var(--br-steel);
  margin: 0 0 10px;
}
.br-stat-label { font-size: 15px; color: var(--br-slate); margin: 0; }
.br-panel-navy .br-stat { color: var(--br-steel-light); }
.br-panel-navy .br-stat-label,
.br-panel-navy .br-note p { color: var(--br-hair); }
.br-panel-navy .e-con.br-col { border-top-color: rgba(214, 221, 230, 0.25); }

/* Terms panel: one white panel, columns divided by hairlines */
.e-con.br-terms {
  background-color: var(--br-white);
  border: 1px solid var(--br-hair);
  border-radius: 2px;
  box-shadow: 0 2px 12px rgba(27, 43, 68, 0.07);
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
}
.e-con.br-term { --padding-top: 32px; --padding-right: 28px; --padding-bottom: 32px; --padding-left: 28px; position: relative; }
.e-con.br-term + .e-con.br-term { border-left: 1px solid var(--br-hair); }
.e-con.br-term::before { content: ""; position: absolute; top: 0; left: 28px; width: 32px; height: 3px; background: var(--br-steel); }
.br-term .elementor-heading-title { font-size: 20px; line-height: 1.25; }
.br-term p { margin-bottom: 0; color: var(--br-slate); }

/* Closing CTA panel with circle shapes */
.e-con.br-cta-panel {
  background-color: var(--br-tint);
  border-radius: 2px;
  --padding-top: 72px; --padding-bottom: 72px; --padding-left: 64px; --padding-right: 64px;
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.e-con.br-cta-panel::before {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -120px;
  top: -160px;
  left: auto;
  bottom: auto;
  border-radius: 50%;
  background: var(--br-sage-soft);
  z-index: -1;
}
.e-con.br-cta-panel::after {
  content: "";
  position: absolute;
  width: 240px;
  height: 240px;
  right: 120px;
  bottom: -150px;
  left: auto;
  top: auto;
  border-radius: 50%;
  border: 2px solid var(--br-steel);
  opacity: 0.5;
  z-index: -1;
}

/* Generic card (other pages) */
.br-card { background: var(--br-white); border: 1px solid var(--br-hair); border-radius: 2px; padding: 32px; }
.br-card-lift { box-shadow: 0 2px 12px rgba(27, 43, 68, 0.07); }
.br-rule { border: 0; border-top: 1px solid var(--br-hair); margin: 0; }
.br-sample {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--br-slate);
  border: 1px solid var(--br-hair);
  border-radius: 2px;
  padding: 4px 10px;
}

/* Elementor buttons follow the Astra button globals */
.elementor-widget-button .elementor-button {
  background-color: var(--br-steel);
  color: var(--br-white);
  font-family: var(--br-body-font, inherit);
  font-weight: 600;
  font-size: 16px;
  line-height: 1;
  padding: 17px 30px;
  border-radius: 2px;
}
.elementor-widget-button .elementor-button:hover,
.elementor-widget-button .elementor-button:focus { background-color: var(--br-navy); color: var(--br-white); }

/* Header and footer */
.ast-header-button-1 .ast-custom-button { font-weight: 600; }
.site-footer .ast-builder-html-element strong { color: var(--br-white); }
.site-footer a:hover { text-decoration: underline; }
.site-footer .ast-builder-html-element p { margin-bottom: 0.5em; }

/* Hero fit: headline full width, routing cards above a 900px fold on desktop */
@media (min-width: 1025px) {
  .e-con.br-hero { --padding-top: 32px; }
  .br-hero .br-label { margin-bottom: 4px; }
  .e-con.br-hero-top { --e-con-grid-template-columns: minmax(0, 56fr) minmax(0, 44fr) !important; }
  .br-hero .br-media-wide .elementor-widget-image img { aspect-ratio: 4 / 3; }
  .e-con.br-route { --padding-top: 24px; --padding-bottom: 20px; --gap: 12px; --row-gap: 12px; }
}

/* ------------------------------------------------------------------
   Programs section: intro plus two selectable program cards
   ------------------------------------------------------------------ */
.e-con.br-programs-head { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; max-width: 760px; }
.br-programs-head .elementor-heading-title { font-size: 38px; line-height: 1.15; }
.br-intro p { font-size: 19px; line-height: 1.55; color: var(--br-slate); margin-bottom: 0; }
.br-program-name {
  display: block;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--br-steel);
}
.br-route-finance .br-program-name { color: var(--br-steel); }
.br-programs .br-route .elementor-heading-title { font-size: 28px; line-height: 1.15; }
.br-fit p { color: var(--br-slate); margin-bottom: 0; }
.br-checks { list-style: none; margin: 4px 0 0; padding: 0; }
.br-checks li {
  position: relative;
  padding: 10px 0 10px 30px;
  border-top: 1px solid var(--br-hair);
  color: var(--br-ink);
  max-width: none;
}
.br-checks li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 17px;
  width: 12px;
  height: 7px;
  border-left: 2px solid var(--br-sage);
  border-bottom: 2px solid var(--br-sage);
  transform: rotate(-45deg);
}
.br-route-cfo .br-checks li::before { border-color: var(--br-steel); }
.br-foot-wrap { margin-top: auto; }
.br-card-foot {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 18px;
  border-top: 1px solid var(--br-hair);
}
.br-price { font-family: var(--br-heading-font, inherit); font-weight: 500; font-size: 18px; color: var(--br-ink); }
.br-go { font-size: 15px; font-weight: 600; color: var(--br-steel); }
.e-con.br-route:hover .br-go { text-decoration: underline; text-underline-offset: 3px; }
.br-programs .e-con.br-route { --padding-top: 36px; --padding-bottom: 32px; --padding-left: 36px; --padding-right: 36px; --gap: 16px; --row-gap: 16px; }
@media (max-width: 767px) {
  .br-programs-head .elementor-heading-title { font-size: 28px; }
  .br-intro p { font-size: 17px; }
  .br-programs .e-con.br-route { --padding-top: 26px; --padding-bottom: 24px; --padding-left: 22px; --padding-right: 22px; }
  .br-programs .br-route .elementor-heading-title { font-size: 23px; }
}
/* Programs: centered intro, bold program names, centered explore link */
.e-con.br-programs-head { margin-left: auto; margin-right: auto; align-self: center; text-align: center; }
.br-programs-head .elementor-heading-title,
.br-intro p { margin-left: auto; margin-right: auto; text-align: center; }
.br-program-name { font-weight: 700; }
.br-card-foot { justify-content: center; }
/* Program cards: photo band at the top, full bleed inside the card */
.br-programs .e-con.br-route { overflow: hidden; }
.br-card-photo {
  margin: calc(var(--padding-top) * -1) calc(var(--padding-right) * -1) 4px calc(var(--padding-left) * -1) !important;
  width: calc(100% + var(--padding-left) + var(--padding-right)) !important;
  max-width: none !important;
}
.br-card-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
/* ------------------------------------------------------------------
   Problem section: editorial split. Full-bleed photo left, navy right.
   ------------------------------------------------------------------ */
.e-con.br-problem,
.e-con.br-problem.br-ridge { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
.e-con.br-problem-split { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --e-con-grid-template-columns: minmax(0, 5fr) minmax(0, 7fr) !important; }
.e-con.br-problem-media { position: relative; min-height: 780px; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; overflow: hidden; }
.br-problem-media .elementor-widget-image { position: absolute; inset: 0; margin: 0; }
.br-problem-media .elementor-widget-image .elementor-widget-container,
.br-problem-media .elementor-widget-image img { width: 100%; height: 100%; }
.br-problem-media img { display: block; object-fit: cover; object-position: 50% 50%; border-radius: 0; }
.e-con.br-problem-body {
  --padding-top: 104px;
  --padding-bottom: calc(104px + var(--br-ridge-h));
  --padding-left: 88px;
  --padding-right: 88px;
  justify-content: center;
}
.br-problem-body .br-label { color: var(--br-steel-light); }
.br-label.br-label-lg { font-size: 20px; font-weight: 700; letter-spacing: 0.02em; text-transform: none; margin-bottom: 24px; }
.br-problem-head .elementor-heading-title { font-size: 46px; line-height: 1.28; letter-spacing: -0.005em; max-width: none; margin-bottom: 44px; }
.br-pain-list { list-style: none; margin: 0; padding: 0; max-width: none; }
.br-pain-list li {
  position: relative;
  font-family: var(--br-heading-font, inherit);
  font-weight: 400;
  font-size: 25px;
  line-height: 1.4;
  color: var(--br-white);
  padding: 28px 0 28px 56px;
  border-top: 1px solid rgba(214, 221, 230, 0.18);
  margin: 0;
  max-width: none;
}
.br-pain-list li:last-child { border-bottom: 1px solid rgba(214, 221, 230, 0.18); }
.br-pain-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 45px;
  width: 32px;
  height: 2px;
  background: var(--br-sage);
}
@media (max-width: 1024px) {
  .e-con.br-problem-split { --e-con-grid-template-columns: minmax(0, 1fr) !important; --e-con-grid-template-rows: auto auto !important; }
  .e-con.br-problem-media { min-height: 0; height: 420px; }
  .br-problem-media img { object-position: 50% 55%; }
  .e-con.br-problem-body { --padding-top: 72px; --padding-left: 40px; --padding-right: 40px; }
}
@media (max-width: 767px) {
  .e-con.br-problem-media { height: 280px; }
  .e-con.br-problem-body { --padding-top: 56px; --padding-left: 16px; --padding-right: 16px; --padding-bottom: calc(64px + var(--br-ridge-h)); }
  .br-problem-head .elementor-heading-title { font-size: 28px; line-height: 1.3; }
  .br-pain-list li { font-size: 18px; padding: 18px 0 18px 40px; }
  .br-pain-list li::before { top: 30px; width: 22px; }
}
/* Problem photo: slightly inset from the full-bleed edge, still filling most of the section height */
@media (min-width: 1025px) {
  .e-con.br-problem-media { min-height: 780px; overflow: hidden; }
  .br-problem-media .elementor-widget-image {
    position: absolute;
    top: 64px;
    bottom: calc(40px + var(--br-ridge-h));
    left: 48px;
    right: 0;
    margin: 0;
  }
  .br-problem-media .elementor-widget-image .elementor-widget-container,
  .br-problem-media .elementor-widget-image img { width: 100%; height: 100%; }
  .br-problem-media img {
    object-fit: cover;
    object-position: 50% 60%;
    border-radius: 14px;
    -webkit-mask-image: linear-gradient(to right, #000 62%, rgba(0, 0, 0, 0.25) 92%, transparent 100%);
    mask-image: linear-gradient(to right, #000 62%, rgba(0, 0, 0, 0.25) 92%, transparent 100%);
  }
}
@media (max-width: 1024px) { .br-problem-media img { border-radius: 14px; } }

/* ------------------------------------------------------------------
   Proof: text left, canine rehab photo right with a fade on its left edge
   ------------------------------------------------------------------ */
.e-con.br-proof-split { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --e-con-grid-template-columns: minmax(0, 11fr) minmax(0, 10fr) !important; }
.e-con.br-proof-body { --padding-top: 8px; --padding-right: 56px; --padding-bottom: 8px; --padding-left: 0px; justify-content: center; }
.br-proof-head .elementor-heading-title { font-size: 46px; line-height: 1.2; margin-bottom: 8px; }
.br-proof-intro p { font-size: 19px; line-height: 1.6; color: var(--br-slate); max-width: 56ch; margin-bottom: 0; }
.e-con.br-proof-figs { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; margin-top: 40px; border-top: 1px solid var(--br-hair); border-bottom: 1px solid var(--br-hair); }
.e-con.br-proof-fig { --padding-top: 32px; --padding-right: 24px; --padding-bottom: 30px; --padding-left: 0px; position: relative; }
.e-con.br-proof-fig + .e-con.br-proof-fig { border-left: 1px solid var(--br-hair); --padding-left: 36px; }
.e-con.br-proof-fig::before { content: ""; position: absolute; top: -2px; left: 0; width: 48px; height: 3px; background: var(--br-sage); }
.e-con.br-proof-fig + .e-con.br-proof-fig::before { left: 36px; }
.br-proof-fig .br-stat { font-size: 84px; line-height: 1; margin: 0 0 12px; max-width: none; color: var(--br-steel); }
.br-proof-fig .br-stat-label { font-size: 17px; color: var(--br-slate); max-width: none; margin: 0; }
.br-proof-foot p { margin: 24px 0 0; font-size: 16px; max-width: none; }
.br-proof-note { color: var(--br-slate); margin-right: 16px; }
.br-proof-foot a { font-weight: 600; color: var(--br-steel); text-decoration: underline; text-underline-offset: 3px; }
.e-con.br-proof-media { position: relative; min-height: 560px; --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
.br-proof-media .elementor-widget-image { position: absolute; inset: 0; margin: 0; }
.br-proof-media .elementor-widget-image .elementor-widget-container,
.br-proof-media .elementor-widget-image img { width: 100%; height: 100%; }
.br-proof-media img {
  display: block;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 14px;
  -webkit-mask-image: linear-gradient(to left, #000 60%, rgba(0, 0, 0, 0.25) 90%, transparent 100%);
  mask-image: linear-gradient(to left, #000 60%, rgba(0, 0, 0, 0.25) 90%, transparent 100%);
}
@media (max-width: 1024px) {
  .e-con.br-proof-split { --e-con-grid-template-columns: minmax(0, 1fr) !important; --e-con-grid-template-rows: auto auto !important; }
  .e-con.br-proof-body { --padding-right: 0px; }
  .e-con.br-proof-media { min-height: 0; height: 380px; margin-top: 40px; }
  .br-proof-media img { -webkit-mask-image: none; mask-image: none; }
}
@media (max-width: 767px) {
  .br-proof-head .elementor-heading-title { font-size: 30px; }
  .br-proof-intro p { font-size: 17px; }
  .br-proof-fig .br-stat { font-size: 48px; }
  .br-proof-fig .br-stat-label { font-size: 14px; }
  .e-con.br-proof-fig + .e-con.br-proof-fig { --padding-left: 18px; }
  .e-con.br-proof-fig + .e-con.br-proof-fig::before { left: 18px; }
  .br-proof-note { display: block; margin: 0 0 6px; }
  .e-con.br-proof-media { height: 260px; }
}
/* Proof: wider layout, more air between text and photo, prominent case study link */
@media (min-width: 1025px) {
  .e-con.br-proof-split { --e-con-grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
  .e-con.br-proof-body {
    --padding-right: 96px;
    --padding-left: 0px;
    margin-left: calc(104px - max(24px, (100vw - 1200px) / 2));
    width: calc(100% + max(24px, (100vw - 1200px) / 2) - 104px) !important;
    max-width: none !important;
  }
  .e-con.br-proof-media { min-height: 620px; margin-right: 0; width: calc(100% + max(24px, (100vw - 1200px) / 2)) !important; max-width: none !important; }
  .br-proof-media img { border-radius: 14px 0 0 14px; }
}
.br-proof-foot p { margin: 36px 0 0; text-align: center; max-width: none; }
.br-proof-foot a.br-link-btn {
  display: inline-block;
  font-size: 17px;
  font-weight: 600;
  color: var(--br-steel);
  text-decoration: none;
  border: 1.5px solid var(--br-steel);
  border-radius: 2px;
  padding: 15px 26px;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.br-proof-foot a.br-link-btn:hover,
.br-proof-foot a.br-link-btn:focus { background-color: var(--br-steel); color: var(--br-white); }
/* Programs: wider cards and larger type to match the scale of the sections below */
@media (min-width: 1025px) {
  .e-con.br-programs > .e-con-inner { max-width: 1320px; }
  .br-programs .e-con.br-route { --padding-top: 40px; --padding-bottom: 36px; --padding-left: 44px; --padding-right: 44px; --gap: 20px; --row-gap: 20px; }
  .br-programs .br-card-photo { margin-bottom: 8px !important; }
  .br-programs .br-route .elementor-heading-title { font-size: 34px; line-height: 1.15; }
  .br-programs .br-program-name { font-size: 15px; }
  .br-programs .br-fit p { font-size: 19px; line-height: 1.55; }
  .br-programs .br-checks li { font-size: 19px; line-height: 1.45; padding: 14px 0 14px 34px; }
  .br-programs .br-checks li::before { top: 22px; width: 13px; height: 8px; }
  .br-programs .br-go { font-size: 17px; }
}
/* No horizontal scroll at any width */
html, body { overflow-x: hidden; }

/* ------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------ */
@media (max-width: 1024px) {
  .e-con.br-section { --padding-top: 80px; --padding-bottom: 80px; }
  .e-con.br-ridge { --padding-bottom: calc(80px + var(--br-ridge-h)); }
  .e-con.br-hero::before { width: 40%; height: 48%; }
  .e-con.br-term:nth-child(3) { border-left: 0; }
  .e-con.br-term:nth-child(n+3) { border-top: 1px solid var(--br-hair); }
}
@media (max-width: 767px) {
  :root { --br-offset: 14px; }
  .e-con.br-section { --padding-top: 64px; --padding-bottom: 64px; --padding-left: 16px; --padding-right: 16px; }
  .e-con.br-ridge { --padding-bottom: calc(64px + var(--br-ridge-h)); }
  .e-con.br-hero { --padding-top: 40px; }
  .e-con.br-hero.br-ridge { --padding-bottom: calc(56px + var(--br-ridge-h)); }
  .e-con.br-hero::before { width: 60%; height: 30%; top: auto; bottom: 40%; }
  .e-con.br-media-ring::after { width: 88px; height: 88px; top: -24px; left: -18px; }
  .e-con.br-route { --padding-top: 24px; --padding-bottom: 22px; --padding-left: 22px; --padding-right: 22px; }
  .br-route .elementor-heading-title { font-size: 23px; }
  .br-sub p { font-size: 18px; }
  .br-list li { font-size: 19px; padding: 16px 0 16px 34px; }
  .br-lede p { font-size: 19px; }
  .br-stat { font-size: 46px; }
  .e-con.br-term + .e-con.br-term { border-left: 0; border-top: 1px solid var(--br-hair); }
  .e-con.br-cta-panel { --padding-top: 48px; --padding-bottom: 48px; --padding-left: 24px; --padding-right: 24px; }
  .e-con.br-cta-panel::before { width: 260px; height: 260px; right: -120px; top: -120px; }
  .e-con.br-cta-panel::after { display: none; }
}

/* Explore link: shaded container */
.br-go { display: inline-block; background: var(--br-tint); border: 1px solid var(--br-hair); border-radius: 8px; padding: 14px 28px; line-height: 1.3; transition: background-color .2s ease, border-color .2s ease; }
.e-con.br-route:hover .br-go { text-decoration: none; background: #e2e9f2; border-color: var(--br-steel-light); }

/* Programs: equal space at both sides and between the cards, slightly wider cards, type down a step */
@media (min-width: 1025px) {
  .e-con.br-section.br-programs { --padding-left: 0px; --padding-right: 0px; }
  .e-con.br-programs > .e-con-inner { max-width: none; }
  .br-programs .e-con.e-grid { --e-con-grid-template-columns: repeat(2, min(700px, calc((100% - 120px) / 2))) !important; grid-template-columns: repeat(2, min(700px, calc((100% - 120px) / 2))) !important; justify-content: space-evenly !important; column-gap: 0 !important; --column-gap: 0px; }
  .br-programs .br-route .elementor-heading-title { font-size: 31px; }
  .br-programs .br-program-name { font-size: 14px; }
  .br-programs .br-fit p { font-size: 18px; }
  .br-programs .br-checks li { font-size: 18px; }
  .br-programs .br-checks li::before { top: 21px; }
  .br-programs .br-go { font-size: 16px; }
}

/* Programs: scale the whole section down, spacing stays equal */
@media (min-width: 1025px) {
  .br-programs .e-con.e-grid { --e-con-grid-template-columns: repeat(2, min(560px, calc((100% - 120px) / 2))) !important; grid-template-columns: repeat(2, min(560px, calc((100% - 120px) / 2))) !important; }
  .br-programs .e-con.br-route { --padding-top: 32px; --padding-bottom: 30px; --padding-left: 36px; --padding-right: 36px; --gap: 16px; --row-gap: 16px; }
  .br-programs .br-card-photo img { aspect-ratio: 2 / 1; }
  .br-programs .br-card-photo { margin-bottom: 4px !important; }
  .br-programs-head .elementor-heading-title { font-size: 34px; }
  .br-programs .br-intro p { font-size: 17px; }
  .br-programs .br-route .elementor-heading-title { font-size: 26px; }
  .br-programs .br-program-name { font-size: 13px; }
  .br-programs .br-fit p { font-size: 16px; }
  .br-programs .br-checks li { font-size: 16px; padding: 11px 0 11px 30px; }
  .br-programs .br-checks li::before { top: 18px; width: 12px; height: 7px; }
  .br-programs .br-go { font-size: 15px; padding: 12px 24px; }
}

/* Programs: cards closer together, card titles bold steel blue */
@media (min-width: 1025px) {
  .br-programs .e-con.e-grid { justify-content: center !important; column-gap: 40px !important; --column-gap: 40px; }
}
.br-programs .br-route .elementor-heading-title { font-weight: 700; color: var(--br-steel); }

/* Programs: program names larger so they read as the offer */
.br-programs .br-program-name { font-size: 17px; letter-spacing: 0.06em; }
@media (min-width: 1025px) {
  .br-programs .br-program-name { font-size: 21px; }
}

/* Programs: program names set in the heading face */
.br-programs .br-program-name { font-family: var(--br-heading-font, 'Archivo', sans-serif); font-weight: 700; letter-spacing: 0.04em; line-height: 1.2; }


/* Problem photo: navy-tinted monochrome */
.br-problem-media img { filter: grayscale(1) sepia(0.3) hue-rotate(180deg) saturate(1.5) contrast(1.06) brightness(0.9); }

/* Programs: section label, centered with its bar */
.br-programs-head .br-label { color: var(--br-steel); text-align: center; }
.br-programs-head .br-label::before { left: 50%; transform: translateX(-50%); }

/* Proof: section label color, button left aligned */
.br-proof-body .br-label { color: var(--br-steel); }
.br-proof-foot p { text-align: left; }

/* Proof button: steel fill, white on hover */
.br-proof-foot a.br-link-btn { background-color: var(--br-steel); color: var(--br-white); border-color: var(--br-steel); }
.br-proof-foot a.br-link-btn:hover,
.br-proof-foot a.br-link-btn:focus { background-color: var(--br-white); color: var(--br-steel); border-color: var(--br-steel); }

/* The seat section: headline left, three roles right, leadership row lifted */
.e-con.br-seat-split { --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; gap: 48px !important; margin-top: 8px; }
.e-con.br-seat-head, .e-con.br-seat-rows { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; }
.br-seat-head .elementor-heading-title { font-size: 30px; line-height: 1.25; letter-spacing: -0.005em; color: var(--br-white); margin-bottom: 28px; }
.br-seat-lede p { font-size: 18px; line-height: 1.6; color: rgba(214, 221, 230, 0.8); margin: 0; }
.e-con.br-seat-row { --padding-top: 30px; --padding-bottom: 30px; --padding-left: 64px; --padding-right: 0px; --gap: 0px; --row-gap: 0px; position: relative; border-top: 1px solid rgba(214, 221, 230, 0.18); }
.br-seat-row > .elementor-widget:first-child { position: absolute; left: 0; top: 35px; margin: 0; width: auto; }
.br-seat-num { display: block; font-family: var(--br-heading-font, inherit); font-size: 15px; font-weight: 600; letter-spacing: 0.1em; color: var(--br-steel-light); }
.br-seat-row .elementor-heading-title { font-size: 24px; line-height: 1.25; font-weight: 600; color: var(--br-white); margin-bottom: 10px; }
.br-seat-row p { font-size: 18px; line-height: 1.6; color: rgba(214, 221, 230, 0.8); margin: 0; }
.e-con.br-seat-row-lead { --padding-left: 96px; --padding-right: 36px; --padding-top: 36px; --padding-bottom: 36px; background: rgba(155, 184, 224, 0.09); border-top: 2px solid var(--br-sage); border-radius: 0 0 14px 14px; }
.br-seat-row-lead > .elementor-widget:first-child { left: 32px; top: 41px; }
.br-seat-row-lead .br-seat-num { color: var(--br-sage); }
.br-seat-row-lead .elementor-heading-title { font-size: 28px; }
.br-seat-row-lead p { color: var(--br-white); }
.br-seat-row-lead strong { display: block; margin-top: 14px; font-weight: 700; color: var(--br-steel-light); }
@media (min-width: 1025px) {
  .e-con.br-seat-split { --e-con-grid-template-columns: 5fr 7fr !important; grid-template-columns: 5fr 7fr !important; gap: 96px !important; margin-top: 16px; }
  .br-seat-head .elementor-heading-title { font-size: 46px; line-height: 1.22; margin-bottom: 36px; }
  .br-seat-lede p { font-size: 20px; }
  .e-con.br-seat-row { --padding-top: 36px; --padding-bottom: 36px; --padding-left: 72px; }
  .br-seat-row > .elementor-widget:first-child { top: 43px; }
  .br-seat-row .elementor-heading-title { font-size: 28px; }
  .br-seat-row p { font-size: 19px; }
  .e-con.br-seat-row-lead { --padding-left: 104px; --padding-right: 44px; --padding-top: 44px; --padding-bottom: 44px; }
  .br-seat-row-lead > .elementor-widget:first-child { left: 40px; top: 51px; }
  .br-seat-row-lead .elementor-heading-title { font-size: 32px; }
}

/* Seat section: balanced columns, numbers and titles on one vertical line */
.e-con.br-seat-row { --padding-left: 88px; }
.br-seat-row > .elementor-widget:first-child { left: 32px; }
.e-con.br-seat-row-lead { --padding-left: 88px; }
.br-seat-row-lead > .elementor-widget:first-child { left: 32px; }
@media (min-width: 1025px) {
  .e-con.br-seat-split { --e-con-grid-template-columns: 1fr 1fr !important; grid-template-columns: 1fr 1fr !important; gap: 88px !important; }
  .br-seat-head .elementor-heading-title { font-size: 44px; }
  .e-con.br-seat-row, .e-con.br-seat-row-lead { --padding-left: 104px; }
  .br-seat-row > .elementor-widget:first-child, .br-seat-row-lead > .elementor-widget:first-child { left: 40px; }
}
@media (max-width: 767px) {
  .e-con.br-seat-row, .e-con.br-seat-row-lead { --padding-left: 64px; --padding-right: 20px; }
  .br-seat-row > .elementor-widget:first-child, .br-seat-row-lead > .elementor-widget:first-child { left: 20px; }
}

.br-seat-row .elementor-heading-title { font-weight: 500; letter-spacing: -0.005em; }

/* Terms section: label, heading, one panel of three terms */
.br-terms-section .elementor-widget-heading { margin-bottom: 0; }
.br-terms-section > .e-con-inner > .elementor-widget-heading .elementor-heading-title { font-size: 30px; line-height: 1.2; margin-bottom: 28px; }
.e-con.br-terms { --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; border-radius: 14px; border-color: rgba(27, 43, 68, 0.1); box-shadow: 0 10px 30px rgba(27, 43, 68, 0.06); overflow: hidden; }
.e-con.br-term { --padding-top: 36px; --padding-right: 32px; --padding-bottom: 36px; --padding-left: 32px; --gap: 12px; --row-gap: 12px; }
.e-con.br-term::before { left: 32px; width: 36px; height: 3px; background: var(--br-sage); }
.br-term .elementor-heading-title { font-size: 22px; line-height: 1.2; font-weight: 600; color: var(--br-navy); margin-top: 14px; }
.br-term p { font-size: 17px; line-height: 1.6; color: var(--br-slate); }
@media (min-width: 1025px) {
  .e-con.br-terms { --e-con-grid-template-columns: repeat(3, 1fr) !important; grid-template-columns: repeat(3, 1fr) !important; }
  .br-terms-section > .e-con-inner > .elementor-widget-heading .elementor-heading-title { font-size: 40px; margin-bottom: 40px; }
  .e-con.br-term { --padding-top: 52px; --padding-right: 44px; --padding-bottom: 52px; --padding-left: 44px; }
  .e-con.br-term::before { left: 44px; width: 40px; }
  .br-term .elementor-heading-title { font-size: 25px; margin-top: 18px; }
  .br-term p { font-size: 18px; }
}
@media (max-width: 1024px) {
  .e-con.br-term + .e-con.br-term { border-left: 0; border-top: 1px solid var(--br-hair); }
}

/* Terms: label colour, sage rule sits inside the panel padding */
.br-terms-section .br-label { color: var(--br-steel); }
.e-con.br-term::before { top: 36px; }
.br-term .elementor-heading-title { margin-top: 20px; text-wrap: balance; }
@media (min-width: 1025px) {
  .e-con.br-term::before { top: 52px; }
  .br-term .elementor-heading-title { margin-top: 24px; }
}

/* How we work together: four steps, then the terms panel */
.e-con.br-steps { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; margin-top: 8px; }
.e-con.br-step { --padding-top: 24px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 8px; --row-gap: 8px; border-top: 1px solid var(--br-hair); position: relative; }
.e-con.br-step::before { content: ""; position: absolute; top: -1px; left: 0; width: 40px; height: 3px; background: var(--br-sage); }
.br-step-num { display: block; font-family: var(--br-heading-font, inherit); font-size: 14px; font-weight: 700; letter-spacing: 0.1em; color: var(--br-steel); }
.br-step .elementor-heading-title { font-size: 20px; line-height: 1.25; font-weight: 600; color: var(--br-navy); margin-top: 10px; }
.br-step p { font-size: 16px; line-height: 1.6; color: var(--br-slate); margin: 0; }
.br-terms-lede p { font-size: 19px; line-height: 1.5; color: var(--br-navy); margin: 56px 0 20px; font-weight: 600; }
@media (min-width: 1025px) {
  .e-con.br-step { --padding-top: 28px; }
  .br-step .elementor-heading-title { font-size: 22px; margin-top: 12px; }
  .br-step p { font-size: 17px; }
  .br-terms-lede p { font-size: 21px; margin-top: 72px; }
}

.e-con.br-steps { margin-top: 20px; }
@media (min-width: 1025px) { .e-con.br-steps { margin-top: 36px; } }

/* Closing section: navy panel, statement left, actions right */
.e-con.br-cta-panel.br-close { background-color: var(--br-navy); border-radius: 14px; --padding-top: 56px; --padding-bottom: 56px; --padding-left: 28px; --padding-right: 28px; --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; gap: 36px !important; box-shadow: 0 24px 60px rgba(27, 43, 68, 0.18); }
.e-con.br-cta-panel.br-close::after { display: none; }
.e-con.br-cta-panel.br-close::before { width: 520px; height: 520px; right: -220px; top: -260px; background: radial-gradient(circle, rgba(155, 184, 224, 0.16) 0%, rgba(155, 184, 224, 0) 70%); }
.e-con.br-close-body, .e-con.br-close-actions { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; }
.br-close .elementor-heading-title { font-size: 30px; line-height: 1.22; letter-spacing: -0.005em; color: var(--br-white); margin-bottom: 24px; }
.br-close-lede p { font-size: 18px; line-height: 1.6; color: rgba(214, 221, 230, 0.82); margin: 0; }
.br-close-btn .elementor-button { background-color: var(--br-white); color: var(--br-navy); font-size: 17px; padding: 20px 40px; border-radius: 2px; }
.br-close-btn .elementor-button:hover, .br-close-btn .elementor-button:focus { background-color: var(--br-steel-light); color: var(--br-navy); }
.br-close-alt { margin: 20px 0 0; font-size: 16px; color: rgba(214, 221, 230, 0.75); }
.br-close-alt a { font-weight: 600; text-decoration: none; }
@media (min-width: 1025px) {
  .e-con.br-cta-panel.br-close { --padding-top: 88px; --padding-bottom: 88px; --padding-left: 88px; --padding-right: 88px; --e-con-grid-template-columns: 7fr 4fr !important; grid-template-columns: 7fr 4fr !important; gap: 72px !important; }
  .br-close .elementor-heading-title { font-size: 44px; line-height: 1.2; margin-bottom: 28px; }
  .br-close-lede p { font-size: 20px; max-width: 620px; }
  .e-con.br-close-actions { align-items: flex-start; padding-left: 56px; border-left: 1px solid rgba(214, 221, 230, 0.18); }
}

.br-close .br-close-btn .elementor-button { font-size: 17px; padding: 20px 40px; }
.br-close .br-close-btn .elementor-button .elementor-button-text { font-size: 17px; }

/* Footer: brand column leads, labelled columns, quieter copyright bar */
.site-primary-footer-wrap { padding-top: 72px; padding-bottom: 56px; }
.site-footer p.br-foot-name { font-family: var(--br-heading-font, inherit); font-size: 26px; font-weight: 600; line-height: 1.2; letter-spacing: -0.005em; color: var(--br-white); margin: 0 0 14px; }
.site-footer p.br-foot-tag { font-size: 17px; line-height: 1.55; color: rgba(214, 221, 230, 0.8); max-width: 360px; margin: 0 0 22px; }
.site-footer p.br-foot-loc { position: relative; padding-top: 16px; font-size: 15px; font-weight: 600; letter-spacing: 0.02em; color: var(--br-steel-light); margin: 0; }
.site-footer p.br-foot-loc::before { content: ""; position: absolute; top: 0; left: 0; width: 32px; height: 2px; background: var(--br-sage); }
.site-footer p.br-foot-head, .site-footer [data-section="section-footer-menu"]::before { display: block; font-family: var(--br-heading-font, inherit); font-size: 14px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--br-steel-light); margin: 0 0 18px; }
.site-footer [data-section="section-footer-menu"]::before { content: "Explore"; }
.site-footer .footer-widget-area .menu-item > a, .site-footer .footer-nav-wrap .menu-link { font-size: 16px; font-weight: 500; padding: 6px 0; color: rgba(214, 221, 230, 0.85); }
.site-footer .footer-nav-wrap .menu-link:hover { color: var(--br-white); text-decoration: none; }
.site-footer p.br-foot-contact { font-size: 17px; line-height: 1.9; margin: 0 0 24px; }
.site-footer p.br-foot-contact a { color: var(--br-white); font-weight: 600; }
.site-footer p.br-foot-handled { font-size: 15px; line-height: 1.6; color: rgba(214, 221, 230, 0.7); padding-top: 20px; border-top: 1px solid rgba(214, 221, 230, 0.16); margin: 0; }
.site-footer p.br-foot-handled a { color: var(--br-steel-light); font-weight: 600; }
.site-below-footer-wrap .ast-footer-copyright, .site-below-footer-wrap .ast-footer-copyright p { font-size: 14px; color: rgba(214, 221, 230, 0.6); }
@media (max-width: 767px) {
  .site-primary-footer-wrap { padding-top: 48px; padding-bottom: 32px; }
  .site-primary-footer-wrap .ast-builder-grid-row > .site-footer-section { margin-bottom: 36px; }
}

.site-footer .footer-nav-wrap .menu-item .menu-link { font-size: 16px !important; font-weight: 500; }

.site-footer p.br-foot-name { font-weight: 500; }
.site-footer { margin-top: -1px; position: relative; }

/* Footer, stacked layouts: gutters and spacing between columns */
@media (max-width: 1024px) {
  .site-footer .site-primary-footer-wrap, .site-footer .site-below-footer-wrap { padding-left: 24px; padding-right: 24px; }
  .site-footer .site-primary-footer-wrap .site-footer-section { margin-bottom: 40px; }
  .site-footer .site-primary-footer-wrap .site-footer-section:last-child { margin-bottom: 0; }
  .site-footer .footer-nav-wrap .menu-item .menu-link { padding-left: 0 !important; padding-right: 0 !important; }
}

@media (max-width: 1024px) {
  .site-footer .site-primary-footer-wrap .ast-builder-grid-row { row-gap: 40px !important; }
  .site-footer .site-primary-footer-wrap .site-footer-section { margin-bottom: 0 !important; }
}

/* Header: logo, spaced navigation, quiet rule underneath */
.ast-primary-header-bar { border-bottom-color: rgba(27, 43, 68, 0.08) !important; }
.site-header .custom-logo-link img { display: block; height: auto; }
.site-header .ast-builder-menu-1 .menu-item > .menu-link { font-size: 16px; font-weight: 500; letter-spacing: 0.01em; color: var(--br-ink); padding-left: 18px; padding-right: 18px; position: relative; }
.site-header .ast-builder-menu-1 .menu-item > .menu-link::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: 26px; height: 2px; background: var(--br-sage); transform: scaleX(0); transform-origin: left; transition: transform 0.2s ease; }
.site-header .ast-builder-menu-1 .menu-item > .menu-link:hover::after, .site-header .ast-builder-menu-1 .current-menu-item > .menu-link::after { transform: scaleX(1); }
.site-header .ast-builder-menu-1 .menu-item > .menu-link:hover { color: var(--br-steel); }
.site-header .ast-header-button-1 { margin-left: 18px; }
.site-header .ast-header-button-1 .ast-custom-button { font-size: 16px; font-weight: 600; letter-spacing: 0.01em; padding: 14px 28px; border-radius: 2px; background-color: var(--br-steel); color: var(--br-white); transition: background-color 0.2s ease; }
.site-header .ast-header-button-1 .ast-custom-button:hover { background-color: var(--br-navy); }

/* Buttons: one type scale in px so browser defaults cannot shrink them */
.elementor-widget-button .elementor-button, .elementor-widget-button .elementor-button .elementor-button-text { font-size: 17px !important; font-weight: 600; letter-spacing: 0.01em; line-height: 1; }
.br-hero .elementor-widget-button .elementor-button { padding: 20px 36px !important; }
.site-header .ast-header-button-1 .ast-custom-button { font-size: 16px !important; letter-spacing: 0.01em; padding: 14px 28px !important; }

/* ===== Review pass (2026-09-22) ===== */
/* Hero: no slab, block or ring; headline leads the page */
.e-con.br-hero::before { display: none !important; }
.e-con.br-media-plain::before, .e-con.br-media-plain::after { display: none !important; }
.br-hero-photo .elementor-widget-image img { border-radius: 14px; box-shadow: 0 24px 60px rgba(27, 43, 68, 0.16); }
.br-hero h1.elementor-heading-title { font-size: 36px; line-height: 1.1; letter-spacing: -0.015em; }
@media (min-width: 768px) { .br-hero h1.elementor-heading-title { font-size: 46px; } }
@media (min-width: 1025px) {
  .br-hero h1.elementor-heading-title { font-size: 58px; line-height: 1.06; margin-bottom: 8px; }
  .e-con.br-hero { --padding-top: 64px; }
  .e-con.br-hero-top { align-items: center !important; }
}

/* One H2 size for every section */
.br-programs-head .elementor-heading-title, .br-problem-head .elementor-heading-title, .br-proof-head .elementor-heading-title, .br-seat-head .elementor-heading-title, .br-close .elementor-heading-title { font-size: 28px; line-height: 1.22; letter-spacing: -0.005em; }
@media (min-width: 1025px) {
  .br-programs-head .elementor-heading-title, .br-problem-head .elementor-heading-title, .br-proof-head .elementor-heading-title, .br-seat-head .elementor-heading-title, .br-close .elementor-heading-title { font-size: 40px; line-height: 1.2; }
}

/* Programs intro reads as copy, not fine print */
.br-programs .br-intro p { font-size: 18px; line-height: 1.6; color: rgba(22, 32, 46, 0.78); }
@media (min-width: 1025px) { .br-programs .br-intro p { font-size: 19px; } .br-programs-head .elementor-heading-title { margin-bottom: 20px; } }

/* Photos: monochrome across the page; Tino carries the only colour */
.br-card-photo img, .br-proof-media img { filter: grayscale(1) contrast(1.06); }

/* Case study photo: crop down to the dog and the laser */
.br-proof-media .elementor-widget-image .elementor-widget-container { position: relative; overflow: hidden; height: 100%; border-radius: 14px; }
.br-proof-media .elementor-widget-image img { position: absolute; left: 0; bottom: 0; width: 100%; height: 132% !important; object-position: 55% 100%; border-radius: 0; }
@media (min-width: 1025px) { .br-proof-media .elementor-widget-image .elementor-widget-container { border-radius: 14px 0 0 14px; } }

/* Closing panel on the pale ground */
.e-con.br-cta-panel.br-close { background-color: var(--br-tint); box-shadow: none; border: 1px solid rgba(27, 43, 68, 0.08); }
.e-con.br-cta-panel.br-close::before { display: none; }
.br-close .br-label { color: var(--br-steel); }
.br-close .br-label::before { background: var(--br-steel); }
.br-close .elementor-heading-title { color: var(--br-navy); }
.br-close-lede p { color: var(--br-slate); }
.br-close .br-close-btn .elementor-button { background-color: var(--br-steel); color: var(--br-white); }
.br-close .br-close-btn .elementor-button:hover, .br-close .br-close-btn .elementor-button:focus { background-color: var(--br-navy); color: var(--br-white); }
.br-close-alt { color: var(--br-slate); }
.br-close-alt a { color: var(--br-steel); }
@media (min-width: 1025px) { .e-con.br-close-actions { border-left-color: rgba(27, 43, 68, 0.12); } }

@media (min-width: 1025px) {
  .e-con.br-hero-top { --e-con-grid-template-columns: minmax(0, 58fr) minmax(0, 42fr) !important; }
  .br-hero h1.elementor-heading-title { font-size: 52px; line-height: 1.08; }
}

.br-programs-head .elementor-heading-title, .br-problem-head .elementor-heading-title, .br-proof-head .elementor-heading-title, .br-seat-head .elementor-heading-title, .br-close .elementor-heading-title, .br-hero h1.elementor-heading-title { text-wrap: balance; }

/* ===== Program pages ===== */
.br-photo-mono .elementor-widget-image img { filter: grayscale(1) contrast(1.06); }
.br-page-hero .br-label { margin-bottom: 20px; }
.e-con.br-page-hero-body { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; }
.br-page-hero .elementor-widget-button { margin-top: 20px; }

/* Section H2s on program pages follow the same scale */
.br-fit-head .elementor-heading-title, .br-scope-head .elementor-heading-title { font-size: 28px; line-height: 1.22; letter-spacing: -0.005em; text-wrap: balance; }
@media (min-width: 1025px) { .br-fit-head .elementor-heading-title, .br-scope-head .elementor-heading-title { font-size: 40px; line-height: 1.2; } }

/* Who it is for */
.e-con.br-fit-split { gap: 32px !important; --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; }
.e-con.br-fit-head, .e-con.br-fit-body { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; }
.br-fit-copy p { font-size: 18px; line-height: 1.6; color: rgba(22, 32, 46, 0.8); margin: 0 0 16px; }
.br-tags { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.br-tags li { margin: 0; padding: 10px 18px; font-size: 15px; font-weight: 600; color: var(--br-navy); background: var(--br-white); border: 1px solid rgba(27, 43, 68, 0.12); border-radius: 999px; }
@media (min-width: 1025px) {
  .e-con.br-fit-split { --e-con-grid-template-columns: 1fr 1fr !important; grid-template-columns: 1fr 1fr !important; gap: 88px !important; align-items: end; }
  .br-fit-copy p { font-size: 19px; }
}

/* What we run for you */
.e-con.br-scope-head { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; max-width: 760px; }
.br-scope-head .elementor-heading-title { margin-bottom: 20px; }
.br-scope-intro p { font-size: 18px; line-height: 1.6; color: rgba(22, 32, 46, 0.8); margin: 0; }
.e-con.br-scope { margin-top: 40px; gap: 0 !important; --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; border-top: 1px solid var(--br-hair); }
.e-con.br-scope-item { --padding-top: 28px; --padding-right: 0px; --padding-bottom: 28px; --padding-left: 0px; --gap: 10px; --row-gap: 10px; position: relative; border-bottom: 1px solid var(--br-hair); }
.e-con.br-scope-item::before { content: ""; position: absolute; top: -1px; left: 0; width: 40px; height: 3px; background: var(--br-sage); }
.br-scope-item .elementor-heading-title { font-size: 22px; line-height: 1.25; font-weight: 600; color: var(--br-navy); }
.br-scope-item p { font-size: 17px; line-height: 1.6; color: var(--br-slate); margin: 0; }
.br-scope-note p { font-size: 17px; line-height: 1.6; color: var(--br-steel); font-weight: 600; margin: 32px 0 0; }
@media (min-width: 1025px) {
  .br-scope-intro p { font-size: 19px; }
  .e-con.br-scope { margin-top: 56px; --e-con-grid-template-columns: repeat(3, 1fr) !important; grid-template-columns: repeat(3, 1fr) !important; column-gap: 56px !important; border-top: 0; }
  .e-con.br-scope-item { --padding-top: 32px; --padding-bottom: 40px; border-bottom: 0; border-top: 1px solid var(--br-hair); }
  .br-scope-item .elementor-heading-title { font-size: 24px; }
  .br-scope-item p { font-size: 18px; }
}

/* Section labels on light grounds are always steel */
.br-section:not(.br-dark) .br-label.br-label-lg { color: var(--br-steel); }
.br-page-hero h1.elementor-heading-title { margin-bottom: 20px; }

@media (min-width: 1025px) {
  .e-con.br-seat-head-center { align-self: center; }
}

/* What changes for you: four points across */
.e-con.br-seat-head-top { max-width: 820px; margin-bottom: 8px; }
.e-con.br-seat-cols { margin-top: 32px; }
.e-con.br-seat-col { --padding-top: 26px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 8px; --row-gap: 8px; position: relative; border-top: 1px solid rgba(214, 221, 230, 0.22); }
.e-con.br-seat-col::before { content: ""; position: absolute; top: -1px; left: 0; width: 40px; height: 3px; background: var(--br-sage); }
.br-seat-col > .elementor-widget:first-child { position: static; margin: 0; }
.br-seat-col .br-seat-num { font-size: 14px; letter-spacing: 0.1em; color: var(--br-steel-light); }
.br-seat-col .elementor-heading-title { font-size: 20px; line-height: 1.25; font-weight: 500; color: var(--br-white); margin: 6px 0 8px; }
.br-seat-col p { font-size: 16px; line-height: 1.6; color: rgba(214, 221, 230, 0.8); margin: 0; }
@media (min-width: 1025px) {
  .e-con.br-seat-cols { margin-top: 48px; }
  .e-con.br-seat-col { --padding-top: 30px; }
  .br-seat-col .elementor-heading-title { font-size: 22px; }
  .br-seat-col p { font-size: 17px; }
}

/* Who it is for: photo beside the copy */
.br-fit-photo .elementor-widget-image img { border-radius: 14px; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 45%; box-shadow: 0 20px 48px rgba(27, 43, 68, 0.14); }
.e-con.br-fit-text { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; }
.br-fit-text .br-label { margin-bottom: 18px; }
.br-fit-text .elementor-heading-title { margin-bottom: 22px; }
@media (max-width: 1024px) { .br-fit-photo .elementor-widget-image img { aspect-ratio: 3 / 2; } }
@media (min-width: 1025px) { .e-con.br-fit-split { --e-con-grid-template-columns: 42fr 58fr !important; grid-template-columns: 42fr 58fr !important; gap: 72px !important; align-items: center; } }

/* Scope: statement left, stacked list right */
.e-con.br-scope-split { gap: 32px !important; --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; }
.e-con.br-scope-list { margin-top: 0; border-top: 1px solid var(--br-hair); --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; }
.e-con.br-scope-list .e-con.br-scope-item { --padding-top: 24px; --padding-bottom: 24px; --padding-right: 0px; --padding-left: 0px; border-top: 0; border-bottom: 1px solid var(--br-hair); }
.e-con.br-scope-list .e-con.br-scope-item::before { display: none; }
.br-scope-list .br-scope-item .elementor-heading-title { position: relative; padding-left: 26px; font-size: 20px; }
.br-scope-list .br-scope-item .elementor-heading-title::before { content: ""; position: absolute; left: 0; top: 11px; width: 14px; height: 2px; background: var(--br-sage); }
.br-scope-list .br-scope-item p { padding-left: 26px; font-size: 17px; }
.br-scope-note p { margin-top: 28px; }
@media (min-width: 1025px) {
  .e-con.br-scope-split { --e-con-grid-template-columns: 42fr 58fr !important; grid-template-columns: 42fr 58fr !important; gap: 88px !important; }
  .e-con.br-scope-head { max-width: none; position: sticky; top: 120px; }
  .e-con.br-scope-list .e-con.br-scope-item { --padding-top: 28px; --padding-bottom: 28px; }
  .br-scope-list .br-scope-item .elementor-heading-title { font-size: 22px; padding-left: 30px; }
  .br-scope-list .br-scope-item .elementor-heading-title::before { width: 18px; top: 13px; }
  .br-scope-list .br-scope-item p { padding-left: 30px; font-size: 18px; }
}

/* Proof line under the terms */
.br-proof-line p { margin: 40px 0 0; font-size: 18px; line-height: 1.6; color: var(--br-slate); text-align: center; }
.br-proof-line a.br-proof-link { color: var(--br-steel); font-weight: 600; text-decoration: none; border-bottom: 1.5px solid rgba(46, 80, 130, 0.35); padding-bottom: 2px; }
.br-proof-line a.br-proof-link:hover { border-bottom-color: var(--br-steel); }
@media (min-width: 1025px) { .br-proof-line p { font-size: 19px; margin-top: 56px; } }

/* Program hero photo: taller and bled to the edge */
@media (min-width: 1025px) {
  .e-con.br-page-hero > .e-con-inner { overflow: visible; }
  .br-page-hero .br-hero-photo .elementor-widget-image img { aspect-ratio: 4 / 5; border-radius: 14px 0 0 14px; }
  .e-con.br-page-hero .e-con.br-hero-photo { width: calc(100% + max(24px, (100vw - 1200px) / 2)) !important; max-width: none !important; }
}

.br-proof-line p { max-width: none; margin-left: auto; margin-right: auto; }
.br-proof-line { text-align: center; }

/* Scope: two columns of three, heading above */
.e-con.br-scope-list { margin-top: 32px; }
@media (min-width: 1025px) {
  .e-con.br-scope-head { position: static; max-width: 780px; }
  .e-con.br-scope-list { margin-top: 48px; --e-con-grid-template-columns: 1fr 1fr !important; grid-template-columns: 1fr 1fr !important; column-gap: 72px !important; }
}

/* Program hero photo: square, inside the grid */
@media (min-width: 1025px) {
  .e-con.br-page-hero .e-con.br-hero-photo { width: 100% !important; }
  .br-page-hero .br-hero-photo .elementor-widget-image img { aspect-ratio: 1 / 1; border-radius: 14px; }
}

/* ===== Practice CFO ===== */
/* Scale marks beside the fit copy */
.br-marks { list-style: none; margin: 0; padding: 0; }
.br-marks li { display: block; padding: 22px 0; border-top: 1px solid var(--br-hair); }
.br-marks li:last-child { border-bottom: 1px solid var(--br-hair); }
.br-marks li strong { display: block; font-family: var(--br-heading-font, inherit); font-size: 40px; line-height: 1; font-weight: 500; letter-spacing: -0.02em; color: var(--br-steel); }
.br-marks li span { display: block; margin-top: 8px; font-size: 16px; color: var(--br-slate); }
.e-con.br-fit-metrics { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; }
@media (min-width: 1025px) {
  .e-con.br-value-split { --e-con-grid-template-columns: 58fr 42fr !important; grid-template-columns: 58fr 42fr !important; gap: 72px !important; align-items: center; }
  .br-marks li strong { font-size: 52px; }
  .e-con.br-fit-metrics { padding-left: 24px; }
}
.e-con.br-value-split { gap: 32px !important; --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; }
.br-value-photo .elementor-widget-image img { border-radius: 14px; aspect-ratio: 4 / 5; object-fit: cover; box-shadow: 0 20px 48px rgba(27, 43, 68, 0.14); }
@media (max-width: 1024px) { .br-value-photo .elementor-widget-image img { aspect-ratio: 3 / 2; } }

/* Levers: headline items with no body copy */

.br-levers-section .e-con.br-scope-item { --padding-top: 26px; --padding-bottom: 26px; }
@media (min-width: 1025px) { .br-levers-section .e-con.br-scope-item { --padding-top: 30px; --padding-bottom: 30px; } }

/* Steps section label spacing when it stands alone */
.br-steps-section .br-label { margin-bottom: 0; }

@media (min-width: 1025px) {
  .e-con.br-value-split { --e-con-grid-template-columns: 58fr 42fr !important; grid-template-columns: 58fr 42fr !important; gap: 72px !important; align-items: center; }
}

/* ===== Practice CFO: point of view and levers ===== */
.e-con.br-pov-split { gap: 28px !important; --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; }
.e-con.br-pov-head, .e-con.br-pov-body { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; }
.br-pov-head .elementor-heading-title { font-size: 28px; line-height: 1.22; letter-spacing: -0.005em; text-wrap: balance; }
.br-pov-copy p { font-size: 18px; line-height: 1.7; color: rgba(22, 32, 46, 0.82); margin: 0 0 18px; }
.br-pov-pull { margin: 8px 0 0; padding-top: 24px; border-top: 2px solid var(--br-sage); font-family: var(--br-heading-font, inherit); font-size: 22px; line-height: 1.35; font-weight: 500; letter-spacing: -0.005em; color: var(--br-navy); }
@media (min-width: 1025px) {
  .e-con.br-pov-split { --e-con-grid-template-columns: 42fr 58fr !important; grid-template-columns: 42fr 58fr !important; gap: 88px !important; align-items: start; }
  .br-pov-head .elementor-heading-title { font-size: 40px; line-height: 1.2; }
  .e-con.br-pov-head { position: sticky; top: 130px; }
  .br-pov-copy p { font-size: 19px; }
  .br-pov-pull { font-size: 26px; padding-top: 28px; }
}

/* Levers: numbered, with what we hold them against */
.e-con.br-levers { margin-top: 32px; border-top: 1px solid var(--br-hair); }
.e-con.br-lever { --padding-top: 30px; --padding-bottom: 30px; --padding-left: 0px; --padding-right: 0px; --gap: 0px; --row-gap: 0px; border-bottom: 1px solid var(--br-hair); }
.br-lever-num { display: block; font-family: var(--br-heading-font, inherit); font-size: 14px; font-weight: 700; letter-spacing: 0.1em; color: var(--br-steel); }
.br-lever .elementor-heading-title { font-size: 24px; line-height: 1.22; font-weight: 600; color: var(--br-navy); margin: 10px 0 12px; }
.br-lever p { font-size: 17px; line-height: 1.65; color: var(--br-slate); margin: 0; }
.br-lever-watch { margin-top: 18px !important; padding-top: 16px; border-top: 1px dashed rgba(27, 43, 68, 0.18); font-size: 16px !important; color: var(--br-navy) !important; }
.br-lever-watch span { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--br-steel); }
@media (min-width: 1025px) {
  .e-con.br-levers { margin-top: 48px; }
  .e-con.br-lever { --padding-top: 36px; --padding-bottom: 36px; }
  .br-lever .elementor-heading-title { font-size: 27px; }
  .br-lever p { font-size: 18px; }
}

/* Cadence list items */
.br-cadence-section .br-scope-list .br-scope-item .elementor-heading-title { color: var(--br-steel); }

/* CFO hero: typographic, with the qualifying figures as the visual */
.br-hero-wide .elementor-widget-button { margin-top: 24px; }
.br-hero-marks { margin-top: 44px; }
.br-marks-row { display: grid; grid-template-columns: 1fr; gap: 0; }
.br-marks-row li { padding: 20px 0; }
.br-marks-row li:last-child { border-bottom: 1px solid var(--br-hair); }
@media (min-width: 1025px) {
  .e-con.br-page-hero .e-con.br-hero-top { --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; }
  .br-page-hero.br-section { --padding-top: 88px; }
  .br-hero-wide .elementor-widget-heading .elementor-heading-title { max-width: 16ch; }
  .br-page-hero .br-sub p { max-width: 62ch; font-size: 20px; }
  .br-hero-marks { margin-top: 64px; }
  .br-marks-row { grid-template-columns: repeat(3, 1fr); column-gap: 64px; border-top: 1px solid var(--br-hair); }
  .br-marks-row li { padding: 26px 0 0; border-top: 0; }
  .br-marks-row li:last-child { border-bottom: 0; }
  .br-marks-row li strong { font-size: 56px; }
}

/* Who it is for, without the figures column */
@media (min-width: 1025px) {
  .br-fit-section .e-con.br-fit-split { --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; }
  .br-fit-section .br-fit-text .elementor-widget-heading .elementor-heading-title { max-width: 22ch; }
  .br-fit-section .br-fit-copy p { max-width: 72ch; }
}

@media (min-width: 1025px) {
  .br-hero-wide .elementor-widget-heading .elementor-heading-title { max-width: 20ch; font-size: 60px; line-height: 1.04; }
}

@media (min-width: 1025px) {
  .e-con.br-page-hero .e-con.br-hero-top { --e-con-grid-template-columns: minmax(0, 58fr) minmax(0, 42fr) !important; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr) !important; gap: 72px !important; }
  .br-hero-wide .elementor-widget-heading .elementor-heading-title, .br-page-hero-body .elementor-widget-heading .elementor-heading-title { max-width: none; font-size: 52px; line-height: 1.08; }
  .br-page-hero .br-sub p { max-width: none; font-size: 18px; }
}

/* Terms: when the lede opens the section, no extra space above it */
.br-terms-section > .e-con-inner > .br-terms-lede:first-child p, .br-terms-section > .br-terms-lede:first-child p { margin-top: 0; }

/* Terms: even the space above and below now the sage ridge rises into the section */
.e-con.br-terms-section.br-ridge { --padding-bottom: calc(150px + var(--br-ridge-h)); }

/* ==================================================================
   One spacing system for every section on every page
   ================================================================== */
:root { --br-sec-pad: 104px; }
@media (max-width: 1024px) { :root { --br-sec-pad: 80px; } }
@media (max-width: 767px) { :root { --br-sec-pad: 56px; } }
.e-con.br-section, .e-con.br-section.br-hero, .e-con.br-page-hero.br-section { --padding-top: var(--br-sec-pad); --padding-bottom: var(--br-sec-pad); }
/* A ridge eats into the section, so ridge sections carry the graphic plus the same clear space */
.e-con.br-section.br-ridge, .e-con.br-section.br-hero.br-ridge, .e-con.br-terms-section.br-ridge { --padding-bottom: calc(var(--br-sec-pad) + 46px + var(--br-ridge-h)); }

.e-con.br-problem-body { --padding-top: var(--br-sec-pad); --padding-bottom: calc(var(--br-sec-pad) + 46px + var(--br-ridge-h)); }

/* Tighter page rhythm */
:root { --br-sec-pad: 76px; }
@media (max-width: 1024px) { :root { --br-sec-pad: 60px; } }
@media (max-width: 767px) { :root { --br-sec-pad: 44px; } }

/* Fix: the single-column Who It Is For layout belongs to Practice CFO only */
@media (min-width: 1025px) {
  .br-fit-section .e-con.br-fit-split { --e-con-grid-template-columns: 42fr 58fr !important; grid-template-columns: 42fr 58fr !important; gap: 72px !important; align-items: center; }
  .page-id-13 .br-fit-section .e-con.br-fit-split { --e-con-grid-template-columns: 1fr !important; grid-template-columns: 1fr !important; }
}

/* Photos and text start on the same line at the top of a section */
@media (min-width: 1025px) {
  .e-con.br-hero-top { align-items: start !important; }
  .br-problem-media .elementor-widget-image { top: var(--br-sec-pad); bottom: calc(var(--br-sec-pad) + 46px + var(--br-ridge-h)); }
}

/* Case study photo: clip the crop on the widget itself (Elementor 4 has no inner container) */
.br-proof-media .elementor-widget-image { overflow: hidden; border-radius: 14px; }
@media (min-width: 1025px) { .br-proof-media .elementor-widget-image { border-radius: 14px 0 0 14px; } }
@media (max-width: 1024px) { .br-proof-media .elementor-widget-image { border-radius: 14px; } }

/* Accent inside a headline */
.elementor-heading-title .br-accent { color: var(--br-steel); font-weight: 700; }

/* Page rhythm halved */
:root { --br-sec-pad: 38px; }
@media (max-width: 1024px) { :root { --br-sec-pad: 30px; } }
@media (max-width: 767px) { :root { --br-sec-pad: 22px; } }

/* ===== Case study page ===== */
.br-meta { list-style: none; margin: 28px 0 0; padding: 0; }
.br-meta li { padding: 14px 0; border-top: 1px solid var(--br-hair); font-size: 17px; color: var(--br-navy); }
.br-meta li:last-child { border-bottom: 1px solid var(--br-hair); }
.br-meta li span { display: block; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--br-steel); margin-bottom: 4px; }

/* Findings */
.e-con.br-finds { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; margin-top: 28px; }
.e-con.br-find { --padding-top: 24px; --padding-bottom: 24px; --padding-left: 64px; --padding-right: 0px; --gap: 0px; --row-gap: 0px; position: relative; border-top: 1px solid rgba(214, 221, 230, 0.2); }
.e-con.br-find:last-child { border-bottom: 1px solid rgba(214, 221, 230, 0.2); }
.br-find > .elementor-widget:first-child { position: absolute; left: 0; top: 26px; margin: 0; width: auto; }
.br-find-num { font-family: var(--br-heading-font, inherit); font-size: 15px; font-weight: 700; letter-spacing: 0.1em; color: var(--br-sage); }
.br-find p { font-size: 17px; line-height: 1.65; color: rgba(214, 221, 230, 0.86); margin: 0; }
.br-find-close p { margin: 28px 0 0; font-family: var(--br-heading-font, inherit); font-size: 20px; line-height: 1.4; color: var(--br-white); max-width: 70ch; }
@media (min-width: 1025px) {
  .e-con.br-find { --padding-left: 76px; --padding-top: 28px; --padding-bottom: 28px; }
  .br-find p { font-size: 18px; }
  .br-find-close p { font-size: 24px; margin-top: 36px; }
}

/* Outcome note */
.br-foot-note p { margin: 24px 0 0; font-size: 15px; line-height: 1.6; color: var(--br-slate); max-width: 80ch; }

/* The quiet section */
.e-con.br-quiet { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --gap: 0px; --row-gap: 0px; max-width: 900px; }
.br-quiet .elementor-heading-title { font-size: 28px; line-height: 1.22; color: var(--br-white); margin-bottom: 20px; text-wrap: balance; }
.br-quiet-copy p { font-size: 18px; line-height: 1.7; color: rgba(214, 221, 230, 0.84); margin: 0; }
@media (min-width: 1025px) { .br-quiet .elementor-heading-title { font-size: 40px; } .br-quiet-copy p { font-size: 20px; } }

/* ===== Proof hub ===== */
.e-con.br-cases { margin-top: 32px; gap: 40px !important; }
.e-con.br-case-card { background: var(--br-white); border: 1px solid rgba(27, 43, 68, 0.1); border-radius: 14px; overflow: hidden; --padding-top: 0px; --padding-bottom: 32px; --padding-left: 32px; --padding-right: 32px; --gap: 14px; --row-gap: 14px; text-decoration: none; transition: box-shadow 0.2s ease, transform 0.2s ease; box-shadow: 0 10px 30px rgba(27, 43, 68, 0.06); }
.e-con.br-case-card:hover { box-shadow: 0 18px 44px rgba(27, 43, 68, 0.12); transform: translateY(-2px); }
.br-case-card .elementor-heading-title { font-size: 24px; line-height: 1.22; font-weight: 600; color: var(--br-navy); }
.br-case-figs { list-style: none; display: flex; gap: 40px; margin: 8px 0 0; padding: 18px 0 0; border-top: 1px solid var(--br-hair); }
.br-case-figs li { margin: 0; }
.br-case-figs strong { display: block; font-family: var(--br-heading-font, inherit); font-size: 34px; font-weight: 500; line-height: 1; letter-spacing: -0.02em; color: var(--br-steel); }
.br-case-figs span { display: block; margin-top: 6px; font-size: 14px; line-height: 1.4; color: var(--br-slate); }
@media (min-width: 1025px) {
  .e-con.br-cases { --e-con-grid-template-columns: repeat(2, minmax(0, 1fr)) !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; justify-content: start; }
  .e-con.br-case-card { --padding-bottom: 36px; --padding-left: 36px; --padding-right: 36px; }
  .br-case-card .elementor-heading-title { font-size: 26px; }
}

/* ---- v4.1.1 case study scope intro ---- */
.br-scope-intro p + p { margin-top: 20px; font-weight: 600; color: var(--br-ink); }

/* ---- v4.2.1 proof hub card ---- */
.br-case-card .br-case-summary p { font-size: 16px; line-height: 1.65; color: var(--br-slate); }
.br-case-card .br-card-foot { justify-content: flex-start; }
.br-case-card .br-go { background: none; border: 0; padding: 0; border-radius: 0; }
.e-con.br-case-card:hover .br-go { text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; }

/* Single case study: run the card full width, photo left */
@media (min-width: 1025px) {
  .e-con.br-cases:has(> .br-case-card:only-child) {
    --e-con-grid-template-columns: 1fr !important;
    grid-template-columns: 1fr !important;
  }
  .e-con.br-case-card:only-child {
    display: grid !important;
    --e-con-grid-template-columns: 44fr 56fr !important;
    grid-template-columns: 44fr 56fr !important;
    align-items: stretch;
    --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
    --gap: 0px; --row-gap: 0px; --column-gap: 0px; gap: 0 !important;
  }
  .br-case-card:only-child > .br-case-media { --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; height: 100%; }
  .br-case-card:only-child .br-case-media .elementor-widget-image { height: 100%; overflow: hidden; }
  .br-case-card:only-child .br-case-media img { width: 100%; height: 100% !important; object-fit: cover; object-position: 50% 58%; border-radius: 0; }
  .br-case-card:only-child > .br-case-body { --padding-top:48px; --padding-right:48px; --padding-bottom:48px; --padding-left:46px; align-content: center; }
  .br-case-card:only-child .elementor-heading-title { font-size: 30px; line-height: 1.22; }
  .br-case-card:only-child .br-case-summary p { font-size: 17px; }
}

/* ---- v4.2.2 proof hub card, stacked ---- */
@media (max-width: 1024px) {
  .e-con.br-case-card { --padding-top: 0px; --padding-left: 0px; --padding-right: 0px; --padding-bottom: 0px; }
  .br-case-card > .br-case-media { --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; }
  .br-case-card > .br-case-body { --padding-top:26px; --padding-right:26px; --padding-bottom:30px; --padding-left:26px; }
}

/* ---- v4.3.0 hero qualifier header ---- */
.br-marks-head { margin-top: 44px; }
.br-marks-head + .br-hero-marks { margin-top: 16px; }
@media (min-width: 1025px) {
  .br-marks-head { margin-top: 64px; }
  .br-marks-head + .br-hero-marks { margin-top: 18px; }
}

/* ---- v4.4.0 practice types grid ---- */
.br-types-wrap { margin-top: 30px; }
.br-types { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; row-gap: 0; }
.br-types li { position: relative; margin: 0; padding: 14px 0 14px 20px; border-top: 1px solid var(--br-hair); font-size: 15px; line-height: 1.35; font-weight: 600; color: var(--br-navy); }
.br-types li::before { content: ""; position: absolute; left: 0; top: 22px; width: 10px; height: 1px; background: var(--br-steel); }
@media (min-width: 768px) and (max-width: 1024px) { .br-types { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1025px) {
  .br-types-wrap { margin-top: 36px; }
  .br-types { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 36px; }
  .br-types li { padding: 16px 0 16px 22px; font-size: 16px; }
  .br-types li::before { top: 25px; width: 12px; }
}

/* ---- v4.5.0 Practice CFO hero: tighter section padding ---- */
.page-id-13 .br-marks-head { margin-top: 22px; }
.page-id-13 .br-marks-head + .br-hero-marks { margin-top: 4px; }
@media (min-width: 1025px) {
  .page-id-13 .br-marks-head { margin-top: 26px; }
  .page-id-13 .br-marks-head + .br-hero-marks { margin-top: 6px; }
}

/* ---- v4.5.2 tighten label to qualifiers ---- */
/* the widget sits in a flex container with a 20px row gap; pull it back up */
.page-id-13 .br-marks-head + .br-hero-marks { margin-top: -12px; }
.page-id-13 .br-hero-marks .br-marks-row li { padding-top: 10px; }
@media (min-width: 1025px) {
  .page-id-13 .br-marks-head + .br-hero-marks { margin-top: -12px; }
  .page-id-13 .br-hero-marks .br-marks-row li { padding-top: 12px; }
}

/* ---- v4.6.0 Practice Finance hero crop ---- */
@media (max-width: 1024px) {
  .page-id-12 .br-hero-photo img { object-position: 50% 18%; }
}

/* ================= v4.7.0 Contact page ================= */
.e-con.br-contact-head, .e-con.br-direct-head { --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; --gap:0px; --row-gap:0px; }
.br-contact-h .elementor-heading-title { font-size: 28px; line-height: 1.22; letter-spacing: -0.005em; text-wrap: balance; }
@media (min-width: 1025px) { .br-contact-h .elementor-heading-title { font-size: 40px; line-height: 1.2; } }

.e-con.br-contact-split { margin-top: 28px; --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; gap: 22px !important; }
@media (min-width: 1025px) {
  .e-con.br-contact-split { margin-top: 34px; display: grid !important;
    --e-con-grid-template-columns: 58fr 42fr !important; grid-template-columns: 58fr 42fr !important;
    align-items: start; gap: 28px !important; }
}

.e-con.br-contact-card { border-radius: 14px; --padding-top:28px; --padding-right:26px; --padding-bottom:30px; --padding-left:26px; --gap:0px; --row-gap:0px; }
@media (min-width: 1025px) { .e-con.br-contact-card { --padding-top:38px; --padding-right:36px; --padding-bottom:38px; --padding-left:36px; } }
.e-con.br-contact-form-card { background: var(--br-white); border: 1px solid rgba(27, 43, 68, 0.1); box-shadow: 0 10px 30px rgba(27, 43, 68, 0.06); }
.e-con.br-contact-book-card { background: var(--br-navy); }
.br-contact-card .elementor-heading-title { font-size: 22px; line-height: 1.25; font-weight: 600; color: var(--br-navy); }
@media (min-width: 1025px) { .br-contact-card .elementor-heading-title { font-size: 24px; } }
.br-contact-book-card .elementor-heading-title { color: var(--br-white); }
.br-card-note { margin-top: 10px; }
.br-card-note p { font-size: 16px; line-height: 1.6; color: var(--br-slate); margin: 0; }
.br-contact-book-card .br-card-note p { color: rgba(255,255,255,0.78); }

.br-book-btn { margin-top: 22px; }
.br-book-btn .elementor-button { background: var(--br-white) !important; color: var(--br-navy) !important; border-radius: 6px; padding: 15px 30px !important; font-size: 15px !important; font-weight: 600; letter-spacing: .01em; line-height: 1.2; transition: background-color .2s ease, color .2s ease; }
.br-book-btn .elementor-button:hover { background: var(--br-steel-light, #7d9cc4) !important; color: var(--br-navy) !important; }
.br-book-alt { margin-top: 18px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.18); }
.br-book-alt p { font-size: 15px; line-height: 1.5; color: rgba(255,255,255,0.72); margin: 0; }
.br-book-alt strong { color: var(--br-white); }

/* Direct details */
.br-direct-wrap { margin-top: 26px; }
.br-direct { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0; }
.br-direct li { margin: 0; padding: 16px 0; border-top: 1px solid var(--br-hair); }
.br-direct li:last-child { border-bottom: 1px solid var(--br-hair); }
.br-direct span { display: block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--br-steel); }
.br-direct strong { display: block; margin-top: 6px; font-size: 18px; font-weight: 600; color: var(--br-navy); }
.br-direct a { color: inherit; text-decoration: none; }
.br-direct a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 768px) {
  .br-direct { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 36px; }
  .br-direct li:last-child { border-bottom: 0; }
  .br-direct strong { font-size: 17px; word-break: break-word; }
}

/* ---- v4.7.1 Fluent Forms, Blackridge skin ---- */
.br-form-wrap { margin-top: 22px; }
.br-form-wrap .fluentform .ff-el-group { margin-bottom: 18px; }
.br-form-wrap .fluentform .ff-el-input--label label { font-family: var(--br-body-font, inherit); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--br-steel); margin-bottom: 7px; }
.br-form-wrap .fluentform input[type=text], .br-form-wrap .fluentform input[type=email], .br-form-wrap .fluentform input[type=tel], .br-form-wrap .fluentform input[type=url], .br-form-wrap .fluentform textarea { width: 100%; background: var(--br-white); border: 1px solid rgba(27,43,68,0.18); border-radius: 6px; padding: 13px 14px; font-family: var(--br-body-font, inherit); font-size: 16px; line-height: 1.4; color: var(--br-ink); box-shadow: none; height: auto; transition: border-color .15s ease, box-shadow .15s ease; }
.br-form-wrap .fluentform input:focus, .br-form-wrap .fluentform textarea:focus { outline: none; border-color: var(--br-steel); box-shadow: 0 0 0 3px rgba(46,90,136,0.12); }

.br-form-wrap .fluentform .ff-el-form-check { margin: 0; }
.br-form-wrap .fluentform .ff-el-form-check-label { display: block; margin: 0; }
.br-form-wrap .fluentform .ff-el-form-check-label span { display: block; padding: 13px 16px; border: 1px solid rgba(27,43,68,0.18); border-radius: 6px; background: var(--br-white); font-size: 15px; font-weight: 600; color: var(--br-navy); cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.br-form-wrap .fluentform .ff-el-form-check input[type=radio] { position: absolute; opacity: 0; pointer-events: none; }
.br-form-wrap .fluentform .ff-el-form-check input[type=radio]:checked + span { border-color: var(--br-steel); background: rgba(46,90,136,0.07); box-shadow: inset 0 0 0 1px var(--br-steel); }
.br-form-wrap .fluentform .ff-el-form-check-label span:hover { border-color: var(--br-steel); }

.br-form-wrap .fluentform .ff-el-group.ff-text-left .ff-btn-submit, .br-form-wrap .fluentform .ff-btn-submit { background: var(--br-steel) !important; color: var(--br-white) !important; border: 0; border-radius: 6px; padding: 15px 32px !important; font-family: var(--br-body-font, inherit); font-size: 15px !important; font-weight: 600; letter-spacing: .01em; line-height: 1.2; height: auto; transition: background-color .2s ease; }
.br-form-wrap .fluentform .ff-btn-submit:hover { background: var(--br-navy) !important; color: var(--br-white) !important; }
.br-form-wrap .fluentform .ff-el-is-error input, .br-form-wrap .fluentform .ff-el-is-error textarea { border-color: #b3403a; }
.br-form-wrap .fluentform .error.text-danger { font-size: 14px; color: #b3403a; margin-top: 6px; }
.br-form-wrap .ff-message-success { padding: 18px 20px; border: 1px solid rgba(46,90,136,0.25); border-radius: 8px; background: rgba(46,90,136,0.06); color: var(--br-navy); font-size: 16px; }

/* ---- v4.7.2 scope the radio grid; name row ---- */
.br-form-wrap .fluentform .ff-el-input--content:has(.ff-el-form-check) { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 480px) { .br-form-wrap .fluentform .ff-el-input--content:has(.ff-el-form-check) { grid-template-columns: 1fr 1fr; } }
.br-form-wrap .fluentform .ff-name-field-wrapper .ff-t-container { display: grid; grid-template-columns: 1fr; column-gap: 16px; }
@media (min-width: 480px) { .br-form-wrap .fluentform .ff-name-field-wrapper .ff-t-container { grid-template-columns: 1fr 1fr; } }
.br-form-wrap .fluentform .ff-name-field-wrapper .ff-t-cell { padding: 0; width: auto; }

/* ---- v4.8.0 Contact page: tight section padding ---- */
.page-id-16 .e-con.br-contact-split { margin-top: 20px; }
@media (min-width: 1025px) {
  .page-id-16 .e-con.br-contact-split { margin-top: 24px; }
}

/* ---- v4.8.1 balance the contact split ---- */
@media (min-width: 1025px) {
  .e-con.br-contact-split { align-items: stretch !important; }
  .e-con.br-contact-book-card { align-content: center; justify-content: center; }
  .br-contact-book-card .elementor-heading-title { font-size: 28px; }
  .br-contact-book-card .br-card-note p { font-size: 17px; }
}

/* ---- v4.8.2 selected interest option ---- */
.br-form-wrap .fluentform .ff-el-form-check.ff_item_selected .ff-el-form-check-label span,
.br-form-wrap .fluentform .ff-el-form-check input[type=radio]:checked + span {
  border-color: var(--br-steel) !important;
  background: rgba(46, 90, 136, 0.08) !important;
  box-shadow: inset 0 0 0 1px var(--br-steel);
  color: var(--br-navy) !important;
}

/* ================= v4.9.0 About page ================= */
.e-con.br-firm-head, .e-con.br-transfer-head, .e-con.br-people-head, .e-con.br-answers-head { --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; --gap:0px; --row-gap:0px; }
.br-firm-facts { margin-top: 28px; }
@media (min-width: 1025px) { .br-firm-facts { margin-top: 34px; } }
.br-firm-facts .br-direct { grid-template-columns: 1fr; }
@media (min-width: 768px) { .br-firm-facts .br-direct { grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 40px; } }
@media (min-width: 1025px) { .br-firm-facts .br-direct { grid-template-columns: repeat(4, minmax(0,1fr)); column-gap: 32px; } .br-firm-facts .br-direct li:last-child { border-bottom: 0; } }

.br-transfer-close { margin-top: 26px; }
.br-dark .br-find-close, .br-transfer-close .br-find-close { color: var(--br-white); }

/* People */
.e-con.br-people { margin-top: 28px; --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; gap: 0 !important; }
@media (min-width: 768px) {
  .e-con.br-people { display: grid !important; --e-con-grid-template-columns: repeat(2, minmax(0,1fr)) !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; column-gap: 44px !important; align-items: start; }
}
@media (min-width: 1025px) { .e-con.br-people { margin-top: 34px; column-gap: 56px !important; } }
.e-con.br-person { --padding-top:22px; --padding-right:0px; --padding-bottom:22px; --padding-left:0px; --gap:0px; --row-gap:0px; border-top: 1px solid var(--br-hair); }
.br-person-role { display: block; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--br-steel); }
.br-person .elementor-heading-title { margin-top: 8px; font-size: 24px; line-height: 1.2; font-weight: 600; color: var(--br-navy); }
@media (min-width: 1025px) { .br-person .elementor-heading-title { font-size: 27px; } }
.br-person-bio { margin-top: 12px; }
.br-person-bio p { font-size: 16px; line-height: 1.65; color: var(--br-slate); margin: 0; }
@media (min-width: 1025px) { .br-person-bio p { font-size: 17px; } }

/* Straight answers */
.e-con.br-answers { margin-top: 28px; --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; gap: 0 !important; }
@media (min-width: 1025px) {
  .e-con.br-answers { margin-top: 34px; display: grid !important; --e-con-grid-template-columns: repeat(2, minmax(0,1fr)) !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; column-gap: 52px !important; align-items: start; }
}
.e-con.br-answer { --padding-top:22px; --padding-right:0px; --padding-bottom:24px; --padding-left:0px; --gap:0px; --row-gap:0px; border-top: 1px solid var(--br-hair); }
.br-answer .elementor-heading-title { font-size: 19px; line-height: 1.3; font-weight: 600; color: var(--br-navy); }
@media (min-width: 1025px) { .br-answer .elementor-heading-title { font-size: 20px; } }
.br-answer .elementor-widget-text-editor { margin-top: 10px; }
.br-answer p { font-size: 16px; line-height: 1.65; color: var(--br-slate); margin: 0; }

/* ================= v5.0.0 global section spacing =================
   One tight scale for every page. Supersedes the 104 / 76 / 38 steps
   above and the page-id-13 / page-id-16 one-off patches below them. */
:root { --br-sec-pad: 16px; }
@media (max-width: 1024px) { :root { --br-sec-pad: 14px; } }
@media (max-width: 767px) { :root { --br-sec-pad: 12px; } }

.e-con.br-section, .e-con.br-section.br-hero, .e-con.br-page-hero.br-section {
  --padding-top: var(--br-sec-pad); --padding-bottom: var(--br-sec-pad); }

.e-con.br-section.br-ridge,
.e-con.br-section.br-hero.br-ridge,
.e-con.br-page-hero.br-section.br-ridge,
.e-con.br-terms-section.br-ridge {
  --padding-bottom: calc(var(--br-sec-pad) + 6px + var(--br-ridge-h)); }

.e-con.br-problem-body {
  --padding-top: var(--br-sec-pad);
  --padding-bottom: calc(var(--br-sec-pad) + 6px + var(--br-ridge-h)); }

/* ---- v5.1.0 About: 2-up differentiators, 3-up leadership ---- */
@media (min-width: 768px) {
  .e-con.br-finds-2up { display: grid !important; --e-con-grid-template-columns: repeat(2, minmax(0,1fr)) !important; grid-template-columns: repeat(2, minmax(0,1fr)) !important; column-gap: 48px !important; align-items: start; }
}
.e-con.br-finds-2up .e-con.br-find { --padding-right: 0px; }
.br-find-body .elementor-heading-title { font-size: 19px; line-height: 1.3; font-weight: 600; color: inherit; }
@media (min-width: 1025px) { .br-find-body .elementor-heading-title { font-size: 21px; } }
.br-find-body .elementor-widget-text-editor { margin-top: 8px; }
.e-con.br-find-body { --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; --gap:0px; --row-gap:0px; }

@media (min-width: 768px) {
  .e-con.br-people-3 { --e-con-grid-template-columns: repeat(3, minmax(0,1fr)) !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; column-gap: 36px !important; }
}
@media (min-width: 1025px) { .e-con.br-people-3 { column-gap: 44px !important; } }
.br-people-3 .elementor-heading-title { font-size: 21px; }
@media (min-width: 1025px) { .br-people-3 .elementor-heading-title { font-size: 23px; } }
.br-people-3 .br-person-bio p { font-size: 15px; line-height: 1.6; }
@media (min-width: 1025px) { .br-people-3 .br-person-bio p { font-size: 16px; } }

.br-answers-section .br-fit-copy { margin-top: 14px; }

/* ---- v5.2.0 About hero: photo left, fading into the copy ---- */
.e-con.br-about-hero { position: relative; overflow: hidden; }
.br-about-hero .e-con.br-about-top { position: relative; z-index: 2; }

/* mobile / tablet: photo stacks above the copy, fades downward */
.e-con.br-about-media { --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; --gap:0px; --row-gap:0px; margin-bottom: 20px; }
.br-about-media .elementor-widget-image { line-height: 0; }
.br-about-media img { display: block; width: 100%; height: auto; border-radius: 14px; filter: grayscale(1) contrast(1.06); }

@media (min-width: 1025px) {
  .e-con.br-about-hero { min-height: 560px; }
  .e-con.br-about-media { position: absolute; top: 0; left: 0; bottom: 0; width: min(64vw, 1060px); z-index: 1; margin-bottom: 0; }
  .br-about-media .elementor-widget-image { height: 100%; }
  .br-about-media img {
    width: 100%; height: 100% !important; object-fit: cover; object-position: 38% 28%;
    border-radius: 0;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 38%, rgba(0,0,0,0.55) 68%, rgba(0,0,0,0) 94%);
    mask-image: linear-gradient(to right, #000 0%, #000 38%, rgba(0,0,0,0.55) 68%, rgba(0,0,0,0) 94%);
  }
  .br-about-hero .e-con.br-about-top { --e-con-grid-template-columns: 1fr 1fr !important; grid-template-columns: 1fr 1fr !important; align-items: center; }
  .br-about-hero .br-page-hero-body { grid-column: 2; }
}

@media (min-width: 1400px) {
  .e-con.br-about-hero { min-height: 620px; }
}

/* ---- v5.2.1 About hero: bleed the photo to the viewport edge ---- */
@media (min-width: 1025px) {
  .e-con.br-about-media {
    left: calc(50% - 50vw);
    width: min(64vw, 1060px);
  }
  .br-about-media img {
    object-position: 46% 30%;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 32%, rgba(0,0,0,0.5) 58%, rgba(0,0,0,0) 76%);
    mask-image: linear-gradient(to right, #000 0%, #000 32%, rgba(0,0,0,0.5) 58%, rgba(0,0,0,0) 76%);
  }
}

/* ---- v5.2.2 About hero: wide plate, fade clears the group ---- */
@media (min-width: 1025px) {
  .e-con.br-about-hero { min-height: 500px; }
  .e-con.br-about-media { left: calc(50% - 50vw); width: min(68vw, 1180px); }
  .br-about-media img {
    object-position: 0% 34%;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 62%, rgba(0,0,0,0.45) 76%, rgba(0,0,0,0) 88%);
    mask-image: linear-gradient(to right, #000 0%, #000 62%, rgba(0,0,0,0.45) 76%, rgba(0,0,0,0) 88%);
  }
}
@media (min-width: 1400px) { .e-con.br-about-hero { min-height: 560px; } }

/* ---- v5.2.3 About hero: crop the wide plate back to the group on small screens ---- */
@media (max-width: 1024px) {
  .br-about-media img { aspect-ratio: 4 / 3; height: auto; object-fit: cover; object-position: 0% 32%; }
}
@media (max-width: 767px) {
  .br-about-media img { aspect-ratio: 5 / 4; }
}

/* ---- v5.3.0 About hero photo stays in colour ---- */
.br-about-media img { filter: none !important; }

/* ---- v5.4.0 About hero: full photo in the left half, fade only on its last quarter ----
   The body column always begins at exactly 50vw, so the plate is sized to 50vw and the
   mask clears well before that edge. Photo aspect 1448x1086, so height = width * 0.75. */
@media (min-width: 1025px) {
  .e-con.br-about-hero { min-height: min(37.5vw, 620px); }
  .e-con.br-about-media { left: calc(50% - 50vw); width: min(50vw, 827px); }
  .br-about-media img {
    object-position: 0% 50%;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 74%, rgba(0,0,0,0.55) 87%, rgba(0,0,0,0) 99%);
    mask-image: linear-gradient(to right, #000 0%, #000 74%, rgba(0,0,0,0.55) 87%, rgba(0,0,0,0) 99%);
  }
}
@media (min-width: 1400px) { .e-con.br-about-hero { min-height: min(37.5vw, 620px); } }

/* ---- v5.5.0 About hero scales with the viewport, no fixed cap ---- */
@media (min-width: 1025px) {
  .e-con.br-about-hero { min-height: clamp(470px, 33vw, 700px); }
  .e-con.br-about-media { left: calc(50% - 50vw); width: 50vw; }
  .br-about-media img {
    object-position: 0% 38%;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 76%, rgba(0,0,0,0.55) 88%, rgba(0,0,0,0) 99%);
    mask-image: linear-gradient(to right, #000 0%, #000 76%, rgba(0,0,0,0.55) 88%, rgba(0,0,0,0) 99%);
  }
}

/* ================= v6.0.0 About hero, locked to the container =================
   The photo is a grid column inside the 1200px container, so its size and its
   position relative to the copy are identical at every screen width. Nothing
   is measured in vw. Supersedes the absolute / vw hero rules above. */
@media (min-width: 1025px) {
  .e-con.br-about-hero { min-height: 0; overflow: visible; }
  .br-about-hero .e-con.br-about-top {
    --e-con-grid-template-columns: 56fr 44fr !important;
    grid-template-columns: 56fr 44fr !important;
    column-gap: 52px !important;
    align-items: center;
  }
  .e-con.br-about-media {
    position: static; width: auto; left: auto; top: auto; bottom: auto;
    --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px;
    margin: 0;
  }
  .br-about-media .elementor-widget-image { height: auto; }
  .br-about-media img {
    width: 100%; height: auto !important; object-fit: contain; border-radius: 0;
    -webkit-mask-image: linear-gradient(to right, #000 0%, #000 72%, rgba(0,0,0,0.5) 87%, rgba(0,0,0,0) 100%);
    mask-image: linear-gradient(to right, #000 0%, #000 72%, rgba(0,0,0,0.5) 87%, rgba(0,0,0,0) 100%);
  }
  .br-about-hero .br-page-hero-body { grid-column: auto; }
}

/* ================= v6.1.0 Greyscale, colour on hover ================= */
/* Hero team photo. Hover only where a real pointer exists, so touch gets colour. */
.br-about-media img { transition: filter .45s ease; }
@media (hover: hover) and (pointer: fine) {
  .br-about-media img { filter: grayscale(1) contrast(1.04) !important; }
  .br-about-hero:hover .br-about-media img { filter: none !important; }
}

/* Leadership portraits */
.br-portrait { margin-bottom: 18px; line-height: 0; }
.br-portrait .elementor-widget-image { line-height: 0; }
.br-portrait img {
  display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover;
  border-radius: 14px; transition: filter .45s ease, transform .45s ease;
}
@media (hover: hover) and (pointer: fine) {
  .br-portrait img { filter: grayscale(1) contrast(1.04); }
  .br-person:hover .br-portrait img { filter: none; }
}
.e-con.br-person { --padding-top: 0px; border-top: 0; }
@media (min-width: 768px) { .e-con.br-person { --padding-bottom: 8px; } }


/* ==================================================================
   v6.2.0  Insights: articles grid on the navy slab
   ================================================================== */

/* The articles head must never inherit the sticky behaviour the
   two-column scope and pov splits rely on. */
.e-con.br-articles-head { position: static; max-width: 780px; }

.e-con.br-articles {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --gap: 0px; --row-gap: 0px;
  margin-top: 30px;
  row-gap: 0px !important;
}
.e-con.br-article {
  --padding-top: 26px; --padding-bottom: 28px;
  --padding-left: 0px; --padding-right: 0px;
  --gap: 0px; --row-gap: 0px;
  border-top: 1px solid rgba(214, 221, 230, 0.22);
  text-decoration: none;
  transition: border-top-color 0.2s ease;
}
.br-article-topic {
  display: block;
  font-family: var(--br-body-font, inherit);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--br-sage);
  margin: 0 0 14px;
}
.br-article .elementor-heading-title {
  font-size: 21px;
  line-height: 1.26;
  color: var(--br-white);
  margin-bottom: 14px;
  text-wrap: balance;
}
.br-article-sum p {
  font-size: 16px;
  line-height: 1.65;
  color: rgba(214, 221, 230, 0.82);
  margin: 0;
  max-width: 44ch;
}
.br-article .br-card-foot {
  border-top: 0;
  padding-top: 20px;
  justify-content: flex-start;
}
.br-article .br-go {
  display: inline-block;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  font-size: 14px;
  letter-spacing: 0.04em;
  color: var(--br-steel-light);
}
.e-con.br-article:focus-visible { outline: 2px solid var(--br-sage); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) {
  .e-con.br-article:hover { border-top-color: var(--br-sage); }
  .e-con.br-article:hover .br-go {
    background: transparent;
    border: 0;
    color: var(--br-white);
    text-decoration: underline;
    text-underline-offset: 3px;
  }
}
@media (max-width: 767px) {
  .e-con.br-article:last-child { border-bottom: 1px solid rgba(214, 221, 230, 0.22); }
}
@media (min-width: 768px) {
  .e-con.br-articles { column-gap: 40px !important; }
}
@media (min-width: 1025px) {
  .e-con.br-articles { column-gap: 56px !important; margin-top: 38px; }
  .e-con.br-article { --padding-top: 30px; --padding-bottom: 30px; }
  .br-article .elementor-heading-title { font-size: 23px; }
  .br-article-sum p { font-size: 17px; }
}

/* ------------------------------------------------------------------
   Long-form article body (Insights article pages)
   ------------------------------------------------------------------ */
.e-con.br-article-body {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --gap: 0px; --row-gap: 0px;
  max-width: 740px;
}
.br-article-body p,
.br-article-body li {
  font-size: 18px;
  line-height: 1.75;
  color: var(--br-ink);
  max-width: none;
}
.br-article-body p { margin: 0 0 22px; }
.br-article-body h2 {
  font-size: 26px;
  line-height: 1.24;
  letter-spacing: -0.01em;
  color: var(--br-navy);
  margin: 46px 0 18px;
  text-wrap: balance;
}
.br-article-body > .elementor-widget:first-child h2:first-child { margin-top: 0; }
.br-article-body h3 {
  font-size: 20px;
  line-height: 1.3;
  color: var(--br-navy);
  margin: 34px 0 12px;
}
.br-article-body ul {
  list-style: none;
  margin: 0 0 24px;
  padding: 0;
}
.br-article-body ul li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 12px;
}
.br-article-body ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 15px;
  width: 14px;
  height: 2px;
  background: var(--br-sage);
}
.br-article-body strong { font-weight: 600; color: var(--br-navy); }
.br-article-body .br-pull {
  font-family: var(--br-heading-font, inherit);
  font-size: 22px;
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.005em;
  color: var(--br-navy);
  border-left: 3px solid var(--br-sage);
  padding: 4px 0 4px 24px;
  margin: 36px 0;
  max-width: none;
}
.br-article-body .br-art-note {
  font-size: 15px;
  line-height: 1.6;
  color: var(--br-slate);
  border-top: 1px solid var(--br-hair);
  padding-top: 20px;
  margin: 40px 0 0;
  max-width: none;
}
.br-art-back { margin-top: 42px; padding-top: 22px; border-top: 1px solid var(--br-hair); }
.br-art-back p { margin: 0; font-size: 15px; font-weight: 600; }
.br-art-back a { color: var(--br-steel); text-decoration: none; }
.br-art-back a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 1025px) {
  .e-con.br-article-body { max-width: 760px; }
  .br-article-body p, .br-article-body li { font-size: 19px; }
  .br-article-body h2 { font-size: 32px; margin-top: 56px; }
  .br-article-body h3 { font-size: 22px; }
  .br-article-body .br-pull { font-size: 26px; margin: 44px 0; }
}

/* ------------------------------------------------------------------
   FAQ: ruled question and answer rows
   ------------------------------------------------------------------ */
.e-con.br-faq-head { position: static; max-width: 780px; }
.e-con.br-faq {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --gap: 0px; --row-gap: 0px;
  margin-top: 30px;
  row-gap: 0px !important;
}
.e-con.br-faq-item {
  --padding-top: 24px; --padding-bottom: 26px;
  --padding-left: 0px; --padding-right: 0px;
  --gap: 0px; --row-gap: 0px;
  border-top: 1px solid var(--br-hair);
}
.e-con.br-faq-item:last-child { border-bottom: 1px solid var(--br-hair); }
.br-faq-q .elementor-heading-title {
  font-size: 20px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--br-navy);
  margin: 0;
  text-wrap: balance;
}
.br-faq-a p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--br-slate);
  margin: 12px 0 0;
  max-width: none;
}
.br-faq-a p + p { margin-top: 14px; }
.br-faq-a a { color: var(--br-steel); text-decoration: none; border-bottom: 1px solid currentColor; }
.br-faq-a a:hover { color: var(--br-navy); }
@media (min-width: 1025px) {
  .e-con.br-faq { margin-top: 38px; }
  .e-con.br-faq-item {
    --e-con-grid-template-columns: 38fr 62fr !important;
    grid-template-columns: 38fr 62fr !important;
    column-gap: 56px !important;
    align-items: start;
    --padding-top: 28px; --padding-bottom: 30px;
  }
  .br-faq-q .elementor-heading-title { font-size: 21px; }
  .br-faq-a p { margin-top: 0; }
}

/* ------------------------------------------------------------------
   Cross-links between the two programs, and the FAQ pointer under terms
   ------------------------------------------------------------------ */
.br-xlink p {
  margin: 24px 0 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--br-slate);
  max-width: 62ch;
}
.br-xlink a,
.br-terms-note a {
  color: var(--br-steel);
  font-weight: 600;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.br-xlink a:hover,
.br-terms-note a:hover { color: var(--br-navy); }
.br-terms-note p {
  margin: 30px 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--br-slate);
  max-width: 70ch;
}
.br-form-privacy p {
  margin: 18px 0 0;
  font-size: 13px;
  line-height: 1.6;
  color: var(--br-slate);
}
.br-form-privacy a { color: var(--br-steel); text-decoration: none; border-bottom: 1px solid currentColor; }
.br-form-privacy a:hover { color: var(--br-navy); }
.br-case-disclaimer p {
  margin: 26px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--br-hair);
  font-size: 14px;
  line-height: 1.6;
  color: var(--br-slate);
  max-width: 74ch;
}
.br-dark .br-case-disclaimer p,
.br-bg-navy .br-case-disclaimer p {
  border-top-color: rgba(214, 221, 230, 0.25);
  color: rgba(214, 221, 230, 0.7);
}

/* ------------------------------------------------------------------
   Client testimonial (navy section)
   ------------------------------------------------------------------ */
.br-testimonial {
  margin-top: 34px;
  padding-top: 32px;
  border-top: 1px solid rgba(214, 221, 230, 0.22);
}
.br-testimonial p.br-quote {
  font-family: var(--br-heading-font, inherit);
  font-size: 19px;
  line-height: 1.55;
  font-weight: 400;
  color: var(--br-white);
  margin: 0;
  max-width: 64ch;
}
.br-testimonial .br-attrib {
  display: block;
  margin-top: 22px;
  font-family: var(--br-body-font, inherit);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--br-sage);
}
.br-testimonial .br-attrib-note {
  display: block;
  margin-top: 10px;
  font-family: var(--br-body-font, inherit);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.6;
  color: rgba(214, 221, 230, 0.6);
}
@media (min-width: 1025px) {
  .br-testimonial { margin-top: 44px; padding-top: 38px; }
  .br-testimonial p.br-quote { font-size: 23px; }
}
