/*
Theme Name: Bethea Theme
Theme URI: https://bethearealty.com
Description: Custom block theme for Bethea Realty WordPress platform
Version: 1.0.4
Author: Olivia Hayes
Author URI: https://bethearealty.com
Text Domain: bethea-theme
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 8.0
License: Proprietary
*/
@import url('https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:ital,wght@0,400;0,700;1,400;1,700&display=swap');

:root {
  --br-blue: #007FAF;
  --br-blue-hover: #006F99;
  --br-blue-deep: #005270;
  --br-blue-tint: #E6F6FF;
  --br-pink: #EE297A;
  --br-pink-deep: #C8215F;
  --br-green: #17A45E;
  --br-green-tint: #E6F7EE;
  --br-green-border: #BFE7CE;
  --br-text: #111827;
  --br-text2: #374151;
  --br-bg: #FFFFFF;
  --br-surface: #F7FAFC;
  --br-border: #E5E7EB;
  --br-font: 'Atkinson Hyperlegible', Arial, Helvetica, sans-serif;

  /* 8px spacing scale */
  --sp-1: 8px;  --sp-2: 16px; --sp-3: 24px; --sp-4: 32px;
  --sp-5: 40px; --sp-6: 48px; --sp-7: 56px; --sp-8: 64px;
  --sp-10: 80px; --sp-12: 96px;

  --br-radius-sm: 10px;
  --br-radius-md: 16px;
  --br-radius-lg: 24px;

  --br-shadow-sm: 0 1px 2px rgba(15,23,42,.04), 0 1px 3px rgba(15,23,42,.06);
  --br-shadow-md: 0 8px 24px -8px rgba(15,23,42,.16);
  --br-shadow-lg: 0 24px 56px -16px rgba(15,23,42,.22);
  --br-ease: cubic-bezier(.16,.84,.44,1);
}

/* Full-bleed breakout for alignfull blocks (WP core's own rule is missing from this build) */
.alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 1000vw;
}

body {
  font-family: var(--br-font);
  font-size: 18px;
  line-height: 1.6;
  color: var(--br-text);
}
/* WCAG 2.2 AA Accessibility */

.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.skip-link:focus {
  position: fixed;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  padding: 12px 24px;
  background: var(--br-blue);
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  z-index: 99999;
  text-decoration: none;
  overflow: visible;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--br-blue);
  outline-offset: 2px;
  border-radius: 2px;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none;
}

button, a, input[type="submit"], input[type="button"] {
  min-height: 44px;
  min-width: 44px;
}

a { color: var(--br-blue); text-decoration: underline; }
a:hover { color: var(--br-blue-hover); }

/* Navigation header */
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 16px;
}

.site-header .wp-block-site-title a {
  color: #FFFFFF !important;
  text-decoration: none;
  font-weight: 700;
}

.site-header .wp-block-navigation a {
  color: #FFFFFF !important;
  text-decoration: none;
}

.site-header .wp-block-navigation a:hover {
  color: #E6F6FF !important;
  text-decoration: underline;
}

/* Lead capture forms (bethea_service / bethea_audience Form CTA sections) */
.bethea-lead-form {
  max-width: 640px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.bethea-lead-form .bethea-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: left;
}
.bethea-lead-form label {
  font-weight: 700;
  color: var(--br-text);
  font-size: 15px;
}
.bethea-lead-form input,
.bethea-lead-form select {
  font-family: var(--br-font);
  font-size: 16px;
  padding: 10px 12px;
  border: 1px solid var(--br-border);
  border-radius: 4px;
  background: #fff;
  color: var(--br-text);
}
.bethea-lead-form input:focus,
.bethea-lead-form select:focus,
.bethea-lead-form textarea:focus {
  outline: 3px solid var(--br-blue);
  outline-offset: 1px;
}
.bethea-lead-form textarea {
  font-family: var(--br-font);
  font-size: 16px;
  padding: 10px 12px;
  border: 1px solid var(--br-border);
  border-radius: 4px;
  background: #fff;
  color: var(--br-text);
  width: 100%;
  resize: vertical;
  min-height: 96px;
}
.bethea-lead-form button[type="submit"] {
  background-color: var(--br-blue);
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 14px 24px;
  font-size: 17px;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--br-font);
}
.bethea-lead-form button[type="submit"]:hover { background-color: var(--br-blue-hover); }
.bethea-lead-form button[type="submit"]:disabled { opacity: 0.6; cursor: not-allowed; }
.bethea-form-status { font-weight: 700; }
.bethea-form-status.bethea-form-success { color: #146c2e; background: #e6f6ec; padding: 16px; border-radius: 4px; display: block; }
.bethea-form-status.bethea-form-error { color: #b42318; }

/* Submenu (mega-menu) dropdown panels: white background needs dark text, not the white nav-bar text color above */
.site-header .wp-block-navigation__submenu-container {
  background-color: #FFFFFF;
  border: 1px solid var(--br-border);
  box-shadow: 0 8px 20px rgba(0,0,0,0.18);
  min-width: 280px;
  padding: 8px 0;
}

.site-header .wp-block-navigation__submenu-container a {
  color: var(--br-blue-deep) !important;
  text-decoration: none;
  display: block;
  padding: 10px 20px;
  font-size: 16px;
}

.site-header .wp-block-navigation__submenu-container a:hover {
  background-color: var(--br-blue-tint);
  color: var(--br-blue) !important;
  text-decoration: none;
}


/* Resource Center calculators */
.br-calc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 20px;
}

@media (max-width: 782px) {
  .br-calc-grid {
    grid-template-columns: 1fr;
  }
}

.br-calc-card {
  background-color: #FFFFFF;
  border: 1px solid var(--br-border);
  border-radius: 8px;
  padding: 28px;
}

.br-calc-card h3 {
  margin-top: 0;
  color: var(--br-blue-deep);
  font-size: 1.15rem;
}

.br-calc-field {
  margin-bottom: 14px;
}

.br-calc-field label {
  display: block;
  font-weight: 600;
  margin-bottom: 4px;
  font-size: 0.9rem;
}

.br-calc-field input,
.br-calc-field select {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--br-border);
  border-radius: 4px;
  font-size: 1rem;
}

.br-calc-form button {
  background-color: var(--br-blue-deep);
  color: #FFFFFF;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  font-weight: 600;
  cursor: pointer;
}

.br-calc-form button:hover {
  background-color: var(--br-blue);
}

.br-calc-result {
  margin-top: 18px;
}

.br-calc-result-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid var(--br-border);
  font-size: 0.95rem;
}

.br-calc-result-row.br-calc-total {
  font-size: 1.05rem;
  font-weight: 700;
  border-bottom: none;
}

.br-calc-verdict {
  margin-top: 12px;
  font-weight: 600;
  color: var(--br-blue-deep);
}

.br-calc-disclaimer {
  margin-top: 10px;
  font-size: 0.8rem;
  color: #6B7280;
}

/* ===== Premium Service Page System (reusable across Buy/Sell/Lease/Invest/Commercial) ===== */

/* --- Title band: full-bleed image hero with gradient overlay + floating accent shapes --- */
.br-svc-title-band {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 46vh;
}
.br-svc-title-bg,
.br-svc-title-bg img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  margin: 0;
}
.br-svc-title-band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(135deg, rgba(0,82,112,.94) 0%, rgba(0,127,175,.80) 60%, rgba(0,82,112,.90) 100%);
}
.br-svc-title-band::after {
  content: "";
  position: absolute;
  z-index: 1;
  width: 420px;
  height: 420px;
  right: -140px;
  top: -160px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.16), rgba(255,255,255,0) 70%);
  pointer-events: none;
}
.br-svc-title {
  position: relative;
  z-index: 2;
  text-shadow: 0 2px 24px rgba(0,20,30,.35);
}

/* --- Hero: full-bleed blue -> pink gradient with grid overlay --- */
.br-svc-hero {
  position: relative;
  z-index: 3;
  background:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px) 0 0/48px 48px,
    radial-gradient(ellipse 900px 600px at 100% 0%, rgba(238,41,122,.32), transparent 60%),
    linear-gradient(135deg, #001B26 0%, var(--br-blue-deep) 45%, var(--br-blue) 100%);
  padding: var(--sp-8) var(--sp-3);
}
.br-svc-hero-inner {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: var(--sp-5);
  align-items: center;
  text-align: left;
  max-width: 1160px;
  margin: 0 auto;
}
@media (min-width: 901px) {
  .br-svc-hero-copy .has-text-align-center { text-align: left; }
  .br-svc-hero-copy .br-svc-subhead,
  .br-svc-hero-copy .br-svc-promise { margin-left: 0; margin-right: 0; }
}
@media (max-width: 900px) {
  .br-svc-hero-inner { grid-template-columns: 1fr; text-align: center; }
  .br-svc-console { margin-top: var(--sp-2); }
}
.br-svc-hero-heading {
  color: #FFFFFF !important;
  font-size: clamp(1.9rem, 3.4vw, 2.75rem) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  letter-spacing: -.01em;
  margin: 0 0 var(--sp-2) !important;
}
.br-svc-hero-heading .br-svc-hero-accent { color: #8FE0F5; }

/* --- Acquisition console: dark glass preview panel --- */
.br-svc-console {
  position: relative;
  overflow: hidden;
  background: linear-gradient(165deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.02) 100%), var(--br-blue-deep);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: var(--br-radius-md);
  padding: var(--sp-2);
  box-shadow: var(--br-shadow-lg);
  backdrop-filter: blur(10px);
  transition: transform .5s var(--br-ease), box-shadow .5s var(--br-ease);
}
.br-svc-console:hover {
  transform: translateY(-4px);
  box-shadow: 0 32px 64px -20px rgba(0,10,20,.55);
  animation-play-state: paused;
}
@media (prefers-reduced-motion: no-preference) {
  .br-svc-console { animation: br-console-float 7s ease-in-out infinite; }
}
@keyframes br-console-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
.br-svc-console::before {
  content: "";
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: radial-gradient(120% 100% at 100% 0%, #000, transparent 70%);
  pointer-events: none;
}
.br-svc-console-top {
  position: relative;
  display: flex; align-items: center; gap: 5px;
  padding-bottom: 11px; margin-bottom: 13px;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.br-svc-console-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.25); transition: transform .4s var(--br-ease); }
