/* ============================================================
   BLUE CHIP CAPITAL FUND — CLEAN OVERRIDES
   White header, dark navy body, NO gold, NO yellow
   ============================================================ */

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

/* ── KILL ALL GOLD / YELLOW ── */
:root {
  --gold: #0A2342 !important;
  --gold-light: #0A2342 !important;
  --gold-muted: #0A2342 !important;
}

/* ── HEADER: SOLID WHITE ── */
.site-header {
  background: #ffffff !important;
  backdrop-filter: none !important;
  border-bottom: 2px solid #e0e4ea !important;
  box-shadow: 0 2px 16px rgba(10,35,66,0.07) !important;
}
.site-header.scrolled {
  background: #ffffff !important;
  box-shadow: 0 4px 24px rgba(10,35,66,0.10) !important;
}
.header-inner {
  height: 100px !important;
}

/* ── LOGO: BIG AND CLEAR ── */
.logo img {
  height: 84px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}
.footer-about img {
  height: 72px !important;
  width: auto !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
}

/* ── NAV LINKS: DARK ON WHITE ── */
.nav-links a {
  color: #1A1A2E !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}
.nav-links a:hover {
  color: #0A2342 !important;
  background: #f0f4f8 !important;
}

/* ── DROPDOWN: CLEAN WHITE ── */
.nav-links .dropdown-menu {
  background: #ffffff !important;
  border: 1px solid #e0e4ea !important;
  border-top: 2px solid #0A2342 !important;
  box-shadow: 0 8px 32px rgba(10,35,66,0.12) !important;
}
.dropdown-menu a {
  color: #1A1A2E !important;
  font-size: 0.85rem !important;
  padding: 12px 20px !important;
  border-left: 3px solid transparent !important;
}
.dropdown-menu a:hover {
  background: #f0f4f8 !important;
  color: #0A2342 !important;
  border-left-color: #0A2342 !important;
}

/* ── NAV CTA BUTTON ── */
.nav-cta {
  background: #0A2342 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 9px 22px !important;
  border-radius: 3px !important;
  font-weight: 600 !important;
}
.nav-cta:hover {
  background: #0F3460 !important;
  color: #ffffff !important;
}

/* ── MOBILE TOGGLE: DARK BARS ── */
.mobile-toggle span {
  background: #1A1A2E !important;
}
.mobile-nav {
  background: #ffffff !important;
  border-top: 2px solid #e0e4ea !important;
}
.mobile-nav a {
  color: #1A1A2E !important;
}

/* ── KILL ALL GOLD TICKER / STRIPS ── */
[style*="background:var(--gold)"],
[style*="background: var(--gold)"],
.ticker-strip,
.gold-strip,
.accent-strip {
  display: none !important;
}

/* ── BUTTONS: NAVY ONLY, NO GOLD ── */
.btn-primary,
.btn,
button[type="submit"] {
  background: #0A2342 !important;
  color: #ffffff !important;
  border: 2px solid #0A2342 !important;
}
.btn-primary:hover,
.btn:hover {
  background: #0F3460 !important;
  border-color: #0F3460 !important;
}
.btn-outline {
  background: transparent !important;
  color: #0A2342 !important;
  border: 2px solid #0A2342 !important;
}
.btn-outline:hover {
  background: #0A2342 !important;
  color: #ffffff !important;
}

/* ── SERVICE CARDS: NO GOLD BORDERS ── */
.service-card:hover,
.service-card-body,
.card:hover {
  border-color: #0A2342 !important;
  border-top-color: #0A2342 !important;
}

/* ── SECTION LABELS / TAGS ── */
.section-label,
.tag,
.eyebrow {
  color: #0A2342 !important;
  border-color: #0A2342 !important;
}

/* ── STATS / NUMBERS ── */
.stat-number,
.counter {
  color: #0A2342 !important;
}

/* ── LINKS ── */
a {
  color: #0A2342;
}
a:hover {
  color: #0F3460;
}

/* ── PAGE CONTENT OFFSET FOR TALLER HEADER ── */
main,
.page-hero,
.home-hero,
.inner-hero,
.hero-section,
[class*="hero"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body > main:first-of-type {
  margin-top: 100px !important;
}

/* ══════════════════════════════════════════════
   HOME HERO — FULL FIX
   ══════════════════════════════════════════════ */
.home-hero {
  position: relative !important;
  width: 100% !important;
  min-height: 92vh !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.home-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  z-index: 0 !important;
}
.home-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(120deg, rgba(10,35,66,0.82) 0%, rgba(10,35,66,0.55) 60%, rgba(10,35,66,0.30) 100%) !important;
  z-index: 1 !important;
}
.home-hero-inner {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 120px 60px 80px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 60px !important;
}
.home-hero-text {
  flex: 1 !important;
  max-width: 620px !important;
}
.home-hero-text .hero-firm-tag {
  display: inline-block !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.75) !important;
  margin-bottom: 20px !important;
  border-left: 3px solid rgba(255,255,255,0.4) !important;
  padding-left: 12px !important;
}
.home-hero-text h1 {
  font-size: clamp(2.4rem, 4.5vw, 3.8rem) !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  line-height: 1.12 !important;
  margin-bottom: 20px !important;
}
.home-hero-text h1 em {
  font-style: normal !important;
  color: #ffffff !important;
}
.home-hero-text p {
  color: rgba(255,255,255,0.82) !important;
  font-size: 1.1rem !important;
  line-height: 1.7 !important;
  margin-bottom: 36px !important;
  max-width: 520px !important;
}
.home-hero-btns {
  display: flex !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.home-hero-btns .btn-primary {
  background: #0A2342 !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  padding: 14px 32px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-size: 0.85rem !important;
}
.home-hero-btns .btn-primary:hover {
  background: #fff !important;
  color: #0A2342 !important;
}
.home-hero-btns .btn-outline {
  background: transparent !important;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,0.55) !important;
  padding: 14px 32px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  font-size: 0.85rem !important;
}
.home-hero-btns .btn-outline:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: #fff !important;
}
.hero-portrait {
  flex: 0 0 420px !important;
  max-width: 420px !important;
}
.hero-portrait img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.3) !important;
}
@media (max-width: 900px) {
  .hero-portrait { display: none !important; }
  .home-hero-inner { padding: 100px 24px 60px !important; }
  .home-hero-text { max-width: 100% !important; }
}

