/* ==========================================================
   Base: cores da marca, reset, utilitários, títulos e botões
   ========================================================== */
:root {
  --navy-950: #061a33;
  --navy-900: #09264a;   /* azul-marinho da marca */
  --navy-800: #0e3460;
  --navy-700: #15467d;
  --orange: #f7941d;     /* laranja da marca */
  --orange-bright: #ffa53f;
  --orange-ink: #a85500; /* laranja escuro para texto sobre fundo claro */
  --paper: #f3f6fa;
  --white: #fff;
  --ink: #0d2240;
  --muted: #55667c;
  --line: rgba(9, 38, 74, .12);
  --shadow: 0 18px 50px rgba(6, 26, 51, .12);
  --radius: 18px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.6; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; }
h1, h2, h3 { text-wrap: balance; }
svg { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 1000; background: var(--white); color: var(--navy-900); padding: 12px 18px; border-radius: 8px; font-weight: 700; transition: top .2s; }
.skip-link:focus { top: 16px; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }

/* Títulos de seção */
.section { padding: 104px 0; }
.section-heading { display: grid; grid-template-columns: 1.1fr .8fr; gap: 72px; align-items: end; margin-bottom: 48px; }
.section-heading p { margin: 0 0 6px; color: var(--muted); font-size: 17px; }
.kicker { display: inline-block; margin-bottom: 12px; color: var(--orange-ink); font-size: 12px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.section h2, .contact h2 { margin: 0; font-size: clamp(34px, 4.2vw, 54px); line-height: 1.08; letter-spacing: -.04em; }

/* Botões */
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 24px; border: 2px solid var(--orange); border-radius: 10px; background: var(--orange); color: var(--navy-950); font-size: 15px; font-weight: 800; line-height: 1.25; text-align: center; box-shadow: 0 12px 28px rgba(247, 148, 29, .24); transition: transform .2s, background .2s, border-color .2s, color .2s; }
.button:hover { transform: translateY(-2px); background: var(--orange-bright); border-color: var(--orange-bright); }
.button svg { width: 18px; height: 18px; }
.button-ghost { color: var(--white); background: transparent; border-color: rgba(255,255,255,.4); box-shadow: none; }
.button-ghost:hover { color: var(--navy-950); }
.button-outline { color: var(--navy-900); background: transparent; border-color: var(--navy-900); box-shadow: none; }
.button-outline:hover { color: var(--white); background: var(--navy-900); border-color: var(--navy-900); }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--orange-ink); font-weight: 800; }
.text-link svg { width: 18px; height: 18px; transition: transform .2s; }
.text-link:hover svg { transform: translateX(4px); }
