/* Base, tipografia, layout e acessibilidade */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--page);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: var(--fs-m);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg { max-width: 100%; }
h1, h2, h3, h4 {
  font-family: var(--font-display);
  line-height: 1.12;
  letter-spacing: -0.02em;
  margin: 0;
  text-wrap: balance;
}
h1 { font-size: var(--fs-4xl); font-weight: 800; letter-spacing: -0.035em; }
h2 { font-size: var(--fs-3xl); font-weight: 800; }
h3 { font-size: var(--fs-xl); font-weight: 700; }
h4 { font-size: var(--fs-l); font-weight: 700; }
p { margin: 0; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; border-radius: 4px; }
[tabindex="-1"]:focus { outline: none; }
[hidden] { display: none !important; }
.sr-only { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.wrap {
  width: 100%;
  max-width: calc(var(--wrap) + 2 * 32px);
  margin-inline: auto;
  padding-left: max(32px, env(safe-area-inset-left, 0px));
  padding-right: max(32px, env(safe-area-inset-right, 0px));
}
@media (max-width: 640px) {
  .wrap { padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
}

.band { padding-block: var(--s-8); }
.band--navy { background: var(--navy); color: var(--white); }
.band--deep { background: var(--navy-950); color: var(--white); }
.band--mist { background: var(--mist); }
.band--tight { padding-block: var(--s-7); }

.eyebrow {
  display: inline-flex; align-items: center; gap: var(--s-2);
  font-family: var(--font-display);
  font-size: var(--fs-xs); font-weight: 700;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--teal-ink);
}
.band--navy .eyebrow, .band--deep .eyebrow, .on-dark .eyebrow { color: var(--teal); }
.lead { font-size: var(--fs-l); color: var(--ink-2); max-width: 62ch; }
.band--navy .lead, .band--deep .lead, .on-dark .lead { color: var(--navy-muted); }
.muted { color: var(--ink-3); }
.on-dark .muted, .band--navy .muted, .band--deep .muted { color: var(--navy-muted); }
.tnum { font-variant-numeric: tabular-nums; }

.section-head { display: grid; gap: var(--s-3); margin-bottom: var(--s-6); max-width: 780px; }
.section-head--split { max-width: none; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--s-5); }
@media (max-width: 760px) { .section-head--split { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
