/* Carpina 3D: base comum às páginas (cores, fontes e botões do Brand Guide 2026) */
@font-face { font-family: "Montserrat"; font-weight: 800; font-display: swap; src: url("../fonts/Montserrat-ExtraBold.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-weight: 900; font-display: swap; src: url("../fonts/Montserrat-Black.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 400; font-display: swap; src: url("../fonts/Inter-Regular.woff2") format("woff2"); }
@font-face { font-family: "Inter"; font-weight: 600; font-display: swap; src: url("../fonts/Inter-SemiBold.woff2") format("woff2"); }

:root {
  --navy: #1E2A5A;
  --navy-claro: #3A4A85;
  --navy-escuro: #161F45;
  --laranja: #F57C1F;
  --laranja-escuro: #DC6A10;
  --branco: #FFFFFF;
  --off: #F5F5F2;
  --grafite: #2F343B;
  --cinza: #5E646D;
  --linha: #E3E3DE;
  --raio: 18px;
  --sombra: 0 10px 30px rgba(30, 42, 90, .12);
  --fonte-titulo: "Montserrat", "Arial Black", system-ui, sans-serif;
  --fonte-texto: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; font-family: var(--fonte-texto); font-size: 17px; line-height: 1.6; color: var(--grafite); background: var(--off); }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--fonte-titulo); font-weight: 900; line-height: 1.12; color: var(--navy); margin: 0 0 .5em; letter-spacing: -.01em; }
p { margin: 0 0 1em; }
.laranja { color: var(--laranja); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .55em;
  min-height: 52px; padding: .8em 1.5em; border-radius: 999px; border: 2px solid transparent;
  font-family: var(--fonte-titulo); font-weight: 800; font-size: 1rem; text-decoration: none; cursor: pointer;
  transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.btn svg { width: 1.3em; height: 1.3em; flex: none; }
.btn:hover { transform: translateY(-2px); }
.btn:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--laranja); outline-offset: 3px;
}
.btn-laranja { background: var(--laranja); color: var(--branco); box-shadow: 0 6px 18px rgba(245, 124, 31, .35); }
.btn-laranja:hover { background: var(--laranja-escuro); }
.btn-navy { background: var(--navy); color: var(--branco); }
.btn-navy:hover { background: var(--navy-claro); }
.btn-contorno { border-color: currentColor; color: var(--branco); background: transparent; }
.btn-contorno:hover { background: rgba(255, 255, 255, .1); }

/* Grafismo "camadas": linhas horizontais laranja / marinho claro */
.camadas { height: 46px; background: repeating-linear-gradient(to bottom, var(--laranja) 0 5px, transparent 5px 10px, var(--navy-claro) 10px 15px, transparent 15px 20px); }
