@charset "utf-8";
/* =========================================================================
   Mentoria em Ginecologia Natural — Bárbara Bordegatto
   ginecologianatural.parteiraurbana.com.br
   Revisão: 14/08/2026
   Paleta extraída das referências. Todos os pares texto/fundo verificados
   contra WCAG 2.2 AA (razões anotadas ao lado de cada token).
   ========================================================================= */

/* ---------------------------------------------------------------- tokens */
:root{
  /* superfícies */
  --creme:        #F0E4CC;  /* creme exato das referências */
  --creme-claro:  #F6EDD9;
  --creme-suave:  #E7D6B8;
  --ameixa:       #784860;  /* a moldura de landing.jpg */
  --ameixa-media: #5E3549;  /* hover/escurecida */

  /* acentos (uso gráfico) */
  --rose:      #CC8490;
  --areia:     #E4C09C;
  --terracota: #B4603C;
  --sage:      #7E8F6B;

  /* variantes de texto — escurecidas até passar AA sobre creme */
  --tinta:            #3A2E28;  /* marrom quente das refs — 10,41:1 */
  --tinta-suave:      #5F4E44;  /*  6,27:1 sobre creme */
  --terracota-texto:  #9A4E2E;  /*  5,03:1 sobre creme */
  --rose-texto:       #9C4653;  /*  5,16:1 sobre creme */
  --sage-texto:       #5A6B48;  /*  4,85:1 sobre creme */
  --areia-texto:      #8A6034;  /*  4,63:1 sobre creme */

  /* variantes claras — sobre ameixa */
  --sobre-ameixa:        #F6EDD9;  /*  6,23:1 sobre ameixa nova */
  --sobre-ameixa-suave:  #EBD5C4;  /*  ~5,6:1 sobre ameixa nova */
  --rose-claro:          #F0BFC7;  /*  ~4,8:1 sobre ameixa nova */
  --areia-claro:         #EBD0B4;  /*  6,83:1 sobre ameixa */
  --sage-claro:          #A9BC93;  /*  4,95:1 sobre ameixa */

  /* ações */
  --acao:        #784860;  /* ameixa da moldura — creme 5,76:1 */
  --acao-escura: #5E3549;
  --magenta-texto: #9C4653; /* = rose-texto: 4,88:1 sobre creme novo */
  --wa:          #188741;  /* branco 4,58:1 */
  --wa-escura:   #106630;

  /* traços gráficos (mandala)
     escurecidos o suficiente para que os rótulos brancos sobre os arcos
     passem AA (≥4,5:1) e os arcos continuem ≥3:1 sobre o creme */
  --g-menstrual:  #A65433;  /* branco 5,33:1 · creme 4,48:1 */
  --g-folicular:  #63734F;  /* branco 5,13:1 · creme 4,30:1 */
  --g-ovulatoria: #A45465;  /* branco 5,21:1 · creme 4,37:1 */
  --g-lutea:      #784860;  /* branco 7,26:1 · creme 6,09:1 */

  /* linhas */
  --linha:       #DCC9A8;
  --linha-forte: #C4AC85;

  /* tipografia */
  --display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --corpo:   'Fraunces', Georgia, serif;
  --ui:      'Manrope', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  /* ritmo */
  --pag:    min(92vw, 71rem);
  --texto:  66ch;
  --arco:   50vw 50vw 0.75rem 0.75rem;

  --s-1: .5rem;  --s-2: .875rem; --s-3: 1.25rem; --s-4: 1.75rem;
  --s-5: 2.5rem; --s-6: 3.5rem;  --s-7: 5rem;    --s-8: 7rem;

  --sombra:      0 1px 2px rgba(51,37,31,.05), 0 8px 28px -14px rgba(94,53,73,.28);
  --sombra-alta: 0 2px 4px rgba(51,37,31,.06), 0 22px 48px -22px rgba(94,53,73,.42);

  --foco: 3px solid var(--ameixa);
}

/* ----------------------------------------------------------------- reset */
*,*::before,*::after{box-sizing:border-box}
html{
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:5.5rem;
}
body{
  margin:0;
  background:var(--creme);
  color:var(--tinta);
  font-family:var(--corpo);
  font-size:clamp(1.0625rem,.98rem + .35vw,1.1875rem);
  font-weight:400;
  line-height:1.65;
  letter-spacing:.005em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  overflow-wrap:break-word;
}
img,svg,picture{max-width:100%;display:block}
img{height:auto}
h1,h2,h3,h4{
  font-family:var(--display);
  font-variation-settings:'SOFT' 100,'WONK' 0;
  font-weight:600;
  font-weight:400;
  line-height:1.06;
  letter-spacing:-.015em;
  text-wrap:balance;
  margin:0 0 var(--s-3);
}
h1{font-size:clamp(2.45rem,1.5rem + 4.2vw,4.4rem);line-height:.99;letter-spacing:-.025em}
h2{font-size:clamp(1.95rem,1.35rem + 2.5vw,3.05rem)}
h3{font-size:clamp(1.28rem,1.12rem + .65vw,1.6rem);letter-spacing:-.01em}
h4{font-size:clamp(1.08rem,1rem + .3vw,1.22rem);letter-spacing:0}
p{margin:0 0 var(--s-3);max-width:var(--texto);text-wrap:pretty}
ul,ol{margin:0 0 var(--s-3);padding-left:1.2em}
li{margin-bottom:.45em}
strong,b{font-weight:700}
a{color:var(--terracota-texto);text-underline-offset:.2em;text-decoration-thickness:.06em}
a:hover{color:var(--acao-escura)}
:focus-visible{outline:var(--foco);outline-offset:3px;border-radius:2px}
::selection{background:var(--areia);color:var(--tinta)}
hr{border:0;border-top:1px solid var(--linha);margin:var(--s-5) 0}
abbr[title]{text-decoration:underline dotted;cursor:help}
small{font-size:.8125rem}

/* ------------------------------------------------------------- utilidades */
.pagina{width:var(--pag);margin-inline:auto}
.visualmente-oculto{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;
}
.pular{
  position:absolute;left:.75rem;top:-4rem;z-index:200;
  background:var(--ameixa);color:var(--sobre-ameixa);
  padding:.7rem 1.1rem;border-radius:.5rem;font-weight:700;text-decoration:none;
  transition:top .18s ease;
}
.pular:focus{top:.75rem}

.olho{
  font-family:var(--corpo);
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--rose-texto);margin:0 0 var(--s-2);display:block;
}
.olho--claro{color:var(--rose-claro)}
.olho::after{
  content:"";display:block;width:2.75rem;height:2px;margin-top:.55rem;
  background:currentColor;opacity:.6;
}

/* bloco de resposta direta (unidade extraída por IA) */
.resposta{
  font-size:1.06em;line-height:1.6;color:var(--tinta);
  border-left:3px solid var(--rose);
  padding:.15rem 0 .15rem var(--s-3);
  margin:0 0 var(--s-4);
  max-width:60ch;
}
.resposta strong{font-weight:700}
.secao--escura .resposta{border-left-color:var(--rose-claro);color:var(--sobre-ameixa)}

.fonte-nota{
  font-size:.8125rem;line-height:1.5;color:var(--tinta-suave);
  max-width:62ch;margin-top:var(--s-3);
}
.fonte-nota a{color:var(--terracota-texto)}
.secao--escura .fonte-nota{color:var(--sobre-ameixa-suave)}
.secao--escura .fonte-nota a{color:var(--areia-claro)}