.br-svc-console-dot:first-child { background: var(--br-pink); }
.br-svc-console:hover .br-svc-console-dot:first-child { transform: scale(1.3); }
.br-svc-console-title {
  margin-left: auto;
  font-size: 9.5px; font-weight: 700; letter-spacing: .14em;
  color: var(--br-blue-tint); text-transform: uppercase;
}
.br-svc-console-header {
  position: relative;
  display: flex; align-items: flex-end; justify-content: space-between;
  margin-bottom: 12px;
}
.br-svc-console-header .lbl { font-size: 9.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.48); display: block; margin-bottom: 3px; }
.br-svc-console-header .val { font-size: 17px; font-weight: 800; color: #FFFFFF; }
.br-svc-console-header .r { text-align: right; }
.br-svc-console-progress { position: relative; height: 6px; border-radius: 99px; background: rgba(255,255,255,.12); overflow: hidden; margin-bottom: 14px; }
.br-svc-console-progress > span {
  position: absolute; inset: 0; width: 62%; border-radius: 99px;
  background: linear-gradient(90deg, var(--br-blue), var(--br-pink));
  box-shadow: 0 0 12px rgba(238,41,122,.5);
}
@media (prefers-reduced-motion: no-preference) {
  .br-svc-console-progress > span {
    width: 0;
    animation: br-progress-fill 1.4s var(--br-ease) .5s forwards;
  }
}
@keyframes br-progress-fill { to { width: 62%; } }
.br-svc-console-steps { position: relative; list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.br-svc-console-steps li {
  display: flex; align-items: center; gap: 10px;
  font-size: 12.5px; font-weight: 600; line-height: 1.3;
  color: rgba(255,255,255,.88);
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 9px; padding: 9px 11px;
  transition: border-color .3s var(--br-ease), background .3s var(--br-ease), transform .3s var(--br-ease);
}
.br-svc-console-steps li:hover {
  transform: translateX(3px);
  background: rgba(255,255,255,.09);
  border-color: rgba(255,255,255,.22);
}
.br-svc-console-steps li.is-active { background: rgba(238,41,122,.12); border-color: rgba(238,41,122,.55); }
.br-svc-console-steps li.is-active:hover { border-color: rgba(238,41,122,.75); }
.br-svc-console-num {
  flex-shrink: 0; width: 21px; height: 21px; border-radius: 6px;
  background: rgba(255,255,255,.1); color: var(--br-blue-tint);
  font-size: 9.5px; font-weight: 800;
  display: flex; align-items: center; justify-content: center;
  transition: background .3s var(--br-ease), color .3s var(--br-ease);
}
.br-svc-console-steps li.is-active .br-svc-console-num { background: var(--br-pink); color: #fff; }
.br-svc-console-check { margin-left: auto; flex-shrink: 0; color: #8FE0F5; display: flex; }
@media (prefers-reduced-motion: no-preference) {
  .br-svc-console-steps li {
    opacity: 0;
    animation: br-fade-up .5s var(--br-ease) forwards;
  }
  .br-svc-console-steps li:nth-child(1) { animation-delay: .9s; }
  .br-svc-console-steps li:nth-child(2) { animation-delay: 1s; }
  .br-svc-console-steps li:nth-child(3) { animation-delay: 1.1s; }
  .br-svc-console-steps li:nth-child(4) { animation-delay: 1.2s; }
}

/* --- Section kicker: dash-flanked mono-style label above section titles --- */
.br-svc-kicker {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  width: fit-content; max-width: 100%;
  font-size: 12px !important; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: var(--br-blue); margin: 0 auto 10px !important;
}
.br-svc-kicker::before, .br-svc-kicker::after { content: ""; width: 22px; height: 1px; background: var(--br-blue); opacity: .4; }
.br-svc-eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #FFFFFF;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 999px;
  padding: 5px 15px;
  margin-bottom: 16px;
  transition: background .3s var(--br-ease), border-color .3s var(--br-ease);
}
.br-svc-hero-copy .br-svc-eyebrow:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.55);
}
.br-svc-subhead {
  font-size: 19px;
  font-style: italic;
  color: rgba(255,255,255,.82);
  max-width: 700px;
  margin: 0 auto 22px;
  line-height: 1.55;
}
.br-svc-hero-copy .br-svc-promise {
  font-size: 16px;
  color: rgba(255,255,255,.8);
  max-width: 480px;
  margin: 0 0 24px;
  line-height: 1.65;
}
.br-svc-promise {
  font-size: 17px;
  color: rgba(255,255,255,.82);
  max-width: 760px;
  margin: 0 auto 30px;
  line-height: 1.7;
}
.br-svc-cta-lead {
  font-weight: 700;
  color: #FFFFFF;
  font-size: 14px;
  margin-bottom: 12px;
}
.br-svc-cta-primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--br-pink), var(--br-pink-deep));
  color: #FFFFFF !important;
  font-weight: 700;
  font-size: 14.5px;
  padding: 13px 24px;
  border-radius: 9px;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(200,33,95,.4);
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease), background .3s var(--br-ease);
}
.br-svc-cta-primary::after {
  content: "\2192";
  transition: transform .3s var(--br-ease);
}
.br-svc-cta-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 32px rgba(200,33,95,.5);
}
.br-svc-cta-primary:active {
  transform: translateY(-1px);
}
.br-svc-cta-primary:hover::after {
  transform: translateX(4px);
}

.br-svc-hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 0 !important;
}
.br-svc-hero-actions .br-svc-cta-primary { margin: 0; }
.br-svc-btn-secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.06);
  color: #FFFFFF !important;
  font-weight: 700;
  font-size: 14.5px;
  padding: 13px 24px;
  border-radius: 9px;
  border: 1px solid rgba(255,255,255,.28);
  text-decoration: none;
  backdrop-filter: blur(6px);
  transition: background .3s var(--br-ease), border-color .3s var(--br-ease), transform .3s var(--br-ease);
}
.br-svc-btn-secondary:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.5);
  transform: translateY(-3px);
}

.br-svc-hero-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-top: var(--sp-4) !important;
}
.br-svc-hero-stats .br-svc-stat {
  padding: 0 var(--sp-3);
  border-left: 1px solid rgba(255,255,255,.16);
}
.br-svc-hero-stats .br-svc-stat:first-child { padding-left: 0; border-left: none; }
.br-svc-hero-stats .br-svc-stat-num {
  display: block;
  font-size: 26px;
  font-weight: 800;
  color: #FFFFFF;
  letter-spacing: -.01em;
  line-height: 1.1;
}
.br-svc-hero-stats .br-svc-stat-label {
  display: block;
  margin-top: 4px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}
@media (max-width: 900px) {
  .br-svc-hero-actions { justify-content: center; }
  .br-svc-hero-stats { justify-content: center; }
}

/* --- Entrance animations (disabled for users who prefer reduced motion) --- */
@media (prefers-reduced-motion: no-preference) {
  .br-svc-title-band::after {
    animation: br-float 9s ease-in-out infinite;
  }
  .br-svc-title {
    opacity: 0;
    animation: br-fade-up .8s cubic-bezier(.16,.84,.44,1) .15s forwards;
  }
  .br-svc-hero-copy > * {
    opacity: 0;
    animation: br-fade-up .7s cubic-bezier(.16,.84,.44,1) forwards;
  }
  .br-svc-hero-copy > *:nth-child(1) { animation-delay: .35s; }
  .br-svc-hero-copy > *:nth-child(2) { animation-delay: .45s; }
  .br-svc-hero-copy > *:nth-child(3) { animation-delay: .55s; }
  .br-svc-hero-copy > *:nth-child(4) { animation-delay: .65s; }
  .br-svc-hero-copy > *:nth-child(5) { animation-delay: .75s; }
  .br-svc-hero-copy > *:nth-child(6) { animation-delay: .85s; }
  .br-svc-console { opacity: 0; animation: br-fade-up .8s cubic-bezier(.16,.84,.44,1) .55s forwards; }
}
@keyframes br-fade-up {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes br-float {
  0%, 100% { transform: translateY(0) scale(1); }
  50%      { transform: translateY(-22px) scale(1.05); }
}

@media (max-width: 640px) {
  .br-svc-title-band { min-height: 38vh; padding-top: 64px !important; padding-bottom: 72px !important; }
}

/* Service pages carry their own full hero (gradient + console) in post_content,
   so the shared template's photo title-band is redundant here. Visually
   hidden rather than display:none so its <h1> (post_title) stays in the
   accessibility tree for SEO. */
.single-bethea_service .br-svc-title-band {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0 !important;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
  min-height: 0 !important;
}

/* --- Intro card: floats up and overlaps the hero's bottom edge --- */
.br-svc-intro-wrap {
  position: relative;
  z-index: 4;
  margin-top: -84px;
  max-width: none;
  padding: 0 clamp(16px, 2.5vw, 40px);
}
.br-svc-intro-card {
  position: relative;
  overflow: hidden;
  background: #FFFFFF;
  border-radius: var(--br-radius-lg);
  box-shadow: var(--br-shadow-lg);
  padding: clamp(36px, 6vw, 60px) clamp(24px, 5vw, 56px);
  text-align: center;
}
.br-svc-intro-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--br-blue), var(--br-pink), var(--br-blue));
  background-size: 200% 100%;
}
.br-svc-intro-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--br-blue);
  background: var(--br-blue-tint);
  border-radius: 999px;
  padding: 7px 16px 7px 13px;
  margin-bottom: 22px;
}
.br-svc-intro-badge::before {
  content: "";
  width: 14px;
  height: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007FAF' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.br-svc-intro-heading {
  color: var(--br-blue-deep) !important;
  font-size: clamp(1.6rem, 3.2vw, 2.4rem) !important;
  font-weight: 800 !important;
  line-height: 1.22 !important;
  max-width: 680px;
  margin: 0 auto var(--sp-3) !important;
}
.br-svc-intro-body {
  color: var(--br-text2);
  font-size: 16.5px;
  line-height: 1.75;
  max-width: 700px;
  margin: 0 auto var(--sp-5);
}
.br-svc-intro-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, var(--br-blue), var(--br-blue-deep));
  color: #FFFFFF !important;
  font-weight: 700;
  font-size: 15px;
  padding: 15px 30px;
  border-radius: 999px;
  text-decoration: none;
  box-shadow: 0 12px 26px -8px rgba(0,82,112,.45);
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease);
}
.br-svc-intro-cta::after { content: "\2192"; transition: transform .3s var(--br-ease); }
.br-svc-intro-cta:hover { transform: translateY(-3px); box-shadow: 0 18px 34px -8px rgba(0,82,112,.55); }
.br-svc-intro-cta:hover::after { transform: translateX(4px); }

@media (prefers-reduced-motion: no-preference) {
  .br-svc-intro-card::before {
    animation: br-gradient-slide 5s linear infinite;
  }
  /* Scroll-triggered reveal: hidden until IntersectionObserver adds .is-visible.
     Gated on .js so no-JS visitors always see the card (no FOUC either, since
     the .js class is set in <head> before the body paints). */
  .js .br-svc-intro-card {
    opacity: 0;
    transform: translateY(80px) scale(.985);
    transition: opacity .85s var(--br-ease), transform .85s var(--br-ease);
    will-change: opacity, transform;
  }
  .js .br-svc-intro-card.is-visible {
    opacity: 1;
    transform: none;
  }
}
/* NOTE: the Want/Need cards deliberately have NO reveal animation. A translateY
   reveal (staggered or not) can leave the two side-by-side cards momentarily at
   different heights, which reads as a broken layout. They stay statically
   visible so their grid row keeps them perfectly top-aligned at all times. */
