/* ═══════════════════════════════════════════════════
   bestdentists.ae — Complete Styles v2.0
   For TwentyTwentyFour theme with bd-* classes
   ═══════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════
   BRAND TOKENS — bestdentists.ae v1.0
   ═══════════════════════════════════════════════════ */
:root {
  /* Navy Primary */
  --navy-950: #050B18;
  --navy-900: #080F22;
  --navy-800: #0D1A3A;
  --navy-700: #122252;
  --navy-600: #1A2E6B;
  --navy-500: #253C84;
  --navy-400: #3B53A0;
  --navy-300: #6477BC;
  --navy-200: #9EAAD8;
  --navy-100: #C8D0EC;
  --navy-50:  #EDF0F8;

  /* Amber / Award Gold */
  --amber-900: #2E1800;
  --amber-700: #8A4800;
  --amber-600: #B86000;
  --amber-500: #D97B0A;
  --amber-400: #F0A030;
  --amber-300: #F5BE68;
  --amber-200: #FAD99A;
  --amber-100: #FDF0D5;
  --amber-50:  #FFFBF0;

  /* Champagne */
  --champ-500: #C8A96E;
  --champ-400: #D4BE8C;
  --champ-300: #E0D2AA;
  --champ-100: #F5EED8;

  /* Slate Neutrals */
  --slate-900: #0E1117;
  --slate-800: #1C2232;
  --slate-700: #2E3650;
  --slate-600: #4A5270;
  --slate-500: #6B7494;
  --slate-400: #939CB8;
  --slate-300: #BCC2D4;
  --slate-200: #DAE0EE;
  --slate-100: #EEF1F8;
  --slate-50:  #F7F8FC;
  --white:     #FAFBFF;

  /* Semantic */
  --bg-page:    #F7F8FC;
  --bg-card:    #FAFBFF;
  --bg-dark:    #080F22;
  --bg-section: #EEF1F8;

  /* Typography */
  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-ui:      'Syne', system-ui, sans-serif;
  --font-mono:    'IBM Plex Mono', monospace;

  /* Radius */
  --r-xs: 4px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 20px;
  --r-xl: 32px;

  /* Shadows */
  --sh-sm:   0 2px 8px rgba(8,15,34,.08);
  --sh-md:   0 8px 32px rgba(8,15,34,.12);
  --sh-lg:   0 24px 64px rgba(8,15,34,.18);
  --sh-gold: 0 8px 32px rgba(217,123,10,.25);
}

/* ═══════════════════════════════════════════════════
   BASE TYPOGRAPHY
   ═══════════════════════════════════════════════════ */
html { scroll-behavior: smooth; }

body {
  font-family: var(--font-ui);
  background: var(--bg-page);
  color: var(--slate-800);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-display);
  color: var(--navy-800);
  line-height: 1.15;
  font-weight: 600;
  letter-spacing: -.01em;
}

h1 { font-size: clamp(2.2rem, 4.5vw, 3.8rem); margin-bottom: 1rem; }
h2 { font-size: clamp(1.6rem, 3vw, 2.6rem); margin-bottom: .75rem; }
h3 { font-size: clamp(1.2rem, 2.5vw, 1.7rem); margin-bottom: .5rem; }
h4 { font-size: 1.1rem; font-family: var(--font-ui); font-weight: 700; }

p { margin-bottom: 1.25rem; color: var(--slate-600); line-height: 1.75; }
a { color: var(--navy-500); text-decoration: none; transition: color .2s; }
a:hover { color: var(--amber-500); }
strong { color: var(--slate-800); font-weight: 700; }

/* ═══════════════════════════════════════════════════
   CONTAINER
   ═══════════════════════════════════════════════════ */
.container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 4vw, 3rem);
}

/* ═══════════════════════════════════════════════════
   HEADER & NAVIGATION
   ═══════════════════════════════════════════════════ */
.site-header {
  background: rgba(5,11,24,.97) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(240,160,48,.1);
  position: sticky;
  top: 0;
  z-index: 100;
}

.site-header .header-inner {
  padding: 0 2rem;
  min-height: 60px;
  display: flex;
  align-items: center;
}

/* Logo — stars + wordmark via CSS */
.site-branding .site-title,
p.site-title { margin: 0 !important; }

.site-branding .site-title a::before,
p.site-title a::before {
  content: '★★★';
  display: block;
  font-size: .45rem;
  color: var(--amber-400);
  letter-spacing: .12em;
  text-align: center;
  line-height: 1;
  margin-bottom: 2px;
}

.site-branding .site-title a,
.site-title a {
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--white) !important;
  letter-spacing: -.01em;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}

.site-description { display: none !important; }

/* Nav links */
.main-nav a,
.nav-primary a,
.main-navigation a,
#site-navigation a {
  font-family: var(--font-ui) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.75) !important;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .4rem .85rem !important;
  transition: color .2s;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a,
#site-navigation .current-menu-item > a {
  color: var(--amber-300) !important;
}

/* Dropdown */
.main-navigation .sub-menu {
  background: rgba(8,15,34,.98) !important;
  border: 1px solid rgba(240,160,48,.12);
  border-radius: var(--r-md);
  box-shadow: 0 16px 48px rgba(0,0,0,.5);
  min-width: 200px;
}
.main-navigation .sub-menu a {
  text-transform: none !important;
  font-size: .82rem !important;
  border-bottom: 1px solid rgba(240,160,48,.06);
}

/* Mobile toggle */
.menu-toggle, button.menu-toggle {
  background: transparent !important;
  border: 1.5px solid rgba(240,160,48,.3) !important;
  color: var(--amber-300) !important;
  border-radius: var(--r-sm);
}

/* ═══════════════════════════════════════════════════
   HERO
   ═══════════════════════════════════════════════════ */
.bd-hero {
  background: var(--bg-dark);
  padding: 6rem 2rem 7rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}

/* Grid texture */
.bd-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(240,160,48,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(240,160,48,.04) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}

/* Radial glow */
.bd-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 70% at 50% 0%, rgba(217,123,10,.12) 0%, transparent 65%),
    radial-gradient(ellipse 40% 50% at 80% 60%, rgba(37,60,132,.25) 0%, transparent 55%);
  pointer-events: none;
}

.bd-hero > * { position: relative; z-index: 1; }

.bd-hero-eyebrow {
  font-family: var(--font-mono);
  font-size: .7rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--amber-400);
  margin-bottom: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
}
.bd-hero-eyebrow::before { content: '✦'; font-size: .55rem; }
.bd-hero-eyebrow::after  { content: '✦'; font-size: .55rem; }

.bd-hero h1 {
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 5vw, 4.4rem);
  font-weight: 700;
  color: var(--white);
  line-height: 1.05;
  max-width: 820px;
  margin: 0 auto 1.25rem;
  letter-spacing: -.02em;
}
.bd-hero h1 em {
  font-style: italic;
  color: var(--amber-300);
}