/* ── INNER PAGE HERO ── */
.page-hero, .inner-hero {
  position: relative !important;
  padding: 130px 0 70px !important;
  background: #0A2342 !important;
  text-align: center !important;
  overflow: hidden !important;
}
.page-hero::before, .inner-hero::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(rgba(10,35,66,0.75), rgba(10,35,66,0.85)) !important;
  z-index: 1 !important;
}
.page-hero-content, .inner-hero-content {
  position: relative !important;
  z-index: 2 !important;
}
.page-hero-content h1, .inner-hero-content h1 {
  color: #ffffff !important;
  font-size: clamp(2rem, 4vw, 3.2rem) !important;
  font-weight: 700 !important;
}
.page-hero-content p, .inner-hero-content p {
  color: rgba(255,255,255,0.8) !important;
}


/* ══════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE OVERHAUL — ALL PAGES (2026-03-11)
   Blueprint: iPhone Pro 390px → Tablet 768px → Laptop 1024px
   ══════════════════════════════════════════════════════════════ */

/* ── TABLET (≤ 1024px) ─────────────────────────────────────── */
@media (max-width: 1024px) {
  #hero > div:last-child {
    padding-left: 40px !important;
    padding-right: 40px !important;
    gap: 40px !important;
  }
  .services-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .split-section { min-height: 400px !important; }
}