@keyframes br-gradient-slide { to { background-position: -200% 0; } }

@media (max-width: 640px) {
  .br-svc-intro-wrap { margin-top: -48px; }
  .br-svc-intro-card { border-radius: var(--br-radius-md); }
}

/* Buy page: tighten the gap under the header and lengthen the hero so the
   floating intro card overlaps empty space, not the stats/console content. */
.single-bethea_service .wp-block-group.alignfull:has(> .wp-block-post-content) {
  padding-top: 0 !important;
}
.single-bethea_service .br-svc-hero {
  padding-bottom: 168px;
}
@media (max-width: 640px) {
  .single-bethea_service .br-svc-hero { padding-bottom: 120px; }
}

.br-svc-section {
  position: relative;
  padding: var(--sp-10) clamp(20px, 5vw, var(--sp-8));
  overflow: hidden;
}
.br-svc-section.br-svc-alt {
  background:
    radial-gradient(ellipse 900px 500px at 8% -10%, rgba(0,127,175,.07), transparent 60%),
    radial-gradient(ellipse 900px 500px at 100% 110%, rgba(0,82,112,.06), transparent 60%),
    var(--br-surface);
}
.br-svc-section-title {
  text-align: center;
  color: var(--br-blue-deep);
  font-size: clamp(1.5rem, 3vw, 2.1rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  margin-bottom: var(--sp-6) !important;
  position: relative;
}
.br-svc-section-title::after {
  content: "";
  display: block;
  width: 44px;
  height: 3px;
  margin: var(--sp-2) auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--br-blue), var(--br-blue-deep));
}
/* When a subheading follows, tighten spacing and drop the underline dash
   so the header block matches the reference (kicker / title / subhead). */
.br-svc-section-title:has(+ .br-svc-section-sub) {
  margin-bottom: var(--sp-3) !important;
}
.br-svc-section-title:has(+ .br-svc-section-sub)::after { display: none; }
.br-svc-section-sub {
  text-align: center;
  max-width: 640px;
  margin: 0 auto var(--sp-7);
  color: var(--br-text2);
  font-size: clamp(16px, 1.6vw, 18px);
  line-height: 1.6;
}

/* ---------- Want / Need cards ---------- */
/* This section only: tighten vertical rhythm and float soft abstract glows
   behind the cards for depth. Scoped via :has so sibling sections are untouched. */
.br-svc-section:has(.br-svc-grid-2) {
  padding-top: var(--sp-8);
  padding-bottom: var(--sp-8);
}
.br-svc-section:has(.br-svc-grid-2)::before,
.br-svc-section:has(.br-svc-grid-2)::after {
  content: "";
  position: absolute;
  z-index: 0;
  border-radius: 50%;
  filter: blur(72px);
  pointer-events: none;
}
.br-svc-section:has(.br-svc-grid-2)::before {
  width: 360px; height: 360px;
  top: 12%; left: -130px;
  background: radial-gradient(circle, rgba(0,127,175,.12), transparent 70%);
}
.br-svc-section:has(.br-svc-grid-2)::after {
  width: 420px; height: 420px;
  bottom: 2%; right: -150px;
  background: radial-gradient(circle, rgba(238,41,122,.08), transparent 70%);
}
.br-svc-section:has(.br-svc-grid-2) > * { position: relative; z-index: 1; }
.br-svc-grid-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(20px, 2.5vw, 32px);
  max-width: 1160px;
  margin: 0 auto;
  align-items: stretch;           /* both cards equal height */
}
/* WordPress flow-layout injects margin-block-start on every child except the
   first, which shoves the 2nd card down and misaligns the tops. Kill it so
   both cards sit flush at the top of their grid row. */
.br-svc-grid-2 > * {
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}
.br-svc-card {
  position: relative;
  display: flex;
  flex-direction: column;          /* lets the list fill so bottoms line up */
  overflow: hidden;
  background:
    radial-gradient(130% 90% at 100% 0%, rgba(0,127,175,.07), transparent 55%),
    linear-gradient(180deg, #FFFFFF 0%, #F7FBFE 100%);
  border: 1px solid rgba(2,80,112,.10);
  border-radius: 20px;
  padding: clamp(24px, 2.6vw, 34px);
  box-shadow: 0 1px 2px rgba(2,32,44,.04), 0 14px 30px -14px rgba(2,60,84,.18);
  transition: transform .45s var(--br-ease), box-shadow .45s var(--br-ease), border-color .45s var(--br-ease);
}
/* Slim brand accent along the top edge. */
.br-svc-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--br-blue), var(--br-blue-deep));
  transition: height .45s var(--br-ease);
}
.br-svc-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 2px 4px rgba(2,32,44,.05), 0 30px 54px -20px rgba(2,60,84,.30);
  border-color: rgba(0,127,175,.26);
}
.br-svc-card:hover::before { height: 6px; }
.br-svc-card-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--br-blue);
  margin: 0 0 14px !important;
}
.br-svc-card-kicker::before {
  content: "";
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}
.br-svc-card h3 {
  color: var(--br-blue-deep) !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  letter-spacing: -.015em;
  margin: 0 0 18px !important;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(2,80,112,.09);
  display: flex;
  align-items: center;
  gap: 14px;
}
.br-svc-card h3::before {
  content: "";
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: linear-gradient(145deg, var(--br-blue) 0%, var(--br-blue-deep) 100%);
  box-shadow: 0 10px 24px -8px rgba(0,127,175,.55), inset 0 1px 0 rgba(255,255,255,.3);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 23px;
  transition: transform .45s var(--br-ease), box-shadow .45s var(--br-ease);
}
.br-svc-card:hover h3::before {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 16px 32px -8px rgba(0,127,175,.6), inset 0 1px 0 rgba(255,255,255,.3);
}
.br-svc-card:nth-of-type(1) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='12' cy='12' r='.6' fill='white'/%3E%3C/svg%3E"), linear-gradient(145deg, var(--br-blue) 0%, var(--br-blue-deep) 100%);
  background-size: 23px, cover;
}
.br-svc-card:nth-of-type(2) h3::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4V3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1'/%3E%3Cpath d='M9 13l2 2 4-4'/%3E%3C/svg%3E"), linear-gradient(145deg, var(--br-blue) 0%, var(--br-blue-deep) 100%);
  background-size: 23px, cover;
}
.br-svc-card ul {
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1;                          /* fills the card so bottoms align */
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.br-svc-card li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 9px 12px;
  border-radius: 10px;
  color: var(--br-text2);
  font-size: 15px;
  line-height: 1.5;
  transition: background-color .3s var(--br-ease), color .3s var(--br-ease), transform .3s var(--br-ease);
}
.br-svc-card li:hover {
  background: rgba(0,127,175,.06);
  color: var(--br-text);
  transform: translateX(2px);
}
.br-svc-card li::before {
  content: "";
  flex-shrink: 0;
  margin-top: 1px;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  background-color: var(--br-green-tint);
  box-shadow: inset 0 0 0 1px var(--br-green-border);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317A45E' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 13px;
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease);
}
.br-svc-card li:hover::before {
  transform: scale(1.1);
  box-shadow: inset 0 0 0 1px var(--br-green), 0 5px 12px -3px rgba(23,164,94,.45);
}

/* ---------- Delivery stepper ---------- */
.br-svc-deliver {
  max-width: 820px;
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
/* Vertical connector threaded through the number circles (shows in the gaps). */
.br-svc-deliver::before {
  content: "";
  position: absolute;
  top: 38px;
  bottom: 38px;
  left: 43px;
  width: 2px;
  background: linear-gradient(180deg, rgba(0,127,175,.4) 0%, rgba(2,80,112,.06) 100%);
  z-index: 0;
}
/* Sleek, static cards: compact spacing, soft flat elevation, no hover motion. */
.br-svc-deliver-item {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 18px;
  background: #FFFFFF;
  border: 1px solid rgba(2,80,112,.08);
  border-radius: 14px;
  padding: 16px 22px;
  box-shadow: 0 1px 2px rgba(2,32,44,.03), 0 4px 14px -12px rgba(2,60,84,.14);
}
.br-svc-deliver-num {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--br-blue) 0%, var(--br-blue-deep) 100%);
  box-shadow: 0 3px 10px -5px rgba(0,82,112,.4), 0 0 0 4px #FFFFFF, 0 0 0 5px rgba(2,80,112,.07);
  color: #FFFFFF;
  font-weight: 800;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.br-svc-deliver-body { flex: 1; min-width: 0; }
.br-svc-deliver-title {
  margin: 0 !important;
  color: var(--br-blue-deep);
  font-size: 16px;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.3;
}
.br-svc-deliver-desc {
  margin: 3px 0 0 !important;
  color: var(--br-text2);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.5;
}
.br-svc-deliver-stage {
  flex-shrink: 0;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--br-blue);
  opacity: .55;
  white-space: nowrap;
}
@media (max-width: 620px) {
  .br-svc-deliver-item { gap: 14px; padding: 14px 16px; }
  .br-svc-deliver-stage { display: none; }
  .br-svc-deliver::before { left: 39px; }
  .br-svc-deliver-num { width: 40px; height: 40px; font-size: 15px; }
}

/* ---------- Glossary chips ---------- */
/* Soft palette glows so the section reads lively, not flat. */
.br-svc-section:has(.br-svc-glossary)::before,
.br-svc-section:has(.br-svc-glossary)::after {
  content: "";
  position: absolute;
  z-index: 0;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
}
.br-svc-section:has(.br-svc-glossary)::before {
  width: 380px; height: 380px; top: 6%; left: -140px;
  background: radial-gradient(circle, rgba(0,127,175,.12), transparent 70%);
}
.br-svc-section:has(.br-svc-glossary)::after {
  width: 440px; height: 440px; bottom: 0; right: -160px;
  background: radial-gradient(circle, rgba(238,41,122,.10), transparent 70%);
}
.br-svc-section:has(.br-svc-glossary) > * { position: relative; z-index: 1; }

.br-svc-glossary {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  justify-content: center;
  align-items: center;              /* equal pill heights */
}
.br-svc-glossary > * { margin: 0 !important; }   /* kill WP flow-layout top margin */

