/* ==========================================================================
   Integramind — base: reset, tipografia, seções e a CURVA
   Réplica do site publicado. Valores em qa/ficha-forense-wix.md.
   ========================================================================== */

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; overflow-x:hidden;
  background:var(--branco); color:var(--verde);   /* corpo é VERDE, medido */
  font-family:var(--fonte-corpo); font-size:var(--t-corpo); line-height:var(--altura-corpo);
  -webkit-font-smoothing:antialiased;
}
img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:inherit; }

/* --- Títulos: Museo 900, cor declarada por seção -------------------------- */
h1,h2,h3,h4{
  font-family:var(--fonte-titulo); font-weight:900;
  line-height:var(--altura-titulo); margin:0; text-wrap:balance;
}
h1{ font-size:var(--t-hero); }
h2{ font-size:var(--t-h2); }
h2.menor{ font-size:var(--h3); }
h3,h4{ font-size:var(--t-h3); font-weight:700; }
p{ margin:0; max-width:var(--largura-texto); }
p + p{ margin-top:1.1em; }
strong{ font-weight:700; }

.cor-dourada{ color:var(--dourado); }
.cor-verde{ color:var(--verde); }
.cor-branca{ color:var(--branco); }

.rotulo{
  font-family:var(--fonte-titulo); font-weight:700;
  font-size:var(--h5); line-height:1.2;
  margin:0 0 14px; color:var(--verde);
}
.sec--escura .rotulo,.sec--profunda .rotulo,.sec--dourada .rotulo{ color:var(--branco); }

/* --- Estrutura de seção --------------------------------------------------- */
.env{ width:min(100% - 48px,var(--largura)); margin-inline:auto; }
@media (max-width:620px){ .env{ width:calc(100% - 36px); } }

.sec{ position:relative; padding-top:var(--sec-top); padding-bottom:var(--sec-bot); }
.sec--branca{ background:var(--branco); }
.sec--osso{ background:var(--osso); }
.sec--dourada{ background:var(--grad-secao); }           /* 🚨 degradê, medido */
.sec--profunda{ background:var(--verde-profundo); color:var(--branco); }
.sec--escura{ background:var(--verde); color:var(--branco); }

.cabeca{ margin-bottom:var(--rhythm); }
.cabeca--centro{ text-align:center; }
.cabeca--centro p{ margin-inline:auto; }

/* --- A DIVISÓRIA: barriga de meia-lua, flecha de 37px ---------------------
   🚨 Em SVG, não em pseudo-elemento. O ::after herdava o fundo, e o hero é
   FOTO — herdava transparente e a curva sumia. O SVG pinta sobre qualquer coisa.
   Mesmo ângulo em todas; muda só o sentido (desce ou sobe).
   -------------------------------------------------------------------------- */
/* 🚨 bottom:-1px + altura +1px: fecha a fresta de sub-pixel entre o fim da
   curva e o topo da seção seguinte (o navegador arredonda a fração e deixa
   passar 1px da cor de baixo — medido, 14/09). */
.divisoria{
  position:absolute; left:0; right:0; bottom:-1px; z-index:3;
  width:100%; height:calc(var(--cut-h) + 1px); line-height:0; pointer-events:none;
}
.divisoria svg{ width:100%; height:100%; display:block; }

/* usada no topo de uma seção, quando o arco vem da seção de cima */
.divisoria--topo{ bottom:auto; top:0; }

/* --- Acessibilidade ------------------------------------------------------- */
:where(a,button,input,textarea,select,summary):focus-visible{
  outline:3px solid var(--dourado); outline-offset:3px; border-radius:var(--raio-sm);
}
.pular-para{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--verde); color:var(--branco); padding:12px 18px;
}
.pular-para:focus{ left:0; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms!important; animation-iteration-count:1!important;
                        transition-duration:.01ms!important; scroll-behavior:auto!important; }
}

/* --- Autoridade do sistema de respiro ------------------------------------- */
.sec{ padding-top:var(--sec-top)!important; padding-bottom:var(--sec-bot)!important; }
.sec--sem-base{ padding-bottom:0!important; }

/* 🚨 DEPOIS do bloco acima: mesma especificidade e mesmo !important, ganha a
   última. Devolve o respiro que o arco comeu. */
.sec--pos-curva{ padding-top:calc(var(--sec-top) + var(--cut-h))!important; }
.sec--pre-curva{ padding-bottom:calc(var(--sec-bot) + var(--cut-h))!important; }