/* ── MOBILE (≤ 768px) ──────────────────────────────────────── */
@media (max-width: 768px) {

  /* Global spacing */
  section { padding: 56px 0 !important; }
  .intro-strip { padding: 56px 0 !important; }
  .section-header { margin-bottom: 36px !important; }
  .section-header h2 { font-size: 1.8rem !important; line-height: 1.25 !important; }
  .section-header p { font-size: 0.95rem !important; }

  /* Typography — readable on mobile */
  h1 { font-size: clamp(1.8rem, 7vw, 2.6rem) !important; line-height: 1.2 !important; }
  h2 { font-size: clamp(1.55rem, 5.5vw, 2rem) !important; line-height: 1.25 !important; }
  h3 { font-size: clamp(1.1rem, 4vw, 1.4rem) !important; }
  p  { font-size: 1rem !important; line-height: 1.7 !important; }

  /* ── HEADER ── */
  .header-inner { padding: 0 16px !important; height: 76px !important; }
  a.logo img, .logo img { height: 60px !important; max-width: 140px !important; }

  /* ── HERO (homepage) ── */
  #hero {
    min-height: calc(100svh - 76px) !important;
    padding-top: 76px !important;
    align-items: flex-start !important;
  }
  #hero > div:last-child {
    padding: 32px 20px 48px !important;
    flex-direction: column !important;
    gap: 0 !important;
    align-items: flex-start !important;
  }
  #hero > div:last-child > div:first-child {
    max-width: 100% !important;
    padding: 0 !important;
  }
  #hero h1 { font-size: clamp(1.85rem, 7.5vw, 2.5rem) !important; }
  #hero p  { font-size: 1rem !important; margin-bottom: 28px !important; }
  #hero a[style*="display:inline-block"] {
    padding: 14px 28px !important;
    font-size: 0.82rem !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
    box-sizing: border-box !important;
  }
  #hero div[style*="display:flex"][style*="gap:16px"] {
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  .hero-img-side { display: none !important; }

  /* ── INTRO / ABOUT ── */
  .intro-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .intro-content p { font-size: 0.97rem !important; }
  .intro-image img { height: 220px !important; }

  /* ── SERVICE CARDS ── */
  .services-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .service-card-image { height: 210px !important; }
  .service-card-image img { height: 210px !important; }
  .service-card-body { padding: 22px 20px !important; }
  .service-card-body h3 { font-size: 1.15rem !important; }
  .service-card-body p  { font-size: 0.93rem !important; }

  /* ── STATS ── */
  .stats-bar { padding: 48px 0 !important; }
  .stats-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px !important;
  }
  .stat-item h3 { font-size: 2.2rem !important; }
  .stat-item p  { font-size: 0.82rem !important; }

  /* ── SPLIT SECTIONS ── */
  .split-section {
    grid-template-columns: 1fr !important;
    min-height: unset !important;
  }
  .split-image { min-height: 240px !important; order: -1 !important; }
  .split-content {
    padding: 40px 20px !important;
    text-align: left !important;
  }
  .split-content h2 { font-size: 1.6rem !important; }

  /* ── INSIGHT CARDS ── */
  .insight-cards { grid-template-columns: 1fr !important; gap: 16px !important; }
  .insight-card { padding: 28px 20px !important; }
  .insight-card h4 { font-size: 1.1rem !important; }
  .insight-card p  { font-size: 0.93rem !important; }
  .insight-card .icon { font-size: 1.5rem !important; margin-bottom: 12px !important; }

  /* ── CTA BANNER ── */
  .cta-banner { padding: 60px 20px !important; text-align: center !important; }
  .cta-banner h2 { font-size: 1.7rem !important; margin-bottom: 14px !important; }
  .cta-banner p  { font-size: 0.97rem !important; margin-bottom: 28px !important; }
  .cta-banner .btn { padding: 15px 36px !important; font-size: 0.88rem !important; width: auto !important; }

  /* ── FOOTER ── */
  .site-footer { padding: 52px 0 24px !important; }
  .footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .footer-about img { height: 56px !important; max-width: 140px !important; }
  .footer-about p { font-size: 0.9rem !important; line-height: 1.65 !important; }
  .footer-col h4 { font-size: 0.88rem !important; margin-bottom: 12px !important; }
  .footer-col ul li a { font-size: 0.9rem !important; padding: 5px 0 !important; display: block !important; }
  .footer-bottom {
    flex-direction: column !important;
    gap: 8px !important;
    text-align: center !important;
    font-size: 0.82rem !important;
    padding-top: 20px !important;
  }
  .footer-social a {
    width: 42px !important;
    height: 42px !important;
  }

  /* ── PAGE HERO (subpages) ── */
  .page-hero, .inner-hero {
    margin-top: 76px !important;
    min-height: 240px !important;
    height: auto !important;
    padding: 48px 0 40px !important;
  }
  .page-hero-content h1, .inner-hero-content h1 {
    font-size: clamp(1.6rem, 6vw, 2.2rem) !important;
  }
  .page-hero-content p, .inner-hero-content p {
    font-size: 0.97rem !important;
  }

  /* ── CONTACT FORM ── */
  .contact-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .contact-form .form-row { grid-template-columns: 1fr !important; }
  .contact-form input,
  .contact-form textarea,
  .contact-form select { font-size: 1rem !important; padding: 14px !important; }

  /* ── CONTENT BLOCKS (subpages) ── */
  .content-block { padding: 48px 0 !important; }
  .two-col { grid-template-columns: 1fr !important; gap: 28px !important; }

  /* ── BUTTONS (global) ── */
  .btn { min-height: 48px !important; font-size: 0.88rem !important; }
}

/* ── SMALL MOBILE (≤ 480px) ─────────────────────────────────── */
@media (max-width: 480px) {
  .container,
  .container-wide { padding: 0 16px !important; }

  section { padding: 48px 0 !important; }

  #hero > div:last-child { padding: 28px 16px 44px !important; }
  #hero h1 { font-size: clamp(1.65rem, 8.5vw, 2.1rem) !important; }

  .stats-grid { gap: 20px !important; }
  .stat-item h3 { font-size: 1.9rem !important; }

  .service-card-image { height: 185px !important; }
  .service-card-image img { height: 185px !important; }

  .split-image { min-height: 200px !important; }

  h2 { font-size: clamp(1.45rem, 6vw, 1.8rem) !important; }
  .footer-bottom { font-size: 0.78rem !important; }
}
