/* fontes próprias (sem Google Fonts: mais rápido e sem transferir IP do visitante) */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-normal.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-italic.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/dm-sans-400.woff2) format("woff2")}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/dm-sans-500.woff2) format("woff2")}
/* Laila Soares Doula · CSS gerado a partir das variáveis do Figma (F5). */
:root{
  --creme:#F2EBE0; --polpa:#EAD9C6; --tinta:#2A1E1B; --tinta-suave:#665B56;
  --vinho:#6E1F33; --vinho-escuro:#561F2B; --esmeralda:#1F4A3C; --esmeralda-escuro:#233B30;
  --ameixa:#4A2338; --ameixa-escuro:#3F212E; --prata:#9C988F;
  --fonte-titulo:"Fraunces",Georgia,serif; --fonte-texto:"DM Sans",system-ui,sans-serif;
  --margem:80px; --gutter:24px; --conteudo:1200px; --leitura:640px;
  --sec-v:128px; --entre:64px; --pad:32px; --gap:16px; --toque:44px;
  --display:72px; --display-l:76px; --t1:56px; --t1-l:60px; --t2:40px; --t2-l:46px; --t3:28px; --t3-l:34px;
  --cit:32px; --cit-l:40px; --corpo-g:20px; --corpo-g-l:31px; --corpo:17px; --corpo-l:27px; --corpo-p:15px; --corpo-p-l:23px;
  --etq:13px; --nota:14px;
  --d-curta:200ms; --d-media:400ms; --d-lua:900ms; --curva:cubic-bezier(.65,0,.35,1); --entrada:cubic-bezier(.16,1,.3,1);
  /* modo de cor padrão: Vinho */
  --destaque:var(--vinho); --destaque-hover:var(--vinho-escuro);
}
[data-joia="esmeralda"]{--destaque:var(--esmeralda);--destaque-hover:var(--esmeralda-escuro)}
[data-joia="ameixa"]{--destaque:var(--ameixa);--destaque-hover:var(--ameixa-escuro)}
[data-joia="vinho"]{--destaque:var(--vinho);--destaque-hover:var(--vinho-escuro)}
@media (max-width:1024px){
  :root{--margem:40px;--conteudo:688px;--leitura:600px;--sec-v:96px;--entre:48px;--pad:28px}
}
@media (max-width:640px){
  :root{--margem:20px;--gutter:16px;--sec-v:72px;--entre:40px;--pad:24px;--gap:12px;--toque:48px;
    --display:44px;--display-l:48px;--t1:36px;--t1-l:40px;--t2:30px;--t2-l:36px;--t3:23px;--t3-l:29px;
    --cit:24px;--cit-l:31px;--corpo-g:18px;--corpo-g-l:28px;--corpo:16px;--corpo-l:26px;--corpo-p:14px;--corpo-p-l:21px;--etq:14px;--nota:14px}
}
@media (prefers-reduced-motion:reduce){:root{--d-curta:0ms;--d-media:0ms;--d-lua:0ms}}

*,*::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(--fonte-texto);font-size:var(--corpo);line-height:calc(var(--corpo-l)/var(--corpo));-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
.skip{position:absolute;left:-9999px;top:8px;background:var(--tinta);color:var(--creme);padding:12px 16px;z-index:100}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--creme);outline-offset:2px;box-shadow:0 0 0 4px var(--tinta)}
.surf-escura :focus-visible{outline-color:var(--tinta);box-shadow:0 0 0 4px var(--creme)}