.bd-hero-sub {
  font-size: clamp(1rem, 2vw, 1.15rem);
  color: var(--navy-200);
  max-width: 560px;
  margin: 0 auto 2.5rem;
  line-height: 1.7;
}

.bd-hero-stats {
  display: flex;
  justify-content: center;
  gap: 3rem;
  margin-bottom: 3rem;
  padding: 2rem 0;
  border-top: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  flex-wrap: wrap;
}

.bd-stat-num {
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--amber-300);
  display: block;
  line-height: 1;
}
.bd-stat-label {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--slate-500);
  margin-top: .3rem;
}

/* --- NEW HERO CLASSES --- */

.bd-hero-badge {
  font-family: var(--font-mono);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--amber-400);
  margin-bottom: 1.5rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(240,160,48,.1);
  border: 1px solid rgba(240,160,48,.2);
  padding: .3rem .9rem .3rem .7rem;
  border-radius: 100px;
}
.bd-hero-badge::before {
  content: '★';
  font-size: .6rem;
  color: var(--amber-400);
}

.bd-hero-title {
  font-family: var(--font-display);
  font-size: clamp(2.6rem, 5vw, 4.4rem);
  font-weight: 700;
  color: var(--white) !important;
  line-height: 1.05;
  max-width: 820px;
  margin: 0 auto 1.25rem;
  letter-spacing: -.02em;
}
.bd-hero-title em {
  font-style: italic;
  color: var(--amber-300);
}

.bd-hero-subtitle {
  font-size: clamp(1rem, 2vw, 1.15rem);
  color: var(--navy-200) !important;
  max-width: 560px;
  margin: 0 auto 2.5rem;
  line-height: 1.7;
}

.bd-hero-content {
  position: relative;
  z-index: 1;
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}

.bd-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.bd-hero-actions {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.bd-stat-item {
  text-align: center;
}

.bd-stat-number {
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--amber-300);
  display: block;
  line-height: 1;
}

/* ═══════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════ */
.bd-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.75rem;
  border-radius: var(--r-sm);
  font-family: var(--font-ui);
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .02em;
  cursor: pointer;
  transition: all .2s;
  text-decoration: none;
  border: none;
}

.bd-btn-primary {
  background: var(--navy-700);
  color: var(--white) !important;
  box-shadow: 0 4px 16px rgba(8,15,34,.25);
}
.bd-btn-primary:hover {
  background: var(--navy-600);
  color: var(--white) !important;
  transform: translateY(-1px);
  box-shadow: var(--sh-md);
}

.bd-btn-amber {
  background: linear-gradient(135deg, var(--amber-600), var(--amber-500));
  color: var(--white) !important;
  box-shadow: var(--sh-gold);
}
.bd-btn-amber:hover {
  background: linear-gradient(135deg, var(--amber-500), var(--amber-400));
  color: var(--white) !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 40px rgba(217,123,10,.35);
}

.bd-btn-outline {
  background: transparent;
  color: var(--navy-600) !important;
  border: 1.5px solid var(--navy-300);
}
.bd-btn-outline:hover {
  background: var(--navy-50);
  border-color: var(--navy-500);
  color: var(--navy-700) !important;
}

.bd-btn-ghost {
  background: rgba(255,255,255,.08);
  color: var(--white) !important;
  border: 1px solid rgba(255,255,255,.16);
  backdrop-filter: blur(8px);
}
.bd-btn-ghost:hover {
  background: rgba(255,255,255,.15);
  color: var(--white) !important;
}

.bd-btn-group {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
}

/* --- NEW BUTTON CLASSES --- */

.bd-btn-lg {
  padding: 1rem 2.25rem;
  font-size: 1rem;
}

.bd-btn-navy {
  background: var(--navy-800);
  color: var(--white) !important;
  box-shadow: 0 4px 16px rgba(8,15,34,.3);
}
.bd-btn-navy:hover {
  background: var(--navy-700);
  color: var(--white) !important;
  transform: translateY(-1px);
  box-shadow: var(--sh-md);
}

/* ═══════════════════════════════════════════════════
   SECTIONS
   ═══════════════════════════════════════════════════ */
.bd-section { padding: 5rem 2rem; }
.bd-section-alt { background: var(--bg-section); }
.bd-section-dark { background: var(--bg-dark); }
.bd-section-dark h2, .bd-section-dark h3 { color: var(--white); }
.bd-section-dark p { color: var(--navy-200); }

.bd-container {
  max-width: 1160px;
  margin: 0 auto;
}

.bd-section-label {
  font-family: var(--font-mono);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--amber-600);
  margin-bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--amber-50);
  border: 1px solid var(--amber-100);
  padding: .25rem .8rem .25rem .6rem;
  border-radius: 100px;
}
.bd-section-label::before {
  content: '★';
  font-size: .6rem;
  color: var(--amber-500);
}

/* --- NEW SECTION CLASSES --- */

.bd-section-header {
  text-align: center;
  margin-bottom: 3rem;
}

.bd-section-tag {
  font-family: var(--font-mono);
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--amber-600);
  margin-bottom: 1rem;
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--amber-50);
  border: 1px solid var(--amber-100);
  padding: .25rem .8rem .25rem .6rem;
  border-radius: 100px;
}
.bd-section-tag::before {
  content: '★';
  font-size: .6rem;
  color: var(--amber-500);
}

.bd-section-title {
  font-family: var(--font-display);
  font-size: clamp(1.6rem, 3vw, 2.6rem);
  font-weight: 600;
  color: var(--navy-800);
  line-height: 1.15;
  margin-bottom: .75rem;
}

.bd-section-subtitle {
  font-size: clamp(.95rem, 1.5vw, 1.05rem);
  color: var(--slate-500);
  max-width: 620px;
  margin: 0 auto 2rem;
  line-height: 1.7;
}

.bd-section-navy {
  background: var(--bg-dark);
  padding: 5rem 2rem;
}
.bd-section-navy h2,
.bd-section-navy h3,
.bd-section-navy .bd-section-title { color: var(--white) !important; }
.bd-section-navy p,
.bd-section-navy .bd-section-subtitle { color: var(--navy-200) !important; }
.bd-section-navy .bd-section-tag {
  background: rgba(240,160,48,.1);
  border-color: rgba(240,160,48,.2);
  color: var(--amber-400);
}

.bd-tag-gold {
  background: linear-gradient(135deg, var(--amber-100), var(--amber-50));
  border: 1px solid var(--amber-200);
  color: var(--amber-700);
}

/* ═══════════════════════════════════════════════════
   RANKING CARDS
   ═══════════════════════════════════════════════════ */
.bd-rank-card {
  background: var(--bg-card);
  border: 1px solid var(--slate-200);
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--sh-sm);
  transition: box-shadow .2s, transform .2s;
  position: relative;
}
.bd-rank-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--amber-600), var(--amber-400));
}
.bd-rank-card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-3px);
}