/* ------------------------------------------------------------------ seções */
.secao{padding-block:clamp(3.25rem,7vw,var(--s-8));position:relative}
.secao--escura{background:var(--ameixa);color:var(--sobre-ameixa)}
.secao--escura h1,.secao--escura h2,.secao--escura h3,.secao--escura h4{color:var(--sobre-ameixa)}
.secao--escura p{color:var(--sobre-ameixa-suave)}
.secao--clara{background:var(--creme-claro)}
.secao__cabeca{max-width:44rem;margin-bottom:var(--s-5)}

/* ------------------------------------------------------------------ header */
.topo{
  position:sticky;top:0;z-index:60;
  background:rgba(245,234,214,.92);
  border-bottom:1px solid transparent;
  backdrop-filter:saturate(150%) blur(10px);
  transition:border-color .2s ease, box-shadow .2s ease;
}
.topo::before{content:"";display:block;height:6px;background:var(--ameixa)}
.topo.is-colado{border-bottom-color:var(--linha);box-shadow:0 6px 20px -18px rgba(94,53,73,.7)}
.topo__interno{
  display:flex;align-items:center;gap:var(--s-3);
  min-height:3.9rem;padding-block:.5rem;
}
.marca{
  display:flex;flex-direction:column;line-height:1.1;
  text-decoration:none;color:var(--tinta);margin-right:auto;
}
.marca__nome{font-family:var(--display);font-variation-settings:'SOFT' 100,'WONK' 0;font-weight:600;font-size:1.16rem;letter-spacing:-.01em}
.marca__sub{
  font-size:.66rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ameixa-media);margin-top:.15rem;
}
.topo__nav{display:none;gap:var(--s-3);align-items:center}
.topo__nav a{
  font-size:.875rem;font-weight:600;color:var(--tinta-suave);text-decoration:none;
  padding:.35rem .1rem;border-bottom:2px solid transparent;
}
.topo__nav a:hover{color:var(--tinta);border-bottom-color:var(--rose)}
.topo__nav a[aria-current="true"]{color:var(--ameixa);border-bottom-color:var(--ameixa)}
@media (min-width:60rem){ .topo__nav{display:flex} }

