:root{--vinho:#451826;--vinho-escuro:#2E0F1A;--vinho-claro:#5E2334;--marfim:#FAF6F1;--marfim-2:#F2EAE1;--linha:#E4D6C9;--dourado:#B9945A;--dourado-claro:#D9BE8C;--texto:#3B2833;--texto-suave:#7C6670;--wpp:#25D366}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;font-weight:300;color:var(--texto);background:var(--marfim);line-height:1.7;font-size:17px;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500;line-height:1.15;color:var(--vinho)}
a{text-decoration:none;color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.3em;font-size:.7rem;font-weight:500;color:var(--dourado);margin-bottom:16px}
.eyebrow::before{content:"";height:1px;width:38px;background:var(--dourado)}
.eyebrow.center{justify-content:center}
.eyebrow.center::after{content:"";height:1px;width:38px;background:var(--dourado)}
.eyebrow.light{color:var(--dourado-claro)}
.eyebrow.light::before,.eyebrow.light::after{background:var(--dourado-claro)}

/* header mínimo (sem menu = sem fuga do anúncio) */
header{position:absolute;inset:0 0 auto 0;z-index:40;padding:16px 0}
.nav{display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px}
.brand img{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35)}
.brand-name{font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:#fff;letter-spacing:.05em;line-height:1.2}
.brand-name small{display:block;font-family:'Jost';font-size:.56rem;letter-spacing:.28em;text-transform:uppercase;color:var(--dourado-claro)}
.header-fone{color:var(--dourado-claro);font-size:.85rem;letter-spacing:.08em;display:flex;align-items:center;gap:8px}
.header-fone svg{width:15px;height:15px;fill:var(--dourado-claro)}
.whatsapp-icon{display:block;object-fit:contain;flex-shrink:0;border-radius:50%}
.header-fone .whatsapp-icon{width:18px;height:18px}

/* botões: discretos, alvo de toque generoso */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:16px 36px;min-height:54px;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400;transition:.35s;cursor:pointer;border:1px solid transparent;text-align:center}
.btn svg{width:18px;height:18px;fill:currentColor;flex-shrink:0;opacity:.85}
.btn .whatsapp-icon{width:20px;height:20px;opacity:1}
.btn-wpp .whatsapp-icon{filter:brightness(0) invert(1)}
.btn-wpp{background:var(--wpp);border-color:var(--wpp);color:#fff;position:relative;overflow:hidden;z-index:0}
.btn-wpp::before{content:"";position:absolute;inset:-1px;background:#1DA851;transform:scaleX(0);transform-origin:left center;transition:transform .5s cubic-bezier(.22,.61,.21,1);z-index:-1}
.btn-wpp:hover::before{transform:scaleX(1)}
.btn-wpp:hover{transform:translateY(-2px)}
.btn-gold{background:transparent;border-color:var(--vinho);color:var(--vinho)}
.btn-gold:hover{background:var(--vinho);color:var(--marfim);transform:translateY(-2px)}

/* hero */
.hero{background:linear-gradient(125deg,var(--vinho-escuro) 0%,var(--vinho) 60%,var(--vinho-claro) 100%);padding:130px 0 90px;color:#fff;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:url('../img/monograma-branco.jpg') no-repeat right -14% center/56%;opacity:.06;mix-blend-mode:screen;pointer-events:none}
.hero::after{content:"";position:absolute;left:48%;top:-42%;width:min(62vw,720px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(217,190,140,.15),rgba(185,148,90,.035) 42%,transparent 69%);filter:blur(12px);pointer-events:none;animation:lp-luz 10s ease-in-out infinite alternate;will-change:transform,opacity}
@keyframes lp-luz{from{transform:translate3d(-5%,0,0) scale(.94);opacity:.5}to{transform:translate3d(9%,14%,0) scale(1.1);opacity:1}}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center;position:relative}
.hero h1{color:#fff;font-size:clamp(2.1rem,4.8vw,3.4rem);margin:12px 0 18px}
.hero h1 em{font-style:italic;color:var(--dourado-claro)}
.hero .sub{color:rgba(255,255,255,.85);font-size:1.06rem;max-width:520px;margin-bottom:30px}
.hero-prova{display:flex;gap:10px;align-items:center;margin-top:22px;color:rgba(255,255,255,.75);font-size:.82rem}
.hero-prova .estrelas{color:var(--dourado);letter-spacing:3px}
.hero-foto{position:relative;justify-self:center}
.hero-foto{width:min(340px,80vw)}
.hero-foto img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;border-radius:170px 170px 0 0;box-shadow:0 22px 54px rgba(0,0,0,.3)}
.hero-foto::after{content:"";position:absolute;inset:-14px -14px 0 -14px;border:1px solid rgba(217,190,140,.4);border-bottom:0;border-radius:184px 184px 0 0}

/* faixa de confiança */
.compromissos{background:#fff;border-bottom:1px solid var(--linha);padding:34px 0 38px}
.compromissos-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.compromisso{display:grid;grid-template-columns:54px 1fr;gap:18px;align-items:start;padding:26px 25px 28px}
.compromisso+.compromisso{border-left:1px solid var(--linha)}
.compromisso-icone{width:54px;height:54px;display:grid;place-items:center;color:var(--dourado);position:relative}
.compromisso-icone::before,.compromisso-icone::after{content:"";position:absolute;inset:4px;border:1px solid rgba(185,148,90,.48);transform:rotate(45deg);transition:transform .5s cubic-bezier(.22,.61,.21,1),background .4s}
.compromisso-icone::after{inset:10px;border-color:rgba(185,148,90,.2)}
.compromisso:hover .compromisso-icone::before{transform:rotate(135deg);background:rgba(185,148,90,.08)}
.compromisso svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.35;position:relative;z-index:1}
.compromisso strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.2rem;line-height:1.12;color:var(--vinho);font-weight:600;margin:2px 0 6px}
.compromisso p{font-size:.74rem;line-height:1.52;color:var(--texto-suave);max-width:28ch}

/* spotlight adaptado do componente 21st.dev */
.spotlight{position:relative;overflow:hidden;isolation:isolate;--spot-color:rgba(185,148,90,.16)}
.spotlight::after{content:"";position:absolute;inset:-1px;z-index:0;pointer-events:none;opacity:0;background:radial-gradient(380px circle at var(--spot-x,50%) var(--spot-y,50%),var(--spot-color),transparent 44%);transition:opacity .35s cubic-bezier(.22,.61,.21,1)}
.spotlight:hover::after{opacity:1}
.spotlight>*{position:relative;z-index:1}

/* seções */
section{padding:78px 0}
.section-title{font-size:clamp(1.8rem,3.8vw,2.6rem);text-align:center;margin-bottom:14px}
.section-sub{text-align:center;max-width:620px;margin:0 auto 46px;color:var(--texto-suave)}

/* é pra você (dores) */
.dores{background:var(--marfim-2)}
.dores-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:840px;margin:0 auto}
.dor{background:#fff;padding:22px 24px;display:flex;gap:14px;align-items:flex-start;border-left:3px solid var(--dourado);box-shadow:0 8px 24px rgba(69,24,38,.07)}
.dor svg{width:20px;height:20px;fill:none;stroke:var(--vinho);stroke-width:2;flex-shrink:0;margin-top:4px}
.dor p{font-size:.95rem;color:#4b3540}
.dores .cta-meio{text-align:center;margin-top:40px}

/* passos */
.passos{display:grid;grid-template-columns:1.08fr .92fr;gap:18px;counter-reset:p;max-width:900px;margin:0 auto}
.passo{text-align:left;padding:30px 30px 32px;border-top:1px solid var(--dourado);background:rgba(255,255,255,.58)}
.passo:nth-child(3){grid-column:1/-1;width:min(100%,620px);justify-self:center}
.passo::before{counter-increment:p;content:counter(p,decimal-leading-zero);font-family:'Cormorant Garamond',serif;font-size:4rem;color:transparent;-webkit-text-stroke:1px var(--dourado);display:block;line-height:1;margin-bottom:12px}
.passo h3{font-size:1.35rem;margin-bottom:8px}
.passo p{font-size:.93rem;color:var(--texto-suave)}

/* advogada */
.adv{background:var(--marfim-2)}
.adv-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;max-width:980px;margin:0 auto}
.adv-foto img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top center;box-shadow:0 18px 44px rgba(46,15,26,.18)}
.adv h2{font-size:clamp(1.7rem,3.4vw,2.4rem);margin-bottom:16px}
.adv p{color:var(--texto-suave);margin-bottom:14px}
.adv strong{color:var(--vinho);font-weight:500}
.adv ul{list-style:none;margin:20px 0 30px}
.adv li{padding:9px 0 9px 30px;position:relative;border-bottom:1px solid rgba(69,24,38,.08);font-size:.96rem}
.adv li::before{content:"";position:absolute;left:0;top:17px;width:16px;height:1px;background:var(--dourado)}