.bd-rank-num {
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--amber-400);
  line-height: .9;
  flex-shrink: 0;
}
.bd-rank-stars {
  color: var(--amber-400);
  font-size: .85rem;
  letter-spacing: .08em;
}
.bd-rank-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .6rem;
}
.bd-rank-tag {
  font-size: .66rem;
  font-weight: 600;
  padding: .2rem .5rem;
  background: var(--navy-50);
  color: var(--navy-600);
  border-radius: var(--r-xs);
}

/* ═══════════════════════════════════════════════════
   GENERAL CARDS
   ═══════════════════════════════════════════════════ */
.bd-card {
  background: var(--bg-card);
  border: 1px solid var(--slate-200);
  border-radius: var(--r-md);
  padding: 2rem;
  box-shadow: var(--sh-sm);
  transition: box-shadow .2s, transform .2s;
}
.bd-card:hover {
  box-shadow: var(--sh-md);
  transform: translateY(-2px);
}
.bd-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 1.5rem;
}
.bd-card-icon {
  width: 48px; height: 48px;
  background: var(--amber-50);
  border: 1px solid var(--amber-100);
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  margin-bottom: 1.25rem;
}

/* --- NEW CARD CLASSES --- */

.bd-card-title {
  font-family: var(--font-display);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 600;
  color: var(--navy-800);
  margin-bottom: .5rem;
  line-height: 1.2;
}

.bd-card-text {
  font-size: .92rem;
  color: var(--slate-600);
  line-height: 1.7;
  margin-bottom: 1rem;
}

.bd-card-arrow {
  font-family: var(--font-ui);
  font-size: .82rem;
  font-weight: 700;
  color: var(--amber-600);
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  transition: color .2s, gap .2s;
  margin-top: auto;
}
.bd-card-arrow:hover {
  color: var(--amber-500);
  gap: .5rem;
}

.bd-card-link {
  text-decoration: none;
  display: block;
  color: inherit;
}
.bd-card-link:hover {
  color: inherit;
}
.bd-card-link .bd-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.bd-card-tag {
  font-family: var(--font-mono);
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--amber-600);
  background: var(--amber-50);
  border: 1px solid var(--amber-100);
  padding: .2rem .55rem;
  border-radius: var(--r-xs);
  display: inline-block;
  margin-bottom: .75rem;
}

.bd-card-dark {
  background: var(--navy-900);
  border-color: rgba(240,160,48,.1);
}
.bd-card-dark .bd-card-title { color: var(--white); }
.bd-card-dark .bd-card-text { color: var(--navy-200); }
.bd-card-dark .bd-card-tag {
  background: rgba(240,160,48,.1);
  border-color: rgba(240,160,48,.2);
  color: var(--amber-400);
}
.bd-card-dark .bd-card-icon {
  background: rgba(240,160,48,.1);
  border-color: rgba(240,160,48,.15);
}
.bd-card-dark:hover {
  border-color: rgba(240,160,48,.25);
}

.bd-card-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}

.bd-card-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}

@media (max-width: 992px) {
  .bd-card-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .bd-card-grid-3 { grid-template-columns: 1fr; }
  .bd-card-grid-4 { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════
   BADGES
   ═══════════════════════════════════════════════════ */
.bd-badge {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  padding: .28rem .75rem;
  border-radius: 100px;
  font-family: var(--font-ui);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.bd-badge-award   { background: var(--amber-100); color: var(--amber-700); border: 1px solid var(--amber-200); }
.bd-badge-navy    { background: var(--navy-50);   color: var(--navy-600);  border: 1px solid var(--navy-100); }
.bd-badge-dark    { background: var(--navy-800);  color: var(--amber-300); }
.bd-badge-verified { background: var(--champ-100); color: var(--amber-700); border: 1px solid var(--champ-300); }

/* ═══════════════════════════════════════════════════
   REVIEW CHIPS
   ═══════════════════════════════════════════════════ */
.bd-review {
  background: var(--navy-900);
  border-radius: var(--r-lg);
  padding: 1.5rem;
  color: var(--white);
}
.bd-review-stars { color: var(--amber-400); font-size: .9rem; letter-spacing: .06em; margin-bottom: .75rem; }
.bd-review-text {
  font-family: var(--font-display);
  font-size: 1rem;
  font-style: italic;
  color: var(--navy-100);
  line-height: 1.6;
  margin-bottom: .75rem;
}
.bd-review-author { font-size: .75rem; font-weight: 700; color: var(--amber-300); letter-spacing: .04em; }
.bd-review-loc { font-size: .68rem; color: var(--slate-500); margin-top: .1rem; }

/* ═══════════════════════════════════════════════════
   PRICE TABLE
   ═══════════════════════════════════════════════════ */
.bd-price-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
  border-radius: var(--r-md);
  overflow: hidden;
  box-shadow: var(--sh-sm);
}
.bd-price-table th {
  background: var(--navy-800);
  color: var(--white);
  font-family: var(--font-ui);
  font-weight: 600;
  padding: .9rem 1.25rem;
  text-align: left;
  font-size: .76rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.bd-price-table td {
  padding: .85rem 1.25rem;
  border-bottom: 1px solid var(--slate-100);
  color: var(--slate-600);
}
.bd-price-table tr:nth-child(even) td { background: var(--bg-section); }
.bd-price-table td:last-child { color: var(--amber-600); font-weight: 700; }

/* ═══════════════════════════════════════════════════
   STEPS
   ═══════════════════════════════════════════════════ */
.bd-steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 2rem;
  counter-reset: step;
}
.bd-step {
  background: var(--bg-card);
  border: 1px solid var(--slate-200);
  border-left: 3px solid var(--amber-400);
  border-radius: var(--r-md);
  padding: 2rem;
  text-align: center;
}
.bd-step::before {
  counter-increment: step;
  content: counter(step);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--amber-600), var(--amber-400));
  color: var(--white);
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 auto 1.25rem;
  box-shadow: var(--sh-gold);
}

/* --- NEW STEP CLASSES --- */

.bd-step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--amber-600), var(--amber-400));
  color: var(--white);
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 700;
  margin: 0 auto 1.25rem;
  box-shadow: var(--sh-gold);
  flex-shrink: 0;
}

.bd-step-title {
  font-family: var(--font-ui);
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy-800);
  margin-bottom: .4rem;
}

.bd-step-text {
  font-size: .88rem;
  color: var(--slate-600);
  line-height: 1.65;
}

/* ═══════════════════════════════════════════════════
   FAQ ACCORDION
   ═══════════════════════════════════════════════════ */