/* tipografia */
.h-display,.h1,.h2,.h3{font-family:var(--fonte-titulo);font-weight:400;letter-spacing:-.01em;text-wrap:balance}
.h-display{font-size:var(--display);line-height:calc(var(--display-l)/var(--display))}
.h1{font-size:var(--t1);line-height:calc(var(--t1-l)/var(--t1))}
.h2{font-size:var(--t2);line-height:calc(var(--t2-l)/var(--t2))}
.h3{font-size:var(--t3);line-height:calc(var(--t3-l)/var(--t3))}
.h-display em,.h1 em,.h2 em,.h3 em,.cit em{font-style:italic;font-weight:300}
.cit{font-family:var(--fonte-titulo);font-style:italic;font-weight:300;font-size:var(--cit);line-height:calc(var(--cit-l)/var(--cit))}
.lead{font-size:var(--corpo-g);line-height:calc(var(--corpo-g-l)/var(--corpo-g));max-width:var(--leitura)}
.peq{font-size:var(--corpo-p);line-height:calc(var(--corpo-p-l)/var(--corpo-p))}
.etq{font-size:var(--etq);letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.nota{font-size:var(--nota);color:var(--tinta-suave)}
.suave{color:var(--tinta-suave)}
.destaque-t{color:var(--destaque)}

/* estrutura */
.wrap{max-width:calc(var(--conteudo) + 2*var(--margem));margin:0 auto;padding:0 var(--margem)}
section{padding:var(--sec-v) 0}
.bg-polpa{background:var(--polpa)}
.surf-escura{background:var(--destaque);color:var(--creme)}
.surf-escura .nota,.surf-escura .suave{color:var(--creme)}
.stack>*+*{margin-top:var(--gap)}
.stack-l>*+*{margin-top:24px}
.grid-2{display:grid;grid-template-columns:repeat(12,1fr);column-gap:var(--gutter);align-items:center}
.col-txt{grid-column:1/7}.col-img{grid-column:8/13}
.col-img-l{grid-column:1/6}.col-txt-r{grid-column:7/13}
@media (max-width:1024px){.col-txt,.col-img,.col-img-l,.col-txt-r{grid-column:1/-1}.grid-2{row-gap:var(--entre)}}

/* botões (tocável = pílula, sem sombra) */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--toque);padding:12px 28px;border-radius:999px;border:1.5px solid var(--destaque);font:500 16px/20px var(--fonte-texto);text-decoration:none;cursor:pointer;transition:background var(--d-curta) var(--curva),color var(--d-curta) var(--curva);background:var(--destaque);color:var(--creme)}
.btn:hover{background:var(--destaque-hover);border-color:var(--destaque-hover)}
.btn-sec{background:transparent;color:var(--destaque)}
.btn-sec:hover{background:var(--destaque);color:var(--creme)}
.surf-escura .btn{background:var(--creme);color:var(--destaque);border-color:var(--creme)}
.surf-escura .btn:hover{background:var(--polpa);border-color:var(--polpa)}
.surf-escura .btn-sec{background:transparent;color:var(--creme)}
.surf-escura .btn-sec:hover{background:var(--creme);color:var(--destaque)}
.btns{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
@media (max-width:640px){.btns .btn{width:100%}}
.link{color:var(--destaque);font-weight:500;text-underline-offset:4px}
.surf-escura .link{color:var(--creme)}

/* topo flutuante */
.topo{position:fixed;top:16px;left:50%;transform:translateX(-50%);width:min(calc(100% - 2*var(--margem)),1200px);z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 8px 8px 20px;border:1px solid var(--prata);border-radius:999px;background:rgba(242,235,224,.94);backdrop-filter:blur(6px)}
.topo nav{display:flex;gap:28px}
.topo nav a{text-decoration:none;font-size:15px;min-height:var(--toque);min-width:var(--toque);justify-content:center;display:inline-flex;align-items:center}
.topo nav a:hover,.topo nav a[aria-current]{text-decoration:underline;text-underline-offset:6px}
.topo .btn{min-height:44px;padding:8px 22px;background:var(--vinho);border-color:var(--vinho);color:var(--creme)}
.menu-btn{display:none}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;min-height:var(--toque)}
.logo .cam{width:28px;height:36px;border:1.5px solid var(--prata);border-radius:50%;display:grid;place-items:center;font-family:var(--fonte-titulo);font-style:italic;font-weight:300;font-size:19px;line-height:1;color:var(--vinho)}
.logo .nome{font-family:var(--fonte-titulo);font-size:25px;line-height:1}
.logo .nome i{font-weight:300}
@media (max-width:900px){
  .topo{width:calc(100% - 2*var(--margem));top:12px}
  .topo nav,.topo .btn-topo-d{display:none}
  .menu-btn{display:inline-flex}
  .topo.reduzido .menu-btn{display:none}
  .topo.reduzido .btn-topo-d{display:inline-flex}
}
.menu-tela{position:fixed;inset:0;background:var(--creme);z-index:60;display:none;flex-direction:column;padding:20px}
.menu-tela.aberto{display:flex}
.menu-tela .fechar{align-self:flex-end}
.menu-tela nav{display:flex;flex-direction:column;gap:8px;margin-top:32px}
.menu-tela nav a{font-family:var(--fonte-titulo);font-size:36px;line-height:1.3;text-decoration:none;padding:6px 0}
.menu-tela .btn:not(.fechar){margin-top:auto;background:var(--vinho);border-color:var(--vinho);color:var(--creme)}

/* barra whatsapp (só celular) */
.barra-wpp{display:none}
@media (max-width:640px){
  .barra-wpp{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--tinta);color:var(--creme);min-height:56px;align-items:center;justify-content:center;text-decoration:none;font-weight:500;padding:0 20px}
  .rodape{padding-bottom:96px}
}

