/* Tema azul profundo + grafite: preserva a estrutura original e reforça a leitura em fundos escuros. */
:root {
  color-scheme: dark;
  --navy: #f2f6fc;
  --navy-deep: #0d2952;
  --blue: #82b0ff;
  --blue-deep: #a1c6ff;
  --blue-pale: #193a63;
  --ink: #f0f4fa;
  --muted: #b4c1d1;
  --line: #354456;
  --paper: #111922;
  --mist: #172330;
  --warm: #1c2a39;
}

body { color: var(--ink); background: var(--paper); }
.site-header { border-color: #304050; background: rgba(16, 24, 34, .96); }
.brand-caption { color: #aab9cb; }
.site-nav > a:not(.nav-cta) { color: #d0d9e5; }
.nav-cta { color: #fff; background: #315d9c; }
.nav-cta:hover { background: #4173ba; }
.menu-toggle { color: #f3f6fb; border-color: #405064; background: #192431; }
.site-nav { background: #151f2b; }

.skip-link { color: #fff; background: #315d9c; }

.hero {
  background:
    radial-gradient(ellipse at 77% 3%, rgba(65, 119, 201, .28), transparent 39%),
    radial-gradient(ellipse at 5% 95%, rgba(29, 65, 116, .25), transparent 46%),
    linear-gradient(135deg, #0d2343 0%, #123565 58%, #102a50 100%);
}
.hero h1,
.hero-proof strong { color: #f5f7fb; }
.hero-lede { color: #d8e2ef; }
.hero-support,
.hero-note { color: #b5c4d7; }
.hero-proof { border-color: #3b506c; }
.hero-proof > div { border-color: #3b506c; }
.hero-proof small { color: #b4c2d4; }
.proof-icon { color: #95bcff; }
.hero-photo-frame { border: 1px solid rgba(196, 217, 245, .18); background: #1b293a; box-shadow: 22px 22px 0 rgba(80, 132, 208, .16); }
.photo-caption { color: #f4f7fb; border-color: #35475c; background: #1b2938; }
.photo-caption strong { color: #f4f7fb; }
.photo-caption small { color: #bdc9d7; }
.photo-index { color: #c2ccda; }
.photo-index span { background: #7587a0; }
.button-secondary { color: #f4f7fb; border-color: #617894; background: #23364f; }
.button-secondary:hover { color: #fff; border-color: #8db7ff; background: #2b4566; }

.services { background: #141d27; }
.section-heading h2,
.process h2,
.about h2,
.faq h2 { color: #f3f6fb; }
.section-intro { color: #b8c4d3; }
.service-card { border-color: #344354; background: #202c38; }
.service-card:hover { border-color: #7396c7; box-shadow: 0 16px 36px rgba(0, 0, 0, .2); }
.service-icon { color: #a7c8ff; background: #1b3a62; }
.service-number { color: #a9b7c8; }
.service-card h3,
.more-services h3 { color: #f2f6fb; }
.service-card p { color: #c1ccd8; }
.text-link { color: #a4c6ff; }
.more-services { border-color: #344354; }
.service-chip { color: #d2dbe5; border-color: #415166; background: #1d2935; }
.service-chip span { color: #aac0dc; }
.service-chip:hover { color: #fff; border-color: #769bd1; background: #293b50; }
.service-disclaimer { color: #afbdcc; }

.approach { background: linear-gradient(135deg, #15396b 0%, #102b53 100%); }

.process { background: #1a2735; }
.process h2 { color: #f3f6fb; }
.process-heading .section-intro { color: #bec9d6; }
.step-index { color: #90b8ff; }
.step-rule { background: #496078; }
.process-step h3 { color: #f2f5f9; }
.process-step p { color: #c1ccd8; }
.process-footnote { color: #d5dee8; border-left-color: #8eb5fa; background: #253444; }

.about { background: linear-gradient(135deg, #123565 0%, #102d56 100%); }
.about-copy > p:not(.eyebrow) { color: #c6d3e2; }
.about-points li { color: #e4eaf1; }
.about-panel { border: 1px solid rgba(182, 209, 245, .14); background: radial-gradient(ellipse at 85% 8%, rgba(75,124,223,.30), transparent 37%), linear-gradient(145deg,#1a3b69,#0e1d31 73%); }

.faq { background: #121a23; }
.faq-intro h2 { color: #f3f6fb; }
.faq-intro > p:not(.eyebrow) { color: #bac6d4; }
.faq-list,
.faq-list details { border-color: #384757; }
.faq-list summary { color: #f1f5fa; }
.faq-plus { border-color: #586b81; }
.faq-answer { color: #c0cbd8; }

.contact { background: linear-gradient(125deg, #0e2c59 0%, #102544 100%); }
.contact-card { border-color: rgba(206, 221, 241, .22); background: rgba(20, 37, 60, .72); }

.site-footer { background: #0b1118; }
.footer-bottom { border-color: rgba(206, 221, 241, .14); }

@media (max-width: 800px) {
  .site-nav { border-color: #354456; background: #151f2b; }
  .site-nav > a:not(.nav-cta) { border-color: #2e3b4a; }
}

@media (prefers-reduced-motion: reduce) {
  .site-header { backdrop-filter: none; }
}