.bd-faq {
  border: 1px solid var(--slate-200);
  border-radius: var(--r-md);
  background: var(--bg-card);
  overflow: hidden;
}
.bd-faq details {
  border-bottom: 1px solid var(--slate-100);
  padding: 1.25rem 1.5rem;
}
.bd-faq details:last-child { border-bottom: none; }
.bd-faq summary {
  font-family: var(--font-ui);
  font-weight: 600;
  font-size: .95rem;
  color: var(--navy-800);
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.bd-faq summary::after { content: '+'; font-size: 1.4rem; color: var(--amber-500); }
.bd-faq details[open] summary::after { content: '−'; }
.bd-faq details p { margin-top: 1rem; color: var(--slate-600); }

/* ═══════════════════════════════════════════════════
   TRUST BAR
   ═══════════════════════════════════════════════════ */
.bd-trust-bar {
  background: var(--navy-900);
  padding: 1.25rem 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  flex-wrap: wrap;
  border-top: 1px solid rgba(240,160,48,.08);
}
.bd-trust-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  color: var(--navy-200);
  font-size: .8rem;
  font-weight: 500;
  font-family: var(--font-ui);
}
.bd-trust-item .icon { color: var(--amber-400); }

/* --- NEW TRUST CLASS --- */

.bd-trust-icon {
  color: var(--amber-400);
  font-size: .9rem;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════
   CALLOUTS
   ═══════════════════════════════════════════════════ */
.bd-callout {
  background: var(--navy-50);
  border-left: 4px solid var(--navy-400);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  padding: 1.25rem 1.5rem;
  margin: 2rem 0;
}
.bd-callout-award {
  background: var(--amber-50);
  border-left-color: var(--amber-500);
}
.bd-callout-award strong:first-child::before { content: '★ '; color: var(--amber-500); }

/* ═══════════════════════════════════════════════════
   INQUIRY / CONSULTATION SECTION
   ═══════════════════════════════════════════════════ */
.bd-inquiry-section {
  padding: 5rem 2rem;
  background: var(--bg-dark);
}

.bd-inquiry-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  max-width: 1160px;
  margin: 0 auto;
  align-items: start;
}

.bd-inquiry-content {
  color: var(--white);
}
.bd-inquiry-content h2 { color: var(--white) !important; }
.bd-inquiry-content p { color: var(--navy-200) !important; }

@media (max-width: 768px) {
  .bd-inquiry-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* ═══════════════════════════════════════════════════
   CHECKLIST
   ═══════════════════════════════════════════════════ */
.bd-checklist {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}
.bd-checklist li {
  position: relative;
  padding-left: 1.75rem;
  margin-bottom: .75rem;
  font-size: .92rem;
  color: var(--slate-600);
  line-height: 1.6;
}
.bd-checklist li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: #22c55e;
  font-weight: 700;
  font-size: .95rem;
}
/* White text variant for dark sections */
.bd-section-dark .bd-checklist li,
.bd-section-navy .bd-checklist li,
.bd-inquiry-content .bd-checklist li {
  color: var(--navy-200);
}

/* ═══════════════════════════════════════════════════
   DISCLAIMER BAR
   ═══════════════════════════════════════════════════ */
.bd-disclaimer-bar {
  background: var(--slate-50);
  border-top: 1px solid var(--slate-200);
  padding: .75rem 2rem;
  text-align: center;
  font-size: .72rem;
  color: var(--slate-500);
  font-family: var(--font-ui);
  line-height: 1.5;
}

/* ═══════════════════════════════════════════════════
   FORM CARD
   ═══════════════════════════════════════════════════ */
.bd-form-card {
  background: var(--bg-card);
  border: 1px solid var(--slate-200);
  border-radius: var(--r-lg);
  padding: 2.5rem;
  box-shadow: var(--sh-md);
}
/* Dark section form variant */
.bd-section-dark .bd-form-card,
.bd-section-navy .bd-form-card,
.bd-inquiry-section .bd-form-card {
  background: var(--navy-800);
  border-color: rgba(240,160,48,.12);
}
.bd-section-dark .bd-form-card label,
.bd-section-navy .bd-form-card label,
.bd-inquiry-section .bd-form-card label {
  color: var(--navy-200);
}

.bd-form-title {
  font-family: var(--font-display);
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--navy-800);
  margin-bottom: 1.5rem;
}
.bd-section-dark .bd-form-title,
.bd-section-navy .bd-form-title,
.bd-inquiry-section .bd-form-title {
  color: var(--white);
}

/* ═══════════════════════════════════════════════════
   PARTNER / PRACTICE SECTION
   ═══════════════════════════════════════════════════ */
.bd-partner-section {
  padding: 5rem 2rem;
  background: var(--bg-dark);
}

.bd-partner-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  max-width: 1160px;
  margin: 0 auto;
  align-items: start;
}

.bd-partner-content {
  color: var(--white);
}
.bd-partner-content h2 { color: var(--white) !important; }
.bd-partner-content p { color: var(--navy-200) !important; }

.bd-partner-form-wrap {
  display: flex;
  flex-direction: column;
}

.bd-partner-benefits {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}

.bd-benefit-item {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  margin-bottom: .75rem;
  font-size: .92rem;
  color: var(--navy-200);
  line-height: 1.6;
}

.bd-benefit-check {
  color: #22c55e;
  font-size: .95rem;
  flex-shrink: 0;
  margin-top: .15rem;
}

@media (max-width: 768px) {
  .bd-partner-inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* ═══════════════════════════════════════════════════
   UTILITY CLASSES
   ═══════════════════════════════════════════════════ */
.bd-text-gold {
  color: var(--amber-500) !important;
}

/* ═══════════════════════════════════════════════════
   RELATED GUIDES
   ═══════════════════════════════════════════════════ */
.bd-related {
  background: var(--bg-section);
  border: 1px solid var(--slate-200);
  border-radius: var(--r-md);
  padding: 2rem;
  margin: 2.5rem 0;
}
.bd-related h3,
.bd-related h4 {
  font-family: var(--font-ui);
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy-800);
  margin-bottom: 1rem;
}
.bd-related ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.bd-related li {
  margin-bottom: .5rem;
}
.bd-related a {
  color: var(--navy-500);
  font-weight: 500;
  font-size: .9rem;
}
.bd-related a:hover {
  color: var(--amber-500);
}

/* ═══════════════════════════════════════════════════
   SERVICES NAVIGATION
   ═══════════════════════════════════════════════════ */
.bd-services-nav {
  background: var(--bg-section);
  padding: 3rem 2rem;
  border-top: 1px solid var(--slate-200);
  border-bottom: 1px solid var(--slate-200);
}
.bd-services-nav .bd-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}
.bd-services-nav a {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .5rem 1.25rem;
  border-radius: 100px;
  background: var(--bg-card);
  border: 1px solid var(--slate-200);
  font-family: var(--font-ui);
  font-size: .82rem;
  font-weight: 600;
  color: var(--navy-700);
  transition: all .2s;
}
.bd-services-nav a:hover {
  background: var(--amber-50);
  border-color: var(--amber-200);
  color: var(--amber-700);
}

