/* Esenco — reset + fundamentos */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{
  font-family:var(--fonte-texto);font-size:var(--t-corpo);line-height:1.6;
  color:var(--tinta);background:var(--fundo);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg,video{display:block;max-width:100%;height:auto}
h1,h2,h3,h4{font-family:var(--fonte-titulo);font-weight:600;line-height:1.12;letter-spacing:-.015em;color:var(--azul-900);text-wrap:balance}
h1{font-size:var(--t-h1)} h2{font-size:var(--t-h2)} h3{font-size:var(--t-h3)} h4{font-size:var(--t-h4)}
p{text-wrap:pretty}
a{color:var(--azul-600);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--azul-700)}
ul,ol{padding-left:1.15em}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--ouro-500);outline-offset:2px;border-radius:4px}
::selection{background:var(--ouro-100);color:var(--azul-900)}
hr{border:0;border-top:1px solid var(--borda)}

/* Layout ------------------------------------------------------------------ */
.wrap{width:100%;max-width:var(--largura);margin-inline:auto;padding-inline:var(--e-5)}
.wrap-estreito{max-width:var(--largura-estreita)}
.secao{padding-block:var(--e-9)}
.secao-sm{padding-block:var(--e-8)}
@media (max-width:640px){.secao{padding-block:var(--e-8)}.secao-sm{padding-block:var(--e-7)}}
/* O atributo hidden precisa vencer classes de layout como .grid e .flex */
[hidden]{display:none!important}
.grid{display:grid;gap:var(--e-5)}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.g-3,.g-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:620px){.g-2,.g-3,.g-4{grid-template-columns:1fr}}
/* .g-2-largo: duas colunas de conteúdo largo (texto + cartão) que não cabem lado a lado
   abaixo de 900px sem alargar a página; empilha mais cedo que a .g-2 */
@media (max-width:900px){.g-2-largo{grid-template-columns:1fr}}
.flex{display:flex;gap:var(--e-4);align-items:center}
.flex-entre{display:flex;gap:var(--e-4);align-items:center;justify-content:space-between;flex-wrap:wrap}
.pilha{display:flex;flex-direction:column;gap:var(--e-4)}
.centro{text-align:center}
.mx-auto{margin-inline:auto}

/* Utilitários de texto ---------------------------------------------------- */
.olho{font-family:var(--fonte-titulo);font-size:var(--t-micro);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ouro-700)}
.olho-claro{color:var(--ouro-400)}
.lead{font-size:1.1875rem;line-height:1.55;color:var(--cinza-700)}
.apoio{color:var(--cinza-700)}
.micro{font-size:var(--t-micro);color:var(--cinza-600)}
.num{font-variant-numeric:tabular-nums;font-family:var(--fonte-num)}
.destaque{color:var(--ouro-700)}
.sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Fundos ------------------------------------------------------------------ */
.bg-suave{background:var(--fundo-suave)}
.bg-areia{background:var(--areia-300)}
.bg-escuro{background:var(--fundo-escuro);color:#E7EEF4}
.bg-escuro h1,.bg-escuro h2,.bg-escuro h3,.bg-escuro h4{color:#fff}
.bg-escuro .apoio,.bg-escuro .lead{color:#AFC3D4}
.bg-escuro a{color:var(--ouro-400)}

/* Padrão geométrico da marca (setas) -------------------------------------- */
.padrao{position:relative;isolation:isolate;overflow:hidden}
.padrao::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23DDA520' stroke-width='2' opacity='.5'%3E%3Cpath d='M0 30 L30 0 L60 30 L90 0 L120 30'/%3E%3Cpath d='M0 90 L30 60 L60 90 L90 60 L120 90'/%3E%3C/g%3E%3C/svg%3E");
}