/* Chips cycle through the brand palette (blue / pink / green) for a lively feel. */
.br-svc-term {
  --chip: var(--br-blue);
  --chip-text: var(--br-blue-deep);
  --chip-tint: #EAF6FB;
  --chip-border: rgba(0,127,175,.26);
  --chip-shadow: rgba(0,127,175,.5);
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: var(--chip-tint);
  border: 1px solid var(--chip-border);
  color: var(--chip-text);
  font-size: 13.5px;
  font-weight: 700;
  padding: 10px 18px 10px 15px;
  border-radius: 999px;
  box-shadow: 0 1px 2px rgba(2,32,44,.03);
  transition: transform .25s var(--br-ease), box-shadow .25s var(--br-ease), background .25s var(--br-ease), color .25s var(--br-ease), border-color .25s var(--br-ease);
}
.br-svc-term:nth-child(3n+2) {
  --chip: var(--br-pink);
  --chip-text: #B01E55;
  --chip-tint: #FDEBF3;
  --chip-border: rgba(238,41,122,.24);
  --chip-shadow: rgba(238,41,122,.45);
}
.br-svc-term:nth-child(3n) {
  --chip: var(--br-green);
  --chip-text: #0E7A44;
  --chip-tint: #E9F7EF;
  --chip-border: rgba(23,164,94,.26);
  --chip-shadow: rgba(23,164,94,.45);
}
.br-svc-term::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--chip);
  transition: background .25s var(--br-ease);
}
.br-svc-term:hover {
  transform: translateY(-3px);
  background: var(--chip);
  border-color: transparent;
  color: #FFFFFF;
  box-shadow: 0 12px 24px -8px var(--chip-shadow);
}
.br-svc-term:hover::before { background: #FFFFFF; }

/* --- Knowledge Edge motion: staggered reveal, gentle float, drifting glows.
   Reveal animates opacity/filter and float animates transform, so they never
   conflict with each other or with the chips' hover colour transition. --- */
@media (prefers-reduced-motion: no-preference) {
  .js .br-svc-glossary .br-svc-term { opacity: 0; }
  .js .br-svc-glossary.is-visible .br-svc-term {
    animation: br-chip-in .55s var(--br-ease) both, br-chip-float 6s ease-in-out infinite;
  }
  .js .br-svc-glossary.is-visible .br-svc-term:nth-child(1)  { animation-delay: .05s, 0s; }
  .js .br-svc-glossary.is-visible .br-svc-term:nth-child(2)  { animation-delay: .11s, -.9s; }
  .js .br-svc-glossary.is-visible .br-svc-term:nth-child(3)  { animation-delay: .17s, -1.8s; }
  .js .br-svc-glossary.is-visible .br-svc-term:nth-child(4)  { animation-delay: .23s, -2.7s; }
  .js .br-svc-glossary.is-visible .br-svc-term:nth-child(5)  { animation-delay: .29s, -3.6s; }
  .js .br-svc-glossary.is-visible .br-svc-term:nth-child(6)  { animation-delay: .35s, -4.5s; }
  .js .br-svc-glossary.is-visible .br-svc-term:nth-child(7)  { animation-delay: .41s, -1.3s; }
  .js .br-svc-glossary.is-visible .br-svc-term:nth-child(8)  { animation-delay: .47s, -2.5s; }
  .js .br-svc-glossary.is-visible .br-svc-term:nth-child(9)  { animation-delay: .53s, -3.7s; }
  .js .br-svc-glossary.is-visible .br-svc-term:nth-child(10) { animation-delay: .59s, -5s; }

  .br-svc-section:has(.br-svc-glossary)::before { animation: br-glow-drift-a 15s ease-in-out infinite; }
  .br-svc-section:has(.br-svc-glossary)::after  { animation: br-glow-drift-b 18s ease-in-out infinite; }
}
@keyframes br-chip-in {
  from { opacity: 0; filter: blur(6px); }
  to   { opacity: 1; filter: blur(0); }
}
@keyframes br-chip-float {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-7px); }
}
@keyframes br-glow-drift-a {
  0%, 100% { transform: translate(0, 0); }
  50%      { transform: translate(46px, 34px); }
}
@keyframes br-glow-drift-b {
  0%, 100% { transform: translate(0, 0); }
  50%      { transform: translate(-46px, -30px); }
}

/* ---------- Transaction flow timeline ---------- */
.br-svc-flow-card {
  max-width: 1180px;
  margin: 0 auto;
  background: linear-gradient(180deg, #FFFFFF 0%, #FBFDFE 100%);
  border: 1px solid rgba(2,80,112,.08);
  border-radius: 22px;
  padding: clamp(32px, 4vw, 52px) clamp(18px, 3vw, 40px);
  box-shadow: 0 1px 2px rgba(2,32,44,.03), 0 16px 38px -20px rgba(2,60,84,.20);
}
.br-svc-flow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 4px;
}
.br-svc-flow > * { margin: 0 !important; }   /* guard against WP flow-margin */
.br-svc-flow-step {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  padding: 0 4px;
}
.br-svc-flow-cat {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--br-blue);
  opacity: .55;
  line-height: 1;
  margin-bottom: 12px;
}
.br-svc-flow-num {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--br-blue) 0%, var(--br-blue-deep) 100%);
  color: #FFFFFF;
  font-weight: 800;
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  box-shadow: 0 6px 16px -5px rgba(0,82,112,.5), 0 0 0 5px #FFFFFF, inset 0 1px 0 rgba(255,255,255,.3);
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease);
}
.br-svc-flow-step:hover .br-svc-flow-num {
  transform: translateY(-4px) scale(1.08);
  box-shadow: 0 12px 24px -6px rgba(0,82,112,.55), 0 0 0 5px #FFFFFF, inset 0 1px 0 rgba(255,255,255,.3);
}
.br-svc-flow-label {
  margin-top: 12px;
  font-size: 13px;
  font-weight: 700;
  color: var(--br-blue-deep);
  line-height: 1.3;
  overflow-wrap: break-word;
}
/* dashed connector, centred on the circle row */
.br-svc-flow-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 47px;
  left: 50%;
  width: 100%;
  height: 2px;
  background-image: linear-gradient(90deg, rgba(0,127,175,.5) 0 6px, transparent 6px 12px);
  background-size: 12px 2px;
  background-repeat: repeat-x;
  z-index: 0;
}
/* active step (5) — pink accent */
.br-svc-flow-step.is-active .br-svc-flow-cat { color: var(--br-pink); opacity: .9; }
.br-svc-flow-step.is-active .br-svc-flow-num {
  background: linear-gradient(145deg, var(--br-pink) 0%, var(--br-pink-deep) 100%);
  box-shadow: 0 8px 20px -5px rgba(238,41,122,.55), 0 0 0 5px #FFFFFF, 0 0 0 9px rgba(238,41,122,.14), inset 0 1px 0 rgba(255,255,255,.3);
}
.br-svc-flow-step.is-active .br-svc-flow-label { color: var(--br-pink-deep); }

@media (prefers-reduced-motion: no-preference) {
  /* dashes flow left-to-right, suggesting forward progress */
  .br-svc-flow-step:not(:last-child)::after { animation: br-flow-dash 1.1s linear infinite; }
  /* staggered pop-in as the flow scrolls into view */
  .js .br-svc-flow .br-svc-flow-step { opacity: 0; }
  .js .br-svc-flow.is-visible .br-svc-flow-step { animation: br-flow-pop .5s var(--br-ease) both; }
  .js .br-svc-flow.is-visible .br-svc-flow-step:nth-child(1) { animation-delay: .05s; }
  .js .br-svc-flow.is-visible .br-svc-flow-step:nth-child(2) { animation-delay: .11s; }
  .js .br-svc-flow.is-visible .br-svc-flow-step:nth-child(3) { animation-delay: .17s; }
  .js .br-svc-flow.is-visible .br-svc-flow-step:nth-child(4) { animation-delay: .23s; }
  .js .br-svc-flow.is-visible .br-svc-flow-step:nth-child(5) { animation-delay: .29s; }
  .js .br-svc-flow.is-visible .br-svc-flow-step:nth-child(6) { animation-delay: .35s; }
  .js .br-svc-flow.is-visible .br-svc-flow-step:nth-child(7) { animation-delay: .41s; }
  .js .br-svc-flow.is-visible .br-svc-flow-step:nth-child(8) { animation-delay: .47s; }
  .js .br-svc-flow.is-visible .br-svc-flow-step:nth-child(9) { animation-delay: .53s; }
}
@keyframes br-flow-dash { to { background-position: 12px 0; } }
@keyframes br-flow-pop { from { opacity: 0; transform: translateY(16px) scale(.9); } to { opacity: 1; transform: none; } }

@media (max-width: 860px) {
  .br-svc-flow-card { padding: 28px 22px; }
  .br-svc-flow { flex-direction: column; align-items: stretch; gap: 0; }
  .br-svc-flow-step {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    text-align: left;
    padding: 9px 0;
  }
  .br-svc-flow-num { order: 1; }
  .br-svc-flow-label { order: 2; margin: 0; font-size: 14px; }
  .br-svc-flow-cat { order: 3; margin: 0 0 0 auto; }
  .br-svc-flow-step:not(:last-child)::after {
    top: 50%;
    left: 25px;
    width: 2px;
    height: 100%;
    background-image: linear-gradient(180deg, rgba(0,127,175,.5) 0 6px, transparent 6px 12px);
    background-size: 2px 12px;
    background-repeat: repeat-y;
    animation: none;
  }
  .br-svc-deliver::before { display: none; }
}

