:root {
  --navy: #0a2540;
  --navy-2: #13314d;
  --blue: #0067b8;
  --blue-hover: #005a9e;
  --ink: #1b1f23;
  --muted: #5b6570;
  --line: #d5dbe3;
  --line-strong: #b7c0cb;
  --bg: #eceff3;
  --surface: #ffffff;
  --danger: #a32020;
  --ok: #1f6b3a;
  --sans: Arial, Helvetica, "Liberation Sans", sans-serif;
  --accent: #e07b00;
  --wrap: 70rem;
  --narrow: 44rem;
  --header: 3.5rem;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--surface);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 0.9rem;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: var(--blue);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 2px;
}

.skip {
  position: absolute;
  left: 0.75rem;
  top: -3rem;
  background: var(--navy);
  color: #fff;
  padding: 0.45rem 0.7rem;
  z-index: 20;
}

.skip:focus {
  top: 0.75rem;
}

.wrap {
  width: 100%;
  max-width: var(--wrap);
  margin: 0 auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.wrap--narrow {
  max-width: var(--narrow);
}

.util {
  background: #071422;
  color: #b8c4d0;
  font-size: 0.75rem;
}

.util__inner {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  min-height: 1.85rem;
  align-items: center;
}

.util a {
  color: #d5deE6;
}

.site-header {
  background: var(--navy);
  color: #fff;
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: var(--header);
}

.brand {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 1.05rem;
  letter-spacing: 0.01em;
}

.brand:hover {
  color: #fff;
  text-decoration: none;
}

.brand__mark {
  width: 1.35rem;
  height: 1.35rem;
  color: #7eb6e8;
}

.nav {
  display: flex;
  align-items: center;
  gap: 1.15rem;
}

.nav a {
  color: #d5dee6;
  font-size: 0.88rem;
}

.nav a:hover,
.nav a[aria-current="page"] {
  color: #fff;
  text-decoration: none;
}

.nav__cta {
  background: var(--blue);
  color: #fff !important;
  padding: 0.4rem 0.75rem;
}

.nav__cta:hover {
  background: var(--blue-hover);
  text-decoration: none;
}

.hero {
  background: var(--bg);
  border-bottom: 1px solid var(--line);
  padding: 2.4rem 0 2.2rem;
}

.hero__grid {
  display: grid;
  grid-template-columns: 1.35fr 0.85fr;
  gap: 2.5rem;
  align-items: start;
}

.kicker {
  margin: 0 0 0.45rem;
  color: var(--muted);
  font-size: 0.8rem;
}

.hero h1,
.page-hero h1,
.page-title,
.section h2,
.section-title,
.util-page h1 {
  margin: 0 0 0.75rem;
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--navy);
}

.lead {
  margin: 0;
  max-width: 40rem;
  color: var(--ink);
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.25rem;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.3rem;
  padding: 0.4rem 0.9rem;
  border: 1px solid var(--blue);
  background: var(--blue);
  color: #fff;
  font: inherit;
  font-size: 0.88rem;
  cursor: pointer;
  text-decoration: none;
}

.btn:hover {
  background: var(--blue-hover);
  border-color: var(--blue-hover);
  color: #fff;
  text-decoration: none;
}

.btn--ghost {
  background: #fff;
  color: var(--navy);
  border-color: var(--line-strong);
}

.btn--ghost:hover {
  background: var(--bg);
  color: var(--navy);
}

.btn:disabled {
  opacity: 0.55;
  cursor: wait;
}

.meta-table,
.spec-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--surface);
  border: 1px solid var(--line);
}

.meta-table th,
.meta-table td,
.spec-table th,
.spec-table td {
  text-align: left;
  padding: 0.55rem 0.7rem;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}

.meta-table tr:last-child th,
.meta-table tr:last-child td,
.spec-table tr:last-child th,
.spec-table tr:last-child td {
  border-bottom: 0;
}

.meta-table th,
.spec-table th {
  width: 38%;
  color: var(--muted);
  font-weight: 600;
  font-size: 0.8rem;
  background: #eef1f5;
}

