/* Paleta noturna: mantém a identidade azul e melhora o contraste da marca. */
:root {
  color-scheme: dark;
  --ink: #f1f5fc;
  --muted: #a5b2c8;
  --blue: #8aa0ff;
  --blue-dark: #667ff0;
  --pale: #111d33;
  --line: #263650;
  --white: #101a2c;
}

body { color: var(--ink); background: #0a1221; }
.skip-link { color: #111d31; }
.announcement { background: #070d18; color: #b8c5d9; }
.announcement-inner a { color: #f4f7ff; }
.site-header { background: rgba(10, 18, 33, .94); border-bottom-color: rgba(180, 197, 224, .12); }
.brand { width: 205px; height: 48px; flex-direction: column; align-items: flex-start; justify-content: center; background: #070e1b; border: 1px solid #2b3a57; border-radius: 5px; padding: 3px 9px 2px; }
.brand img { width: 174px; height: 36px; object-fit: contain; clip-path: inset(0 0 40% 0); margin-bottom: -14px; }
.brand-tagline { align-self: flex-end; margin-right: 8px; color: #aab7cf; font-size: 7px; line-height: 1; letter-spacing: .04em; }
.brand-footer { width: 184px; height: 46px; }
.brand-footer img { width: 154px; height: 32px; }
.main-nav { color: #c2cce0; }
.button,.text-link { white-space: nowrap; }
.language-switch { display: inline-flex; flex: none; align-items: center; gap: 2px; padding: 3px; border: 1px solid #34445f; border-radius: 7px; }
.language-switch button { min-width: 30px; height: 27px; padding: 0 6px; border: 0; border-radius: 4px; background: transparent; color: #aebbd0; cursor: pointer; font: 700 9px var(--font-body); transition: background .18s, color .18s; }
.language-switch button:hover { color: #fff; }
.language-switch button[aria-pressed="true"] { background: #293b63; color: #fff; }
.language-switch button:focus-visible { outline: 2px solid #a4b2ff; outline-offset: 2px; }
.main-nav>a:not(.nav-login):hover,.footer-main nav a:hover { color: #aab8ff; }
.nav-login { background: #627cf1; color: #fff; }
.nav-login:hover { background: #7890ff; }
.menu-toggle span { background: #eef3ff; }
.hero { background: radial-gradient(ellipse at 78% 42%, rgba(62, 90, 172, .28), transparent 38%), linear-gradient(120deg, #0a1221, #0c172b 62%, #101a30); }
.hero-grid { opacity: .18; background-image: linear-gradient(rgba(165, 186, 230, .18) 1px, transparent 1px), linear-gradient(90deg, rgba(165, 186, 230, .18) 1px, transparent 1px); }
.eyebrow { color: #9aabc5; }
.hero h1,.intro-content h2,.section-heading h2,.process-intro h2,.portal-copy h2,.contact-main h2 { color: #f2f5fc; }
.hero h1 span,.intro-content h2 span,.process-intro h2 span { color: #9babff; }
.hero-description,.hero-proof p { color: #aab7cc; }
.hero-proof strong { color: #e9eef8; }
.proof-avatars span { border-color: #0b1424; background: #24385f; color: #d5ddff; }
.proof-avatars span+span { background: #493622; color: #ffe0bd; }
.text-link { color: #c5cee0; }
.text-link span { color: #a0b0ff; }
.button-primary { background: #627cf1; box-shadow: 0 9px 28px rgba(72, 100, 210, .26); }
.button-primary:hover { background: #7890ff; }
.hero-bottom { color: #93a2ba; }
.hero-bottom-line { background: #44536d; }
.visual-orbit { border-color: rgba(162, 181, 229, .2); }
.visual-core { background: linear-gradient(145deg, #f9fbff, #dce5fa); box-shadow: 0 25px 65px rgba(0, 0, 0, .3), inset 0 0 0 1px #fff; }
.orbit-card { background: rgba(20, 32, 54, .92); border-color: #334361; box-shadow: 0 12px 35px rgba(0, 0, 0, .22); color: #edf2fc; }
.orbit-card small { color: #9aa9c0; }
.visual-caption { color: #a1afc5; }
.intro-section,.work-section,.contact-section { background: #0d1729; }
.section-kicker { color: #a6b3c8; }
.kicker-rule { background: #354560; }
.intro-content h2 span,.process-intro h2 span { color: #9babff; }
.intro-bottom p { color: #a8b5c9; }
.round-link { border-color: #344461; color: #a4b2ff; }
.round-link:hover { background: #667ff0; color: #fff; border-color: #667ff0; }
.intro-image { position: relative; align-self: center; margin: 4px 0 0; min-width: 0; }
.intro-image img { display: block; width: 100%; height: 245px; object-fit: cover; border-radius: 9px; filter: saturate(.78) brightness(.78); }
.intro-image:after { content: ""; position: absolute; inset: 0 0 38px; border-radius: 9px; background: linear-gradient(180deg, transparent 42%, rgba(7, 15, 28, .46)); pointer-events: none; }
.intro-image figcaption { display: flex; justify-content: space-between; gap: 8px; padding: 10px 1px 0; color: #92a1b8; font-size: 9px; letter-spacing: .04em; }
.services-section,.process-section { background: #111d33; }
.section-heading>p { color: #a8b5c9; }
.service-card { background: #17253d; border-color: #2b3a55; color: #f0f4fc; }
.service-card:hover { box-shadow: 0 18px 34px rgba(0, 0, 0, .18); }
.service-featured { background: linear-gradient(145deg, #253b70, #1b2d50); border-color: #344b7d; }
.service-number { color: #a0aec5; }
.service-featured .service-number { color: #b4c3e5; }
.service-card p { color: #acb9ce; }
.service-featured p { color: #d1daf0; }
.service-card>a { color: #a6b4ff; }
.service-featured>a { color: #c4ceff; }
.symbol-blue { color: #a1b0ff; background: #283960; }
.symbol-violet { color: #c1a6ff; background: #352c50; }
.symbol-orange { color: #ffc28f; background: #4b382c; }
.symbol-green { color: #8fd9bd; background: #234538; }
.service-note { border-color: #2b3b55; }
.service-note p { color: #a8b5c9; }
.service-note strong { color: #eef2fb; }
.service-note>a,.note-star { color: #a3b2ff; }
.project-image { background: #1a2740; }
.project-image img { filter: saturate(.88); }
.project-arrow { background: #111e33; color: #f3f6fc; }
.project-meta { color: #94a3b8; }
.project-card h3 { color: #eef2fc; }
.portfolio-disclaimer { color: #8f9db2; }
.process-list,.process-item { border-color: #2a3953; }
.process-intro>p:not(.eyebrow) { color: #a8b5c9; }
.process-item>span:first-child,.process-item p { color: #9aa9bf; }
.process-item h3 { color: #eff3fb; }
.process-mark { color: #9eaeff; }
.button-outline { color: #e5ebf7; border-color: #455570; }
.button-outline:hover { background: #1b2942; border-color: #7386be; }
.portal-section { background: #070e1b; }
.portal-copy h2 span { color: #9babff; }
.portal-copy>p:not(.eyebrow) { color: #aab8ce; }
.button-light { background: #edf1ff; color: #142342; }
.contact-main>p:not(.eyebrow) { color: #a8b5c9; }
.contact-email,.support-link { color: #a4b2ff; }
.contact-email { border-color: #34445f; }
.contact-region { border-color: #293851; }
.region-code { background: #23365b; color: #c2ceff; }
.contact-region strong { color: #ebf0fa; }
.contact-region p { color: #9baac0; }
.site-footer { background: #070d18; }
.brand-footer { background: #070e1b; border-color: #2b3a57; }
.footer-main>p { color: #a8b5c9; }
.footer-main nav { color: #c0cbe0; }
.footer-bottom { border-color: rgba(211, 222, 241, .12); color: #8998ae; }

@media (max-width: 960px) {
  .intro-layout { grid-template-columns: 125px minmax(0, 1fr) minmax(210px, .72fr); gap: 28px; }
  .intro-image img { height: 220px; }
}

@media (max-width: 720px) {
  .main-nav { background: #101b2e; border-color: #293850; box-shadow: 0 18px 30px rgba(0, 0, 0, .28); }
  .main-nav>a { border-color: #26354d; color: #d3dced; }
  .language-switch { align-self: flex-start; margin: 10px 0 8px; }
  .intro-layout { grid-template-columns: 1fr; gap: 22px; }
  .intro-image { margin-top: 0; }
  .intro-image img { height: 210px; }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .projects-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 390px) {
  .services-grid,.projects-grid { grid-template-columns: 1fr; }
}