/* ═══════════════════════════════════════════════════
   SCROLL REVEAL ANIMATIONS
   ═══════════════════════════════════════════════════ */
.bd-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
}
.bd-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}
.bd-reveal-delay-1 { transition-delay: .1s; }
.bd-reveal-delay-2 { transition-delay: .2s; }
.bd-reveal-delay-3 { transition-delay: .3s; }

@media (prefers-reduced-motion: reduce) {
  .bd-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .bd-reveal-delay-1,
  .bd-reveal-delay-2,
  .bd-reveal-delay-3 {
    transition-delay: 0s;
  }
}

/* ═══════════════════════════════════════════════════
   FULL-WIDTH LAYOUT — remove GP boxing
   ═══════════════════════════════════════════════════ */

/* Remove GP's white container box */
.one-container .container,
.one-container .site.container,
.site.grid-container.container {
  background: transparent !important;
  max-width: 100% !important;
  padding: 0 !important;
}

/* Remove GP grid-container max-width */
body .grid-container,
.grid-container,
.site.grid-container,
.grid-container.grid-parent {
  max-width: 100% !important;
  padding: 0 !important;
}

/* Full-width site main */
.content-area,
.site-main {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* article wrapper: zero padding so sections go edge to edge */
.inside-article,
.entry-content {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Constrain inline content (p, ul, h2 etc) outside of bd-* sections */
.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.entry-content > h2,
.entry-content > h3,
.entry-content > table,
.entry-content > blockquote {
  max-width: 1140px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1rem, 4vw, 3rem);
  padding-right: clamp(1rem, 4vw, 3rem);
}

/* bd-* section children: centre their content */
.bd-section,
.bd-card-grid,
.bd-steps,
.bd-faq,
.bd-rank-card,
.bd-review-chips,
.bd-callout,
.bd-price-table {
  max-width: 1160px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1rem, 4vw, 3rem);
  padding-right: clamp(1rem, 4vw, 3rem);
}

/* Sections that should bleed full width */
.bd-hero,
.bd-trust-bar {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
}

/* Remove GP inside-header excess padding */
.inside-header.grid-container {
  max-width: var(--max-nav-w, 1160px) !important;
  margin: 0 auto !important;
  padding: 0 clamp(1rem, 4vw, 2rem) !important;
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
}

/* ═══════════════════════════════════════════════════
   HEADING COLOURS — context-aware (no blanket !important)
   ═══════════════════════════════════════════════════ */

/* Default headings on light backgrounds */
h1, h2, h3, h4, h5, h6 {
  color: var(--navy-800);
  font-family: var(--font-display);
}

/* Dark-section headings must be white */
.bd-hero h1, .bd-hero h2, .bd-hero h3,
.bd-hero h4, .bd-hero h5, .bd-hero h6 { color: var(--white) !important; }

.bd-section-dark h1, .bd-section-dark h2,
.bd-section-dark h3, .bd-section-dark h4 { color: var(--white) !important; }

.bd-review h2, .bd-review h3,
.bd-review-chips h2, .bd-review-chips h3 { color: var(--white) !important; }

/* Entry content headings (light bg) */
.entry-content h2 {
  margin-top: 2.5rem;
  padding-bottom: .5rem;
  border-bottom: 2px solid var(--amber-100);
  color: var(--navy-800);
}
.entry-content h3 { margin-top: 2rem; color: var(--navy-700); }
.entry-content ul, .entry-content ol { margin: 0 0 1.25rem 1.5rem; color: var(--slate-600); }
.entry-content li { margin-bottom: .4rem; }

/* Paragraphs */
p { line-height: 1.7; color: var(--slate-600); font-size: 16px; font-family: var(--font-ui); }

/* Dark sections: paragraphs */
.bd-hero p, .bd-hero-sub { color: var(--navy-200) !important; }
.bd-section-dark p { color: var(--navy-200) !important; }
.bd-trust-item { color: var(--navy-200) !important; }
.bd-review-text { color: var(--navy-100) !important; }

/* Links */
a { text-decoration: none; color: var(--navy-500); }
a:hover { color: var(--amber-500); }

/* ═══════════════════════════════════════════════════
   GP OVERRIDES — nav, header, footer colours
   ═══════════════════════════════════════════════════ */
.main-title a, .main-title a:hover {
  color: #FFFFFF !important;
  font-family: var(--font-display);
  text-decoration: none;
}

#masthead, .site-header { background-color: var(--navy-950) !important; }

.main-navigation, .main-navigation ul ul { background-color: var(--navy-950) !important; }

.main-navigation .main-nav ul li a,
.main-navigation .main-nav ul > li > a,
.main-navigation .menu-bar-items,
.main-navigation .menu-toggle,
#masthead .main-navigation a { color: #FFFFFF !important; }

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul > li > a:hover { color: var(--amber-300) !important; }

/* Remove sidebar entirely */
.widget-area, .sidebar, aside.sidebar,
#right-sidebar, .inside-right-sidebar { display: none !important; }

/* Hide comments */
#comments, .comments-area, .comment-respond,
.comment-navigation { display: none !important; }

/* Hide GP footer credit link */
.site-info a[href*="generatepress"],
.site-info a[href*="wordpress.org"],
.generated-by-gp, .gp-footer-link { display: none !important; }

/* ═══════════════════════════════════════════════════
   FOOTER
   ═══════════════════════════════════════════════════ */
#mastfoot, .site-footer, .site-info {
  background: var(--navy-950) !important;
  color: var(--navy-300) !important;
}
.site-info { padding: 1.25rem 2rem !important; font-size: .82rem; }
.site-info a { color: var(--amber-300) !important; }
.site-info a:hover { color: var(--white) !important; }

/* ═══════════════════════════════════════════════════
   TABLES
   ═══════════════════════════════════════════════════ */
table { width: 100%; border-collapse: collapse; font-size: .9rem; }
table th { background: var(--navy-800); color: var(--white); padding: .8rem 1rem; text-align: left; }
table td { padding: .75rem 1rem; border-bottom: 1px solid var(--slate-100); color: var(--slate-600); }
table tr:nth-child(even) td { background: var(--bg-section); }

/* ═══════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .bd-hero { padding: 3.5rem 1.25rem 4rem; }
  .bd-hero-stats { gap: 1.5rem; }
  .bd-section { padding: 3rem 1.25rem; }
  .bd-trust-bar { gap: 1.25rem; }
  .bd-btn-group { flex-direction: column; align-items: stretch; text-align: center; }
  .bd-hero-actions { flex-direction: column; align-items: stretch; text-align: center; }
  .main-navigation ul li a, #site-navigation a { min-height: 44px; }
  body { font-size: 15px; }
}
@media (max-width: 480px) {
  .bd-hero h1 { font-size: 2.2rem !important; }
  .bd-hero-title { font-size: 2.2rem !important; }
  .bd-stat-num { font-size: 1.8rem; }
  .bd-stat-number { font-size: 1.8rem; }
}

/* ═══════════════════════════════════════════════════
   TWENTYTWENTYFOUR THEME OVERRIDES
   ═══════════════════════════════════════════════════ */