/* depoimento */
.depo{background:var(--vinho);color:#fff;text-align:center}
.depo blockquote{max-width:720px;margin:0 auto}
.depo .estrelas{color:var(--dourado);letter-spacing:5px;font-size:1.2rem;margin-bottom:20px}
.depo p{font-family:'Cormorant Garamond',serif;font-size:clamp(1.25rem,2.6vw,1.7rem);font-style:italic;color:rgba(255,255,255,.9);margin-bottom:20px}
.depo cite{font-style:normal;font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--dourado-claro)}
.depo .google{margin-top:26px}
.depo .google a{color:rgba(255,255,255,.65);font-size:.8rem;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px}

/* FAQ */
.faq-list{max-width:720px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--marfim-2)}
.faq-item button{width:100%;background:none;border:0;text-align:left;padding:22px 40px 22px 0;font-family:'Cormorant Garamond',serif;font-size:1.25rem;color:var(--vinho);cursor:pointer;position:relative;min-height:56px}
.faq-item button::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:'Jost';font-weight:300;font-size:1.5rem;color:var(--dourado);transition:.3s}
.faq-item.open button::after{transform:translateY(-50%) rotate(45deg)}
.faq-body{max-height:0;overflow:hidden;transition:max-height .4s ease}
.faq-body p{padding:0 0 22px;color:var(--texto-suave);font-size:.95rem}

