/* =========================================================================
   BASE — reset, tipografia e utilitários
   Depende de tokens.css
   ========================================================================= */

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--ev-header-h) + 16px)}
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol{margin:0;padding:0}
ul[class],ol[class]{list-style:none}
img,picture,svg,video{display:block;max-width:100%}
img{height:auto}
input,button,textarea,select{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
table{border-collapse:collapse;width:100%}

/* ---------- Documento ---------- */
body{
  font-family:var(--ev-font-body);
  font-size:var(--ev-fs-body);
  line-height:var(--ev-lh-normal);
  color:var(--ev-ink);
  background:var(--ev-bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

/* ---------- Títulos ---------- */
h1,h2,h3,h4,h5,h6{
  font-family:var(--ev-font-title);
  color:var(--ev-blue-deep);
  line-height:var(--ev-lh-tight);
  letter-spacing:var(--ev-ls-tight);
  text-wrap:balance;          /* equilibra as linhas em vez de deixar uma órfã */
  overflow-wrap:break-word;
  hyphens:none;
}
/* Medida máxima por nível — impede título de esticar demais em telas largas */
h1{font-size:var(--ev-fs-h1);font-weight:900;max-width:17ch}
h2{font-size:var(--ev-fs-h2);font-weight:800;line-height:var(--ev-lh-snug);max-width:22ch}
h3{max-width:32ch}
/* Dentro de caixas estreitas o limite não se aplica */
.ev-card h1,.ev-card h2,.ev-card h3,
.ev-vs__col h3,.ev-step h3,.ev-scale h3,.ev-book h3,
.ev-faq h2,.ev-faq h3{max-width:none}
.ev-center h1,.ev-center h2{margin-inline:auto}
h3{font-size:var(--ev-fs-h3);font-weight:700;color:var(--ev-blue-mid);letter-spacing:normal}
h4{font-size:var(--ev-fs-h4);font-weight:700;letter-spacing:normal}

p{text-wrap:pretty}
p + p{margin-top:var(--ev-s4)}

strong,b{font-weight:700;color:var(--ev-blue-deep)}
em,i{font-style:italic}
small{font-size:var(--ev-fs-small)}

/* ---------- Links ---------- */
a{color:var(--ev-blue-mid);text-decoration-color:var(--ev-blue-25);text-underline-offset:.18em;transition:color var(--ev-dur-fast) var(--ev-ease)}
a:hover{color:var(--ev-orange)}

/* Foco visível — obrigatório. Nunca remover sem substituir. */
:focus-visible{
  outline:3px solid var(--ev-orange);
  outline-offset:3px;
  border-radius:4px;
}
:focus:not(:focus-visible){outline:none}

/* ---------- Seleção ---------- */
::selection{background:var(--ev-orange);color:#fff}

/* ---------- Skip link ---------- */
.ev-skip{
  position:absolute;left:var(--ev-s4);top:-100px;z-index:var(--ev-z-modal);
  background:var(--ev-blue-deep);color:#fff;
  font-family:var(--ev-font-title);font-weight:700;font-size:var(--ev-fs-small);
  padding:var(--ev-s3) var(--ev-s5);border-radius:0 0 var(--ev-radius-sm) var(--ev-radius-sm);
  transition:top var(--ev-dur) var(--ev-ease);
}
.ev-skip:focus{top:0;color:#fff}

/* ---------- Acessibilidade ---------- */
.ev-sr{
  position:absolute!important;width:1px;height:1px;
  padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* =========================================================================
   UTILITÁRIOS DE TIPOGRAFIA
   ========================================================================= */

/* Rótulo de seção — sempre acima do H2 */
.ev-eyebrow{
  display:inline-flex;align-items:center;gap:var(--ev-s2);
  font-family:var(--ev-font-title);
  font-size:var(--ev-fs-eyebrow);font-weight:700;
  letter-spacing:var(--ev-ls-eyebrow);text-transform:uppercase;
  color:var(--ev-blue-mid);
  background:var(--ev-blue-08);
  border:1px solid var(--ev-blue-25);
  border-radius:var(--ev-radius-pill);
  padding:7px 18px;width:fit-content;
  margin-bottom:var(--ev-s4);
}
.ev-eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--ev-blue);flex:none;
  animation:ev-blink 2s ease-in-out infinite;
}
.ev-eyebrow--orange{color:var(--ev-orange-txt);background:var(--ev-orange-08);border-color:var(--ev-orange-18)}
.ev-eyebrow--orange::before{background:var(--ev-orange)}
.ev-eyebrow--light{color:#cfe6f6;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2)}
.ev-eyebrow--light::before{background:var(--ev-orange)}

@keyframes ev-blink{0%,100%{opacity:1}50%{opacity:.25}}

/* Rótulo simples, sem cápsula */
.ev-kicker{
  font-family:var(--ev-font-title);
  font-size:var(--ev-fs-eyebrow);font-weight:700;
  letter-spacing:var(--ev-ls-eyebrow);text-transform:uppercase;
  color:var(--ev-orange-txt);
  display:block;margin-bottom:var(--ev-s3);
}

/* Linha de apoio abaixo do título */
.ev-lead{
  font-size:var(--ev-fs-lead);
  line-height:var(--ev-lh-loose);
  color:var(--ev-muted);
  max-width:54ch;
  text-wrap:pretty;
}
/* Respiro automático entre título e linha de apoio */
h1 + .ev-lead,h2 + .ev-lead,h1 + p,h2 + p{margin-top:var(--ev-s5)}
.ev-eyebrow + h1,.ev-eyebrow + h2{margin-top:var(--ev-s2)}
.ev-kicker + h1,.ev-kicker + h2{margin-top:0}
/* Parágrafo corrido: 60–75 caracteres */
.ev-wrap--text p,.ev-stack > p{max-width:68ch}

/* Destaque de palavra dentro do título */
.ev-mark{
  position:relative;
  color:var(--ev-orange-txt);
  white-space:nowrap;
}
.ev-mark::after{
  content:"";position:absolute;left:0;right:0;bottom:.04em;
  height:.16em;border-radius:.08em;
  background:var(--ev-orange-18);
  z-index:-1;
}

/* Assinatura manuscrita */
.ev-sig{
  font-family:var(--ev-font-sig);
  font-weight:700;
  font-size:1.35rem;
  color:var(--ev-teal);
  line-height:1;
}

/* Filete laranja */
.ev-rule{
  width:56px;height:5px;border-radius:3px;
  background:var(--ev-orange);
  margin:var(--ev-s5) 0;
}
.ev-rule--center{margin-left:auto;margin-right:auto}

/* Texto sobre fundo escuro */
.ev-on-dark{color:#fff}
.ev-on-dark h1,.ev-on-dark h2,.ev-on-dark h3,.ev-on-dark h4,.ev-on-dark strong{color:#fff}
.ev-on-dark p,.ev-on-dark .ev-lead{color:#c9e2f4}
.ev-on-dark a{color:#7fc4ec}
.ev-on-dark a:hover{color:var(--ev-orange-soft)}

/* Alinhamento e largura */
.ev-center{text-align:center}
.ev-center .ev-lead,.ev-center .ev-eyebrow{margin-left:auto;margin-right:auto}
.ev-measure{max-width:var(--ev-container-sm)}
.ev-measure--center{max-width:var(--ev-container-sm);margin-inline:auto}

/* Listas de conteúdo */
.ev-list{display:grid;gap:var(--ev-s3)}
.ev-list li{position:relative;padding-left:26px;color:var(--ev-muted)}
.ev-list li::before{
  content:"";position:absolute;left:0;top:.55em;
  width:8px;height:8px;border-radius:50%;
  background:var(--ev-teal);
}
.ev-list--check li::before{
  content:"";width:14px;height:14px;top:.42em;border-radius:0;background:none;
  border-left:2.5px solid var(--ev-ok);border-bottom:2.5px solid var(--ev-ok);
  transform:rotate(-45deg) translateY(-2px);
}
.ev-list--x li::before{background:var(--ev-warn)}
.ev-list--orange li::before{background:var(--ev-orange)}

/* Print */
@media print{
  .ev-skip,.ev-header,.ev-footer,.ev-btn{display:none!important}
  body{color:#000;background:#fff;font-size:11pt}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;color:#555}
}