/* ------------------------------------------------------------------ botões */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--corpo);font-size:1.0125rem;font-weight:700;letter-spacing:.005em;
  line-height:1.25;text-align:center;text-decoration:none;
  padding:.95rem 1.6rem;border-radius:999px;border:2px solid transparent;
  cursor:pointer;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease;
  min-height:3rem;
}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn--primario{background:var(--acao);color:#fff;box-shadow:var(--sombra)}
.btn--primario:hover{background:var(--acao-escura);color:#fff;box-shadow:var(--sombra-alta)}
.btn--fantasma{background:transparent;color:var(--ameixa);border-color:var(--ameixa-media)}
.btn--fantasma:hover{background:var(--ameixa);color:var(--sobre-ameixa)}
.secao--escura .btn--fantasma{color:var(--sobre-ameixa);border-color:var(--rose-claro)}
.secao--escura .btn--fantasma:hover{background:var(--creme-claro);color:var(--ameixa)}
.btn--wa{background:var(--wa);color:#fff}
.btn--wa:hover{background:var(--wa-escura);color:#fff}
.btn--largo{width:100%}
.btn svg{width:1.15em;height:1.15em;flex:none}

.cta-bloco{margin-top:var(--s-4)}
.cta-linha{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-3);align-items:center}
.cta-nota{
  font-size:.8125rem;line-height:1.45;color:var(--tinta-suave);
  margin:var(--s-2) 0 0;max-width:34rem;
}
.secao--escura .cta-nota{color:var(--sobre-ameixa-suave)}

/* -------------------------------------------------------------------- hero */
.hero{padding-block:clamp(2.5rem,5vw,4.5rem) clamp(3rem,6vw,5.5rem);overflow:hidden}
.hero__grade{display:grid;gap:clamp(2.25rem,5vw,3.5rem);align-items:center}
@media (min-width:64rem){
  .hero__grade{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:var(--s-6)}
}
.hero h1{margin-bottom:var(--s-3)}
.hero h1 em{font-style:normal;color:var(--terracota-texto)}
.hero__sub{font-size:1.075em;color:var(--tinta-suave);max-width:38ch;margin-bottom:var(--s-4)}
@media (min-width:64rem){ .hero__sub{max-width:46ch} }

.credenciais{
  display:flex;flex-wrap:wrap;gap:.4rem .95rem;align-items:center;
  margin-top:var(--s-4);padding-top:var(--s-3);border-top:1px solid var(--linha);
  font-size:.8125rem;font-weight:600;color:var(--tinta-suave);letter-spacing:.01em;
}
.credenciais li{margin:0;display:flex;align-items:center;gap:.45rem}
.credenciais{list-style:none;padding-left:0}
.credenciais li+li::before{
  content:"";width:4px;height:4px;border-radius:50%;background:var(--rose);flex:none;
}

/* ordem mobile: título, texto, CTA, mandala */
.hero__visual{order:2}
@media (min-width:64rem){ .hero__visual{order:0} }

/* ----------------------------------------------------------------- mandala */
.mandala{
  --cor-fase:var(--ameixa-media);
  max-width:34rem;margin-inline:auto;
}
.mandala__palco{
  position:relative;
  padding:clamp(.5rem,2vw,1.25rem);
}
.mandala__palco::before{
  content:"";position:absolute;inset:8%;border-radius:50%;
  background:radial-gradient(circle at 50% 42%, rgba(251,244,231,.95), rgba(245,234,214,0) 68%);
  z-index:0;
}
.mandala-svg{position:relative;z-index:1;width:100%;height:auto;overflow:visible}

.m-guia{fill:none;stroke:var(--linha-forte);stroke-width:1;opacity:.55}
.m-guia--fina{stroke-dasharray:2 5;opacity:.45}
.m-temp-linha{fill:none;stroke:var(--ameixa-media);stroke-width:1.6;opacity:.5;stroke-linejoin:round}
.m-dia-sep{stroke:var(--creme);stroke-width:1.4;opacity:.85}

.m-fase{transition:opacity .28s ease}
.m-arco{fill:var(--cor);stroke:none}
.m-arco-halo{fill:none;stroke:var(--cor);stroke-width:0;opacity:0;transition:stroke-width .25s ease,opacity .25s ease}
.m-arco-rotulo{
  font-family:var(--corpo);font-size:8.5px;font-weight:700;letter-spacing:.22em;
  fill:#fff;text-anchor:middle;dominant-baseline:middle;
}
.m-temp-pt{fill:var(--cor)}
.m-muco{fill:var(--cor);opacity:.85}
.m-muco--vazio{fill:none;stroke:var(--cor);stroke-width:1.1;opacity:.6}
.m-fluxo{stroke:var(--cor);stroke-width:3.2;stroke-linecap:round}
.m-sint{fill:var(--cor);opacity:.75}

.m-fase--menstrual  {--cor:var(--g-menstrual)}
.m-fase--folicular  {--cor:var(--g-folicular)}
.m-fase--ovulatoria {--cor:var(--g-ovulatoria)}
.m-fase--lutea      {--cor:var(--g-lutea)}

.m-num{
  font-family:var(--corpo);font-size:10px;font-weight:700;
  fill:var(--tinta-suave);text-anchor:middle;dominant-baseline:middle;
}
.m-centro-disco{fill:var(--creme-claro);stroke:var(--linha-forte);stroke-width:1}
.m-centro-anel{fill:none;stroke:var(--rose);stroke-width:1;opacity:.6}
.m-centro-num{
  font-family:var(--display);font-size:24px;fill:var(--ameixa);
  text-anchor:middle;dominant-baseline:middle;
}
.m-centro-txt{
  font-family:var(--corpo);font-size:8px;font-weight:700;letter-spacing:.2em;
  fill:var(--tinta-suave);text-anchor:middle;dominant-baseline:middle;
}

/* estado ativo — só com JS; sem JS a mandala fica inteira acesa */
.js .mandala[data-fase] .m-fase{opacity:.28}
.js .mandala[data-fase="menstrual"]  .m-fase--menstrual,
.js .mandala[data-fase="folicular"]  .m-fase--folicular,
.js .mandala[data-fase="ovulatoria"] .m-fase--ovulatoria,
.js .mandala[data-fase="lutea"]      .m-fase--lutea{opacity:1}
.js .mandala[data-fase="menstrual"]  .m-fase--menstrual  .m-arco-halo,
.js .mandala[data-fase="folicular"]  .m-fase--folicular  .m-arco-halo,
.js .mandala[data-fase="ovulatoria"] .m-fase--ovulatoria .m-arco-halo,
.js .mandala[data-fase="lutea"]      .m-fase--lutea      .m-arco-halo{stroke-width:2;opacity:.45}
.js .mandala .m-fase{cursor:pointer}

/* controles */
.mandala__legenda{
  font-size:.78rem;font-weight:600;letter-spacing:.02em;color:var(--tinta-suave);
  text-align:center;margin:var(--s-2) 0 var(--s-3);
}
.mandala__controles{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;
  list-style:none;padding:0;margin:0 0 var(--s-3);
}
@media (min-width:34rem){ .mandala__controles{grid-template-columns:repeat(4,minmax(0,1fr))} }
.fase-btn{
  width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:.12rem;
  font-family:var(--corpo);font-size:.8125rem;font-weight:700;line-height:1.25;
  color:var(--tinta);text-align:left;
  background:var(--creme-claro);border:1.5px solid var(--linha);border-radius:.7rem;
  padding:.6rem .7rem;cursor:pointer;
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease;
}
.fase-btn:hover{border-color:var(--cor-btn);transform:translateY(-1px)}
.fase-btn__dia{font-size:.68rem;font-weight:600;color:var(--tinta-suave);letter-spacing:.02em}
.fase-btn::before{
  content:"";width:100%;height:4px;border-radius:99px;background:var(--cor-btn);
  margin-bottom:.35rem;opacity:.9;
}
.fase-btn[aria-pressed="true"]{
  background:#fff;border-color:var(--cor-btn);
  box-shadow:inset 0 0 0 1px var(--cor-btn),var(--sombra);
}
.fase-btn[data-fase="menstrual"] {--cor-btn:var(--g-menstrual)}
.fase-btn[data-fase="folicular"] {--cor-btn:var(--g-folicular)}
.fase-btn[data-fase="ovulatoria"]{--cor-btn:var(--g-ovulatoria)}
.fase-btn[data-fase="lutea"]     {--cor-btn:var(--g-lutea)}

/* painéis das fases — visíveis por padrão (sem JS), alternados com JS */
.fase-painel{
  background:var(--creme-claro);border:1px solid var(--linha);
  border-left:4px solid var(--cor-p);
  border-radius:.25rem .7rem .7rem .25rem;
  padding:var(--s-3);margin-bottom:.6rem;
}
.fase-painel[data-fase="menstrual"] {--cor-p:var(--g-menstrual)}
.fase-painel[data-fase="folicular"] {--cor-p:var(--g-folicular)}
.fase-painel[data-fase="ovulatoria"]{--cor-p:var(--g-ovulatoria)}
.fase-painel[data-fase="lutea"]     {--cor-p:var(--g-lutea)}
.fase-painel h3{font-family:var(--corpo);font-size:.95rem;font-weight:800;letter-spacing:.01em;margin-bottom:.3rem}
.fase-painel p{font-size:.9375rem;line-height:1.55;margin:0;color:var(--tinta-suave);max-width:52ch}
.js .fase-painel{display:none;margin-bottom:0;min-height:8.5rem}
.js .fase-painel.is-ativa{display:block}
.js .mandala__sem-js{display:none}
.so-js{display:none}
.js .so-js{display:inline}
.mandala__sem-js{
  font-size:.8125rem;color:var(--tinta-suave);margin:0 0 var(--s-2);
}

/* ------------------------------------------------------------------ cartões */
.cartoes{list-style:none;padding:0;margin:0}
.cartao{margin:0}
.cartao h3{margin-bottom:.5rem}
.cartao p:last-child{margin-bottom:0}
.cartao p{color:var(--tinta-suave);font-size:.96em}
.secao--escura .cartao{
  background:var(--ameixa-media);border-color:rgba(232,174,183,.28);
}
.secao--escura .cartao p{color:var(--sobre-ameixa)}

/* "isso é para você se" — lista de reconhecimento */
.reconhecimento{list-style:none;padding:0;margin:0;display:grid;gap:0;counter-reset:r}
.reconhecimento li{
  display:grid;grid-template-columns:2.1rem 1fr;gap:var(--s-2);align-items:start;
  padding:var(--s-3) 0;margin:0;border-top:1px solid var(--linha);
  font-size:1.06em;line-height:1.55;
}
.reconhecimento li:last-child{border-bottom:1px solid var(--linha)}
.reconhecimento li::before{
  counter-increment:r;content:counter(r,decimal-leading-zero);
  font-family:var(--display);font-size:1.05rem;color:var(--rose-texto);
  line-height:1.5;
}
.reconhecimento b{font-weight:700;color:var(--tinta)}

/* citação-destaque */
.destaque{
  margin:0;padding:0;
  display:grid;gap:var(--s-3) clamp(2rem,5vw,4rem);align-items:start;
}
@media (min-width:56rem){
  .destaque{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center}
}
.destaque p{
  font-family:var(--display);font-size:clamp(1.55rem,1rem + 2.3vw,2.6rem);
  line-height:1.16;letter-spacing:-.015em;max-width:16ch;margin:0;
  position:relative;
}
.destaque p:last-child{
  font-family:var(--corpo);font-size:1.05rem;font-weight:400;line-height:1.65;
  max-width:44ch;letter-spacing:0;margin:0;
}

/* variáveis registradas na mandala */
.variaveis{
  list-style:none;padding:0;margin:0;display:grid;gap:var(--s-2);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,19.5rem),1fr));
}
.variaveis li{
  display:grid;grid-template-columns:2.6rem 1fr;gap:var(--s-2);align-items:start;
  margin:0;background:var(--creme-claro);border:1px solid var(--linha);
  border-radius:.85rem;padding:var(--s-3);
}
.variaveis svg{width:2rem;height:2rem;color:var(--cor-v,var(--ameixa-media))}
.variaveis b{display:block;font-size:.98rem;font-weight:700;margin-bottom:.15rem}
.variaveis span{font-size:.875rem;line-height:1.5;color:var(--tinta-suave)}