/* CTA final */
.cta-final{background:linear-gradient(125deg,var(--vinho-escuro),var(--vinho));color:#fff;text-align:center;position:relative;overflow:hidden}
.cta-final::before{content:"";position:absolute;left:-6%;bottom:-30%;width:44%;height:120%;background:url('../img/monograma-branco.jpg') no-repeat center/contain;opacity:.05;mix-blend-mode:screen}
.cta-final h2{color:#fff;font-size:clamp(1.9rem,4vw,2.7rem);margin-bottom:14px;position:relative}
.cta-final p{color:rgba(255,255,255,.82);max-width:560px;margin:0 auto 32px;position:relative}
.cta-final .btn{position:relative}
.cta-final .sigilo{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:22px;display:flex;align-items:center;justify-content:center;gap:10px}
.cta-final .sigilo svg{width:14px;height:14px;fill:var(--dourado);flex-shrink:0}

/* rodapé */
footer{background:var(--vinho-escuro);color:rgba(255,255,255,.55);text-align:center;padding:26px 20px 96px;font-size:.76rem;letter-spacing:.05em;line-height:1.9}
footer a{color:var(--dourado-claro)}

/* barra fixa mobile */
.barra-fixa{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;box-shadow:0 -6px 24px rgba(0,0,0,.15);padding:10px 14px calc(10px + env(safe-area-inset-bottom));display:none}
.barra-fixa .btn{width:100%;padding:15px 20px;min-height:52px}

/* reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
@media(prefers-reduced-motion:reduce){.hero::after{animation:none}}

/* mobile */
@media(max-width:900px){
  body{font-size:16px}
  section{padding:58px 0}
  .hero{padding:104px 0 64px}
  .hero-grid{grid-template-columns:1fr;gap:38px}
  .hero-foto{order:-1}
  .hero-foto{width:min(270px,72vw)}
  .hero .sub{font-size:.98rem}
  .btn{width:100%;padding:15px 24px}
  .cta-final .btn,.dores .cta-meio .btn{min-width:0!important;width:100%!important}
  .header-fone span{display:none}
  .dores-grid{grid-template-columns:1fr}
  .passos{grid-template-columns:1fr;gap:26px}
  .passo:nth-child(3){grid-column:auto;width:100%}
  .passo{padding:26px 22px 28px}
  .adv-grid{grid-template-columns:1fr;gap:36px}
  .adv-foto{max-width:380px;margin:0 auto}
  .compromissos{padding:24px 0 28px}
  .compromissos-grid{grid-template-columns:1fr}
  .compromisso{grid-template-columns:50px 1fr;gap:16px;padding:20px 4px}
  .compromisso+.compromisso{border-left:0;border-top:1px solid var(--linha)}
  .compromisso-icone{width:50px;height:50px}
  .compromisso strong{font-size:1.16rem}
  .compromisso p{max-width:none}
  .barra-fixa{display:block}
}

/* entrada do hero */
.hero .eyebrow,.hero h1,.hero .sub,.hero .btn,.hero-prova{opacity:0;transform:translateY(22px);animation:lp-sobe .9s cubic-bezier(.22,.61,.21,1) forwards}
.hero h1{animation-delay:.12s}.hero .sub{animation-delay:.24s}.hero .btn{animation-delay:.36s}.hero-prova{animation-delay:.48s}
.hero-foto{opacity:0;animation:lp-foto 1.1s cubic-bezier(.22,.61,.21,1) .2s forwards}
@keyframes lp-sobe{to{opacity:1;transform:none}}
@keyframes lp-foto{from{opacity:0;transform:translateY(26px) scale(.97)}to{opacity:1;transform:none}}
:focus-visible{outline:2px solid var(--dourado);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.hero .eyebrow,.hero h1,.hero .sub,.hero .btn,.hero-prova,.hero-foto{opacity:1;transform:none;animation:none}}