/* ---------- FAQ accordion ---------- */
:root { interpolate-size: allow-keywords; }
.br-svc-faq { position: relative; }
.wp-block-details {
  max-width: 860px;
  margin: 0 auto 14px;
  background: #FFFFFF;
  border: 1px solid rgba(2,80,112,.09);
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  position: relative;
  box-shadow: 0 1px 2px rgba(2,32,44,.03), 0 8px 20px -16px rgba(2,60,84,.14);
  transition: box-shadow .3s var(--br-ease), border-color .3s var(--br-ease), background .3s var(--br-ease);
}
/* left accent bar that grows in when a card is open */
.wp-block-details::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--br-blue), var(--br-blue-deep));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s var(--br-ease);
}
.wp-block-details[open]::before { transform: scaleX(1); }
.wp-block-details:hover {
  border-color: rgba(0,127,175,.22);
  box-shadow: 0 2px 4px rgba(2,32,44,.04), 0 14px 28px -16px rgba(2,60,84,.22);
}
.wp-block-details[open] {
  border-color: rgba(0,127,175,.26);
  background: linear-gradient(180deg, #FFFFFF 0%, #F6FBFE 100%);
  box-shadow: 0 2px 4px rgba(2,32,44,.04), 0 18px 34px -16px rgba(2,60,84,.22);
}
.wp-block-details summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 24px;
  font-weight: 700;
  font-size: 16.5px;
  color: var(--br-blue-deep);
  transition: color .3s var(--br-ease);
}
.wp-block-details summary:hover { color: var(--br-blue); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
  content: "";
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background-color: var(--br-blue-tint);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007FAF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
  transition: transform .4s var(--br-ease), background-color .3s var(--br-ease), box-shadow .3s var(--br-ease);
}
.wp-block-details[open] summary::after {
  transform: rotate(135deg);
  background-color: var(--br-blue);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
  box-shadow: 0 6px 14px -4px rgba(0,127,175,.5);
}
.wp-block-details p {
  margin: 0;
  padding: 4px 24px 22px;
  color: var(--br-text2);
  font-size: 15.5px;
  line-height: 1.7;
}
@media (prefers-reduced-motion: no-preference) {
  /* Smooth open/close of the answer (modern browsers; degrades to instant). */
  .wp-block-details::details-content {
    height: 0;
    overflow: hidden;
    opacity: 0;
    transition: height .4s var(--br-ease), opacity .35s var(--br-ease), content-visibility .4s allow-discrete;
  }
  .wp-block-details[open]::details-content { height: auto; opacity: 1; }
  /* staggered reveal of the cards as the section scrolls in */
  .js .br-svc-faq .wp-block-details { opacity: 0; }
  .js .br-svc-faq.is-visible .wp-block-details { animation: br-faq-in .5s var(--br-ease) both; }
  .js .br-svc-faq.is-visible .wp-block-details:nth-of-type(1) { animation-delay: .05s; }
  .js .br-svc-faq.is-visible .wp-block-details:nth-of-type(2) { animation-delay: .11s; }
  .js .br-svc-faq.is-visible .wp-block-details:nth-of-type(3) { animation-delay: .17s; }
  .js .br-svc-faq.is-visible .wp-block-details:nth-of-type(4) { animation-delay: .23s; }
  .js .br-svc-faq.is-visible .wp-block-details:nth-of-type(5) { animation-delay: .29s; }
  .js .br-svc-faq.is-visible .wp-block-details:nth-of-type(6) { animation-delay: .35s; }
  .js .br-svc-faq.is-visible .wp-block-details:nth-of-type(7) { animation-delay: .41s; }
  .js .br-svc-faq.is-visible .wp-block-details:nth-of-type(8) { animation-delay: .47s; }
}
@keyframes br-faq-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* ---------- CTA band + button hierarchy ---------- */
.br-svc-cta-band {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 700px 400px at 15% 0%, rgba(0,127,175,.14), transparent 60%),
    radial-gradient(ellipse 700px 400px at 85% 100%, rgba(0,82,112,.12), transparent 60%),
    var(--br-blue-tint) !important;
  padding: var(--sp-8) var(--sp-3) !important;
}
.br-svc-cta-band .wp-block-heading {
  font-weight: 800 !important;
  font-size: clamp(1.5rem, 3vw, 2rem) !important;
  margin-bottom: var(--sp-4) !important;
}
.br-svc-cta-band .br-svc-section-title { margin-bottom: var(--sp-3) !important; }