/* hero */
.hero{padding-top:calc(var(--sec-v) + 56px);padding-bottom:var(--sec-v)}
.hero .folio{position:absolute;right:var(--margem);top:104px;color:var(--tinta-suave);font-size:13px;letter-spacing:.12em;text-transform:uppercase}
.hero-wrap{position:relative}
.hero .folio{position:static;margin-bottom:32px;text-align:right}
.hero-compacto{padding-bottom:calc(var(--sec-v)*.7)}
.hero h1{margin-top:20px}
.hero .lead{margin-top:24px}
.hero .btns{margin-top:36px}
.hero .nota{margin-top:16px}
.camafeu{border:1.5px solid var(--prata);border-radius:50%/50%;padding:14px;aspect-ratio:4/5;max-width:440px;margin-left:auto}
.camafeu img{width:100%;height:100%;object-fit:cover;border-radius:50%/50%}
.retrato{width:100%;max-width:520px;margin-left:auto}
.retrato img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.retrato-l{margin-left:0;margin-right:auto}

/* faixa de prova */
.prova{padding:var(--sec-v) 0;border-top:1px solid var(--prata)}
.prova-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter)}
.prova-grid .num{font-family:var(--fonte-titulo);font-size:var(--t1);line-height:1;color:var(--destaque)}
.prova-grid p{margin-top:12px}
.prova-2{grid-template-columns:repeat(2,1fr)}
.prova-nota{margin-top:32px}
@media (max-width:640px){.prova-grid,.prova-2{grid-template-columns:1fr;gap:28px}}

/* etapas / trilha + lua */
.etapas{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gutter);margin-top:var(--entre);position:relative}
.etapa{border-top:1.5px solid var(--creme);padding-top:20px}
.etapa .lua{display:block;width:34px;height:34px;margin-bottom:16px;opacity:.5;transition:opacity var(--d-lua) var(--curva)}
.etapa.ativa .lua{opacity:1}
.etapa .etq{display:block;margin-bottom:8px}
.etapa .assin{margin-top:8px;font-size:15px}
.trilha-acomp{margin-top:var(--entre);padding-top:20px;border-top:1px dashed var(--creme);display:grid;grid-template-columns:1fr 2fr;gap:var(--gutter);align-items:start}
@media (max-width:900px){.etapas{grid-template-columns:1fr;gap:0;padding-left:28px;border-left:1.5px solid var(--creme)}
  .etapa{border-top:0;padding:0 0 32px 24px;position:relative}
  .etapa .lua{position:absolute;left:-46px;top:0;background:var(--destaque);width:34px}
  .trilha-acomp{grid-template-columns:1fr}}

/* cards bento */
.bento{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);margin-top:var(--entre)}
.card{background:var(--polpa);padding:var(--pad);display:flex;flex-direction:column;gap:12px}
.bg-polpa .card{background:var(--creme)}
.card .etq{color:var(--destaque)}
.card.largo{grid-column:span 2}
@media (max-width:900px){.bento{grid-template-columns:1fr}.card.largo{grid-column:auto}}

/* listas */
.dois{display:grid;grid-template-columns:1fr 1fr;gap:var(--gutter);margin-top:var(--entre)}
.dois ul{list-style:none;margin:20px 0 0;padding:0}
.dois li{padding:14px 0 14px 28px;border-top:1px solid var(--prata);position:relative}
.dois li::before{content:"";position:absolute;left:0;top:26px;width:12px;height:12px;border-radius:6px;background:var(--destaque)}
.dois .nao li::before{background:transparent;border:1.5px solid var(--tinta-suave)}
@media (max-width:900px){.dois{grid-template-columns:1fr}}
.itens{list-style:none;margin:24px 0 0;padding:0}
.itens li{padding:10px 0}

/* respiro */
.respiro{text-align:center}
.respiro p{font-family:var(--fonte-titulo);font-weight:300;font-style:italic;font-size:clamp(34px,5.2vw,64px);line-height:1.15;max-width:960px;margin:0 auto;text-wrap:balance}

/* depoimentos */
.depo{display:grid;gap:56px;margin-top:var(--entre);max-width:900px}
.depo blockquote{margin:0}
.depo footer{margin-top:16px;font-size:var(--corpo-p)}
.depo-unico blockquote{font-size:calc(var(--cit)*1.5)}