.section {
  padding: 2.2rem 0;
  border-bottom: 1px solid var(--line);
}

.section--alt {
  background: var(--bg);
}

.section--tight {
  padding: 1.8rem 0;
}

.section h2 {
  font-size: 1.2rem;
}

.prose {
  max-width: 46rem;
}

.prose p {
  margin: 0 0 0.85rem;
}

.prose p:last-child {
  margin-bottom: 0;
}

.prose--spaced {
  margin-bottom: 1.1rem;
}

.page-hero {
  background: var(--bg);
  border-bottom: 1px solid var(--line);
  padding: 1.6rem 0;
}

.layout-2 {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 1.5rem;
  padding: 1.6rem 0 2.4rem;
}

.panel {
  background: var(--surface);
  border: 1px solid var(--line);
  padding: 1.2rem;
}

.panel h2 {
  margin: 0 0 0.9rem;
  font-size: 1rem;
  color: var(--navy);
}

.channels {
  display: grid;
  gap: 0.85rem;
}

.channel span {
  display: block;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 600;
  margin-bottom: 0.15rem;
}

.hint {
  margin: 1rem 0 0;
  font-size: 0.82rem;
  color: var(--muted);
}

.form {
  display: grid;
  gap: 0.8rem;
}

.field {
  display: grid;
  gap: 0.3rem;
}

.field--split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.8rem;
}

.field label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--navy);
}

.field input,
.field select,
.field textarea {
  width: 100%;
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--ink);
  font: inherit;
  padding: 0.5rem 0.6rem;
  border-radius: 0;
}

.field textarea {
  min-height: 8rem;
  resize: vertical;
}

.hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.form-status {
  margin: 0;
  font-size: 0.88rem;
}

.form-status--ok {
  color: var(--ok);
}

.form-status--error {
  color: var(--danger);
}

.banner {
  margin: 0 0 0.9rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #b7cfc0;
  background: #eef6f0;
  color: var(--ok);
}

.site-footer {
  background: var(--navy);
  color: #b8c4d0;
  padding: 1.6rem 0 1.2rem;
}

.site-footer a {
  color: #d5dee6;
}

.site-footer .brand {
  color: #fff;
}

.site-footer .brand:hover {
  color: #fff;
}

.site-footer__top {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 1.4rem;
  padding-bottom: 1.1rem;
  border-bottom: 1px solid #24425f;
}

.legal {
  margin: 0.55rem 0 0;
  font-size: 0.8rem;
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1.1rem;
  align-items: center;
  justify-content: flex-end;
}

.site-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
  flex-wrap: wrap;
  padding-top: 0.85rem;
  font-size: 0.75rem;
  color: #8ea0b3;
}

.util-page {
  min-height: 60vh;
  display: grid;
  align-content: center;
  padding: 3rem 0;
}

.contact-strip {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  align-items: center;
}

@media (max-width: 860px) {
  .hero__grid,
  .layout-2,
  .field--split,
  .site-footer__top {
    grid-template-columns: 1fr;
  }

  .nav a:not(.nav__cta) {
    display: none;
  }

  .footer-nav {
    justify-content: flex-start;
  }
}