body { background: var(--bg-page) !important; }
.wp-site-blocks { padding-top: 0 !important; }
.entry-content { max-width: 100% !important; padding: 0 !important; }

/* Hide TT4's default page title if bd-hero exists */
.wp-block-post-title { display: none !important; }

/* TT4 navigation overrides */
.wp-block-navigation { background: transparent !important; }
.wp-block-navigation a {
  font-family: var(--font-ui) !important;
  font-size: .78rem !important;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Full-width sections */
.wp-block-group.alignfull,
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100% !important;
}

/* Remove TT4 content padding */
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.is-layout-flow > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Contact Form 7 styling inside bd-form-card */
.bd-form-card .wpcf7 input[type="text"],
.bd-form-card .wpcf7 input[type="email"],
.bd-form-card .wpcf7 input[type="tel"],
.bd-form-card .wpcf7 select,
.bd-form-card .wpcf7 textarea {
  width: 100%;
  padding: .75rem 1rem;
  border: 1.5px solid var(--slate-200);
  border-radius: var(--r-sm);
  font-family: var(--font-ui);
  font-size: .9rem;
  background: var(--white);
  color: var(--slate-800);
  transition: border-color .2s;
}
.bd-form-card .wpcf7 input:focus,
.bd-form-card .wpcf7 textarea:focus {
  outline: none;
  border-color: var(--amber-400);
  box-shadow: 0 0 0 3px rgba(240,160,48,.1);
}
.bd-form-card .wpcf7 input[type="submit"] {
  background: linear-gradient(135deg, var(--amber-600), var(--amber-500));
  color: var(--white);
  border: none;
  padding: .85rem 2rem;
  border-radius: var(--r-sm);
  font-family: var(--font-ui);
  font-weight: 700;
  font-size: .9rem;
  cursor: pointer;
  width: 100%;
  transition: all .2s;
}
.bd-form-card .wpcf7 input[type="submit"]:hover {
  box-shadow: var(--sh-gold);
  transform: translateY(-1px);
}
.bd-form-card .wpcf7 label {
  font-family: var(--font-ui);
  font-size: .82rem;
  font-weight: 600;
  color: var(--slate-700);
  display: block;
  margin-bottom: .3rem;
}
.bd-form-card .wpcf7-form p {
  margin-bottom: 1rem;
}

/* ═══════════════════════════════════════════════════
   TT4 FULL-WIDTH FIX — Force bd-* sections edge-to-edge
   ═══════════════════════════════════════════════════ */
.wp-block-post-content.is-layout-constrained .bd-hero,
.wp-block-post-content.is-layout-constrained .bd-trust-bar,
.wp-block-post-content.is-layout-constrained .bd-section,
.wp-block-post-content.is-layout-constrained .bd-section-alt,
.wp-block-post-content.is-layout-constrained .bd-section-dark,
.wp-block-post-content.is-layout-constrained .bd-section-navy,
.wp-block-post-content.is-layout-constrained .bd-inquiry-section,
.wp-block-post-content.is-layout-constrained .bd-partner-section,
.wp-block-post-content.is-layout-constrained .bd-services-nav,
.wp-block-post-content.is-layout-constrained .bd-related,
.is-layout-constrained > .bd-hero,
.is-layout-constrained > .bd-trust-bar,
.is-layout-constrained > .bd-section,
.is-layout-constrained > section,
.has-global-padding > .bd-hero,
.has-global-padding > .bd-trust-bar,
.has-global-padding > .bd-section,
.has-global-padding > section {
  max-width: 100% !important;
  width: 100vw !important;
  margin-left: calc(-50vw + 50%) !important;
  margin-right: calc(-50vw + 50%) !important;
}

/* Container inside full-width sections still needs centering */
.bd-hero .container,
.bd-section .container,
.bd-trust-bar .container,
.bd-inquiry-section .container,
.bd-partner-section .container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 4vw, 3rem);
}

/* Remove TT4 content area max-width constraints */
.wp-block-post-content,
.wp-block-post-content.has-global-padding {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Ensure TT4 header styling works */
header.wp-block-template-part {
  background: var(--navy-950) !important;
}
header.wp-block-template-part a {
  color: rgba(255,255,255,.85) !important;
}
header.wp-block-template-part a:hover {
  color: var(--amber-300) !important;
}

/* Footer styling */
footer.wp-block-template-part {
  background: var(--navy-950) !important;
  color: var(--navy-300) !important;
}
footer.wp-block-template-part a {
  color: var(--amber-300) !important;
}
footer.wp-block-template-part a:hover {
  color: var(--white) !important;
}

/* Hide WordPress credit in TT4 */
.wp-block-site-title { display: none; }

/* ═══════════════════════════════════════════════════
   TT4 NUCLEAR OVERRIDES — Force BD styles through
   These must override TwentyTwentyFour's extremely
   specific selectors on is-layout-constrained
   ═══════════════════════════════════════════════════ */

/* Kill TT4's global padding on content area */
.entry-content.wp-block-post-content.has-global-padding,
.wp-block-post-content.has-global-padding.is-layout-constrained {
  padding: 0 !important;
  max-width: 100% !important;
}

/* Kill TT4's constrained max-width on ALL bd-* children */
.is-layout-constrained > section,
.is-layout-constrained > div,
.is-layout-constrained > .bd-hero,
.is-layout-constrained > .bd-trust-bar,
.is-layout-constrained > .bd-section,
.is-layout-constrained > .bd-related,
.is-layout-constrained > .bd-services-nav,
.wp-block-post-content > section,
.wp-block-post-content > .bd-hero,
.wp-block-post-content > .bd-trust-bar,
.wp-block-post-content > .bd-section,
body .bd-hero,
body .bd-trust-bar,
body .bd-section,
body .bd-inquiry-section,
body .bd-partner-section {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── HERO FIX ── */
body .bd-hero {
  background: var(--bg-dark) !important;
  background-color: #080F22 !important;
  padding: 6rem 2rem 7rem !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}

body .bd-hero .container {
  max-width: 1160px !important;
  margin: 0 auto !important;
  padding: 0 clamp(1rem, 4vw, 3rem) !important;
}

body .bd-hero-content {
  max-width: 820px !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 2 !important;
}

body .bd-hero-badge {
  display: inline-block !important;
  font-family: var(--font-mono) !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: var(--amber-400) !important;
  background: rgba(240,160,48,.1) !important;
  border: 1px solid rgba(240,160,48,.2) !important;
  padding: .4rem 1.2rem !important;
  border-radius: 100px !important;
  margin-bottom: 2rem !important;
}

body .bd-hero-title,
body .bd-hero h1 {
  font-family: var(--font-display) !important;
  font-size: clamp(2.6rem, 5vw, 4.4rem) !important;
  font-weight: 700 !important;
  color: #FAFBFF !important;
  line-height: 1.05 !important;
  margin-bottom: 1.25rem !important;
  letter-spacing: -.02em !important;
}

body .bd-text-gold {
  color: #F5BE68 !important;
}

body .bd-hero-subtitle {
  font-size: clamp(1rem, 2vw, 1.15rem) !important;
  color: #9EAAD8 !important;
  max-width: 560px !important;
  margin: 0 auto 2.5rem !important;
  line-height: 1.7 !important;
}

body .bd-hero-actions {
  display: flex !important;
  gap: 1rem !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  margin-bottom: 3rem !important;
}

body .bd-hero-stats {
  display: flex !important;
  justify-content: center !important;
  gap: 3rem !important;
  padding: 2rem 0 !important;
  border-top: 1px solid rgba(255,255,255,.06) !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  flex-wrap: wrap !important;
}

body .bd-stat-item {
  text-align: center !important;
}

body .bd-stat-number {
  font-family: var(--font-display) !important;
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  color: #F5BE68 !important;
  display: block !important;
  line-height: 1 !important;
}

body .bd-stat-label {
  font-family: var(--font-mono) !important;
  font-size: .68rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #6B7494 !important;
  margin-top: .3rem !important;
  display: block !important;
}

/* ── TRUST BAR FIX ── */
body .bd-trust-bar {
  background: #080F22 !important;
  padding: 1.25rem 2rem !important;
}

body .bd-trust-bar .container {
  max-width: 1160px !important;
  margin: 0 auto !important;
}

body .bd-trust-items {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 2.5rem !important;
  flex-wrap: wrap !important;
}

body .bd-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: .5rem !important;
  color: #9EAAD8 !important;
  font-size: .8rem !important;
  font-weight: 500 !important;
  font-family: var(--font-ui) !important;
}

body .bd-trust-icon {
  color: #F0A030 !important;
  font-weight: 700 !important;
}

/* ── BUTTONS FIX ── */
body .bd-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: .5rem !important;
  padding: .75rem 1.75rem !important;
  border-radius: 8px !important;
  font-family: var(--font-ui) !important;
  font-size: .88rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: all .2s !important;
  text-decoration: none !important;
  border: none !important;
}