/* FAQ */
.faq{margin-top:var(--entre);border-bottom:1px solid var(--prata);max-width:880px}
.faq details{border-top:1px solid var(--prata)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:var(--toque);padding:20px 0;font-family:var(--fonte-titulo);font-size:var(--t3);line-height:calc(var(--t3-l)/var(--t3))}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:20px;height:20px;background:linear-gradient(var(--destaque),var(--destaque)) center/100% 1.5px no-repeat,linear-gradient(var(--destaque),var(--destaque)) center/1.5px 100% no-repeat;transition:transform var(--d-curta) var(--curva)}
.faq details[open] summary::after{background:linear-gradient(var(--destaque),var(--destaque)) center/100% 1.5px no-repeat;transform:rotate(180deg)}
.faq .resp{padding:0 0 28px;max-width:var(--leitura)}
.faq .resp p+p{margin-top:12px}
.faq-fim{margin-top:32px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}

/* linha do tempo */
.tempo{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--gutter);margin-top:var(--entre)}
.tempo .ano{font-family:var(--fonte-titulo);font-size:var(--t1);line-height:1;color:var(--destaque);padding-bottom:16px;border-bottom:1.5px solid var(--prata)}
.tempo ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px;font-size:var(--corpo-p);color:var(--tinta-suave)}
@media (max-width:1024px){.tempo{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.tempo{grid-template-columns:1fr}}

/* formulário */
.form{display:grid;gap:24px;max-width:480px}
.campo label{display:block;font-weight:500;margin-bottom:8px}
.campo input,.campo select{width:100%;min-height:var(--toque);border:1.5px solid var(--tinta-suave);border-radius:12px;background:var(--creme);padding:10px 16px;font:var(--corpo) var(--fonte-texto);color:var(--tinta)}
.campo .ajuda{margin-top:6px}
.campo.erro input,.campo.erro select{border-color:var(--vinho)}
.erro-msg{color:var(--vinho);font-size:var(--nota);margin-top:6px;display:none}
.campo.erro .erro-msg{display:block}
.check{display:flex;gap:12px;align-items:flex-start}
.check input{width:24px;height:24px;margin:2px 0 0;accent-color:var(--destaque);flex:none}
.check label{font-size:var(--corpo-p);padding:10px 0;cursor:pointer}
.check{align-items:flex-start}
.check input{margin-top:12px}
.link-solo{display:inline-flex;align-items:center;min-height:var(--toque)}
.hp{position:absolute;left:-9999px}
.msg{padding:16px 20px;border:1.5px solid var(--vinho);color:var(--vinho);display:none}
.msg.on{display:block}
.form-bloco{background:var(--polpa);padding:var(--pad);margin-top:32px}
.hero-form{align-items:start}

/* rodapé */
.rodape{padding:var(--sec-v) 0 40px}
.rodape .cta{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;padding-bottom:var(--entre);border-bottom:1px solid var(--creme)}
.rodape .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter);padding:var(--entre) 0}
.rodape .cols .etq{margin-bottom:16px;display:block}
.rodape ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.rodape ul a{text-decoration:none;display:inline-block;padding:10px 0;min-height:var(--toque)}
.rodape ul a:hover{text-decoration:underline}
.rodape .fim{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;padding-top:32px;border-top:1px solid var(--creme);font-size:var(--nota)}
.logo-claro .cam{border-color:var(--creme);color:var(--creme)}
@media (max-width:640px){.rodape .cols{grid-template-columns:1fr}}

.legal h2{margin-top:48px}
.legal h2:first-of-type{margin-top:0}
.legal p{margin-top:12px;font-size:var(--corpo-g);line-height:1.55;max-width:var(--leitura)}
.legal .bloco{border-top:1px solid var(--prata);padding:32px 0}

/* revelar */
.rev{opacity:0;transform:translateY(24px);transition:opacity var(--d-media) var(--entrada),transform var(--d-media) var(--entrada)}
.rev.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rev{opacity:1;transform:none}}
.js-off .rev{opacity:1;transform:none}

/* ficha da aula */
.fatos{display:grid;grid-template-columns:auto 1fr;gap:10px 24px;margin:32px 0 0;padding:20px 0 0;border-top:1px solid var(--prata);max-width:var(--leitura)}
.fatos dt{font-size:var(--nota);letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-suave);padding-top:3px}
.fatos dd{margin:0}
@media (max-width:640px){.etq{letter-spacing:.1em}.hero .folio{font-size:14px}}
#inscricao{scroll-margin-top:24px}

.campo-check .check{margin:0}
.campo-check.erro .check label{color:var(--vinho)}
.campo-check.erro input{outline:2px solid var(--vinho);outline-offset:2px}
.opcional-sep{margin-top:20px;padding-top:16px;border-top:1px solid var(--prata)}
.opcional-sep .nota{margin-bottom:8px}
.pendente{display:inline-block;font-size:var(--nota);color:var(--vinho);border:1px solid var(--vinho);padding:2px 10px;margin-left:6px}