@media (max-width: 520px) {
  .actions {
    flex-direction: column;
    align-items: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* ---- Camada visual institucional (estilo fabricante, propositalmente sóbrio/clássico) ---- */
body { background: #dfe4ea; }
.util { background: linear-gradient(#f7f8fa, #e6e9ee); color: #46505b; border-bottom: 1px solid var(--line-strong); }
.util a { color: #0b4f8a; }
.site-header {
  background: linear-gradient(#17406b 0%, #0a2540 55%, #081c31 100%);
  border-bottom: 3px solid var(--accent);
  box-shadow: 0 1px 3px rgba(0,0,0,.35);
}
.site-header__inner { min-height: 3.75rem; }
.brand { font-size: 1.2rem; letter-spacing: .02em; text-shadow: 0 1px 0 rgba(0,0,0,.4); }
.brand__mark { color: #f0a53c; width: 1.5rem; height: 1.5rem; }
.nav { gap: 0; }
.nav a { padding: 1.2rem .95rem; font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; border-left: 1px solid rgba(255,255,255,.08); }
.nav a:hover { background: rgba(255,255,255,.1); }
.nav__cta {
  margin-left: .8rem; padding: .45rem 1rem !important; border: 1px solid #a85a00 !important;
  background: linear-gradient(#f39a1f, #d26f00) !important; border-radius: 2px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35); text-shadow: 0 -1px 0 rgba(0,0,0,.3);
}
.nav__cta:hover { background: linear-gradient(#ffa930, #de7a08) !important; }

.hero {
  background: linear-gradient(#ffffff 0%, #e9edf2 100%);
  border-bottom: 1px solid var(--line-strong);
  padding: 2.8rem 0 2.6rem;
  position: relative;
}
.hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--navy) 0 30%, var(--blue) 30% 60%, var(--accent) 60% 100%); }
.kicker { color: var(--blue); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; }
.hero h1 { font-size: 2rem; letter-spacing: -.01em; text-shadow: 0 1px 0 #fff; }
.lead { font-size: .98rem; line-height: 1.6; }

.hero__grid, .layout-2, .section > .wrap, .contact-strip { position: relative; }
main { background: #fff; max-width: 74rem; margin: 0 auto; border-left: 1px solid var(--line-strong); border-right: 1px solid var(--line-strong); box-shadow: 0 0 12px rgba(0,0,0,.08); }
.util, .site-header, .site-footer { }

.section { padding: 2rem 0; }
.section h2 {
  font-size: 1.1rem; text-transform: uppercase; letter-spacing: .05em; color: var(--navy);
  padding-bottom: .45rem; margin-bottom: 1rem; border-bottom: 2px solid var(--blue); position: relative;
}
.section h2::before { content: ""; display: inline-block; width: .6rem; height: .6rem; margin-right: .5rem; background: var(--accent); }
.section--alt { background: linear-gradient(#f3f5f8, #e9edf2); }

.meta-table, .spec-table { border: 1px solid var(--line-strong); box-shadow: 0 1px 2px rgba(0,0,0,.06); font-size: .85rem; }
.meta-table th, .spec-table th {
  background: linear-gradient(#f4f6f9, #dde3ea); color: var(--navy); font-size: .78rem;
  text-transform: uppercase; letter-spacing: .03em; border-right: 1px solid var(--line-strong);
}
.spec-table th { width: 22%; }
.spec-table tr:nth-child(even) td { background: #f7f9fb; }
.meta-table { border-top: 3px solid var(--navy); }

.btn {
  border: 1px solid #00457c; border-radius: 2px; background: linear-gradient(#1a85d6, #005a9e);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3); text-shadow: 0 -1px 0 rgba(0,0,0,.3);
  font-weight: 700; font-size: .82rem; text-transform: uppercase; letter-spacing: .03em; min-height: 2.4rem;
}
.btn:hover { background: linear-gradient(#2a95e6, #0067b8); border-color: #00457c; }
.btn--ghost { background: linear-gradient(#ffffff, #e3e8ee); color: var(--navy); text-shadow: none; border-color: var(--line-strong); }
.btn--ghost:hover { background: linear-gradient(#ffffff, #d6dde6); }

.panel { border: 1px solid var(--line-strong); border-top: 3px solid var(--navy); box-shadow: 0 1px 2px rgba(0,0,0,.06); background: linear-gradient(#fff, #f8f9fb); }
.panel h2 { text-transform: uppercase; letter-spacing: .04em; font-size: .9rem; border-bottom: 1px solid var(--line); padding-bottom: .5rem; }
.page-hero { background: linear-gradient(#ffffff, #e9edf2); border-bottom: 3px solid var(--blue); }
.field input, .field select, .field textarea { border: 1px solid #98a4b2; box-shadow: inset 0 1px 2px rgba(0,0,0,.08); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--blue); outline: 2px solid #9cc7ec; outline-offset: 0; }

.site-footer { background: linear-gradient(#0d2d4d, #071a2d); border-top: 4px solid var(--accent); margin-top: 0; padding: 2rem 0 1.2rem; }
.site-footer__top { border-bottom-color: #2b4d6e; }
.site-footer__bottom { border-top: 0; }
.footer-nav a { font-size: .82rem; text-decoration: underline; text-decoration-color: rgba(255,255,255,.3); }

@media (max-width: 860px) {
  main { border-left: 0; border-right: 0; }
  .nav a:not(.nav__cta) { display: none; }
  .hero h1 { font-size: 1.6rem; }
}

/* ---- Componentes da estrutura institucional ---- */
.nav a { padding: 1.3rem .8rem; font-size: .76rem; }
.nav__cta { font-size: .76rem !important; }
.btn--accent { background: linear-gradient(#f39a1f, #d26f00); border-color: #a85a00; }
.btn--accent:hover { background: linear-gradient(#ffa930, #de7a08); border-color: #a85a00; }

.meta-table caption { text-align: left; padding: .5rem .7rem; font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: #fff; background: linear-gradient(#17406b, #0a2540); }
.meta-table { border-top: 0; }

.pillars { background: linear-gradient(#0f3558, #0a2540); border-bottom: 1px solid #06192c; color: #fff; }
.pillars__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.pillars__grid div { padding: 1rem 1rem; border-left: 1px solid rgba(255,255,255,.12); display: grid; gap: .15rem; align-content: start; }
.pillars__grid div:last-child { border-right: 1px solid rgba(255,255,255,.12); }
.pillars__grid strong { font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; color: #f0a53c; }
.pillars__grid span { font-size: .8rem; color: #d5dee6; }

.crumbs { margin: 0 0 .5rem; font-size: .75rem; color: var(--muted); }
.page-hero { padding: 1.6rem 0 1.8rem; }
.page-hero h1 { font-size: 1.8rem; }

.grid { display: grid; gap: 1rem; }
.grid--2 { grid-template-columns: repeat(2, 1fr); }
.grid--3 { grid-template-columns: repeat(3, 1fr); }
.grid--4 { grid-template-columns: repeat(4, 1fr); }
.card { background: linear-gradient(#fff, #f6f8fa); border: 1px solid var(--line-strong); border-top: 3px solid var(--blue); box-shadow: 0 1px 2px rgba(0,0,0,.07); padding: 1rem 1.1rem 1.1rem; display: flex; flex-direction: column; }
.card--flat { border-top-color: var(--navy); }
.card__title { margin: 0 0 .5rem; font-size: .95rem; color: var(--navy); text-transform: uppercase; letter-spacing: .03em; }
.card p { margin: 0 0 .7rem; font-size: .86rem; }
.card__more { margin-top: auto; font-weight: 700; font-size: .8rem; }
.more-link { margin: 1.1rem 0 0; font-weight: 700; font-size: .85rem; }

.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); counter-reset: s; border: 1px solid var(--line-strong); background: #fff; }
.steps li { counter-increment: s; padding: .9rem; border-right: 1px solid var(--line); display: grid; gap: .3rem; align-content: start; }
.steps li:last-child { border-right: 0; }
.steps li::before { content: counter(s); width: 1.6rem; height: 1.6rem; display: grid; place-items: center; color: #fff; font-weight: 700; font-size: .8rem; background: linear-gradient(#1a85d6, #005a9e); border: 1px solid #00457c; }
.steps strong { color: var(--navy); font-size: .88rem; }
.steps span { font-size: .8rem; color: var(--muted); }

.tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.tags li { padding: .4rem .8rem; border: 1px solid var(--line-strong); background: linear-gradient(#fff, #e6eaef); font-size: .82rem; color: var(--navy); font-weight: 700; }

.cta-band { background: linear-gradient(#17406b, #0a2540); color: #fff; border-top: 3px solid var(--accent); padding: 1.6rem 0; }
.cta-band h2 { margin: 0 0 .3rem; font-size: 1.15rem; color: #fff; }
.cta-band p { margin: 0; color: #d5dee6; }

.layout-side { display: grid; grid-template-columns: 14rem 1fr; gap: 1.8rem; padding: 1.6rem 1.25rem 2.4rem; align-items: start; }

.layout-side:has(> .content--wide) { grid-template-columns: 1fr 14rem; }
.sidenav { border: 1px solid var(--line-strong); border-top: 3px solid var(--navy); background: linear-gradient(#fff, #f3f5f8); padding: .9rem 1rem; position: sticky; top: 1rem; }
.sidenav h2 { margin: 0 0 .5rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--navy); }
.sidenav ul { list-style: none; margin: 0; padding: 0; }
.sidenav li { border-top: 1px solid var(--line); }
.sidenav a { display: block; padding: .45rem 0; font-size: .84rem; }
.block { margin-bottom: 2rem; scroll-margin-top: 1rem; }
.block h2 { font-size: 1.1rem; text-transform: uppercase; letter-spacing: .05em; color: var(--navy); padding-bottom: .45rem; margin: 0 0 .8rem; border-bottom: 2px solid var(--blue); }
.block h2::before { content: ""; display: inline-block; width: .6rem; height: .6rem; margin-right: .5rem; background: var(--accent); }
.block > p { margin: 0 0 .9rem; max-width: 46rem; }
.checklist { margin: 0 0 .5rem; padding: 0; list-style: none; }
.checklist li { position: relative; padding: .3rem 0 .3rem 1.3rem; }
.checklist li::before { content: ""; position: absolute; left: .2rem; top: .75rem; width: .45rem; height: .45rem; background: var(--blue); }

.site-footer__cols { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 1.5rem; padding-bottom: 1.2rem; border-bottom: 1px solid #2b4d6e; }
.site-footer h3 { margin: 0 0 .6rem; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: #f0a53c; }
.site-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; font-size: .82rem; }

@media (max-width: 960px) {
  .nav a:not(.nav__cta) { display: none; }
  .grid--4, .pillars__grid { grid-template-columns: repeat(2, 1fr); }
  .grid--3 { grid-template-columns: 1fr 1fr; }
  .steps { grid-template-columns: 1fr; }
  .steps li { border-right: 0; border-bottom: 1px solid var(--line); }
  .site-footer__cols { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .layout-side, .layout-side:has(> .content--wide) { grid-template-columns: 1fr; }
  .sidenav { position: static; }
  .grid--2, .grid--3, .grid--4, .pillars__grid, .site-footer__cols { grid-template-columns: 1fr; }
}

/* ---- Versão mais discreta: contato em segundo plano ---- */
.cta-band { background: #e4e8ed; color: var(--muted); border-top: 1px solid var(--line-strong); border-bottom: 0; padding: .8rem 0; text-align: right; font-size: .8rem; }
.cta-band p { margin: 0; color: var(--muted); }
.cta-band a { font-weight: 700; }
.quick { border: 1px solid var(--line-strong); border-top: 3px solid var(--navy); background: linear-gradient(#fff, #f3f5f8); box-shadow: 0 1px 2px rgba(0,0,0,.06); }
.quick h2 { margin: 0; padding: .55rem .8rem; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: #fff; background: linear-gradient(#17406b, #0a2540); }
.quick ul { list-style: none; margin: 0; padding: 0; }
.quick li { border-top: 1px solid var(--line); }
.quick li:first-child { border-top: 0; }
.quick a { display: block; padding: .6rem .8rem; font-size: .86rem; font-weight: 700; }
.quick a::after { content: " \203A"; color: var(--accent); }
.nav a[href="/contato/"] { color: #aebdcb; }

@media (max-width: 960px) {
  .nav a:not(.nav__cta) { display: block; }
  .site-header__inner { flex-wrap: wrap; padding-top: .5rem; }
  .nav { flex-wrap: wrap; width: 100%; }
  .nav a { padding: .6rem .7rem; }
}

/* ---- Logotipo ---- */
.brand { gap: .7rem; line-height: 1; }
.brand__mark { width: 2.4rem; height: 2.4rem; color: inherit; }
.brand__text { display: grid; gap: .22rem; }
.brand__text b { font-size: 1.3rem; font-weight: 700; letter-spacing: .09em; }
.brand__text small { font-size: .62rem; font-weight: 400; letter-spacing: .32em; text-transform: uppercase; color: #f0a53c; }

/* =====================================================================
   Revisão: visual sóbrio e corporativo (sobrescreve camadas anteriores)
   ===================================================================== */
:root { --navy: #12365a; --blue: #1f5f9e; --blue-hover: #174c80; --accent: #1f5f9e; --bg: #f3f4f6; --line: #dcdfe4; --line-strong: #c3c8cf; }
body { background: #fff; font-size: .92rem; color: #22272d; }
main { max-width: none; border: 0; box-shadow: none; background: #fff; }

/* Cabeçalho branco */
.site-header { background: #fff; color: var(--navy); border-bottom: 1px solid var(--line-strong); box-shadow: none; }
.site-header__inner { min-height: 4.4rem; }
.brand, .brand:hover { color: var(--navy); text-shadow: none; }
.brand__mark { width: 2.4rem; height: 2.4rem; }
.brand__text b { font-size: 1.2rem; letter-spacing: .12em; font-weight: 700; }
.brand__text small { color: #6b7480; letter-spacing: .34em; font-size: .6rem; }
.nav a { color: #3b4550; border-left: 0; font-weight: 600; font-size: .8rem; text-transform: none; letter-spacing: 0; padding: 1.55rem .9rem; border-bottom: 3px solid transparent; }
.nav a:hover, .nav a[aria-current="page"] { background: transparent; color: var(--navy); border-bottom-color: var(--navy); text-decoration: none; }
.nav a[href="/contato/"] { color: #6b7480; }

/* Hero plano */
.hero { background: #f3f4f6; border-bottom: 1px solid var(--line-strong); padding: 3rem 0; }
.hero::after { display: none; }
.hero h1 { text-shadow: none; font-size: 1.9rem; font-weight: 600; letter-spacing: 0; }
.kicker { color: #5b6570; letter-spacing: .1em; font-weight: 600; }
.page-hero { background: #f3f4f6; border-bottom: 1px solid var(--line-strong); }
.page-hero h1 { font-weight: 600; }

/* Faixa de diferenciais clara */
.pillars { background: #fff; color: var(--ink); border-bottom: 1px solid var(--line-strong); }
.pillars__grid div { border-left: 1px solid var(--line); }
.pillars__grid div:last-child { border-right: 1px solid var(--line); }
.pillars__grid strong { color: var(--navy); font-size: .8rem; }
.pillars__grid span { color: var(--muted); }

/* Títulos */
.section h2, .block h2 { text-transform: none; letter-spacing: 0; font-size: 1.2rem; font-weight: 600; border-bottom: 1px solid var(--line-strong); color: var(--navy); }
.section h2::before, .block h2::before { display: none; }
.section--alt { background: #f3f4f6; }
.section { border-bottom: 1px solid var(--line); }

/* Componentes planos */
.btn { background: var(--navy); border: 1px solid var(--navy); border-radius: 0; box-shadow: none; text-shadow: none; text-transform: none; letter-spacing: 0; font-weight: 600; font-size: .85rem; }
.btn:hover { background: #0d2a47; border-color: #0d2a47; }
.btn--ghost { background: #fff; color: var(--navy); border-color: var(--line-strong); }
.btn--ghost:hover { background: #f3f4f6; }
.btn--accent { background: var(--navy); border-color: var(--navy); }

.card, .card--flat, .panel, .sidenav, .quick { background: #fff; border: 1px solid var(--line-strong); border-top: 1px solid var(--line-strong); box-shadow: none; }
.card { border-left: 3px solid var(--navy); }
.card__title { text-transform: none; letter-spacing: 0; font-size: 1rem; font-weight: 600; }
.card__more { font-weight: 600; }
.panel h2, .sidenav h2 { text-transform: none; letter-spacing: 0; font-size: .95rem; font-weight: 600; }
.quick h2 { background: var(--navy); text-transform: none; letter-spacing: 0; font-size: .85rem; font-weight: 600; }
.quick a::after { color: var(--blue); }

.meta-table, .spec-table { box-shadow: none; border: 1px solid var(--line-strong); border-top: 1px solid var(--line-strong); }
.meta-table th, .spec-table th { background: #f3f4f6; text-transform: none; letter-spacing: 0; font-size: .82rem; font-weight: 600; color: var(--navy); }
.spec-table tr:nth-child(even) td { background: #fff; }
.meta-table caption { background: var(--navy); text-transform: none; letter-spacing: 0; }

.steps { border: 1px solid var(--line-strong); }
.steps li::before { background: var(--navy); border: 0; border-radius: 0; }
.tags li { background: #fff; border: 1px solid var(--line-strong); font-weight: 600; color: var(--navy); }
.checklist li::before { background: var(--navy); }
.crumbs { color: #6b7480; }

.field input, .field select, .field textarea { box-shadow: none; border-color: var(--line-strong); }
.field input:focus, .field select:focus, .field textarea:focus { outline: 2px solid #a9c4df; }

/* Faixa de contato e rodapé */
.cta-band { background: #f3f4f6; border-top: 1px solid var(--line); }
.site-footer { background: #12365a; border-top: 0; }
.site-footer .brand, .site-footer .brand:hover { color: #fff; }
.site-footer .brand__text small { color: #a9bccf; }
.site-footer .brand__mark { outline: 1px solid rgba(255,255,255,.35); }
.site-footer h3 { color: #fff; letter-spacing: .08em; }
.site-footer__cols { border-bottom-color: #2f5379; }
.footer-nav a { text-decoration: none; }

@media (max-width: 960px) {
  .nav a { padding: .7rem .7rem; }
  .site-header__inner { padding-top: .6rem; }
}

/* ---- Logotipo (versão oficial): ícone em grade + wordmark em sans bold ---- */
.brand { gap: .8rem; }
.brand__mark { width: 2.5rem; height: 2.5rem; }
.brand__text { font-family: "Helvetica Neue", Helvetica, Arial, "Liberation Sans", sans-serif; font-weight: 700; font-size: 1.55rem; letter-spacing: .01em; line-height: 1; text-transform: uppercase; }
.brand__text small { display: none; }
.site-footer .brand__mark { outline: 0; }

/* ---- Logotipo fiel à referência ---- */
.brand { gap: .85rem; align-items: center; }
.brand__mark { width: 2.7rem; height: 2.7rem; }
.brand__text { display: grid; gap: .28rem; font-size: inherit; text-transform: none; letter-spacing: 0; line-height: 1; }
.brand__text b { font-family: "Helvetica Neue", Helvetica, Arial, "Liberation Sans", sans-serif; font-weight: 800; font-size: 1.85rem; letter-spacing: -.005em; line-height: .95; text-transform: uppercase; }
.brand__text small { display: block; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-weight: 700; font-size: .6rem; letter-spacing: 0; text-transform: uppercase; text-align: justify; text-align-last: justify; color: #5b6570; }
.site-footer .brand__text small { color: #a9bccf; }
.brand__text small { text-align: left; text-align-last: auto; letter-spacing: .5em; font-size: .62rem; font-weight: 700; }

/* TECNOLOGIA distribuído por toda a largura do wordmark */
.brand__text { justify-items: stretch; }
.brand__text small { display: flex; justify-content: space-between; width: 100%; letter-spacing: 0; text-align: center; font-size: .66rem; }
.brand__text small i { font-style: normal; }
.brand__text small { font-size: .82rem; font-weight: 700; line-height: 1; }

/* =====================================================================
   Escala compacta: logo, cabeçalho e conteúdo menores e mais densos
   ===================================================================== */
body { font-size: .85rem; line-height: 1.5; }
.wrap { max-width: 66rem; }

.site-header__inner { min-height: 3.4rem; }
.brand { gap: .6rem; }
.brand__mark { width: 1.9rem; height: 1.9rem; }
.brand__text { gap: .2rem; }
.brand__text b { font-size: 1.2rem; }
.brand__text small { font-size: .56rem; }
.nav a { font-size: .76rem; padding: 1.2rem .75rem; }

.hero { padding: 1.8rem 0 1.7rem; }
.hero__grid { gap: 2rem; }
.hero h1 { font-size: 1.5rem; margin-bottom: .55rem; }
.kicker { font-size: .66rem; margin-bottom: .35rem; }
.lead { font-size: .88rem; line-height: 1.55; }
.actions { margin-top: .9rem; gap: .4rem; }
.btn { min-height: 2rem; padding: .3rem .8rem; font-size: .78rem; }

.page-hero { padding: 1.1rem 0 1.2rem; }
.page-hero h1 { font-size: 1.4rem; margin-bottom: .4rem; }
.crumbs { font-size: .7rem; margin-bottom: .3rem; }

.pillars__grid div { padding: .7rem .85rem; }
.pillars__grid strong { font-size: .72rem; }
.pillars__grid span { font-size: .74rem; }

.section { padding: 1.4rem 0; }
.section h2, .block h2 { font-size: 1.02rem; margin-bottom: .7rem; padding-bottom: .35rem; }
.block { margin-bottom: 1.4rem; }
.layout-side { padding-top: 1.1rem; padding-bottom: 1.6rem; gap: 1.4rem; grid-template-columns: 12.5rem 1fr; }
.layout-side:has(> .content--wide) { grid-template-columns: 1fr 12.5rem; }

.grid { gap: .75rem; }
.card { padding: .75rem .9rem .8rem; }
.card__title { font-size: .88rem; margin-bottom: .35rem; }
.card p { font-size: .8rem; margin-bottom: .5rem; }
.card__more, .more-link { font-size: .76rem; }

.meta-table th, .meta-table td, .spec-table th, .spec-table td { padding: .42rem .6rem; }
.spec-table, .meta-table { font-size: .8rem; }
.meta-table th, .spec-table th { font-size: .75rem; }
.spec-table th { width: 20%; }

.steps li { padding: .7rem .75rem; }
.steps li::before { width: 1.35rem; height: 1.35rem; font-size: .72rem; }
.steps strong { font-size: .8rem; }
.steps span { font-size: .74rem; }
.tags li { padding: .3rem .65rem; font-size: .76rem; }
.checklist li { padding: .2rem 0 .2rem 1.15rem; }
.checklist li::before { top: .55rem; width: .4rem; height: .4rem; }
.block > p { margin-bottom: .7rem; }

.sidenav { padding: .7rem .85rem; }
.sidenav h2 { font-size: .85rem; }
.sidenav a { font-size: .78rem; padding: .35rem 0; }
.quick h2 { padding: .45rem .7rem; font-size: .78rem; }
.quick a { padding: .48rem .7rem; font-size: .8rem; }

.panel { padding: 1rem; }
.field input, .field select, .field textarea { padding: .4rem .55rem; font-size: .85rem; }
.field label { font-size: .75rem; }

.cta-band { padding: .55rem 0; font-size: .74rem; }
.site-footer { padding: 1.3rem 0 .9rem; }
.site-footer .brand__mark { width: 1.7rem; height: 1.7rem; }
.site-footer .brand__text b { font-size: 1.05rem; }
.site-footer h3 { font-size: .68rem; margin-bottom: .45rem; }
.site-footer ul { font-size: .76rem; gap: .25rem; }
.legal { font-size: .74rem; }
.site-footer__bottom { font-size: .7rem; }
.site-footer__cols { padding-bottom: .9rem; gap: 1.2rem; }

@media (max-width: 960px) {
  .nav a { padding: .55rem .6rem; }
  .site-header__inner { padding-top: .45rem; }
}
