:root {
  --navy: #163a50 !important;
  --navy-mid: #245f73 !important;
  --navy-light: #367f91 !important;
  --navy2: #245f73 !important;
  --blue: #245f73 !important;
  --gold: #0b7995 !important;
  --gold-light: #0a6177 !important;
  --gold-pale: #e2f4f6 !important;
  --cream: #f8fbfc !important;
  --gray-100: #eff6f7 !important;
  --gray-200: #dbe8eb !important;
  --gray-400: #526873 !important;
  --gray-600: #4b6069 !important;
  --text: #172b36 !important;
  --text-light: #405862 !important;
  --muted: #4b6069 !important;
  --line: #dbe8eb !important;
  --ink: #172b36 !important;
}

html { color-scheme: light; }
body { background: #f8fbfc; color: #172b36; }

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #0b7995;
  outline-offset: 3px;
}

nav,
.legal-nav {
  background: rgba(255, 255, 255, 0.97) !important;
  border-bottom: 1px solid #dbe8eb !important;
  box-shadow: 0 8px 28px rgba(22, 58, 80, 0.07);
}

nav :where(.brand, .nav-logo-text, .nav-links a),
.legal-nav a {
  color: #163a50 !important;
}

nav :where(.brand span, .nav-logo-text span),
.legal-nav .back {
  color: #0b6d86 !important;
}

.nav-links a:hover {
  color: #163a50 !important;
  background: #eaf5f7 !important;
}

.nav-lang {
  color: #0b6d86 !important;
  border-color: #9bcbd5 !important;
  background: #eef8fa !important;
}

