/* ================================================
   DARK THEME — shared subpages override
   ================================================ */

:root {
  --pd-bg: #081626;
  --pd-heading: #E8F4FF;
  --pd-body: #7EAAC8;
  --pd-glass: rgba(255, 255, 255, 0.045);
  --pd-border: rgba(18, 199, 232, 0.18);
  --pd-border-hover: rgba(18, 199, 232, 0.38);
  --pd-shadow: 0 14px 40px rgba(0, 0, 0, 0.55);
  --pd-cyan: #12C7E8;
  --pd-gold: #F5B301;
}

/* ---- Base ---- */
body {
  background:
    radial-gradient(ellipse 80% 60% at 15% -5%, rgba(18, 199, 232, 0.15), transparent),
    radial-gradient(ellipse 60% 50% at 85% -5%, rgba(18, 199, 232, 0.08), transparent),
    radial-gradient(ellipse 50% 40% at 50% 105%, rgba(18, 199, 232, 0.06), transparent),
    linear-gradient(180deg, #050D18 0%, #081626 40%, #0A1C2C 75%, #0D2236 100%) !important;
  color: var(--pd-body) !important;
  min-height: 100vh;
}

/* Tailwind color overrides */
.text-neuroNavy { color: var(--pd-heading) !important; }
.text-neuroBody { color: var(--pd-body) !important; }
.text-neuroCyan { color: var(--pd-cyan) !important; }

/* ---- Header ---- */
header {
  background: rgba(4, 11, 22, 0.82) !important;
  backdrop-filter: blur(28px) saturate(1.4) !important;
  border-bottom: 1px solid rgba(18, 199, 232, 0.16) !important;
  box-shadow: 0 1px 0 rgba(18, 199, 232, 0.10), 0 8px 40px rgba(0, 0, 0, 0.35) !important;
}

/* ---- Hamburger button ---- */
.mobile-toggle { border-color: rgba(18, 199, 232, 0.28) !important; }
.mobile-toggle:hover { border-color: rgba(18, 199, 232, 0.55) !important; }
.mobile-toggle span:not(.sr-only) { background: #7EAAC8 !important; }

/* ---- Nav dropdown ---- */
.nav-dropdown {
  background: rgba(4, 13, 27, 0.97) !important;
  border-color: rgba(18, 199, 232, 0.18) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(18, 199, 232, 0.08) !important;
}
.nav-dropdown-link { color: #7EAAC8 !important; border-bottom-color: rgba(18, 199, 232, 0.08) !important; }
.nav-dropdown-link:hover { color: #12C7E8 !important; background: rgba(18, 199, 232, 0.08) !important; }

/* ---- Section elements ---- */
.section-kicker {
  background: rgba(18, 199, 232, 0.09) !important;
  border-color: rgba(18, 199, 232, 0.28) !important;
  color: var(--pd-cyan) !important;
}
.section-title { color: var(--pd-heading) !important; }
h1, h2, h3, h4 { color: var(--pd-heading) !important; }
p { color: var(--pd-body); }

/* ---- Legal card ---- */
.legal-card {
  background: var(--pd-glass) !important;
  border-color: var(--pd-border) !important;
  box-shadow: var(--pd-shadow) !important;
}
.legal-card h2 { color: var(--pd-heading) !important; }
.legal-card p,
.legal-card li { color: var(--pd-body) !important; }

/* ---- Contact card ---- */
.contact-card {
  background: var(--pd-glass) !important;
  border-color: var(--pd-border) !important;
  box-shadow: var(--pd-shadow) !important;
}
.contact-card h2 { color: var(--pd-heading) !important; }
.contact-card p,
.contact-card a { color: var(--pd-body) !important; }
.contact-card a:hover { color: var(--pd-cyan) !important; }
.contact-card a.font-extrabold { color: var(--pd-heading) !important; }

/* ---- Form fields ---- */
.form-field label { color: var(--pd-heading) !important; }
.form-field input,
.form-field textarea {
  background: rgba(8, 22, 38, 0.60) !important;
  border-color: rgba(18, 199, 232, 0.22) !important;
  color: var(--pd-heading) !important;
}
.form-field input::placeholder,
.form-field textarea::placeholder { color: rgba(126, 170, 200, 0.45) !important; }
.form-field input:focus,
.form-field textarea:focus {
  border-color: var(--pd-cyan) !important;
  box-shadow: 0 0 0 4px rgba(18, 199, 232, 0.16) !important;
}

/* ---- CTAs ---- */
.primary-cta {
  background: var(--pd-cyan) !important;
  box-shadow: 0 16px 44px rgba(18, 199, 232, 0.42), 0 0 0 1px rgba(18, 199, 232, 0.28) !important;
}
.primary-cta:hover {
  background: #0FAED0 !important;
  box-shadow: 0 22px 52px rgba(18, 199, 232, 0.52) !important;
  transform: translateY(-2px) !important;
}

/* ---- Footer ---- */
footer {
  background: rgba(4, 11, 22, 0.96) !important;
  backdrop-filter: blur(24px) !important;
  border-top-color: rgba(18, 199, 232, 0.14) !important;
}
.footer-title { color: var(--pd-heading) !important; }
.footer-links a { color: #618FA8 !important; }
.footer-links a:hover { color: var(--pd-cyan) !important; }
footer p.text-sm { color: rgba(97, 143, 168, 0.65) !important; }
footer .text-neuroNavy { color: var(--pd-heading) !important; }
footer .text-neuroCyan { color: var(--pd-cyan) !important; }

/* ---- Back arrow — fixed sticky ---- */
.back-arrow {
  align-items: center;
  background: rgba(18, 199, 232, 0.12);
  border: 1px solid rgba(18, 199, 232, 0.32);
  border-radius: 50%;
  color: #12C7E8;
  display: flex;
  height: 2.5rem;
  justify-content: center;
  left: 1rem;
  position: fixed;
  top: 1rem;
  transition: background 200ms ease, box-shadow 200ms ease;
  width: 2.5rem;
  z-index: 200;
  text-decoration: none;
}
@media (hover: hover) {
  .back-arrow:hover {
    background: rgba(18, 199, 232, 0.22);
    box-shadow: 0 0 0 4px rgba(18, 199, 232, 0.15);
  }
}

/* ---- Hover uplift ---- */
@media (hover: hover) {
  .legal-card:hover,
  .contact-card:hover {
    border-color: var(--pd-border-hover) !important;
    box-shadow: 0 22px 56px rgba(18, 199, 232, 0.14) !important;
  }
}