/* linha do tempo */
.etapas{list-style:none;padding:0;margin:0;display:grid;gap:0}
.etapas li{
  position:relative;margin:0;padding:0 0 var(--s-5) var(--s-5);
  border-left:2px solid var(--linha);
}
.etapas li:last-child{border-left-color:transparent;padding-bottom:0}
.etapas li::before{
  content:"";position:absolute;left:-.53rem;top:.42rem;
  width:1rem;height:1rem;border-radius:50%;
  background:var(--creme);border:3px solid var(--rose);
}
.etapas li.etapa--forte::before{background:var(--ameixa);border-color:var(--ameixa)}
.etapa__rotulo{
  display:block;font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rose-texto);margin-bottom:.3rem;
}
.etapas h3{margin-bottom:.4rem}
.etapas p{color:var(--tinta-suave);font-size:.98em;margin-bottom:0}

/* percurso em duas colunas: cabeça fixa à esquerda, linha do tempo à direita */
.percurso{display:grid;gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media (min-width:60rem){
  .percurso{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
  .percurso .secao__cabeca{position:sticky;top:6.5rem;margin-bottom:0}
}

/* perfis */
.perfis{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-3);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,18.5rem),1fr))}
.perfis li{
  margin:0;background:var(--creme-claro);border:1px solid var(--linha);
  border-radius:1rem;padding:var(--s-4);
}
.perfis h3{font-family:var(--corpo);font-size:1.0125rem;font-weight:800;letter-spacing:0;line-height:1.4;margin-bottom:.5rem}
.perfis p{font-size:.9375rem;color:var(--tinta-suave);margin-bottom:0}
.perfis .desfecho{
  display:block;margin-top:.7rem;padding-top:.7rem;border-top:1px dashed var(--linha-forte);
  font-size:.875rem;font-weight:700;color:var(--sage-texto);
}

/* ------------------------------------------------------------ quem conduz */
.babi{display:grid;gap:clamp(2rem,4vw,3.25rem);align-items:start}
@media (min-width:56rem){ .babi{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)} }
.arco-moldura{
  position:relative;border-radius:var(--arco);overflow:hidden;
  border:1px solid var(--linha-forte);background:var(--creme-claro);
  box-shadow:var(--sombra);
}
.arco-moldura img{width:100%;height:auto;display:block}
.babi__lista{list-style:none;padding:0;margin:var(--s-3) 0 0;display:grid;gap:.55rem}
.babi__lista li{
  margin:0;display:grid;grid-template-columns:1.35rem 1fr;gap:.6rem;
  font-size:.96em;line-height:1.5;
}
.babi__lista li::before{
  content:"";width:.55rem;height:.55rem;margin-top:.55em;border-radius:50%;
  background:var(--sage);justify-self:center;
}
/* assinatura — fecho da fala da Babi, com peso de assinatura mesmo */
.assinatura{
  margin-top:clamp(1.6rem,3vw,2.2rem);padding-top:clamp(1.2rem,2.4vw,1.6rem);
  border-top:1px solid var(--linha);
  display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;
}
.assinatura__nome{
  font-family:var(--display);font-variation-settings:'SOFT' 100,'WONK' 1;
  font-style:italic;font-weight:600;
  font-size:clamp(2.2rem,1.6rem + 2vw,3.1rem);line-height:.9;
  color:var(--ameixa);letter-spacing:-.01em;
}
.assinatura__cargo{
  font-family:var(--ui);font-size:.82rem;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;color:var(--tinta-suave);
}
.assinatura__link{
  margin-top:.5rem;display:inline-flex;align-items:center;gap:.45rem;
  font-family:var(--ui);font-size:1rem;font-weight:700;
  color:var(--rose-texto);text-decoration:none;
  border-bottom:2px solid var(--rose);padding-bottom:.12rem;
  transition:color .2s ease,border-color .2s ease,gap .2s ease;
}
.assinatura__link:hover{color:var(--ameixa);border-color:var(--ameixa);gap:.7rem}
.assinatura__link svg{width:1.05em;height:1.05em}

/* ------------------------------------------------------------- depoimentos */
.depoimentos{
  display:grid;gap:var(--s-3);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr));
}
.depoimento{
  background:var(--ameixa-media);border:1px solid rgba(232,174,183,.28);
  border-radius:1rem;padding:var(--s-4);margin:0;
  display:flex;flex-direction:column;
}
.depoimento blockquote{margin:0 0 var(--s-3);font-size:.98em;line-height:1.6;color:var(--sobre-ameixa)}
.depoimento blockquote p:last-child{margin-bottom:0}
.depoimento figcaption{
  margin-top:auto;font-size:.8125rem;font-weight:700;letter-spacing:.02em;
  color:var(--rose-claro);
}
.depoimento::before{
  content:"“";font-family:var(--display);font-size:2.6rem;line-height:.7;
  color:var(--rose-claro);opacity:.8;display:block;margin-bottom:.4rem;
}
.aviso-placeholder{
  border:2px dashed var(--rose-claro);border-radius:.75rem;
  padding:var(--s-3);margin-bottom:var(--s-4);
  font-size:.8125rem;line-height:1.55;color:var(--sobre-ameixa);
}
.aviso-placeholder b{color:var(--areia-claro)}

/* ------------------------------------------------------------ investimento */
.preco-grade{display:grid;gap:var(--s-4);align-items:start}
@media (min-width:60rem){ .preco-grade{grid-template-columns:minmax(0,1fr) minmax(0,1fr)} }

.preco-caixa{
  background:var(--creme-claro);border:2px solid var(--ameixa);border-radius:1.25rem;
  padding:clamp(1.5rem,3.5vw,2.25rem);box-shadow:var(--sombra-alta);
}
.preco-rotulo{
  font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--rose-texto);margin:0 0 .5rem;
}
.preco-parcela{
  font-family:var(--display);font-size:clamp(2.6rem,1.6rem + 4vw,3.9rem);
  line-height:1;color:var(--ameixa);letter-spacing:-.02em;margin:0;
  display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;
}
.preco-parcela .un{
  font-family:var(--corpo);font-size:.245em;font-weight:700;letter-spacing:.01em;
  color:var(--tinta-suave);
}
.preco-total{
  font-size:1.05rem;font-weight:500;color:var(--tinta);margin:.75rem 0 .3rem;
}
.preco-total b{font-weight:800;color:var(--ameixa)}
.preco-economia{
  font-size:.9375rem;font-weight:700;color:var(--sage-texto);margin:0 0 .6rem;
}
.preco-obs{font-size:.8125rem;line-height:1.5;color:var(--tinta-suave);margin:0}
.preco-regua{border:0;border-top:1px solid var(--linha);margin:var(--s-3) 0}

.preco-escada{margin-top:var(--s-3)}
.preco-escada summary{
  cursor:pointer;font-size:.875rem;font-weight:700;color:var(--ameixa);
  padding:.5rem 0;list-style:none;display:flex;align-items:center;gap:.45rem;
}
.preco-escada summary::-webkit-details-marker{display:none}
.preco-escada summary::before{content:"+";font-size:1.1em;line-height:1}
.preco-escada[open] summary::before{content:"–"}
.preco-escada__corpo{overflow-x:auto;padding-bottom:.4rem}
.preco-escada table{border-collapse:collapse;width:100%;min-width:20rem;font-size:.875rem}
.preco-escada caption{
  caption-side:bottom;text-align:left;font-size:.78rem;line-height:1.5;
  color:var(--tinta-suave);padding-top:.6rem;
}
.preco-escada th,.preco-escada td{
  text-align:right;padding:.45rem .55rem;border-bottom:1px solid var(--linha);
  font-variant-numeric:tabular-nums;
}
.preco-escada thead th{
  font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ameixa-media);border-bottom-width:1.5px;
}
.preco-escada tbody th{text-align:left;font-weight:700;color:var(--tinta)}
.preco-escada tbody tr:last-child th,
.preco-escada tbody tr:last-child td{background:var(--creme);font-weight:800}

