/* ==========================================================================
   Juliana Maia Nutri APLV — sistema de design
   --------------------------------------------------------------------------
   Conceito: "contém / seguro". As duas cores do logo ganham função semântica —
   coral marca o que tem leite, verde marca o que é seguro. É a binária que
   organiza o dia a dia de quem cuida de uma criança com APLV.
   ========================================================================== */

/* ---------------------------------------------------------------- tokens */
:root{
  /* cor — extraída do logo e do kit do site atual */
  --creme:        #FFFEF8;
  --creme-2:      #FBF6EC;
  --pessego:      #F8E5D6;
  --pessego-2:    #FCEFE6;
  --coral:        #ED6D6B;   /* “contém leite” / marca */
  --coral-forte:  #B53A33;
  --coral-fraco:  #FBDDDA;
  --verde:        #46823E;   /* “seguro” / ação */
  --verde-forte:  #2F5C29;
  --verde-fraco:  #E4F0DF;
  --sage:         #8ECAAC;
  --terra:        #9D3B2B;   /* títulos */
  --tinta:        #2A302F;
  --tinta-2:      #5C6360;
  --tinta-3:      #6E7572;
  --linha:        rgba(42,48,47,.13);
  --linha-forte:  rgba(42,48,47,.22);

  /* tipografia */
  --display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --corpo:   "Ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono:    "DM Mono", ui-monospace, "SF Mono", Menlo, monospace;

  /* ritmo */
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --largura: 1180px;
  --secao: clamp(4.5rem, 9vw, 8rem);
  --raio: 18px;
  --raio-p: 10px;

  --sombra:    0 2px 4px rgba(42,48,47,.04), 0 12px 28px -12px rgba(42,48,47,.18);
  --sombra-alt: 0 4px 8px rgba(42,48,47,.05), 0 28px 56px -20px rgba(157,59,43,.28);
}

/* ---------------------------------------------------------------- base */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--creme);
  color:var(--tinta);
  font-family:var(--corpo);
  font-size:1.0625rem;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img,svg,video{ max-width:100%; height:auto; display:block; }
a{ color:var(--verde-forte); text-underline-offset:.18em; text-decoration-thickness:.08em; }
a:hover{ color:var(--coral-forte); }

:focus-visible{
  outline:3px solid var(--coral);
  outline-offset:3px;
  border-radius:4px;
}

h1,h2,h3,h4{
  font-family:var(--display);
  font-variation-settings:"SOFT" 40, "WONK" 1;
  font-weight:600;
  line-height:1.08;
  letter-spacing:-.015em;
  color:var(--terra);
  margin:0 0 .6em;
  text-wrap:balance;
}
h1{ font-size:clamp(2.4rem, 5vw, 3.95rem); font-variation-settings:"SOFT" 50,"WONK" 1; }
h2{ font-size:clamp(1.95rem, 3.6vw, 2.9rem); }
h3{ font-size:clamp(1.2rem, 1.9vw, 1.5rem); letter-spacing:-.005em; }
h4{ font-size:1.05rem; font-family:var(--corpo); font-weight:700; color:var(--tinta); letter-spacing:0; }
p{ margin:0 0 1.15em; }
p:last-child{ margin-bottom:0; }

/* ---------------------------------------------------------------- utilitários */
.env{ width:100%; max-width:var(--largura); margin-inline:auto; padding-inline:var(--gutter); }
.env--estreito{ max-width:760px; }

.secao{ padding-block:var(--secao); }
.secao--creme{ background:var(--creme); }
.secao--creme2{ background:var(--creme-2); }
.secao--pessego{ background:var(--pessego); }

.olho{                       /* eyebrow */
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--tinta-2);
  margin:0 0 1.1rem;
  display:flex; align-items:center; gap:.7rem;
}
.olho::before{
  content:""; width:26px; height:2px; background:var(--coral); flex:none; border-radius:2px;
}
.olho--centro{ justify-content:center; }