body .bd-btn-lg {
  padding: 1rem 2.25rem !important;
  font-size: 1rem !important;
}

body .bd-btn-amber {
  background: linear-gradient(135deg, #B86000, #D97B0A) !important;
  color: #FAFBFF !important;
  box-shadow: 0 8px 32px rgba(217,123,10,.25) !important;
}
body .bd-btn-amber:hover {
  background: linear-gradient(135deg, #D97B0A, #F0A030) !important;
  color: #FAFBFF !important;
  transform: translateY(-1px) !important;
}

body .bd-btn-ghost {
  background: rgba(255,255,255,.08) !important;
  color: #FAFBFF !important;
  border: 1px solid rgba(255,255,255,.16) !important;
}
body .bd-btn-ghost:hover {
  background: rgba(255,255,255,.15) !important;
  color: #FAFBFF !important;
}

body .bd-btn-navy {
  background: #122252 !important;
  color: #FAFBFF !important;
  box-shadow: 0 4px 16px rgba(8,15,34,.25) !important;
}
body .bd-btn-navy:hover {
  background: #1A2E6B !important;
  color: #FAFBFF !important;
}

/* ── SECTION FIXES ── */
body .bd-section {
  padding: 5rem 2rem !important;
}

body .bd-section-alt {
  background: #EEF1F8 !important;
}

body .bd-section-navy {
  background: #080F22 !important;
}
body .bd-section-navy h2,
body .bd-section-navy h3 {
  color: #FAFBFF !important;
}
body .bd-section-navy p,
body .bd-section-navy .bd-section-subtitle {
  color: #9EAAD8 !important;
}

body .bd-section .container {
  max-width: 1160px !important;
  margin: 0 auto !important;
}

body .bd-section-header {
  text-align: center !important;
  margin-bottom: 3rem !important;
}

body .bd-section-tag {
  display: inline-block !important;
  font-family: var(--font-mono) !important;
  font-size: .68rem !important;
  font-weight: 500 !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
  color: #B86000 !important;
  background: #FFFBF0 !important;
  border: 1px solid #FAD99A !important;
  padding: .25rem .8rem !important;
  border-radius: 100px !important;
  margin-bottom: 1rem !important;
}

body .bd-tag-gold {
  color: #F0A030 !important;
  background: rgba(240,160,48,.1) !important;
  border-color: rgba(240,160,48,.2) !important;
}

body .bd-section-title {
  font-family: var(--font-display) !important;
  font-size: clamp(1.6rem, 3vw, 2.6rem) !important;
  font-weight: 600 !important;
  color: #0D1A3A !important;
  margin-bottom: .75rem !important;
}

body .bd-section-subtitle {
  color: #4A5270 !important;
  font-size: 1.05rem !important;
  max-width: 600px !important;
  margin: 0 auto !important;
}

/* ── CARD GRID FIX ── */
body .bd-card-grid {
  display: grid !important;
  gap: 1.5rem !important;
}

body .bd-card-grid-3 {
  grid-template-columns: repeat(3, 1fr) !important;
}

body .bd-card-grid-4 {
  grid-template-columns: repeat(4, 1fr) !important;
}

@media (max-width: 900px) {
  body .bd-card-grid-3 { grid-template-columns: repeat(2, 1fr) !important; }
  body .bd-card-grid-4 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
  body .bd-card-grid-3 { grid-template-columns: 1fr !important; }
  body .bd-card-grid-4 { grid-template-columns: 1fr !important; }
}

body .bd-card {
  background: #FAFBFF !important;
  border: 1px solid #DAE0EE !important;
  border-radius: 12px !important;
  padding: 2rem !important;
  box-shadow: 0 2px 8px rgba(8,15,34,.08) !important;
  transition: box-shadow .2s, transform .2s !important;
  text-decoration: none !important;
}
body .bd-card:hover {
  box-shadow: 0 8px 32px rgba(8,15,34,.12) !important;
  transform: translateY(-2px) !important;
}

body a.bd-card-link {
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
}

body .bd-card-dark {
  background: rgba(13,26,58,.6) !important;
  border-color: rgba(240,160,48,.1) !important;
}
body .bd-card-dark .bd-card-title {
  color: #FAFBFF !important;
}
body .bd-card-dark .bd-card-text {
  color: #9EAAD8 !important;
}

body .bd-card-icon {
  width: 48px !important;
  height: 48px !important;
  background: #FFFBF0 !important;
  border: 1px solid #FAD99A !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 1.4rem !important;
  margin-bottom: 1.25rem !important;
}

body .bd-card-dark .bd-card-icon {
  background: rgba(240,160,48,.1) !important;
  border-color: rgba(240,160,48,.15) !important;
}

body .bd-card-title {
  font-family: var(--font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #0D1A3A !important;
  margin-bottom: .5rem !important;
}

body .bd-card-text {
  font-size: .9rem !important;
  color: #4A5270 !important;
  line-height: 1.6 !important;
  margin-bottom: .75rem !important;
}

body .bd-card-arrow {
  font-family: var(--font-ui) !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  color: #D97B0A !important;
  display: inline-block !important;
  margin-top: .5rem !important;
}

body .bd-card-tag {
  display: inline-block !important;
  font-family: var(--font-mono) !important;
  font-size: .65rem !important;
  font-weight: 600 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #B86000 !important;
  background: #FFFBF0 !important;
  border: 1px solid #FAD99A !important;
  padding: .2rem .6rem !important;
  border-radius: 100px !important;
  margin-bottom: .75rem !important;
}

/* ── STEPS FIX ── */
body .bd-steps {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 2rem !important;
  counter-reset: step !important;
}
@media (max-width: 768px) {
  body .bd-steps { grid-template-columns: 1fr !important; }
}

body .bd-step {
  background: #FAFBFF !important;
  border: 1px solid #DAE0EE !important;
  border-left: 3px solid #F0A030 !important;
  border-radius: 12px !important;
  padding: 2rem !important;
  text-align: center !important;
}

body .bd-step-num {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, #B86000, #F0A030) !important;
  color: #FAFBFF !important;
  font-family: var(--font-display) !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  margin: 0 auto 1.25rem !important;
  box-shadow: 0 8px 32px rgba(217,123,10,.25) !important;
}

body .bd-step:nth-child(1) .bd-step-num::after { content: '1' !important; }
body .bd-step:nth-child(2) .bd-step-num::after { content: '2' !important; }
body .bd-step:nth-child(3) .bd-step-num::after { content: '3' !important; }

body .bd-step-title {
  font-family: var(--font-display) !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  color: #0D1A3A !important;
  margin-bottom: .5rem !important;
}

body .bd-step-text {
  font-size: .9rem !important;
  color: #4A5270 !important;
  line-height: 1.6 !important;
}

/* ── INQUIRY & PARTNER SECTIONS ── */
body .bd-inquiry-grid,
body .bd-partner-inner {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 3rem !important;
  align-items: start !important;
}
@media (max-width: 768px) {
  body .bd-inquiry-grid,
  body .bd-partner-inner {
    grid-template-columns: 1fr !important;
  }
}

body .bd-checklist {
  list-style: none !important;
  padding: 0 !important;
  margin: 1.5rem 0 !important;
}
body .bd-checklist li {
  padding: .5rem 0 !important;
  padding-left: 1.75rem !important;
  position: relative !important;
  color: #2E3650 !important;
  font-size: .95rem !important;
}
body .bd-checklist li::before {
  content: '✓' !important;
  position: absolute !important;
  left: 0 !important;
  color: #16a34a !important;
  font-weight: 700 !important;
}

body .bd-disclaimer-bar {
  font-size: .78rem !important;
  color: #6B7494 !important;
  background: #EEF1F8 !important;
  padding: 1rem 1.25rem !important;
  border-radius: 8px !important;
  margin-top: 2rem !important;
  line-height: 1.6 !important;
}

body .bd-form-card {
  background: #FAFBFF !important;
  border: 1px solid #DAE0EE !important;
  border-radius: 16px !important;
  padding: 2rem !important;
  box-shadow: 0 8px 32px rgba(8,15,34,.12) !important;
}

body .bd-form-title {
  font-family: var(--font-display) !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: #0D1A3A !important;
  margin-bottom: 1rem !important;
}

body .bd-partner-benefits {
  margin-top: 1.5rem !important;
}

body .bd-benefit-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: .75rem !important;
  padding: .6rem 0 !important;
  font-size: .9rem !important;
  color: #2E3650 !important;
  line-height: 1.5 !important;
}

body .bd-benefit-check {
  color: #16a34a !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
}

/* ── HERO PSEUDO ELEMENTS FIX ── */
body .bd-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(240,160,48,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(240,160,48,.04) 1px, transparent 1px) !important;
  background-size: 48px 48px !important;
  pointer-events: none !important;
}

body .bd-hero::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(ellipse 55% 70% at 50% 0%, rgba(217,123,10,.12) 0%, transparent 65%),
    radial-gradient(ellipse 40% 50% at 80% 60%, rgba(37,60,132,.25) 0%, transparent 55%) !important;
  pointer-events: none !important;
}