/* radios de forma de pagamento */
.campo--radios{border:0;padding:0;margin:0 0 var(--s-3);min-inline-size:0}
.campo--radios legend{
  padding:0;font-size:.8125rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ameixa);margin-bottom:.45rem;
}
.secao--escura .campo--radios legend{color:var(--areia-claro)}
.radio{
  display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;
  background:#fff;border:1.5px solid var(--linha-forte);border-radius:.6rem;
  padding:.7rem .8rem;margin-bottom:.5rem;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.radio:hover{border-color:var(--ameixa-media)}
.radio input{
  flex:none;width:1.2rem;height:1.2rem;margin:.12rem 0 0;accent-color:var(--ameixa);
}
.radio input:focus-visible{outline:var(--foco);outline-offset:2px}
.radio:has(input:checked){border-color:var(--ameixa);box-shadow:inset 0 0 0 1px var(--ameixa)}
.radio__txt{display:flex;flex-direction:column;line-height:1.35;color:var(--tinta)}
.radio__txt b{font-size:.9375rem;font-weight:700}
.radio__txt span{font-size:.8125rem;color:var(--tinta-suave)}

.inclui{list-style:none;padding:0;margin:0}
.inclui li{
  display:grid;grid-template-columns:1.4rem 1fr;gap:.6rem;align-items:start;
  margin:0 0 .55rem;font-size:.9375rem;line-height:1.5;
}
.inclui li svg{width:1.05rem;height:1.05rem;margin-top:.28em;color:var(--sage-texto)}
.inclui--nao li svg{color:var(--terracota-texto)}
.inclui--nao li{color:var(--tinta-suave)}

.garantia{
  background:var(--creme-claro);border:1px solid var(--linha-forte);
  border-radius:1rem;padding:var(--s-4);margin-top:var(--s-4);
  display:grid;grid-template-columns:2.6rem 1fr;gap:var(--s-3);align-items:start;
}
.garantia svg{width:2.25rem;height:2.25rem;color:var(--sage-texto)}
.garantia h3{font-family:var(--corpo);font-size:1.02rem;font-weight:800;margin-bottom:.35rem}
.garantia p{font-size:.9375rem;color:var(--tinta-suave);margin-bottom:0}

/* ---------------------------------------------------------------- formulário */
.matricula{
  background:var(--creme-claro);border:1px solid var(--linha-forte);
  border-radius:1.25rem;padding:clamp(1.5rem,3.5vw,2.25rem);
}
.secao--escura .matricula{
  background:var(--ameixa-media);border-color:rgba(232,174,183,.3);
}
.matricula h3{margin-bottom:.35rem}
.matricula__intro{font-size:.9375rem;color:var(--tinta-suave);margin-bottom:var(--s-3)}
.secao--escura .matricula__intro{color:var(--sobre-ameixa-suave)}
.campo{margin-bottom:var(--s-3)}
.campo > label:not(.radio){
  display:block;font-size:.8125rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ameixa);margin-bottom:.35rem;
}
.secao--escura .campo > label:not(.radio){color:var(--areia-claro)}
.campo > input{
  width:100%;font-family:var(--corpo);font-size:1rem;color:var(--tinta);
  background:#fff;border:1.5px solid var(--ameixa-media);border-radius:.6rem;
  padding:.8rem .9rem;min-height:3rem;
}
.campo > input::placeholder{color:#8A7A70;opacity:1}
.campo > input:focus-visible{outline:var(--foco);outline-offset:2px;border-color:var(--ameixa)}
.campo > input:user-invalid{border-color:var(--acao-escura)}
.campo__dica{display:block;font-size:.78rem;font-weight:400;letter-spacing:0;
  text-transform:none;color:var(--tinta-suave);margin-top:.3rem}
.secao--escura .campo__dica{color:var(--sobre-ameixa-suave)}
.lgpd{
  font-size:.78rem;line-height:1.5;color:var(--tinta-suave);margin:var(--s-2) 0 0;
}
.secao--escura .lgpd{color:var(--sobre-ameixa-suave)}
.lgpd a{color:var(--terracota-texto)}
.secao--escura .lgpd a{color:var(--areia-claro)}

/* ------------------------------------------------------------------- vagas */
.vagas-selo{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--rose-claro);color:#4A2739;
  font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  padding:.5rem 1rem;border-radius:999px;margin-bottom:var(--s-3);
}
.vagas-selo svg{width:1rem;height:1rem}
.vagas-grade{display:grid;gap:var(--s-4)}
@media (min-width:56rem){ .vagas-grade{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-5)} }

/* --------------------------------------------------------------------- faq */
.faq{max-width:52rem}
.faq details{
  border-bottom:1px solid var(--linha);
}
.faq details[open]{background:var(--creme-claro)}
.faq summary{
  list-style:none;cursor:pointer;display:flex;gap:var(--s-3);align-items:flex-start;
  padding:var(--s-3) var(--s-3) var(--s-3) 0;
  font-family:var(--corpo);font-size:1.0125rem;font-weight:700;line-height:1.45;
  color:var(--tinta);position:relative;
}
.faq details[open] summary{padding-left:var(--s-3)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";flex:none;width:1.1rem;height:1.1rem;margin-left:auto;margin-top:.28em;
  background:currentColor;
  -webkit-mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' stroke='%23000' stroke-width='2.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  mask:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' stroke='%23000' stroke-width='2.2' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
  color:var(--ameixa-media);transition:transform .2s ease;
}
.faq details[open] summary::after{transform:rotate(135deg)}
.faq summary:hover{color:var(--ameixa)}
.faq__corpo{padding:0 var(--s-3) var(--s-4);}
.faq__corpo p{font-size:.9688rem;line-height:1.62;color:var(--tinta-suave);max-width:62ch}
.faq__corpo p:last-child{margin-bottom:0}
.faq__corpo a{color:var(--terracota-texto)}

/* ------------------------------------------------------------------- fecho */
.fecho__grade{display:grid;gap:clamp(2rem,4vw,3.25rem);align-items:center}
@media (min-width:60rem){ .fecho__grade{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)} }

/* ------------------------------------------------------------------ rodapé */
.rodape{background:var(--ameixa);color:var(--sobre-ameixa-suave);padding-block:var(--s-6) var(--s-5);font-size:.875rem}
.rodape a{color:var(--areia-claro)}
.rodape__grade{display:grid;gap:var(--s-4)}
@media (min-width:52rem){ .rodape__grade{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)} }
.rodape h2{font-size:1.3rem;margin-bottom:.6rem}
.rodape p{color:var(--sobre-ameixa-suave);font-size:.875rem;line-height:1.6;max-width:52ch}
.rodape__id{
  border:1px solid rgba(232,174,183,.3);border-radius:.75rem;padding:var(--s-3);
  font-size:.8125rem;line-height:1.6;
}
.rodape__id strong{color:var(--sobre-ameixa);display:block;font-size:.9375rem;margin-bottom:.2rem}
.rodape__links{list-style:none;padding:0;margin:var(--s-3) 0 0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.8125rem}
.rodape__links li{margin:0}
.rodape__base{
  margin-top:var(--s-5);padding-top:var(--s-3);border-top:1px solid rgba(232,174,183,.25);
  font-size:.78rem;color:var(--sobre-ameixa-suave);
}
.rodape__base p{font-size:.78rem;max-width:none;margin-bottom:.4rem}

