/* =====================================================================
   HPLUS MED — base
   Fonte: Work Sans (self-hosted). Verde institucional: #008000.
   ===================================================================== */

/* ---------- Fontes ---------- */
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-ext-400-normal.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:400;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-400-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

@font-face{font-family:'Work Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-ext-500-normal.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:500;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-500-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

@font-face{font-family:'Work Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-ext-600-normal.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:600;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-600-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

@font-face{font-family:'Work Sans';font-style:normal;font-weight:700;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-ext-700-normal.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:700;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-700-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

@font-face{font-family:'Work Sans';font-style:normal;font-weight:800;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-ext-800-normal.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:800;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-800-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

@font-face{font-family:'Work Sans';font-style:normal;font-weight:900;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-ext-900-normal.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Work Sans';font-style:normal;font-weight:900;font-display:swap;
  src:url('../assets/fonts/work-sans-latin-900-normal.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}

/* ---------- Tokens ---------- */
:root{
  /* marca */
  --verde:#008000;
  --verde-escuro:#046104;
  --verde-claro:#8ec63f;
  --verde-vivo:#00b85c;   /* verde legivel sobre fundo escuro (mural) */
  --verde-fundo:#f2fbf4;
  --vermelho:#ff3131;

  /* neutros */
  --preto:#101010;
  --texto:#003038;   /* azul-petroleo do corpo de texto */
  --texto-forte:#101010;
  --texto-2:#4a4a4a;
  --cinza-borda:#e6e6e6;
  --cinza-fundo:#f6f6f6;
  --branco:#ffffff;
  --petroleo:#003038;        /* fundo do rodape e do comparativo */
  --petroleo-fundo:#001a1e;  /* cartoes dentro do petroleo */
  --verde-agua:#00cb86;      /* verde que le bem sobre o petroleo */

  /* medidas */
  --topo:72px;              /* altura da faixa do menu */
  --raio:16px;
  --raio-pill:999px;
  --sombra-card:0 4px 20px rgba(0,0,0,.08);

  /* largura util do conteudo */
  --max:1200px;
  --gutter:20px;
}

@media (min-width:810px){
  :root{ --gutter:40px; }
}

/* ---------- Reset enxuto ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; overflow-x:hidden; }
body{
  margin:0;
  font-family:'Work Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-weight:400;
  color:var(--texto);
  background:var(--branco);
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,picture,video,svg{ display:block; max-width:100%; height:auto; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
h1,h2,h3,h4,p,ul,ol,figure{ margin:0; }
ul,ol{ padding:0; list-style:none; }
:focus-visible{ outline:3px solid var(--verde); outline-offset:2px; border-radius:4px; }

/* ---------- Utilidades ---------- */
.container{ width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--gutter); }
.verde{ color:var(--verde); }
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

/* Barra de rolagem discreta em carrosseis */
.scroll-x{
  display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
  -ms-overflow-style:none; scrollbar-width:none;
}
.scroll-x::-webkit-scrollbar{ display:none; }
.scroll-x > *{ scroll-snap-align:center; flex:0 0 auto; }

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