/* DEFEAT the DVRO — high-ticket legal theme overrides */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --brand-navy: #0F1E3C;
  --brand-navy-deep: #081224;
  --brand-gold: #C9A961;
  --brand-gold-deep: #B8842D;
  --text-dark: #1A1A1A;
  --text-medium: #4A4A4A;
  --text-light: #7A7A7A;
  --bg-pale: #FAFAF8;
  --bg-cream: #F5F1EA;
}

/* TYPOGRAPHY */
body, p, li, td {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: -0.005em;
}

h1, h2, h3, h4, h5, .heading,
.feature__heading, .accordion__heading {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.015em !important;
}

h1 { font-size: clamp(36px, 5vw, 64px) !important; }
h2 { font-size: clamp(28px, 4vw, 44px) !important; }
h3 { font-size: clamp(20px, 2.5vw, 28px) !important; font-weight: 600 !important; }

/* LIGHT SECTIONS get pale bg */
section.section:not(.background-dark) {
  background-color: var(--bg-pale) !important;
}
section.section:not(.background-dark) h1,
section.section:not(.background-dark) h2,
section.section:not(.background-dark) h3,
section.section:not(.background-dark) h4,
section.section:not(.background-dark) .heading,
section.section:not(.background-dark) .feature__heading {
  color: var(--text-dark) !important;
}
section.section:not(.background-dark) p,
section.section:not(.background-dark) li {
  color: var(--text-medium) !important;
}

/* Alternate light sections — every other gets cream tint */
section.section:not(.background-dark):nth-of-type(odd) {
  background-color: white !important;
}

/* DARK SECTIONS keep white text */
section.section.background-dark { color: rgba(255,255,255,0.92) !important; }
section.section.background-dark h1,
section.section.background-dark h2,
section.section.background-dark h3 { color: white !important; }
section.section.background-dark p,
section.section.background-dark li,
section.section.background-dark span,
section.section.background-dark strong { color: rgba(255,255,255,0.92) !important; }

/* CTA BUTTONS — navy with gold hover */
.btn-primary, .btn, .button, button[type="submit"],
input[type="submit"], [class*="cta__button"],
[class*="signup__submit"], .form__submit,
.opt-in-form__submit, .navigation__link--button {
  background: var(--brand-navy) !important;
  background-color: var(--brand-navy) !important;
  border: 2px solid var(--brand-navy) !important;
  color: #ffffff !important;
  padding: 16px 36px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  letter-spacing: 0.01em !important;
  border-radius: 4px !important;
  transition: all 0.2s ease !important;
  text-transform: none !important;
}

.btn:hover, .button:hover, button[type="submit"]:hover,
[class*="cta__button"]:hover, .opt-in-form__submit:hover {
  background: var(--brand-gold) !important;
  border-color: var(--brand-gold) !important;
  color: var(--text-dark) !important;
  transform: translateY(-1px);
}

/* HIDE GENERIC FEATURE IMAGES */
.feature__image, img.feature__image,
img[src*="feature.png"] {
  display: none !important;
}

/* ADD NUMBERED PREFIX TO FEATURES */
.block-type--feature {
  position: relative;
  padding-top: 16px;
}
.block-type--feature::before {
  display: block;
  font-family: 'Playfair Display', serif;
  font-size: 56px;
  font-weight: 700;
  color: var(--brand-gold);
  line-height: 1;
  margin-bottom: 16px;
}
.block-type--feature:nth-of-type(1)::before { content: "01"; }
.block-type--feature:nth-of-type(2)::before { content: "02"; }
.block-type--feature:nth-of-type(3)::before { content: "03"; }

/* ACCORDIONS — cleaner styling */
.accordion, [class*="accordion__item"] {
  border: 1px solid #E5E0D5 !important;
  border-radius: 6px !important;
  background: white !important;
  margin-bottom: 10px !important;
  transition: border-color 0.2s ease;
}
.accordion:hover, [class*="accordion__item"]:hover {
  border-color: var(--brand-gold) !important;
}
.accordion__heading, [class*="accordion"] [class*="heading"] {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 17px !important;
  letter-spacing: -0.01em !important;
  color: var(--text-dark) !important;
}

/* TABLE — comparison */
table {
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  background: rgba(15, 30, 60, 0.6) !important;
  border-radius: 6px;
  overflow: hidden;
  margin: 32px 0 !important;
  width: 100% !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
table th {
  background: var(--brand-navy) !important;
  color: var(--brand-gold) !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  padding: 14px 16px !important;
  text-align: left !important;
}
table td {
  padding: 16px !important;
  font-size: 15px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.92) !important;
}
table tr:last-child td { border-bottom: none !important; }

/* FORM INPUTS */
form input[type="text"], form input[type="email"] {
  background: white !important;
  border: 1px solid #E5E0D5 !important;
  padding: 14px 16px !important;
  font-size: 16px !important;
  border-radius: 4px !important;
  color: var(--text-dark) !important;
  font-family: 'Inter', sans-serif !important;
}
form input[type="text"]:focus, form input[type="email"]:focus {
  outline: none !important;
  border-color: var(--brand-gold) !important;
  box-shadow: 0 0 0 3px rgba(201, 169, 97, 0.18) !important;
}

/* LINKS */
section.section:not(.background-dark) a {
  color: var(--brand-gold-deep);
  text-decoration-color: rgba(184, 132, 45, 0.3);
  text-underline-offset: 2px;
}
section.section:not(.background-dark) a:hover {
  color: var(--brand-navy);
}

/* SECTION PADDING POLISH */
section.section { padding: 96px 0 !important; }
@media (max-width: 768px) { section.section { padding: 56px 0 !important; } }

/* HEADER LOGO — keep current */
.navigation { background: white !important; }