/* --------------------------------------------------------- barra fixa + fab */
.barra-mobile{
  position:fixed;left:0;right:0;bottom:0;z-index:70;
  display:flex;gap:.5rem;align-items:center;
  background:rgba(94,53,73,.97);
  padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));
  box-shadow:0 -8px 24px -16px rgba(51,37,31,.8);
}
.barra-mobile__preco{
  display:flex;flex-direction:column;line-height:1.15;color:var(--sobre-ameixa);flex:none;
}
.barra-mobile__preco b{font-size:.95rem;font-weight:800}
.barra-mobile__preco span{font-size:.68rem;color:var(--sobre-ameixa-suave)}
.barra-mobile .btn{flex:1;font-size:.9375rem;padding:.75rem 1rem;min-height:2.85rem}
@media (min-width:60rem){ .barra-mobile{display:none} }
@media (max-width:59.99rem){ body{padding-bottom:4.6rem} }

.wa-fab{
  position:fixed;right:1rem;z-index:75;
  bottom:calc(5.4rem + env(safe-area-inset-bottom));
  width:3.4rem;height:3.4rem;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--wa);color:#fff;text-decoration:none;
  box-shadow:0 6px 20px -6px rgba(24,135,65,.6);
  transition:transform .18s ease,background-color .18s ease;
}
.wa-fab:hover{background:var(--wa-escura);color:#fff;transform:translateY(-2px)}
.wa-fab:focus-visible{outline:3px solid var(--wa-escura);outline-offset:3px}
.wa-fab svg{width:1.75rem;height:1.75rem}
@media (min-width:60rem){
  .wa-fab{bottom:1.5rem;right:1.5rem;width:3.75rem;height:3.75rem}
  .wa-fab svg{width:1.9rem;height:1.9rem}
}

/* --------------------------------------------- páginas de texto e erro 404 */
.prosa{max-width:44rem}
.prosa h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);margin-top:var(--s-5)}
.prosa h2:first-of-type{margin-top:var(--s-4)}
.prosa h3{font-family:var(--corpo);font-size:1.05rem;font-weight:800;letter-spacing:0;margin-top:var(--s-4)}
.prosa p,.prosa li{color:var(--tinta-suave)}
.prosa ul{padding-left:1.15em}
.prosa .voltar{
  display:inline-flex;align-items:center;gap:.45rem;margin-bottom:var(--s-4);
  font-size:.875rem;font-weight:700;text-decoration:none;color:var(--ameixa);
}
.prosa .voltar:hover{text-decoration:underline}
.prosa .meta{
  font-size:.8125rem;color:var(--tinta-suave);border-top:1px solid var(--linha);
  padding-top:var(--s-3);margin-top:var(--s-5);
}
.erro-num{
  font-family:var(--display);font-size:clamp(4rem,3rem + 8vw,8rem);line-height:.9;
  color:var(--rose);margin:0 0 var(--s-3);
}

/* ------------------------------------------------------------ ornamentação */
.secao{position:relative;overflow:hidden}
.secao>.pagina{position:relative;z-index:1}

/* --------------------------------------------------------------- movimento */
.revelar{opacity:0;transform:translateY(18px)}
.js .revelar{transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.revelar.is-visivel{opacity:1;transform:none}
html:not(.js) .revelar{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;
  }
  .revelar{opacity:1!important;transform:none!important}
}