/* ---------- "Take the next step" cards ---------- */
.br-svc-next {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  align-items: stretch;
}
.br-svc-next-card {
  display: flex;
  flex-direction: column;
  background: #FFFFFF;
  border: 1px solid rgba(2,80,112,.08);
  border-radius: 22px;
  padding: 30px 28px;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(2,32,44,.03), 0 12px 26px -18px rgba(2,60,84,.16);
  transition: transform .35s var(--br-ease), box-shadow .35s var(--br-ease), border-color .35s var(--br-ease);
}
.br-svc-next-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 2px 4px rgba(2,32,44,.05), 0 24px 44px -18px rgba(2,60,84,.30);
  border-color: rgba(0,127,175,.24);
}
.br-svc-next-icon {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  border-radius: 14px;
  background-color: var(--br-blue-tint);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px;
  margin-bottom: 22px;
}
.br-svc-next-card:nth-child(1) .br-svc-next-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M8 3v4M16 3v4'/%3E%3C/svg%3E");
}
.br-svc-next-card:nth-child(2) .br-svc-next-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007FAF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");
}
.br-svc-next-card:nth-child(3) .br-svc-next-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007FAF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 13l2 2 4-4'/%3E%3C/svg%3E");
}
.br-svc-next-card:nth-child(4) .br-svc-next-icon {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007FAF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v10M15 9.5c0-1.4-1.3-2.5-3-2.5s-3 1-3 2.3c0 3 6 1.4 6 4.3 0 1.4-1.3 2.4-3 2.4s-3-1-3-2.4'/%3E%3C/svg%3E");
}
.br-svc-next-title {
  color: var(--br-blue-deep) !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  line-height: 1.25 !important;
  margin: 0 0 10px !important;
}
.br-svc-next-desc {
  color: var(--br-text2);
  font-size: 14.5px;
  line-height: 1.6;
  margin: 0 0 22px;
  flex: 1;                       /* pushes the CTA to a common baseline */
}
.br-svc-next-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--br-blue);
}
.br-svc-next-cta::after {
  content: "";
  width: 15px;
  height: 15px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007FAF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  transition: transform .3s var(--br-ease);
}
.br-svc-next-card:hover .br-svc-next-cta::after { transform: translateX(4px); }
/* featured dark gradient card */
.br-svc-next-card.is-featured {
  background:
    radial-gradient(135% 130% at 112% 106%, rgba(238,41,122,.32) 0%, rgba(238,41,122,0) 48%),
    linear-gradient(150deg, #0B5E7C 0%, #00445E 52%, #012231 100%);
  border-color: transparent;
  box-shadow: 0 18px 42px -16px rgba(4,40,70,.5), inset 0 1px 0 rgba(255,255,255,.08);
}
.br-svc-next-card.is-featured .br-svc-next-icon { background-color: rgba(255,255,255,.14); }
.br-svc-next-card.is-featured .br-svc-next-title { color: #FFFFFF !important; }
.br-svc-next-card.is-featured .br-svc-next-desc { color: rgba(255,255,255,.72); }
.br-svc-next-card.is-featured .br-svc-next-cta { color: #8FE0F5; }
.br-svc-next-card.is-featured .br-svc-next-cta::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238FE0F5' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
}
.br-svc-next-card.is-featured:hover { box-shadow: 0 26px 50px -18px rgba(0,60,84,.62); }

@media (max-width: 980px) { .br-svc-next { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .br-svc-next { grid-template-columns: 1fr; } }

/* ---------- Buyer Toolkit: resources + specialist ---------- */
.br-svc-footer-info { padding: var(--sp-10) clamp(22px, 3vw, 46px); }
/* Break out of the group's constrained content-width so the toolkit is full-bleed */
.br-svc-footer-info > .br-toolkit { max-width: none !important; width: 100%; margin: 0; }
.br-toolkit-head { max-width: none; margin: 0 0 34px; }
.br-toolkit-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--br-blue);
  margin: 0 0 14px;
}
.br-toolkit-kicker::before { content: ""; width: 24px; height: 2px; border-radius: 2px; background: currentColor; }
.br-toolkit-title {
  color: var(--br-blue-deep);
  font-size: clamp(1.8rem, 4vw, 2.6rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1.1;
  margin: 0;
}
.br-toolkit-grid {
  max-width: none;
  margin: 0;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 32px;
  align-items: start;
}
@media (max-width: 900px) { .br-toolkit-grid { grid-template-columns: 1fr; } }

/* resource cards */
.br-toolkit-list { display: flex; flex-direction: column; gap: 10px; }
.br-toolkit-card {
  display: flex;
  align-items: center;
  gap: 14px;
  box-sizing: border-box;
  background: #FFFFFF;
  border: 1px solid rgba(2,80,112,.09);
  border-radius: 12px;
  padding: 12px 18px;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 1px 2px rgba(2,32,44,.03);
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease), border-color .3s var(--br-ease);
}
.br-toolkit-card:hover {
  transform: translateX(5px);
  border-color: rgba(0,127,175,.24);
  box-shadow: 0 12px 24px -14px rgba(2,60,84,.26);
}
.br-toolkit-doc {
  width: 34px; height: 34px; flex-shrink: 0;
  border-radius: 9px;
  background-color: var(--br-blue-tint);
  background-repeat: no-repeat; background-position: center; background-size: 16px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007FAF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3C/svg%3E");
}
.br-toolkit-label { flex: 1; color: var(--br-blue-deep); font-size: 14.5px; font-weight: 700; }
.br-toolkit-go {
  width: 20px; height: 20px; flex-shrink: 0;
  background-repeat: no-repeat; background-position: center; background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007FAF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  opacity: .45;
  transition: transform .3s var(--br-ease), opacity .3s var(--br-ease);
}
.br-toolkit-card:hover .br-toolkit-go { transform: translateX(3px); opacity: 1; }

/* specialist dark card */
.br-toolkit-spec {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(130% 120% at 112% 0%, rgba(238,41,122,.30), transparent 46%),
    linear-gradient(160deg, #0B5E7C 0%, #00445E 55%, #012231 100%);
  border-radius: 20px;
  padding: 26px 26px;
  color: #FFFFFF;
  box-shadow: 0 20px 46px -18px rgba(4,40,70,.5), inset 0 1px 0 rgba(255,255,255,.08);
}
.br-toolkit-spec-top { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.br-toolkit-avatar {
  width: 60px; height: 60px; flex-shrink: 0;
  border-radius: 15px;
  font-size: 0;                 /* hides the "IB" fallback text */
  color: transparent;
  background-color: #FFFFFF;
  background-image: url("/wp-content/uploads/2026/07/bethea-realty-logo.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 78%;         /* contained with even margin on all sides */
  box-shadow: inset 0 0 0 1px rgba(2,32,44,.10), 0 6px 16px -6px rgba(0,0,0,.35);
}
.br-toolkit-spec-name { display: block; font-size: 20px; font-weight: 800; color: #FFFFFF; line-height: 1.2; }
.br-toolkit-spec-role {
  display: block; margin-top: 4px;
  font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(143,224,245,.9);
}
.br-toolkit-spec-desc { color: rgba(255,255,255,.75); font-size: 14.5px; line-height: 1.65; margin: 0 0 24px; }
.br-toolkit-spec-contact { display: flex; flex-direction: column; gap: 12px; margin-bottom: 26px; }
.br-toolkit-spec-row {
  display: flex; align-items: center; gap: 12px;
  color: rgba(255,255,255,.9); font-size: 14.5px; font-weight: 600; text-decoration: none;
  transition: color .25s var(--br-ease);
}
a.br-toolkit-spec-row:hover { color: #8FE0F5; }
.br-toolkit-spec-ico {
  width: 34px; height: 34px; flex-shrink: 0;
  border-radius: 10px;
  background-color: rgba(255,255,255,.09);
  background-repeat: no-repeat; background-position: center; background-size: 16px;
}
.br-row-phone .br-toolkit-spec-ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.1-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.4-1.2a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.br-row-mail .br-toolkit-spec-ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m2 6 10 7 10-7'/%3E%3C/svg%3E"); }
.br-row-pin .br-toolkit-spec-ico { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.br-toolkit-spec-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  box-sizing: border-box;
  align-self: flex-start;
  background: linear-gradient(135deg, var(--br-pink) 0%, var(--br-pink-deep) 100%);
  color: #FFFFFF; font-weight: 700; font-size: 14px;
  padding: 12px 22px; border-radius: 11px; text-decoration: none;
  box-shadow: 0 8px 18px -8px rgba(238,41,122,.45);
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease);
}
.br-toolkit-spec-cta:hover { transform: translateY(-3px); box-shadow: 0 18px 34px -8px rgba(238,41,122,.6); }
.br-toolkit-spec-cta-arrow {
  width: 16px; height: 16px;
  background-repeat: no-repeat; background-position: center; background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  transition: transform .3s var(--br-ease);
}
.br-toolkit-spec-cta:hover .br-toolkit-spec-cta-arrow { transform: translateX(4px); }

/* ---------- Closing CTA band (full-bleed dark) ---------- */
.br-cta {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(ellipse 820px 520px at 16% 2%, rgba(0,127,175,.22), transparent 58%),
    linear-gradient(180deg, #0B5E7C 0%, #033544 58%, #012231 100%) !important;
  padding: clamp(52px, 6vw, 88px) clamp(22px, 5vw, 56px) !important;
}
.br-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 46px 46px;
  -webkit-mask-image: radial-gradient(ellipse 72% 72% at 50% 42%, #000 38%, transparent 76%);
          mask-image: radial-gradient(ellipse 72% 72% at 50% 42%, #000 38%, transparent 76%);
  pointer-events: none;
}
.br-cta-inner {
  position: relative;
  z-index: 1;
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
}
.br-cta-kicker {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 18px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #8FE0F5;
}
.br-cta-kicker::before, .br-cta-kicker::after {
  content: "";
  width: 34px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, #8FE0F5);
}
.br-cta-kicker::after { background: linear-gradient(90deg, #8FE0F5, transparent); }
.br-cta-title {
  color: #FFFFFF !important;
  font-size: clamp(1.7rem, 3.2vw, 2.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  line-height: 1.12 !important;
  margin: 0 0 16px !important;
}
.br-cta-sub {
  max-width: 580px;
  margin: 0 auto 32px;
  color: rgba(255,255,255,.72);
  font-size: clamp(.95rem, 1.1vw, 1.05rem);
  line-height: 1.6;
}
.br-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px;
  border-radius: 100px;
  background: linear-gradient(135deg, var(--br-pink) 0%, var(--br-pink-deep) 100%);
  color: #FFFFFF;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  box-shadow: 0 14px 34px -12px rgba(238,41,122,.55);
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease);
}
.br-cta-btn:hover { transform: translateY(-4px); box-shadow: 0 26px 54px -10px rgba(238,41,122,.72); }
.br-cta-btn-arrow {
  width: 16px;
  height: 16px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  transition: transform .3s var(--br-ease);
}
.br-cta-btn:hover .br-cta-btn-arrow { transform: translateX(5px); }

/* ---------- Site footer (continues the dark CTA) ---------- */
.site-footer {
  margin: 0 !important;
  padding: 44px clamp(22px, 5vw, 56px) 22px !important;
  background: linear-gradient(180deg, #012231 0%, #01151E 100%);
  color: rgba(255,255,255,.7);
}
.site-footer-inner { max-width: 1240px; margin: 0 auto; }
.site-footer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
.site-footer-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; }
.site-footer-badge {
  width: 40px; height: 40px; flex-shrink: 0;
  border-radius: 11px;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; font-weight: 800; color: #FFFFFF;
  background: linear-gradient(140deg, #12A8C8 0%, #0A5B78 46%, #EE297A 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
.site-footer-name { color: #FFFFFF; font-size: 19px; font-weight: 800; letter-spacing: -.01em; }
.site-footer-copy { margin: 0; color: rgba(255,255,255,.5); font-size: 13.5px; font-weight: 500; }
.site-footer-rule {
  height: 1px;
  margin-top: 24px;
  background: linear-gradient(90deg, rgba(255,255,255,.13), rgba(255,255,255,.04));
}
.site-footer-rule-top { margin-top: 0; margin-bottom: 36px; }

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* ---- Footer newsletter signup ---- */
.site-footer-newsletter {
  display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
  padding-bottom: 36px;
}
.site-footer-newsletter-copy { max-width: 420px; }
.site-footer-newsletter-title { margin: 0 0 6px; color: #FFFFFF; font-size: 18px; font-weight: 800; }
.site-footer-newsletter-sub { margin: 0; color: rgba(255,255,255,.55); font-size: 14px; line-height: 1.6; }
.site-footer-newsletter-form.bethea-lead-form {
  display: flex; flex-direction: row; align-items: flex-start; gap: 10px; max-width: none; margin: 0; flex-wrap: wrap;
}
.site-footer-newsletter-form .bethea-field { gap: 0; }
.site-footer-newsletter-form input {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); color: #FFFFFF;
  border-radius: 100px; padding: 12px 18px; font-size: 14.5px; min-width: 180px;
}
.site-footer-newsletter-form input::placeholder { color: rgba(255,255,255,.45); }
.site-footer-newsletter-form input:focus { outline: 2px solid var(--br-pink); outline-offset: 1px; background: rgba(255,255,255,.12); }
.site-footer-newsletter-form button[type="submit"] {
  background: linear-gradient(135deg, var(--br-pink), #C8215F); border-radius: 100px; padding: 12px 26px;
  font-size: 14.5px; white-space: nowrap;
}
.site-footer-newsletter-form button[type="submit"]:hover { background: linear-gradient(135deg, #C8215F, var(--br-pink)); }
.site-footer-newsletter-status { flex-basis: 100%; margin: 4px 0 0; font-size: 13.5px; }
.site-footer-newsletter-status.bethea-form-success { background: rgba(255,255,255,.1); color: #FFFFFF; padding: 10px 14px; }
@media (max-width: 700px) {
  .site-footer-newsletter { flex-direction: column; align-items: flex-start; }
  .site-footer-newsletter-form { width: 100%; }
  .site-footer-newsletter-form input { flex: 1 1 auto; }
}

/* ============ Full-page scroll reveal ============ */
@keyframes br-rise    { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes br-rise-sm { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes br-fade    { from { opacity: 0; } to { opacity: 1; } }

@media (prefers-reduced-motion: no-preference) {
  /* --- Section header cascade (kicker -> title -> subheading) --- */
  .js .br-svc-section .br-svc-kicker,
  .js .br-svc-section .br-svc-section-title,
  .js .br-svc-section .br-svc-section-sub,
  .js .br-svc-flow > .br-svc-kicker,
  .js .br-svc-flow > .br-svc-section-title,
  .js .br-svc-flow > .br-svc-section-sub,
  .js .br-svc-faq > .br-svc-kicker,
  .js .br-svc-faq > .br-svc-section-title,
  .js .br-svc-faq > .br-svc-section-sub,
  .js .br-svc-cta-band > .br-svc-kicker,
  .js .br-svc-cta-band > .br-svc-section-title,
  .js .br-svc-cta-band > .br-svc-section-sub { opacity: 0; }

  .js .br-svc-section.is-visible .br-svc-kicker,
  .js .br-svc-flow.is-visible > .br-svc-kicker,
  .js .br-svc-faq.is-visible > .br-svc-kicker,
  .js .br-svc-cta-band.is-visible > .br-svc-kicker { animation: br-rise-sm .55s var(--br-ease) .04s both; }

  .js .br-svc-section.is-visible .br-svc-section-title,
  .js .br-svc-flow.is-visible > .br-svc-section-title,
  .js .br-svc-faq.is-visible > .br-svc-section-title,
  .js .br-svc-cta-band.is-visible > .br-svc-section-title { animation: br-rise .6s var(--br-ease) .12s both; }

  .js .br-svc-section.is-visible .br-svc-section-sub,
  .js .br-svc-flow.is-visible > .br-svc-section-sub,
  .js .br-svc-faq.is-visible > .br-svc-section-sub,
  .js .br-svc-cta-band.is-visible > .br-svc-section-sub { animation: br-rise .6s var(--br-ease) .20s both; }

  /* --- Buyer-priorities cards: rise the grid as one so card hover stays intact --- */
  .js .br-svc-grid-2 { opacity: 0; }
  .js .br-svc-grid-2.is-visible { animation: br-rise .7s var(--br-ease) .06s both; }

  /* --- "How Bethea delivers" rows: individual stagger (no self-hover) --- */
  .js .br-svc-deliver .br-svc-deliver-item { opacity: 0; }
  .js .br-svc-deliver.is-visible .br-svc-deliver-item { animation: br-rise .55s var(--br-ease) both; }
  .js .br-svc-deliver.is-visible .br-svc-deliver-item:nth-child(1) { animation-delay: .06s; }
  .js .br-svc-deliver.is-visible .br-svc-deliver-item:nth-child(2) { animation-delay: .14s; }
  .js .br-svc-deliver.is-visible .br-svc-deliver-item:nth-child(3) { animation-delay: .22s; }
  .js .br-svc-deliver.is-visible .br-svc-deliver-item:nth-child(4) { animation-delay: .30s; }
  .js .br-svc-deliver.is-visible .br-svc-deliver-item:nth-child(5) { animation-delay: .38s; }
  .js .br-svc-deliver.is-visible .br-svc-deliver-item:nth-child(6) { animation-delay: .46s; }

  /* --- "Take the next step": rise the card grid as one (hover preserved) --- */
  .js .br-svc-next { opacity: 0; }
  .js .br-svc-next.is-visible { animation: br-rise .7s var(--br-ease) .10s both; }

  /* --- Buyer Toolkit: header cascade, then resource list + specialist card --- */
  .js .br-toolkit-head > *, .js .br-toolkit-list, .js .br-toolkit-spec { opacity: 0; }
  .js .br-toolkit.is-visible .br-toolkit-kicker { animation: br-rise-sm .55s var(--br-ease) .04s both; }
  .js .br-toolkit.is-visible .br-toolkit-title  { animation: br-rise .6s var(--br-ease) .12s both; }
  .js .br-toolkit.is-visible .br-toolkit-list   { animation: br-rise .65s var(--br-ease) .20s both; }
  .js .br-toolkit.is-visible .br-toolkit-spec   { animation: br-rise .65s var(--br-ease) .28s both; }

  /* --- Closing CTA cascade (button fades only, so its hover lift stays intact) --- */
  .js .br-cta .br-cta-kicker, .js .br-cta .br-cta-title, .js .br-cta .br-cta-sub, .js .br-cta .br-cta-btn { opacity: 0; }
  .js .br-cta.is-visible .br-cta-kicker { animation: br-rise-sm .55s var(--br-ease) .06s both; }
  .js .br-cta.is-visible .br-cta-title  { animation: br-rise .6s var(--br-ease) .14s both; }
  .js .br-cta.is-visible .br-cta-sub    { animation: br-rise .6s var(--br-ease) .22s both; }
  .js .br-cta.is-visible .br-cta-btn    { animation: br-fade .55s var(--br-ease) .32s both; }

  /* --- Footer --- */
  .js .site-footer .site-footer-top, .js .site-footer .site-footer-rule { opacity: 0; }
  .js .site-footer.is-visible .site-footer-top  { animation: br-rise .6s var(--br-ease) .05s both; }
  .js .site-footer.is-visible .site-footer-rule { animation: br-rise .6s var(--br-ease) .14s both; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ============================================================
   AGENT PROFILE  (single-bethea_agent)
   ============================================================ */
.single-bethea_agent .br-agent-title-band {
  position: absolute !important; width: 1px; height: 1px;
  padding: 0 !important; margin: -1px; overflow: hidden;
  clip: rect(0,0,0,0); white-space: nowrap; border: 0; min-height: 0 !important;
}
.single-bethea_agent .br-agent-content { padding: 0 !important; }
.single-bethea_agent .wp-block-group.alignfull:has(> .wp-block-post-content) { padding: 0 !important; }

/* shared inner width + section chrome */
.br-agent-wrap { max-width: 1120px; margin: 0 auto; }
.br-agent-section { padding: clamp(48px, 6vw, 84px) clamp(22px, 5vw, 64px); background: #FFFFFF; }
.br-agent-alt { background: linear-gradient(180deg, #F2FAFE 0%, #FFFFFF 100%); }
.br-agent-kicker {
  display: inline-flex; align-items: center; gap: 9px; margin: 0 0 14px;
  color: var(--br-blue); font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
}
.br-agent-kicker::before { content: ""; width: 24px; height: 2px; border-radius: 2px; background: currentColor; }
.br-agent-h2 { color: var(--br-blue-deep); font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.15; margin: 0 0 14px; }
.br-agent-sub { color: var(--br-text2); font-size: 15.5px; line-height: 1.6; max-width: 640px; margin: 0 0 32px; }

/* buttons + inline icons */
.br-agent-btn {
  display: inline-flex; align-items: center; gap: 9px;
  padding: 14px 26px; border-radius: 100px;
  background: linear-gradient(135deg, var(--br-pink) 0%, var(--br-pink-deep) 100%);
  color: #FFFFFF; font-weight: 700; font-size: 15px; text-decoration: none;
  box-shadow: 0 14px 34px -12px rgba(238,41,122,.55);
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease);
}
.br-agent-btn:hover { transform: translateY(-3px); box-shadow: 0 22px 44px -12px rgba(238,41,122,.65); }
.br-agent-btn-ghost {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 20px; border-radius: 100px;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18);
  color: #FFFFFF; font-weight: 600; font-size: 14px; text-decoration: none;
  transition: background .25s var(--br-ease), border-color .25s var(--br-ease);
}
.br-agent-btn-ghost:hover { background: rgba(255,255,255,.15); border-color: rgba(255,255,255,.4); }
.br-ico-phone::before, .br-ico-mail::before, .br-ico-pin::before {
  content: ""; width: 16px; height: 16px; flex-shrink: 0;
  background-repeat: no-repeat; background-position: center; background-size: contain;
}
.br-ico-phone::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6 19.8 19.8 0 0 1-3.1-8.7A2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8.1 9.9a16 16 0 0 0 6 6l1.4-1.2a2 2 0 0 1 2.1-.5c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.br-ico-mail::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m2 6 10 7 10-7'/%3E%3C/svg%3E"); }
.br-ico-pin::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }

/* ---- Hero ---- */
.br-agent-hero {
  position: relative; overflow: hidden;
  padding: clamp(48px, 7vw, 100px) clamp(22px, 5vw, 64px);
  background:
    radial-gradient(ellipse 820px 520px at 90% -5%, rgba(238,41,122,.30), transparent 56%),
    linear-gradient(150deg, #0B5E7C 0%, #00445E 52%, #012231 100%);
}
.br-agent-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 46px 46px;
  -webkit-mask-image: radial-gradient(ellipse 80% 80% at 40% 40%, #000 40%, transparent 78%);
          mask-image: radial-gradient(ellipse 80% 80% at 40% 40%, #000 40%, transparent 78%);
}
.br-agent-hero-inner {
  position: relative; z-index: 1;
  max-width: 1120px; margin: 0 auto;
  display: grid; grid-template-columns: 330px 1fr; gap: clamp(28px, 4vw, 56px); align-items: center;
}
.br-agent-photo {
  border-radius: 24px; overflow: hidden; aspect-ratio: 4 / 5;
  box-shadow: 0 30px 64px -22px rgba(0,20,30,.65), inset 0 0 0 1px rgba(255,255,255,.14);
}
.br-agent-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.br-agent-eyebrow { margin: 0 0 12px; color: #8FE0F5; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.br-agent-name { margin: 0 0 8px; color: #FFFFFF; font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.04; }
.br-agent-role { margin: 0 0 16px; color: rgba(255,255,255,.85); font-size: clamp(1rem, 1.4vw, 1.15rem); font-weight: 600; }
.br-agent-tagline { margin: 0 0 24px; color: rgba(255,255,255,.72); font-size: 15.5px; line-height: 1.65; max-width: 560px; }
.br-agent-stats { display: flex; gap: 30px; flex-wrap: wrap; margin-bottom: 26px; }
.br-agent-stat { display: flex; flex-direction: column; gap: 3px; color: rgba(255,255,255,.6); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.br-agent-stat b { color: #FFFFFF; font-size: 26px; font-weight: 800; letter-spacing: -.01em; }
.br-agent-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

/* ---- About ---- */
.br-agent-bio { max-width: 780px; }
.br-agent-bio p { margin: 0 0 18px; color: var(--br-text); font-size: 17px; line-height: 1.75; }
.br-agent-bio p:last-child { margin-bottom: 0; }

/* ---- Designations ---- */
.br-agent-creds { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 14px; }
.br-agent-cred {
  display: flex; align-items: center; gap: 14px;
  background: #FFFFFF; border: 1px solid rgba(2,80,112,.09); border-radius: 14px; padding: 15px 17px;
  box-shadow: 0 1px 2px rgba(2,32,44,.03);
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease), border-color .3s var(--br-ease);
}
.br-agent-cred:hover { transform: translateY(-4px); border-color: rgba(0,127,175,.24); box-shadow: 0 16px 30px -18px rgba(2,60,84,.28); }
.br-agent-cred-abbr {
  flex-shrink: 0; min-width: 56px; height: 44px; padding: 0 10px;
  display: flex; align-items: center; justify-content: center; border-radius: 11px;
  background: var(--br-blue-tint); color: var(--br-blue); font-weight: 800; font-size: 14px;
}
.br-agent-cred-name { color: var(--br-blue-deep); font-size: 13px; font-weight: 600; line-height: 1.3; }

/* ---- Community leadership ---- */
.br-agent-lead-card {
  position: relative; max-width: 880px;
  background: linear-gradient(180deg, #FFFFFF 0%, #F7FCFE 100%);
  border: 1px solid rgba(2,80,112,.09); border-radius: 20px; padding: clamp(28px, 4vw, 40px);
  box-shadow: 0 1px 2px rgba(2,32,44,.03), 0 18px 34px -24px rgba(2,60,84,.22);
}
.br-agent-lead-card::before { content: ""; position: absolute; left: 0; top: 26px; bottom: 26px; width: 4px; border-radius: 0 4px 4px 0; background: linear-gradient(180deg, var(--br-blue), var(--br-pink)); }
.br-agent-lead-card p { margin: 0 0 16px; padding-left: 24px; color: var(--br-text); font-size: 16px; line-height: 1.7; }
.br-agent-lead-card p:last-child { margin-bottom: 0; }

/* ---- Expertise ---- */
.br-agent-expertise { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; align-items: start; }
.br-agent-exp-card {
  background: #FFFFFF; border: 1px solid rgba(2,80,112,.09); border-radius: 18px; padding: 26px 24px;
  box-shadow: 0 1px 2px rgba(2,32,44,.03), 0 12px 26px -18px rgba(2,60,84,.16);
}
.br-agent-exp-title { margin: 0 0 16px; color: var(--br-blue-deep); font-size: 13px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.br-agent-exp-lead { margin: 0 0 12px; color: var(--br-blue); font-weight: 700; font-size: 15px; }
.br-agent-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.br-agent-chip {
  display: inline-block; padding: 7px 13px; border-radius: 100px;
  background: var(--br-blue-tint); color: var(--br-blue-deep); font-size: 12.5px; font-weight: 600;
  border: 1px solid rgba(0,127,175,.12); transition: background .25s var(--br-ease), transform .25s var(--br-ease);
}
.br-agent-chip:hover { background: rgba(0,127,175,.14); transform: translateY(-2px); }
@media (max-width: 860px) { .br-agent-expertise { grid-template-columns: 1fr; } }

/* ---- Listings (placeholder) ---- */
.br-agent-listings-empty {
  display: flex; align-items: center; gap: 22px; flex-wrap: wrap;
  background: linear-gradient(135deg, #F2FAFE 0%, #FFFFFF 100%);
  border: 1px dashed rgba(0,127,175,.3); border-radius: 20px; padding: clamp(26px, 3.5vw, 38px);
}
.br-agent-listings-ico {
  width: 54px; height: 54px; flex-shrink: 0; border-radius: 14px; background-color: var(--br-blue-tint);
  background-repeat: no-repeat; background-position: center; background-size: 26px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007FAF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10.5 12 3l9 7.5'/%3E%3Cpath d='M5 9.5V21h14V9.5'/%3E%3Cpath d='M9.5 21v-6h5v6'/%3E%3C/svg%3E");
}
.br-agent-listings-title { margin: 0 0 6px; color: var(--br-blue-deep); font-size: 18px; font-weight: 800; }
.br-agent-listings-desc { margin: 0; color: var(--br-text2); font-size: 14.5px; line-height: 1.6; max-width: 520px; }
.br-agent-listings-empty .br-agent-btn { margin-left: auto; }

/* ---- Client testimonials ---- */
.br-agent-testimonials { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.br-agent-testi-card {
  position: relative;
  background: #FFFFFF; border: 1px solid rgba(2,80,112,.09); border-radius: 18px; padding: 30px 26px 26px;
  box-shadow: 0 1px 2px rgba(2,32,44,.03), 0 12px 26px -18px rgba(2,60,84,.16);
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease);
}
.br-agent-testi-card:hover { transform: translateY(-4px); box-shadow: 0 20px 36px -20px rgba(2,60,84,.24); }
.br-agent-testi-quote-mark {
  position: absolute; top: 18px; right: 22px; font-family: Georgia, serif; font-size: 52px; line-height: 1;
  color: var(--br-blue-tint); font-weight: 700; user-select: none;
}
.br-agent-testi-stars { color: #F5A623; font-size: 14px; letter-spacing: 2px; margin-bottom: 14px; }
.br-agent-testi-quote { margin: 0 0 20px; color: var(--br-text); font-size: 15.5px; line-height: 1.7; font-style: italic; position: relative; z-index: 1; }
.br-agent-testi-name { margin: 0; padding-top: 16px; border-top: 1px solid rgba(2,80,112,.08); color: var(--br-blue-deep); font-size: 13.5px; font-weight: 700; }

/* ---- Testimonials (empty state, matches listings empty state) ---- */
.br-agent-testimonials-empty {
  display: flex; align-items: center; gap: 22px; flex-wrap: wrap;
  background: linear-gradient(135deg, #F2FAFE 0%, #FFFFFF 100%);
  border: 1px dashed rgba(0,127,175,.3); border-radius: 20px; padding: clamp(26px, 3.5vw, 38px);
}
.br-agent-testimonials-ico {
  width: 54px; height: 54px; flex-shrink: 0; border-radius: 14px; background-color: var(--br-blue-tint);
  background-repeat: no-repeat; background-position: center; background-size: 26px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007FAF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
}
.br-agent-testimonials-title { margin: 0 0 6px; color: var(--br-blue-deep); font-size: 18px; font-weight: 800; }
.br-agent-testimonials-desc { margin: 0; color: var(--br-text2); font-size: 14.5px; line-height: 1.6; max-width: 520px; }

/* ---- Contact (dark) ---- */
.br-agent-contact {
  background:
    radial-gradient(ellipse 700px 400px at 12% 0%, rgba(0,127,175,.22), transparent 55%),
    linear-gradient(160deg, #0B5E7C 0%, #00445E 55%, #012231 100%);
}
.br-agent-contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); align-items: start; }
.br-agent-kicker-light { color: #8FE0F5; }
.br-agent-h2-light { color: #FFFFFF; }
.br-agent-contact-lead { margin: 0 0 24px; max-width: 420px; color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.6; }
.br-agent-contact-rows { display: flex; flex-direction: column; gap: 13px; margin-bottom: 26px; }
.br-agent-contact-row { display: inline-flex; align-items: center; gap: 11px; color: rgba(255,255,255,.9); font-size: 15px; font-weight: 600; text-decoration: none; transition: color .25s var(--br-ease); }
a.br-agent-contact-row:hover { color: #8FE0F5; }
.br-agent-contact-form { background: #FFFFFF; border-radius: 20px; padding: clamp(24px, 3vw, 34px); box-shadow: 0 34px 64px -26px rgba(0,20,30,.55); }
.br-agent-contact-form .bethea-lead-form { max-width: none; margin: 0; }
@media (max-width: 860px) { .br-agent-contact-grid { grid-template-columns: 1fr; } }

/* ---- Reveal ---- */
@media (prefers-reduced-motion: no-preference) {
  .js .br-agent-hero .br-agent-photo,
  .js .br-agent-hero .br-agent-hero-copy { opacity: 0; }
  .js .br-agent-hero.is-visible .br-agent-photo { animation: br-rise .7s var(--br-ease) .05s both; }
  .js .br-agent-hero.is-visible .br-agent-hero-copy { animation: br-rise .7s var(--br-ease) .16s both; }
  .js .br-agent-section .br-agent-wrap { opacity: 0; }
  .js .br-agent-section.is-visible .br-agent-wrap { animation: br-rise .7s var(--br-ease) .06s both; }
}

@media (max-width: 720px) {
  .br-agent-hero-inner { grid-template-columns: 1fr; }
  .br-agent-photo { max-width: 300px; }
}

/* memberships checklist + in-page anchor offset */
.br-agent-contact { scroll-margin-top: 96px; }
.br-agent-mem-list {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px;
  list-style: none; margin: 0; padding: 0; max-width: 900px;
}
.br-agent-mem-list li {
  position: relative; padding: 13px 16px 13px 46px;
  background: #FFFFFF; border: 1px solid rgba(2,80,112,.09); border-radius: 12px;
  color: var(--br-blue-deep); font-weight: 600; font-size: 14px;
  box-shadow: 0 1px 2px rgba(2,32,44,.03);
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease), border-color .3s var(--br-ease);
}
.br-agent-mem-list li:hover { transform: translateY(-3px); border-color: rgba(0,127,175,.24); box-shadow: 0 14px 28px -18px rgba(2,60,84,.26); }
.br-agent-mem-list li::before {
  content: ""; position: absolute; left: 15px; top: 50%; transform: translateY(-50%);
  width: 22px; height: 22px; border-radius: 6px; background-color: var(--br-blue-tint);
  background-repeat: no-repeat; background-position: center; background-size: 14px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007FAF' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
@media (max-width: 640px) { .br-agent-mem-list { grid-template-columns: 1fr; } }

/* ============================================================
   AGENTS ARCHIVE  (/agents/)
   ============================================================ */
.br-agents-hero {
  position: relative; overflow: hidden; text-align: center;
  padding: clamp(56px, 8vw, 108px) clamp(22px, 5vw, 64px);
  background:
    radial-gradient(ellipse 820px 500px at 85% -10%, rgba(238,41,122,.28), transparent 56%),
    linear-gradient(150deg, #0B5E7C 0%, #00445E 52%, #012231 100%);
}
.br-agents-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 46px 46px;
  -webkit-mask-image: radial-gradient(ellipse 78% 78% at 50% 40%, #000 40%, transparent 78%);
          mask-image: radial-gradient(ellipse 78% 78% at 50% 40%, #000 40%, transparent 78%);
}
.br-agents-hero-inner { position: relative; z-index: 1; max-width: 720px; margin: 0 auto; }
.br-agents-kicker {
  display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px;
  color: #8FE0F5; font-size: 12px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
}
.br-agents-kicker::before, .br-agents-kicker::after { content: ""; width: 26px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, #8FE0F5); }
.br-agents-kicker::after { background: linear-gradient(90deg, #8FE0F5, transparent); }
.br-agents-title { color: #FFFFFF; font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 800; letter-spacing: -.02em; line-height: 1.08; margin: 0 0 16px; }
.br-agents-sub { color: rgba(255,255,255,.72); font-size: clamp(1rem, 1.4vw, 1.12rem); line-height: 1.6; margin: 0; }

.br-agents-list { padding: clamp(48px, 6vw, 80px) clamp(20px, 5vw, 48px) !important; background: linear-gradient(180deg, #F2FAFE 0%, #FFFFFF 55%); }
.br-agents-list .wp-block-query { max-width: 1160px; margin: 0 auto; }
.br-agents-list .wp-block-post-template.is-layout-grid {
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)) !important;
  gap: 24px !important; margin: 0;
}
.br-agentcard {
  display: flex !important; flex-direction: row; align-items: stretch; height: 100%;
  border: 2px solid transparent; border-radius: 20px; overflow: hidden;
  background:
    linear-gradient(#FFFFFF, #FFFFFF) padding-box,
    linear-gradient(135deg, rgba(0,127,175,.65) 0%, rgba(0,127,175,.16) 46%, rgba(238,41,122,.55) 100%) border-box;
  box-shadow: 0 2px 4px rgba(2,32,44,.04), 0 18px 40px -24px rgba(2,60,84,.30);
  transition: transform .35s var(--br-ease), box-shadow .35s var(--br-ease);
}
.br-agentcard:hover {
  transform: translateY(-6px);
  background:
    linear-gradient(#FFFFFF, #FFFFFF) padding-box,
    linear-gradient(135deg, rgba(0,127,175,.95) 0%, rgba(0,127,175,.35) 46%, rgba(238,41,122,.85) 100%) border-box;
  box-shadow: 0 4px 8px rgba(2,32,44,.05), 0 32px 56px -24px rgba(2,60,84,.42);
}
.br-agentcard-photo { margin: 0 !important; flex-shrink: 0; width: 158px; line-height: 0; align-self: stretch; position: relative; }
.br-agentcard-photo::after { content: ""; position: absolute; inset: 0; box-shadow: inset -14px 0 20px -14px rgba(0,40,55,.28); pointer-events: none; }
.br-agentcard-photo a { display: block; width: 100%; height: 100%; }
.br-agentcard-photo img { display: block; width: 100%; height: 100%; min-height: 200px; object-fit: cover; object-position: 50% 14%; }
.br-agentcard-body { display: flex !important; flex-direction: column; align-items: flex-start; text-align: left; flex: 1; padding: 24px 26px !important; }
.br-agentcard-name { margin: 0 0 5px !important; }
.br-agentcard-name, .br-agentcard-name a { color: var(--br-blue-deep) !important; font-size: 19px !important; font-weight: 800 !important; letter-spacing: -.01em; line-height: 1.2; text-decoration: none; }
.br-agentcard-name a:hover { color: var(--br-blue) !important; }
.br-agentcard-role { margin: 0 0 18px !important; }
.br-agentcard-role, .br-agentcard-role p { color: var(--br-text2); font-size: 13px; line-height: 1.55; margin: 0; }
.br-agentcard-btn {
  margin-top: auto;
  display: inline-flex !important; align-items: center; gap: 7px;
  padding: 9px 20px; border-radius: 100px;
  background: linear-gradient(135deg, var(--br-blue) 0%, var(--br-blue-deep) 100%);
  color: #FFFFFF !important; font-weight: 700; font-size: 13px; text-decoration: none;
  box-shadow: 0 8px 20px -10px rgba(0,127,175,.5);
  transition: transform .3s var(--br-ease), box-shadow .3s var(--br-ease);
}
.br-agentcard-btn::after {
  content: ""; width: 14px; height: 14px;
  background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
  transition: transform .3s var(--br-ease);
}
.br-agentcard-btn:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -10px rgba(0,127,175,.6); }
.br-agentcard-btn:hover::after { transform: translateX(3px); }
@media (max-width: 420px) { .br-agentcard-photo { width: 118px; } }

/* reveal (whole grid rises; cards keep hover) */
@media (prefers-reduced-motion: no-preference) {
  .js .br-agents-list .wp-block-post-template { opacity: 0; }
  .js .br-agents-list.is-visible .wp-block-post-template { animation: br-rise .7s var(--br-ease) .06s both; }
}