body .bd-hero > * {
  position: relative !important;
  z-index: 1 !important;
}

body .bd-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
}

/* ── REVEAL ANIMATIONS ── */
body .bd-reveal {
  opacity: 0;
  transform: translateY(25px);
  transition: opacity .6s ease, transform .6s ease;
}
body .bd-reveal.bd-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
body .bd-reveal-delay-1 { transition-delay: .1s; }
body .bd-reveal-delay-2 { transition-delay: .2s; }
body .bd-reveal-delay-3 { transition-delay: .3s; }

@media (prefers-reduced-motion: reduce) {
  body .bd-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ── SERVICES NAV ── */
body .bd-services-nav div {
  display: grid !important;
}

/* ── HIDE TT4 PAGE TITLE ── */
.wp-block-post-title { display: none !important; }

/* ── HEADER/FOOTER DARK ── */
header.wp-block-template-part,
.wp-block-template-part > header {
  background: #050B18 !important;
}
header.wp-block-template-part a,
header.wp-block-template-part .wp-block-navigation-item__content {
  color: rgba(255,255,255,.8) !important;
  font-family: var(--font-ui) !important;
  font-size: .78rem !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}
header.wp-block-template-part a:hover {
  color: #F5BE68 !important;
}
header.wp-block-template-part .wp-block-site-title a {
  font-family: var(--font-display) !important;
  font-size: 1.15rem !important;
  text-transform: none !important;
  letter-spacing: -.01em !important;
}

footer.wp-block-template-part,
.wp-block-template-part > footer {
  background: #050B18 !important;
  color: #6477BC !important;
}
footer.wp-block-template-part a {
  color: #F5BE68 !important;
}

/* ── RESPONSIVE FIXES ── */
@media (max-width: 768px) {
  body .bd-hero { padding: 3.5rem 1.25rem 4rem !important; }
  body .bd-hero-stats { gap: 1.5rem !important; }
  body .bd-section { padding: 3rem 1.25rem !important; }
  body .bd-trust-items { gap: 1.25rem !important; }
  body .bd-hero-actions { flex-direction: column !important; align-items: center !important; }
}

@media (max-width: 480px) {
  body .bd-hero-title,
  body .bd-hero h1 { font-size: 2.2rem !important; }
  body .bd-stat-number { font-size: 1.8rem !important; }
}