/* Fix monospace in accordion bodies */
.accordion code, [class*="accordion"] code, pre, code {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: 16px !important;
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  white-space: normal !important;
  line-height: 1.7 !important;
  color: var(--text-medium) !important;
  font-weight: 400 !important;
}


/* ============================================
   FIXES: Hero typography + form-on-white + media bar
   ============================================ */

/* Tame the giant headlines */
h1 { font-size: clamp(28px, 3.2vw, 44px) !important; line-height: 1.15 !important; }
h2 { font-size: clamp(22px, 2.4vw, 32px) !important; line-height: 1.2 !important; }
h3 { font-size: clamp(18px, 1.8vw, 22px) !important; line-height: 1.3 !important; }

/* Force dark text inside LIGHT cards (the white form box) */
.background-light, .background-light * {
  color: var(--text-dark) !important;
}
.background-light h1,
.background-light h2,
.background-light h3,
.background-light h4 {
  color: var(--text-dark) !important;
}
.background-light p,
.background-light li { color: var(--text-medium) !important; }
.background-light strong { color: var(--text-dark) !important; }

/* Form button INSIDE white card stays navy */
.background-light .btn,
.background-light button[type="submit"],
.background-light input[type="submit"] {
  color: white !important;
}
.background-light .btn:hover {
  color: var(--text-dark) !important;
}

/* MEDIA LOGO BAR */
.media-bar {
  text-align: center;
  padding: 24px 0 8px;
}
.media-bar-label {
  font-size: 11px !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #999 !important;
  margin-bottom: 28px !important;
  font-weight: 600 !important;
  font-family: 'Inter', sans-serif !important;
}
.media-bar-logos {
  display: flex !important;
  justify-content: center !important;
  gap: 56px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}
.media-bar-logos img {
  height: 32px !important;
  max-width: 80px !important;
  filter: grayscale(100%) brightness(0.5) !important;
  opacity: 0.7 !important;
  transition: opacity 0.2s ease !important;
}
.media-bar-logos img:hover { opacity: 1 !important; }

/* Reduce padding on first section to keep hero compact */
section.section.background-dark:first-of-type { padding: 56px 0 !important; }


/* BRUTE FORCE: form box on white must have dark text */
.block.background-light h1,
.block.background-light h2,
.block.background-light h3,
.block.background-light h4,
.block.background-light p,
.block.background-light li,
.block.background-light strong,
.block.background-light span,
.block.background-light div,
section.section.background-dark .block.background-light h1,
section.section.background-dark .block.background-light h2,
section.section.background-dark .block.background-light h3,
section.section.background-dark .block.background-light h4,
section.section.background-dark .block.background-light p,
section.section.background-dark .block.background-light * {
  color: #1A1A1A !important;
}
section.section.background-dark .block.background-light p {
  color: #4A4A4A !important;
}
.block.background-light .btn,
.block.background-light button[type="submit"],
section.section.background-dark .block.background-light .btn,
section.section.background-dark .block.background-light button[type="submit"] {
  color: #ffffff !important;
}
.block.background-light .btn:hover,
section.section.background-dark .block.background-light .btn:hover {
  color: #1A1A1A !important;
}


/* HERO TYPOGRAPHY POLISH */
section.section.background-dark:first-of-type h1 { font-size: clamp(40px, 5.5vw, 72px) !important; letter-spacing: -0.03em !important; margin-bottom: 16px !important; }
section.section.background-dark:first-of-type h2 { font-size: clamp(20px, 2vw, 28px) !important; font-weight: 600 !important; opacity: 0.95; margin-bottom: 24px !important; }
section.section.background-dark:first-of-type p { font-size: 15px !important; opacity: 0.85; }
section.section.background-dark p, section.section.background-dark li { color: rgba(255,255,255,0.92) !important; }


/* TABLE LEGIBILITY: white text on navy bg, override .background-light fallthrough */
section.section.background-dark table td,
section.section.background-dark table th,
section.section.background-dark .block.background-light table td,
section.section.background-dark table strong,
section.section.background-dark table * {
  color: #ffffff !important;
}
section.section.background-dark table th { color: #C9A961 !important; }
section.section.background-dark table td strong { color: #ffffff !important; }
section.section.background-dark table { background: rgba(8, 18, 36, 0.7) !important; }


/* FIX em/i on dark sections */
section.section.background-dark em,
section.section.background-dark i,
section.section.background-dark p em,
section.section.background-dark p i {
  color: rgba(255,255,255,0.85) !important;
  font-style: italic;
}


/* SPACING POLISH */
section.section { padding: 64px 0 !important; }
@media (max-width: 768px) { section.section { padding: 40px 0 !important; } }
section.section + section.section { border-top: 1px solid rgba(0,0,0,0.04); }
section.section.background-dark + section.section.background-dark { border-top: 1px solid rgba(255,255,255,0.08); }
.row { max-width: 1100px; margin-left: auto; margin-right: auto; }


/* Aggressive spacing cleanup */
section.section { padding: 48px 0 !important; }
@media (max-width: 768px) { section.section { padding: 32px 0 !important; } }
section.section .row { margin: 0 auto !important; }
/* Hide empty Social section completely */
section.section .block-type--social-buttons:empty,
section.section:has(> .row:empty) { padding: 0 !important; min-height: 0 !important; display: none !important; }
/* Hide any section that's effectively empty */
section.section .block[class*='block-type--text']:empty { display: none !important; }
/* Reduce block internal padding */
.block { margin-bottom: 0 !important; }
.block-type--feature { padding: 16px !important; }
/* Compact aos block padding */
.block.aos-init { padding-top: 8px !important; padding-bottom: 8px !important; }
/* Force max width on rows */
.section > .container, .section > .row { max-width: 1100px !important; }