/* ------------------------------------------------------------------ print */
@media print{
  .topo,.barra-mobile,.wa-fab,.folha,.mandala__controles,.pular{display:none!important}
  body{background:#fff;color:#000;font-size:11pt;padding-bottom:0}
  .secao--escura,.secao--clara,.cartao,.preco-caixa,.matricula,.depoimento{
    background:#fff!important;color:#000!important;border-color:#999!important;
  }
  .secao--escura h1,.secao--escura h2,.secao--escura h3,.secao--escura p,
  .depoimento blockquote{color:#000!important}
  .faq details{display:block}
  .faq__corpo{display:block!important}
  .js .fase-painel{display:block!important}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;word-break:break-all}
  .secao{padding-block:1.25rem;page-break-inside:avoid}
}

/* --------------------------------------------------------- alto contraste */
@media (forced-colors:active){
  .btn{border:2px solid ButtonText}
  .fase-btn[aria-pressed="true"]{border:3px solid Highlight}
  .m-arco,.m-muco,.m-sint,.m-temp-pt{fill:CanvasText}
  .m-fluxo,.m-temp-linha,.m-guia{stroke:CanvasText}
}

/* =========================================================================
   v3 — página de venda · Fraunces soft · elementos boho · CTAs de compra
   ========================================================================= */

/* ---------------------------------------------------- header em pílula */
.topo{position:sticky;top:0;z-index:120;background:transparent;border:0;padding:.9rem clamp(.9rem,3vw,1.5rem) 0}
.topo::before{display:none}
.topo__pill{
  max-width:var(--larg,72rem);margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:var(--ameixa);color:var(--sobre-ameixa);
  border-radius:999px;padding:.55rem .65rem .55rem 1.15rem;
  box-shadow:0 10px 30px -18px rgba(94,53,73,.55);
}
.topo .marca{color:var(--sobre-ameixa);text-decoration:none;display:flex;align-items:center;gap:.6rem}
.topo .marca__nome{color:var(--sobre-ameixa);font-size:1.08rem}
.topo .marca__nome em{font-style:italic;color:var(--rose-claro)}
.marca__simbolo{width:1.9rem;height:1.9rem;flex:none;border-radius:50%;box-shadow:0 0 0 2px rgba(251,244,231,.25)}
.btn--topo{padding:.62rem 1.15rem;font-size:.92rem}
.topo.is-colado .topo__pill{box-shadow:0 12px 34px -16px rgba(51,37,31,.5)}

/* ------------------------------------------------------------- botões */
.btn{border-radius:999px;font-weight:800;letter-spacing:.01em}
.btn--grande{padding:1.05rem 1.9rem;font-size:1.08rem}
.btn--gigante{padding:1.2rem 2.4rem;font-size:1.16rem}
.btn--claro{background:var(--creme-claro);color:var(--ameixa)}
.btn--claro:hover{background:#fff;color:var(--ameixa)}
.btn svg{transition:transform .25s ease}
.btn:hover svg{transform:translateX(3px)}

/* ------------------------------------------------------ selo de vagas */
.selo-vagas{
  display:inline-flex;align-items:center;gap:.45rem;
  background:var(--acao);color:#fff;
  font-family:var(--corpo);font-size:.8rem;font-weight:800;
  letter-spacing:.09em;text-transform:uppercase;
  border-radius:999px;padding:.42rem .95rem;margin-bottom:1rem;
  box-shadow:0 8px 22px -12px rgba(178,58,108,.65);
}
.selo-vagas svg{width:.95em;height:.95em}
.selo-vagas--topo{margin:0;background:var(--acao)}
@media (max-width:40rem){ .selo-vagas--topo{display:none} }

/* -------------------------------------------------- elementos (deles) */
.el{position:absolute;pointer-events:none;user-select:none;z-index:0;height:auto}
.el--estrelas-hero{top:1.2rem;right:4vw;width:clamp(4rem,8vw,7rem);opacity:.9}
.el--arcoiris{top:-1.4rem;right:3vw;width:clamp(5.5rem,10vw,9rem)}
.el--margarida{bottom:2rem;left:2.5vw;width:clamp(4rem,7vw,6.5rem);opacity:.85}
.el--estrelas-claras{top:1.5rem;right:5vw;width:clamp(3.5rem,6vw,5.5rem);filter:brightness(1.9) saturate(.6);opacity:.7}
.el--sol{top:-1.8rem;right:4vw;width:clamp(5rem,9vw,8rem);opacity:.9}
.el--passaro{top:2.2rem;left:4vw;width:clamp(6rem,11vw,10rem);transform:scaleX(-1) rotate(-6deg)}
@media (max-width:52rem){ .el{display:none} }
@media print{ .el{display:none} }

/* ------------------------------------------------------- onda do hero */
.hero{position:relative;padding-bottom:0}
.onda{margin-top:clamp(2rem,5vw,3.5rem);line-height:0}
.onda svg{width:100%;height:clamp(42px,7vw,90px);display:block}

/* --------------------------------------------------- mandala estática */
.mandala--estatica .m-fase{opacity:1;cursor:default}
.mandala--estatica .m-arco-halo{opacity:0}
.mandala--estatica{max-width:min(460px,88vw);margin-inline:auto}

/* --------------------------------------------------------- narrativa */
.virada{
  font-family:var(--display);font-variation-settings:'SOFT' 100,'WONK' 0;
  font-weight:600;font-size:clamp(1.25rem,1.05rem + 1vw,1.7rem);
  color:var(--ameixa);max-width:34ch;margin:2.2rem 0 0;line-height:1.25;
}
.virada strong{color:var(--magenta-texto);font-weight:600}
.cta-bloco--centro{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;margin-top:2.2rem}
.cta-nota--clara{color:var(--sobre-ameixa-suave)}

.desejos{list-style:none;padding:0;margin:0;display:grid;gap:.9rem;max-width:62ch}
.desejos li{
  position:relative;padding:1rem 1.2rem 1rem 3rem;
  background:var(--creme-claro);border:1px solid var(--linha);
  border-radius:16px;color:var(--tinta-suave);line-height:1.55;
}
.secao--clara .desejos li,.pg-matricula .desejos li{background:#fff}
.desejos li::before{
  content:"";position:absolute;left:1.05rem;top:1.15rem;width:1.15rem;height:1.15rem;
  background:var(--acao);border-radius:50% 50% 50% 4px;
  mask:none;-webkit-mask:none;
  clip-path:polygon(50% 0,63% 35%,100% 38%,72% 60%,82% 100%,50% 76%,18% 100%,28% 60%,0 38%,37% 35%);
}
.desejos b{color:var(--tinta)}

/* --------------------------------------------------- cartões (recebe) */
.cartao{position:relative;padding-top:3.4rem}
.cartao__num{
  position:absolute;top:1rem;left:1.35rem;
  font-family:var(--display);font-variation-settings:'SOFT' 100,'WONK' 0;
  font-weight:600;font-size:2.1rem;line-height:1;color:var(--acao);
}
/* jornada: três marcos centrados, sem numeração */
.jornada{
  list-style:none;margin:clamp(2.6rem,5vw,3.6rem) auto 0;padding:0;
  max-width:52rem;display:grid;gap:0;text-align:center;
}
.jornada li{
  padding:clamp(1.1rem,2.2vw,1.5rem) 1rem;
  border-top:1px solid var(--linha);
  font-size:clamp(1.05rem,.98rem + .5vw,1.3rem);
  line-height:1.5;color:var(--tinta-suave);
}
.jornada li:last-child{border-bottom:1px solid var(--linha)}
.jornada b{
  font-family:var(--display);font-variation-settings:'SOFT' 100,'WONK' 0;
  font-weight:640;color:var(--ameixa);
}

.babi__citacao{
  margin-top:1.75rem;padding:1.2rem 1.4rem;
  background:var(--creme-claro);border-left:4px solid var(--acao);
  border-radius:0 16px 16px 0;font-style:italic;color:var(--tinta-suave);
}

/* ------------------------------------------------------------- fecho */
.secao--fecho{
  background:linear-gradient(180deg,var(--creme) 0%,#F3DCD2 100%);
  text-align:center;position:relative;overflow:hidden;
  padding-block:clamp(4rem,9vw,7rem);
}
.fecho__miolo{max-width:46rem;margin-inline:auto;display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.secao--fecho h2{font-size:clamp(2rem,1.4rem + 3vw,3.4rem);line-height:1.06}
.secao--fecho h2 em{font-style:italic;color:var(--magenta-texto)}
.secao--fecho p{max-width:52ch;color:var(--tinta-suave)}

/* ------------------------------------------------------ barra mobile */
.barra-mobile__txt{display:flex;flex-direction:column;line-height:1.15}
.barra-mobile__txt b{font-size:.86rem;color:var(--tinta)}
.barra-mobile__txt span{font-size:.74rem;color:var(--tinta-suave)}

/* ------------------------------------------------- página de matrícula */
.pg-matricula{background:var(--creme)}
.matricula-pg{position:relative;padding-block:clamp(2rem,5vw,4rem)}
.matricula-pg__grade{display:grid;gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media (min-width:56rem){ .matricula-pg__grade{grid-template-columns:1.05fr .95fr} }
.matricula-pg h1{font-size:clamp(1.9rem,1.3rem + 2.6vw,3rem)}
.matricula-pg h1 em{font-style:italic;color:var(--magenta-texto)}
.inclui--matricula{margin-top:1.6rem}
.preco-caixa--matricula{margin-top:1.8rem}
.matricula-pg__nota{
  margin-top:1.4rem;padding:1rem 1.2rem;border-radius:14px;
  background:var(--creme-claro);border:1px dashed var(--linha-forte);
  color:var(--tinta-suave);font-size:.95rem;
}
.selos-seguranca{
  list-style:none;display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;
  margin:1.1rem 0 0;padding:0;
}
.selos-seguranca li{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.82rem;font-weight:700;color:var(--tinta-suave);
}
.selos-seguranca svg{width:1.05rem;height:1.05rem;color:var(--sage-texto)}
.rodape--curto{padding-block:1.6rem}
.rodape--curto p{font-size:.85rem;max-width:none}
.campo--parcelas{transition:opacity .2s ease}

/* =========================================================================
   v4 — fidelidade às referências: corpo serif, header rose, blob, raios
   ========================================================================= */
body{font-variation-settings:'SOFT' 72,'WONK' 0;font-weight:430;letter-spacing:.002em}
strong,b{font-weight:640}
.campo__dica,.lgpd,.cta-nota,.selos-seguranca,.credenciais,.aviso-placeholder,
.barra-mobile__txt,.mandala__legenda,.selo-vagas,.olho{font-family:var(--ui)}
.btn{font-family:var(--display);font-variation-settings:'SOFT' 100,'WONK' 0;font-weight:640;letter-spacing:.005em}
input,select,button,textarea{font-family:var(--ui)}
.matricula .btn{font-family:var(--display)}

/* header rose, como o de landing.jpg */
.topo__pill{background:var(--rose);box-shadow:0 10px 28px -16px rgba(154,90,102,.65)}
.topo .marca,.topo .marca__nome{color:var(--tinta)}
.topo .marca__nome em{color:var(--ameixa)}
.marca__simbolo{box-shadow:0 0 0 2px rgba(58,46,40,.18)}
.selo-vagas{box-shadow:0 8px 22px -12px rgba(120,72,96,.6)}

/* links e destaques na paleta exata */
a{color:var(--rose-texto)}
.hero h1 em{color:var(--rose-texto)}
.virada strong{color:var(--ameixa)}

/* blob de areia atrás do headline — landingref2 */
.hero__texto{position:relative}
.hero__texto::before{
  content:"";position:absolute;z-index:-1;
  top:-2.5rem;left:-3rem;width:min(30rem,80vw);height:22rem;
  background:var(--creme-suave);opacity:.55;
  border-radius:58% 42% 55% 45%/52% 55% 45% 48%;
}

/* raios de sol atrás da mandala — o arco de landing.jpg */
.mandala__palco{position:relative}
.raios{
  position:absolute;inset:-8%;width:116%;height:116%;
  color:var(--areia);z-index:0;
}
@media (prefers-reduced-motion:no-preference){
  .raios{animation:girar 120s linear infinite}
}
@keyframes girar{to{transform:rotate(360deg)}}

/* pintinhas — speckles das referências */
.pintas{position:absolute;pointer-events:none;color:var(--rose);opacity:.55;z-index:0}
.pintas--a{top:14%;left:6%;width:3.2rem}
.pintas--b{bottom:16%;right:7%;width:2.6rem;color:var(--areia)}
@media (max-width:52rem){ .pintas{display:none} }

/* botão secundário areia — o "Read More" da referência */
.btn--areia{background:var(--areia);color:var(--tinta)}
.btn--areia:hover{background:#DBB58B;color:var(--tinta)}

/* fecho: ondas de areia e rose no pé, como landingref2 */
.secao--fecho{background:linear-gradient(180deg,var(--creme) 0%,#EBD9BE 100%);padding-bottom:0}
.onda--fim{margin-top:clamp(2.5rem,5vw,4rem);line-height:0}
.onda--fim svg{width:100%;height:clamp(38px,6vw,74px);display:block}

/* =========================================================================
   v5 — plano de design NOVO, fiel às referências
   header rose de tela inteira · ovário no arco com raios · elementos grandes
   ========================================================================= */

/* ------------------------------------------ header único, tela inteira */
.topo{display:none}                      /* mata o header antigo por completo */
.topo2{
  position:sticky;top:0;z-index:120;
  background:var(--rose);
  border-radius:0 0 26px 26px;
  box-shadow:0 12px 34px -18px rgba(120,72,96,.55);
}
.topo2__in{
  max-width:76rem;margin-inline:auto;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:.85rem clamp(1rem,3.5vw,2rem);
}
.marca2{
  display:flex;align-items:center;gap:.65rem;text-decoration:none;
  font-family:var(--display);font-variation-settings:'SOFT' 100,'WONK' 0;
  font-weight:640;font-size:clamp(1.1rem,2.4vw,1.35rem);color:var(--tinta);
}
.marca2 em{font-style:italic;color:var(--ameixa)}
.marca2__simbolo{width:2.1rem;height:2.1rem;flex:none;border-radius:50%;box-shadow:0 0 0 2px rgba(58,46,40,.15)}
.topo2__selo{
  font-family:var(--ui);font-size:.78rem;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ameixa);white-space:nowrap;
}
@media (max-width:47rem){ .topo2__selo{display:none} }
.btn--topo2{padding:.62rem 1.3rem;font-size:.95rem;white-space:nowrap}

/* --------------------------------------- hero: ovário no arco + raios */
.arco-hero{position:relative;display:grid;place-items:center;padding:1.5rem}
.arco-hero__moldura{
  position:relative;z-index:2;
  width:min(35rem,92vw);
  display:grid;place-items:center;
}
.arco-hero__moldura img{
  width:100%;height:auto;
  filter:drop-shadow(0 16px 30px rgba(120,72,96,.25));
}
.raios--hero{
  position:absolute;z-index:1;color:var(--areia);
  width:118%;height:auto;top:-4%;left:-9%;
}

/* --------------------------------------------- elementos GRANDES (elg) */
.elg{position:absolute;pointer-events:none;user-select:none;height:auto;z-index:0;opacity:.95}
.elg--arcoiris{top:-2.2rem;right:2vw;width:clamp(9rem,20vw,17rem)}
.elg--margarida{top:-2.5rem;right:4vw;width:clamp(7rem,15vw,13rem);transform:rotate(12deg)}
.elg--flor-areia{bottom:-3rem;left:-2rem;width:clamp(9rem,18vw,16rem);opacity:.5;transform:rotate(-14deg)}
.elg--lua{top:50%;right:3vw;translate:0 -50%;width:clamp(8rem,17vw,15rem);opacity:.95}
.elg--meio-sol{top:-1px;right:6vw;width:clamp(9rem,19vw,16rem)}
.elg--planta-arco{bottom:1.5rem;left:2.5vw;width:clamp(7rem,14vw,12rem);opacity:.55;filter:brightness(1.35) saturate(.8)}
.elg--passaro{top:1.2rem;left:3vw;width:clamp(14rem,28vw,26rem);transform:scaleX(-1) rotate(-6deg)}
.elg--porta{bottom:-1rem;right:3vw;width:clamp(7rem,13vw,11rem);opacity:.85}
.elg--porta-mat{top:auto;bottom:2rem}
.pintas--c{top:20%;left:3%;width:3.4rem;color:var(--rose)}
@media (max-width:52rem){
  .elg{opacity:.35;width:clamp(6rem,26vw,9rem)}
  .elg--lua{opacity:.5}
}
@media print{ .elg,.pintas{display:none} }

/* espaço para o arco-íris e afins não cobrirem título em telas médias */
@media (min-width:52rem){
  #para-voce .secao__cabeca,#imagine .secao__cabeca{max-width:calc(100% - clamp(9rem,20vw,18rem))}
}

/* ---------------------------------- cards: cifra grande, grade 2x2 fixa */
.cartoes{
  display:grid;gap:clamp(1rem,2.2vw,1.6rem);
  grid-template-columns:1fr;              /* mobile: coluna única, sem órfão */
  align-items:stretch;
}
@media (min-width:46rem){
  .cartoes{grid-template-columns:repeat(2,minmax(0,1fr))}   /* 4 cards = 2x2 exato */
}
.cartao{
  display:flex;flex-direction:column;
  padding:clamp(1.5rem,2.6vw,2.1rem);
  border-radius:1.25rem;height:100%;
  background:var(--creme-claro);border:1px solid var(--linha);
}
.cartao__cifra{
  font-family:var(--display);font-variation-settings:'SOFT' 100,'WONK' 0;
  font-weight:600;font-size:clamp(3rem,5vw,4rem);line-height:.85;
  color:var(--rose-texto);display:block;margin-bottom:.85rem;
}
.cartao h3{
  display:block;margin:0 0 .6rem;
  font-size:clamp(1.15rem,1rem + .5vw,1.4rem);color:var(--ameixa);
}
.cartao p{margin:0;color:var(--tinta-suave);font-size:.97rem;line-height:1.6}

/* ---------------------------------------- babi: arco composto c/ raios */
.arco-composto{position:relative;display:grid;place-items:center}
.raios--babi{
  position:absolute;color:var(--rose);opacity:.7;
  width:112%;height:auto;top:-3%;left:-6%;z-index:0;
}
.arco-composto .arco-moldura{position:relative;z-index:1}

/* hero um pouco mais generoso */
.hero__grade{align-items:center}
@media (min-width:64rem){
  .hero{padding-top:clamp(2rem,4vw,3.5rem)}
}

/* v5.1 — ovário maior no hero */
@media (min-width:64rem){
  .hero__grade{grid-template-columns:1fr 1.1fr}
  .arco-hero{padding:0}
}