.lead{ font-size:clamp(1.08rem,1.5vw,1.24rem); line-height:1.65; color:var(--tinta-2); max-width:56ch; }
.centro{ text-align:center; }
.centro .olho{ justify-content:center; }
.centro .lead{ margin-inline:auto; }
.pular{
  position:absolute; left:-9999px;
  background:var(--verde); color:#fff; padding:.7rem 1.1rem; border-radius:0 0 8px 0; z-index:200;
}
.pular:focus{ left:0; top:0; }

/* ---------------------------------------------------------------- botões */
.btn{
  --bg:var(--verde); --fg:#fff; --bd:var(--verde);
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.92rem 1.6rem;
  background:var(--bg); color:var(--fg) !important; -webkit-text-fill-color:var(--fg);
  border:1.5px solid var(--bd); border-radius:100px;
  font-family:var(--corpo); font-size:.97rem; font-weight:500; letter-spacing:.005em;
  text-decoration:none; cursor:pointer;
  transition:transform .18s cubic-bezier(.2,.7,.3,1), background .18s, border-color .18s, box-shadow .18s;
}
.btn:hover{ --bg:var(--verde-forte); --bd:var(--verde-forte); transform:translateY(-2px); box-shadow:0 10px 22px -12px rgba(47,92,41,.7); }
.btn:active{ transform:translateY(0); }
.btn--vazado{ --bg:transparent; --fg:var(--verde-forte); --bd:var(--linha-forte); }
.btn--vazado:hover{ --bg:var(--verde-fraco); --fg:var(--verde-forte); --bd:var(--sage); box-shadow:none; }
.btn--coral{ --bg:var(--coral); --bd:var(--coral); }
.btn--coral:hover{ --bg:var(--coral-forte); --bd:var(--coral-forte); box-shadow:0 10px 22px -12px rgba(181,58,51,.7); }
.btn--claro{ --bg:var(--creme); --fg:var(--verde-forte); --bd:var(--creme); }
.btn--claro:hover{ --bg:#fff; --fg:var(--verde-forte); --bd:#fff; }
.btn--g{ padding:1.05rem 2rem; font-size:1.02rem; }

/* ---------------------------------------------------------------- cabeçalho */
.topo{
  position:sticky; top:0; z-index:100;
  background:rgba(255,254,248,.9);
  backdrop-filter:saturate(150%) blur(12px);
  -webkit-backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid transparent;
  transition:border-color .25s, box-shadow .25s;
}
.topo.is-rolado{ border-bottom-color:var(--linha); box-shadow:0 6px 20px -18px rgba(42,48,47,.6); }
.topo__int{ display:flex; align-items:center; gap:1.5rem; min-height:74px; }
.topo__marca{ flex:none; display:block; line-height:0; }
.topo__marca img{ width:118px; }
.topo__nav{ margin-left:auto; display:flex; align-items:center; gap:.35rem; }
.topo__nav a{
  padding:.5rem .78rem; border-radius:100px;
  font-size:.94rem; color:var(--tinta); text-decoration:none;
  transition:background .16s, color .16s;
}
.topo__nav a:hover{ background:var(--pessego-2); color:var(--terra); }
.topo__nav a[aria-current="page"]{ color:var(--terra); font-weight:500; background:var(--pessego); }
.topo__cta{ margin-left:.6rem; }
.topo__menu{
  display:none; margin-left:auto;
  width:44px; height:44px; padding:0;
  background:transparent; border:1.5px solid var(--linha-forte); border-radius:12px;
  cursor:pointer; color:var(--tinta);
}
.topo__menu span, .topo__menu span::before, .topo__menu span::after{
  display:block; width:18px; height:2px; background:currentColor; border-radius:2px;
  margin-inline:auto; transition:transform .22s, opacity .22s;
}
.topo__menu span::before, .topo__menu span::after{ content:""; position:relative; }
.topo__menu span::before{ top:-6px; }
.topo__menu span::after{ top:4px; }
.topo__menu[aria-expanded="true"] span{ background:transparent; }
.topo__menu[aria-expanded="true"] span::before{ transform:translateY(6px) rotate(45deg); }
.topo__menu[aria-expanded="true"] span::after{ transform:translateY(-4px) rotate(-45deg); }

@media (max-width:900px){
  .topo__menu{ display:block; }
  .topo__nav{
    position:fixed; inset:74px 0 auto; margin:0;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--creme); border-bottom:1px solid var(--linha);
    padding:.6rem var(--gutter) 1.4rem;
    box-shadow:0 20px 40px -24px rgba(42,48,47,.5);
    transform:translateY(-8px); opacity:0; pointer-events:none;
    transition:opacity .2s, transform .2s;
  }
  .topo__nav.is-aberto{ opacity:1; transform:none; pointer-events:auto; }
  .topo__nav a{ padding:.85rem .2rem; border-radius:0; border-bottom:1px solid var(--linha); }
  .topo__nav a[aria-current="page"]{ background:transparent; }
  /* o CTA é um .btn e não pode herdar o estilo de item de lista do menu */
  .topo__nav a.topo__cta{
    margin:1rem 0 0; justify-content:center;
    padding:.95rem 1.6rem; border-radius:100px;
    border:1.5px solid var(--verde); background:var(--verde);
  }
  .topo__nav a.topo__cta:hover{ background:var(--verde-forte); border-color:var(--verde-forte); }
}