.nav-burger span { background: #163a50 !important; }

.hero,
header.hero,
.legal-hero {
  background: linear-gradient(135deg, #f8fbfc 0%, #e8f4f7 58%, #d9eef2 100%) !important;
  color: #172b36 !important;
}

.hero-bg-pattern {
  background-image:
    radial-gradient(circle at 72% 48%, rgba(11, 121, 149, 0.13) 0%, transparent 58%),
    radial-gradient(circle at 18% 82%, rgba(76, 151, 169, 0.16) 0%, transparent 48%) !important;
}

.hero-bg-photo { opacity: 0.035 !important; }
.hero-grid-lines {
  background-image:
    linear-gradient(rgba(11, 121, 149, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 121, 149, 0.055) 1px, transparent 1px) !important;
}

.hero :where(h1, h2, .hero-headline, .hero-card-title),
.legal-hero h1 { color: #163a50 !important; }
.hero :where(p, .hero-sub, .score-freq, .hero-stat-label, .hero-card-note),
.legal-hero p { color: #405862 !important; }
.hero-headline em,
.hero-stat-num { color: #0b6d86 !important; }
.hero-badge {
  background: #e2f4f6 !important;
  border-color: #a9d5dd !important;
  color: #0b6177 !important;
}
.hero-card {
  background: rgba(255, 255, 255, 0.88) !important;
  border-color: #cbe2e7 !important;
  box-shadow: 0 20px 60px rgba(22, 58, 80, 0.1);
}
.score-item,
.hero-stats { border-color: #d5e7ea !important; }
.hero-card-note { background: #eef8fa !important; }
.hero-announcement { color: #fff !important; box-shadow: 0 10px 28px rgba(22, 58, 80, 0.16) !important; }
.hero-left .social-btn { color: #163a50 !important; border-color: #b8d7dd !important; }
.hero-left > div[style*="margin-bottom:20px"] > span { color: #4b6069 !important; }

:where(.nav-cta, .btn-primary, .button, .cta, .navcta, .ncta, .training-cta, .form-submit, .sticky-call, .promo-cta, .nl-submit, .submit) {
  background: #0b7995 !important;
  border-color: #0b7995 !important;
  color: #fff !important;
  min-height: 44px;
}
:where(.nav-cta, .btn-primary, .button, .cta, .navcta, .ncta, .training-cta, .form-submit, .sticky-call, .promo-cta, .nl-submit, .submit):hover {
  background: #075f76 !important;
  border-color: #075f76 !important;
}
.button.outline,
.btn-ghost {
  background: transparent !important;
  color: #164b60 !important;
  border-color: #76aeba !important;
}
.btn-ghost:hover,
.button.outline:hover { background: #fff !important; color: #163a50 !important; }

.trust-bar {
  background: #dff2f5 !important;
  border-block: 1px solid #c9e4e9;
}
.trust-item { color: #163a50 !important; }
.trust-item::before { background: #0b7995 !important; color: #fff !important; }

.why,
.proof,
.cta-band,
.closing,
.countdown,
#app {
  background: linear-gradient(135deg, #eef8fa 0%, #dceff3 100%) !important;
  color: #172b36 !important;
  border-color: #b9dce3 !important;
}
.why :where(.section-title, .diff-title, .training-name, .why-right-title),
.proof h2,
.cta-band h2,
.closing h2,
.countdown h2,
#app :where(h2, h3) { color: #163a50 !important; }
.why :where(.section-sub, .diff-body, .training-name span),
.proof p,
.cta-band p,
.closing p,
.countdown p,
#app p { color: #405862 !important; }
.app2 {
  background: rgba(255, 255, 255, 0.84) !important;
  border-color: #c2dfe5 !important;
  box-shadow: 0 14px 38px rgba(22, 58, 80, 0.07) !important;
}
.app2.on { border-color: #7db9c5 !important; box-shadow: 0 18px 44px rgba(22, 58, 80, 0.12) !important; }
.app2 :where(.role, .price) { color: #164b60 !important; }
.app2 a.o { color: #164b60 !important; border-color: #76aeba !important; }
.app2 a.o:hover { background: #e2f4f6 !important; }
.differentiator,
.training-item { border-color: #c9e2e7 !important; }
.diff-num { color: rgba(11, 121, 149, 0.35) !important; }
.why-right {
  background: rgba(255, 255, 255, 0.76) !important;
  border-color: #c3e0e5 !important;
}
.training-dur { background: #d9eff2 !important; color: #0a6177 !important; }

.service-card,
.testimonial-card,
.card,
.faq,
.newsletter,
.form-card,
.legal-main {
  border-color: #dbe8eb !important;
  box-shadow: 0 12px 36px rgba(22, 58, 80, 0.06);
}
.service-card:hover,
.card:hover { border-color: #7db9c5 !important; box-shadow: 0 16px 42px rgba(22, 58, 80, 0.11); }
.service-icon,
.cat,
.effective { background: #e2f4f6 !important; color: #0a6177 !important; }
.section-label,
.service-link { color: #0b6d86 !important; }

table.cmp th {
  background: #d9eff2 !important;
  color: #163a50 !important;
}
.steps li::before { background: #0b7995 !important; color: #fff !important; }
.chip.active { background: #0b7995 !important; border-color: #0b7995 !important; }

.promo-head {
  background: linear-gradient(135deg, #e8f5f7 0%, #d3ebf0 100%) !important;
  color: #172b36 !important;
}
.promo-head :where(h2, p),
.promo-alert { color: #163a50 !important; }
.promo-alert { background: #fff !important; border-color: #a9d5dd !important; }
.promo-urgency { background: #eef8fa !important; border-color: #83bcc7 !important; }
.promo-reopen { background: #0b7995 !important; border-color: #75b8c5 !important; }
.promo-reopen strong { color: #fff !important; }

.mobile-menu {
  background: #fff !important;
  border-bottom-color: #dbe8eb !important;
  box-shadow: 0 16px 30px rgba(22, 58, 80, 0.1);
}
.mobile-menu a { color: #163a50 !important; border-bottom-color: #e1ecee !important; }
.mobile-menu a:last-child { background: #0b7995 !important; color: #fff !important; }

footer { background: #163a50 !important; color: #d9e8ec !important; }

/* Explicit foregrounds for light and dark surfaces. */
.score-range.green { color: #246536 !important; }
.score-range.yellow { color: #785900 !important; }
.score-range.red { color: #a63139 !important; }
.np-chip { background: #e2f4f6 !important; color: #163a50 !important; }
.diff-num, .proof strong { color: #0a6177 !important; }
.about-img-badge, .about-img-badge span, .process-number { color: #fff !important; }
nav .navlinks a:not(.button) { color: #163a50 !important; }
.hero :where(.crumb, .crumbs, .crumb a, .crumbs a, .eyebrow) { color: #405862 !important; }
.hero .badge { background: #fbe5e5 !important; color: #872830 !important; }
.btn.btn-gold { background: #0b7995 !important; color: #fff !important; }
.btn.btn-gold:hover { background: #075f76 !important; }
.countdown span[style*="color:"] { color: #405862 !important; }
.cta-band span[style*="color:"] { color: #405862 !important; }
.language-switch button[aria-pressed="true"] { color: #fff !important; }
.promo-close { background: #163a50 !important; color: #fff !important; }
.promo-close:hover { background: #075f76 !important; }
.flag { color: #d5f3f6 !important; }
.workshop-banner { --gold: #a9e5ed !important; --gold-light: #d5f3f6 !important; }
.workshop-banner [style*="background: #E87474"] { background: #a63139 !important; }
.workshop-banner .btn-primary { color: #fff !important; }
.cta-banner h2 em { color: #a9e5ed !important; }
.cta-banner .btn-ghost { color: #fff !important; border-color: #a9e5ed !important; }
.cta-banner .btn-ghost:hover { color: #163a50 !important; background: #fff !important; }
.cta-banner span[style*="color:"] { color: #d9e8ec !important; }
footer :where(a, p, span, .footer-copy) { color: #d9e8ec !important; }
footer a:hover { color: #fff !important; text-decoration: underline; }
.workshop-banner :focus-visible, .cta-banner :focus-visible, footer :focus-visible {
  outline-color: #a9e5ed;
}
@media (max-width: 760px) {
  .workshop-banner { grid-template-columns: minmax(0, 1fr) !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