/* ---------------------------------------------------------------- hero */
.hero{ position:relative; overflow:hidden; padding-block:clamp(3rem,6vw,5.5rem) 0; }
.hero__grade{
  display:grid; gap:clamp(2rem,4vw,3.5rem);
  grid-template-columns:1.16fr .84fr; align-items:end;
}
.hero__texto{ padding-bottom:clamp(3rem,6vw,6rem); }
.hero h1{ margin-bottom:.45em; }
.hero h1 em{
  font-style:normal; color:#E84340;   /* coral escurecido: contraste sobre a tarja */
  position:relative; white-space:nowrap;
}
.hero h1 em::after{
  content:""; position:absolute; left:-.04em; right:-.04em; bottom:.07em; height:.28em;
  background:var(--coral-fraco); border-radius:3px; z-index:-1;
}
.hero__acoes{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.hero__prova{
  display:flex; align-items:center; gap:.85rem;
  margin-top:2.4rem; padding-top:1.6rem; border-top:1px solid var(--linha);
  font-size:.93rem; color:var(--tinta-2);
}
.hero__prova b{
  font-family:var(--display); font-variation-settings:"SOFT" 40,"WONK" 1;
  font-size:2.1rem; font-weight:700; color:var(--verde); line-height:1;
}

.hero__figura{ position:relative; align-self:end; }
.hero__figura::before{      /* campo pêssego atrás da foto */
  content:""; position:absolute; inset:auto 0 0; height:88%;
  background:var(--pessego);
  border-radius:200px 200px 0 0;
}
.hero__foto{
  position:relative; display:block; margin:0 auto;
  width:auto; height:clamp(400px, 52vw, 600px); max-width:100%; object-fit:contain;
  filter:drop-shadow(0 24px 40px rgba(157,59,43,.16));
  /* dissolve o corte da foto na faixa pêssego, em vez de cortá-la em linha reta */
  -webkit-mask-image:linear-gradient(to bottom, #000 86%, transparent 100%);
          mask-image:linear-gradient(to bottom, #000 86%, transparent 100%);
}

@media (max-width:880px){
  .hero__grade{ grid-template-columns:1fr; gap:0; }
  .hero__texto{ padding-bottom:2.5rem; }
  .hero__foto{ height:clamp(320px, 62vw, 440px); }
}

/* ---------------------------------------------------------------- assinatura: a folha */
.folha{ background:var(--pessego); position:relative; }
.folha__grade{
  display:grid; gap:clamp(2rem,4vw,3.4rem);
  grid-template-columns:.85fr 1.15fr; align-items:start;
}
.folha__citacao{
  font-family:var(--display); font-variation-settings:"SOFT" 60,"WONK" 1;
  font-size:clamp(1.35rem,2.3vw,1.85rem); line-height:1.32; color:var(--terra);
  margin:0 0 1.2rem; padding-left:1.15rem; border-left:3px solid var(--coral);
}
.folha__fonte{ font-size:.9rem; color:var(--tinta-2); margin:0 0 1.6rem; }
.folha__nota{
  font-size:.87rem; line-height:1.6; color:var(--tinta-2);
  background:rgba(255,254,248,.7); border-radius:var(--raio-p);
  padding:.85rem 1rem; border:1px solid rgba(42,48,47,.08);
}

/* o painel de rótulo — o objeto memorável da página */
.rotulo{
  background:var(--creme); border-radius:var(--raio);
  box-shadow:var(--sombra-alt); overflow:hidden;
  border:1px solid rgba(42,48,47,.08);
}
.rotulo__topo{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.85rem 1.15rem; background:var(--tinta); color:var(--creme);
  font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase;
}
.rotulo__contador{ color:var(--sage); font-variant-numeric:tabular-nums; }

.rotulo__busca{ display:flex; gap:.5rem; padding:1.1rem 1.15rem .95rem; border-bottom:1px solid var(--linha); }
.rotulo__busca input{
  flex:1 1 auto; min-width:0;
  padding:.72rem .95rem; border:1.5px solid var(--linha-forte); border-radius:100px;
  font-family:var(--corpo); font-size:.95rem; color:var(--tinta); background:#fff;
}
.rotulo__busca input::placeholder{ color:var(--tinta-3); }
.rotulo__busca input:focus{ outline:none; border-color:var(--sage); box-shadow:0 0 0 3px rgba(142,202,172,.3); }

.rotulo__resposta{ padding:0 1.15rem; }
.rotulo__resposta:empty{ display:none; }
.rotulo__veredito{
  display:flex; align-items:flex-start; gap:.7rem;
  margin:1rem 0 0; padding:.85rem 1rem; border-radius:var(--raio-p);
  font-size:.94rem; line-height:1.55;
}
.rotulo__veredito b{ display:block; font-size:1rem; }
.rotulo__veredito--contem{ background:var(--coral-fraco); color:#7E2A25; }
.rotulo__veredito--contem b{ color:var(--coral-forte); }
.rotulo__veredito--seguro{ background:var(--verde-fraco); color:#33512D; }
.rotulo__veredito--seguro b{ color:var(--verde-forte); }
.rotulo__veredito--nada{ background:var(--creme-2); color:var(--tinta-2); }
.rotulo__marca{ flex:none; font-size:1.05rem; line-height:1.4; }

.rotulo__lista{
  list-style:none; margin:0; padding:1.15rem;
  display:flex; flex-wrap:wrap; gap:.45rem;
  max-height:288px; overflow-y:auto;
  /* dissolve o último item para indicar que a lista continua */
  -webkit-mask-image:linear-gradient(to bottom, #000 calc(100% - 34px), transparent 100%);
          mask-image:linear-gradient(to bottom, #000 calc(100% - 34px), transparent 100%);
  scrollbar-width:thin;
}
.rotulo__item{
  font-family:var(--mono); font-size:.83rem; line-height:1;
  padding:.5rem .72rem; border-radius:100px;
  background:var(--creme-2); color:var(--tinta-2);
  border:1px solid transparent;
  opacity:0; transform:translateY(6px);
  animation:surge .42s cubic-bezier(.2,.7,.3,1) forwards;
}
.rotulo__item--leite{ background:var(--coral-fraco); color:var(--coral-forte); border-color:rgba(239,110,104,.35); font-weight:500; }
.rotulo__item--falso{ background:var(--verde-fraco); color:var(--verde-forte); border-color:rgba(142,202,172,.5); }
.rotulo__item.is-achado{ box-shadow:0 0 0 3px rgba(42,48,47,.14); }
@keyframes surge{ to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){
  .rotulo__item{ opacity:1; transform:none; animation:none; }
}

.rotulo__legenda{
  display:flex; flex-wrap:wrap; gap:1.1rem;
  padding:.9rem 1.15rem; border-top:1px solid var(--linha);
  font-size:.8rem; color:var(--tinta-2);
}
.rotulo__legenda span{ display:flex; align-items:center; gap:.4rem; }
.rotulo__ponto{ width:10px; height:10px; border-radius:50%; flex:none; }
.rotulo__ponto--leite{ background:var(--coral); }
.rotulo__ponto--falso{ background:var(--sage); }

@media (max-width:880px){ .folha__grade{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------------- história */
.historia__grade{
  display:grid; gap:clamp(2rem,4.5vw,4rem);
  grid-template-columns:.9fr 1.1fr; align-items:center;
}
.historia__foto{
  position:relative; border-radius:var(--raio); overflow:hidden;
  background:var(--pessego-2); aspect-ratio:4/5;
}
.historia__foto img{ width:100%; height:100%; object-fit:cover; object-position:center 18%; }
.historia__data{
  font-family:var(--mono); font-size:.8rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--coral-forte); margin:0 0 1rem;
}
.historia__assina{
  font-family:var(--display); font-variation-settings:"SOFT" 90,"WONK" 1;
  font-style:italic; font-size:1.5rem; color:var(--terra); margin:1.6rem 0 .2rem;
}
.historia__crn{ font-family:var(--mono); font-size:.78rem; letter-spacing:.08em; color:var(--tinta-3); margin:0; }
@media (max-width:880px){ .historia__grade{ grid-template-columns:1fr; } .historia__foto{ aspect-ratio:3/2; } }

/* ---------------------------------------------------------------- cartões */
.grade{ display:grid; gap:1.5rem; }
.grade--2{ grid-template-columns:repeat(2,1fr); }
.grade--3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:880px){ .grade--3{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){ .grade--2,.grade--3{ grid-template-columns:1fr; } }

.cartao{
  background:var(--creme); border:1px solid var(--linha); border-radius:var(--raio);
  padding:1.9rem; display:flex; flex-direction:column;
  transition:transform .22s cubic-bezier(.2,.7,.3,1), box-shadow .22s, border-color .22s;
}
.cartao--link:hover{ transform:translateY(-3px); box-shadow:var(--sombra); border-color:var(--sage); }
.cartao h3{ margin-bottom:.5rem; }
.cartao p{ color:var(--tinta-2); font-size:.98rem; }
.cartao__pe{ margin-top:auto; padding-top:1.4rem; }

/* pacote de consulta */
.pacote{ position:relative; background:var(--creme); border:1.5px solid var(--linha); border-radius:var(--raio); padding:2rem 1.9rem; }
.pacote--destaque{ border-color:var(--sage); box-shadow:var(--sombra); }
.pacote__selo{
  position:absolute; top:-.75rem; left:1.9rem;
  font-family:var(--mono); font-size:.68rem; letter-spacing:.13em; text-transform:uppercase;
  background:var(--verde); color:#fff; padding:.35rem .8rem; border-radius:100px;
}
.pacote h3{ margin-bottom:1.2rem; }
.itens{ list-style:none; margin:0 0 1.6rem; padding:0; display:grid; gap:.85rem; }
.itens li{ display:flex; gap:.7rem; font-size:.96rem; line-height:1.55; color:var(--tinta-2); }
.itens li::before{
  content:""; flex:none; width:20px; height:20px; margin-top:.16rem; border-radius:50%;
  background:var(--verde-fraco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.4l3 3 6-6.6' fill='none' stroke='%2346823E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;
}
.itens li.nao::before{
  background:var(--coral-fraco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6.6 6.6l6.8 6.8M13.4 6.6l-6.8 6.8' fill='none' stroke='%23B53A33' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") center/16px no-repeat;
}

/* material (e-book / diário) */
.material{ display:flex; flex-direction:column; height:100%; }
.material__capa{
  background:var(--pessego-2); border-radius:var(--raio) var(--raio) 0 0;
  padding:1.8rem 1.8rem 0; display:flex; align-items:flex-end; justify-content:center;
  height:250px; overflow:hidden;
}
.material__capa img{
  width:auto; max-width:min(100%,215px); height:100%; object-fit:contain; object-position:bottom;
  filter:drop-shadow(0 14px 26px rgba(157,59,43,.22));
}
.material__corpo{
  flex:1; display:flex; flex-direction:column;
  border:1px solid var(--linha); border-top:0; border-radius:0 0 var(--raio) var(--raio);
  padding:1.6rem 1.7rem 1.8rem; background:var(--creme);
}

/* vitrine grande — páginas de e-book e diário */
.material__capa--grande{
  height:auto; min-height:clamp(300px,34vw,400px); padding:clamp(2rem,4vw,3rem);
  border-radius:var(--raio); align-items:center;
}
.material__capa--grande img{ width:auto; max-width:min(100%,320px); height:auto; max-height:340px; }

/* artigo */
.artigo-cartao{ display:flex; flex-direction:column; text-decoration:none; color:inherit; height:100%; }
.artigo-cartao__img{ border-radius:var(--raio); overflow:hidden; aspect-ratio:16/10; background:var(--pessego-2); }
.artigo-cartao__img img{ width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.artigo-cartao:hover .artigo-cartao__img img{ transform:scale(1.045); }
.artigo-cartao h3{ font-size:1.12rem; margin:1.1rem 0 .4rem; line-height:1.28; }
.artigo-cartao:hover h3{ color:var(--coral-forte); }
.artigo-cartao__ler{ margin-top:auto; padding-top:.9rem; font-family:var(--mono); font-size:.76rem; letter-spacing:.12em; text-transform:uppercase; color:var(--verde-forte); }

/* ---------------------------------------------------------------- faixa CTA */
.faixa{ background:var(--verde-forte); color:var(--creme); }
.faixa h2{ color:var(--creme); }
.faixa p{ color:rgba(255,254,248,.82); }
.faixa .btn{ margin-top:1.8rem; }

/* ---------------------------------------------------------------- cabeçalho de página */
.capa{ background:var(--pessego); padding-block:clamp(3rem,6vw,4.6rem); }
.capa h1{ margin-bottom:.3em; }
.capa .lead{ color:var(--tinta-2); }
.trilha{ font-family:var(--mono); font-size:.74rem; letter-spacing:.13em; text-transform:uppercase; color:var(--tinta-2); margin:0 0 1.2rem; }
.trilha a{ color:inherit; text-decoration:none; }
.trilha a:hover{ color:var(--coral-forte); }

.artigo-capa{
  margin:0 auto clamp(2.5rem,5vw,3.5rem);
  max-width:900px; border-radius:var(--raio); overflow:hidden;
  aspect-ratio:16/8; background:var(--pessego-2);
}
.artigo-capa img{ width:100%; height:100%; object-fit:cover; }

/* ---------------------------------------------------------------- prosa longa */
.prosa{ max-width:68ch; font-size:1.08rem; line-height:1.78; }
.prosa h2{ font-size:clamp(1.5rem,2.4vw,1.95rem); margin-top:2.4em; }
.prosa h3{ margin-top:2em; }
.prosa > *:first-child{ margin-top:0; }
.prosa p{ margin-bottom:1.3em; }
.prosa b,.prosa strong{ color:var(--tinta); font-weight:700; }
.prosa img{ border-radius:var(--raio); margin:2rem 0; }
.prosa ul,.prosa ol{ padding-left:1.3em; margin:0 0 1.3em; }
.prosa li{ margin-bottom:.5em; }
.prosa blockquote{
  margin:2rem 0; padding:1.2rem 0 1.2rem 1.4rem; border-left:3px solid var(--coral);
  font-family:var(--display); font-variation-settings:"SOFT" 60,"WONK" 1;
  font-size:1.25rem; line-height:1.4; color:var(--terra);
}
.prosa hr{ border:0; border-top:1px solid var(--linha); margin:2.6rem 0; }
.prosa a{ color:var(--verde-forte); }

/* ---------------------------------------------------------------- formulário */
.form{ display:grid; gap:1rem; }
.campo{ display:grid; gap:.4rem; }
.campo label{ font-size:.88rem; font-weight:500; color:var(--tinta); }
.campo input,.campo textarea{
  width:100%; padding:.85rem 1rem;
  font-family:var(--corpo); font-size:1rem; color:var(--tinta);
  background:var(--creme); border:1.5px solid var(--linha-forte); border-radius:var(--raio-p);
  transition:border-color .16s, box-shadow .16s;
}
.campo textarea{ min-height:150px; resize:vertical; }
.campo input:focus,.campo textarea:focus{
  outline:none; border-color:var(--sage); box-shadow:0 0 0 3px rgba(142,202,172,.3);
}
.form__aviso{ font-size:.85rem; color:var(--tinta-2); margin:0; }
.form__msg{ margin:0; padding:.9rem 1.1rem; border-radius:var(--raio-p); font-size:.94rem; line-height:1.55; }
.form__msg.ok{ background:var(--verde-fraco); color:#33512D; }
.form__msg.erro{ background:var(--coral-fraco); color:#7E2A25; }

.contato-info{ list-style:none; margin:0; padding:0; display:grid; gap:1.1rem; }
.contato-info li{ display:flex; gap:.85rem; align-items:flex-start; }
.contato-info svg{ flex:none; margin-top:.2rem; color:var(--verde); }
.contato-info span{ display:block; font-size:.8rem; color:var(--tinta-3); font-family:var(--mono); letter-spacing:.08em; text-transform:uppercase; }
.contato-info a{ font-size:1.05rem; color:var(--tinta); text-decoration:none; }
.contato-info a:hover{ color:var(--coral-forte); }

/* ---------------------------------------------------------------- rodapé */
.rodape{ background:var(--tinta); color:rgba(255,254,248,.72); padding-block:clamp(3rem,5vw,4.5rem) clamp(5rem,7vw,6rem); font-size:.93rem; }
.rodape__grade{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:2.5rem; padding-bottom:2.8rem; border-bottom:1px solid rgba(255,254,248,.14); }
.rodape__marca img{ width:132px; margin-bottom:1.1rem; }
.rodape h4{ font-family:var(--mono); font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--sage); margin:0 0 1rem; }
.rodape ul{ list-style:none; margin:0; padding:0; display:grid; gap:.65rem; }
.rodape a{ color:rgba(255,254,248,.78); text-decoration:none; }
.rodape a:hover{ color:var(--sage); }
.rodape__social{ display:flex; gap:.6rem; margin-top:1.2rem; }
.rodape__social a{
  width:38px; height:38px; border-radius:50%; display:grid; place-items:center;
  background:rgba(255,254,248,.08); transition:background .18s, transform .18s;
}
.rodape__social a:hover{ background:var(--coral); transform:translateY(-2px); }
.rodape__social svg{ width:17px; height:17px; }
.rodape__fim{ padding-top:1.8rem; display:flex; flex-wrap:wrap; gap:.6rem 1.6rem; justify-content:space-between; font-size:.84rem; color:rgba(255,254,248,.52); }
.rodape__fim p{ margin:0; }
@media (max-width:820px){ .rodape__grade{ grid-template-columns:1fr 1fr; } .rodape__marca{ grid-column:1/-1; } }
@media (max-width:520px){ .rodape__grade{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------------- whatsapp flutuante */
.zap{
  position:fixed; right:clamp(1rem,3vw,1.75rem); bottom:clamp(1rem,3vw,1.75rem); z-index:90;
  width:56px; height:56px; border-radius:50%;
  display:grid; place-items:center;
  background:#25D366; color:#fff;
  box-shadow:0 8px 22px -6px rgba(37,211,102,.6);
  transition:transform .2s cubic-bezier(.2,.7,.3,1);
}
.zap:hover{ transform:scale(1.07); color:#fff; }
.zap svg{ width:28px; height:28px; }

/* ---------------------------------------------------------------- 404 */
.erro{ padding-block:clamp(4rem,10vw,8rem); text-align:center; }
.erro__cod{
  font-family:var(--mono); font-size:.8rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--coral-forte); margin:0 0 1.2rem;
}
.erro__links{ display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; margin-top:2rem; }

/* ---------------------------------------------------------------- revelação no scroll */
.js .js .revela{ opacity:0; transform:translateY(18px); transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1); }
.js .revela.is-visivel{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .js .revela{ opacity:1; transform:none; transition:none; }
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}
