
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;src:url(./playfair-display.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(./inter.woff2) format('woff2')}
@font-face{font-family:'Antonio';font-style:normal;font-weight:400 700;font-display:swap;src:url(./antonio.woff2) format('woff2')}
:root{--bg:#121212;--bg2:#17171a;--card:#1c1c20;--line:#2c2c32;--gold:#d5c18c;--golds:#ac9542;--ink:#f2f2f2;--mute:#a6a6ad;--wa:#25D366;--wad:#1ebe5a;--beige:#f7f5f0;--beige2:#efe9df;--lineL:#e7dfd2;--inkL:#1c1c1c;--muteL:#6b655c}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:'Inter',-apple-system,'Segoe UI',Helvetica,Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.serif{font-family:'Playfair Display',Georgia,'Times New Roman',serif}
h1,h2,h3{font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-weight:700;line-height:1.14}
a{color:inherit;text-decoration:none}
.eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--golds);font-weight:600;font-family:'Antonio',sans-serif}
.gold{color:var(--gold)}
.btn-wa{display:inline-flex;align-items:center;gap:10px;background:var(--wa);color:#07310f;font-weight:700;font-size:14px;padding:15px 26px;border-radius:12px;box-shadow:0 8px 24px rgba(37,211,102,.26);transition:.15s;border:0;cursor:pointer;font-family:'Antonio',sans-serif;letter-spacing:.06em;text-transform:uppercase}
.btn-wa:hover{background:var(--wad);transform:translateY(-1px)}
.btn-wa svg{width:18px;height:18px;fill:#07310f}
.sec{padding:72px 0}
.sec .lead{color:var(--mute);max-width:680px;margin-top:12px;font-size:16px}
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(18,18,18,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:50px;width:auto}
.brand .bt{font-family:'Playfair Display',Georgia,serif;font-size:18px;color:#fff;line-height:1}
.brand .bs{display:block;font-size:9.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--gold);margin-top:3px}
.nav .btn-wa{padding:11px 20px;font-size:13px}

/* HERO */
.hero{position:relative;background:radial-gradient(900px 640px at 72% 20%,#242423 0%,transparent 55%),linear-gradient(160deg,#1c1c1c 0%,#141414 55%,#0c0c0c 100%);overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;min-height:460px;padding:48px 0}
.hero h1{font-size:40px;margin:14px 0 16px;max-width:560px}
.hero p.sub{color:#e6e6e6;font-size:18px;max-width:500px;margin-bottom:26px}
.hero .cred{margin-top:18px;font-size:13px;color:var(--mute)}
.hero .cred b{color:var(--gold);font-weight:600}
.hero .photo{display:block}
.hero .photo img{width:100%;max-width:560px;height:auto;display:block;margin:0 auto}
.proof{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:20px;color:var(--mute);font-size:13px}
.proof .it{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.proof .it b{color:var(--ink);font-weight:600}
.proof .dot{width:5px;height:5px;border-radius:50%;background:var(--gold);flex:0 0 auto}

/* TRUST */
.trust{background:#0c0c0d;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.trust .wrap{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:12px 24px;padding:16px 22px;font-size:13.5px;color:var(--gold)}
.trust b{color:var(--gold);font-weight:600}

/* LIGHT base */
.light{background:var(--beige);color:#403d38}
.light .eyebrow{color:var(--golds)}
.light h1,.light h2,.light h3{color:var(--inkL)}
.light .lead{color:var(--muteL)}
.white{background:#fff}

/* SERVICES */
.svc{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px}
.svc .s{flex:1 1 300px;max-width:352px;display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--lineL);border-radius:12px;padding:18px 20px;transition:.15s}
.svc-cta{text-align:center;margin-top:30px}
.light.white .svc .s{background:var(--beige);border-color:#ece3d4}
.svc .s:hover{border-color:#d8c590;box-shadow:0 8px 20px rgba(60,50,30,.06)}
.svc .ic{flex:0 0 auto;width:40px;height:40px;border-radius:10px;background:#faf7f0;border:1px solid #e9e0cf;display:flex;align-items:center;justify-content:center;color:var(--golds)}
.svc .ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.svc .s h3{font-size:16.5px;color:var(--inkL);margin-bottom:3px}
.svc .s p{font-size:13.5px;color:var(--muteL);line-height:1.5}

/* CREDIBILITY */
.cred3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px}
.cred3 .c .n{font-family:Georgia,serif;color:var(--golds);font-weight:800;font-size:15px}
.cred3 .c h3{font-size:17px;color:var(--inkL);margin:8px 0 6px}
.cred3 .c p{font-size:14px;color:var(--muteL);line-height:1.55}

/* RAPHAEL */
.rapha .grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:38px;align-items:center}
.rapha img{width:100%;height:auto;border-radius:14px;box-shadow:0 22px 46px rgba(60,50,30,.16)}
.rapha h2{font-size:30px;margin:6px 0 2px}
.rapha .role{color:var(--golds);font-size:14px;margin-bottom:16px}
.creds{list-style:none;display:grid;gap:9px;margin:0 0 20px}
.creds li{display:flex;gap:10px;align-items:flex-start;color:#403d38;font-size:14.5px}
.creds li .ck{color:var(--wa);font-weight:800;flex:0 0 auto}
.quote{font-style:italic;color:#55504a;border-left:3px solid var(--gold);padding-left:14px;margin-bottom:20px;font-size:15px}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px}
.steps .st{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}
.steps .num{width:32px;height:32px;border-radius:50%;background:var(--gold);color:#141416;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:13px;font-family:Georgia,serif}
.steps h3{font-size:16.5px;color:#fff;margin-bottom:5px}
.steps p{color:var(--mute);font-size:14px}
.dark{background:#0e0e10}

/* REVIEWS */
.rev{background:var(--beige)}
.revwrap{display:grid;grid-template-columns:.55fr 1.45fr;gap:26px;margin-top:30px;align-items:center}
.track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 10px}
.track::-webkit-scrollbar{height:0}
.rcard2{flex:0 0 46%;scroll-snap-align:start;background:#fff;border:1px solid #e3e3e6;border-radius:14px;padding:22px}
.rcard2 .g{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.rcard2 .gi{font-weight:800;font-family:Georgia,serif;color:#4285F4;font-size:15px}
.rstars{color:#e8b50a;letter-spacing:2px;font-size:13px}
.rtext{color:#34343b;font-size:14px;line-height:1.5;margin:4px 0 12px}
.rauth{font-weight:700;color:var(--inkL);font-size:13.5px}
.rmeta{color:#86868d;font-size:12px}
.carousel{position:relative}
.arrow{position:absolute;top:44%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:#fff;border:1px solid #d9d9dd;color:#444;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 14px rgba(0,0,0,.14);z-index:3}
.arrow.prev{left:-6px}.arrow.next{right:-6px}
.revnote{font-size:11.5px;color:#86868d;margin-top:14px;text-align:center}

/* FAQ */
.faq details{border-bottom:1px solid var(--lineL);padding:17px 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:15.5px;color:var(--inkL);font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pm{color:var(--golds);font-size:22px;font-weight:300;flex:0 0 auto}
.faq details[open] summary .pm{transform:rotate(45deg)}
.faq .ans{color:var(--muteL);font-size:14.5px;margin-top:11px;max-width:800px}

/* FINAL */
.final{background:linear-gradient(120deg,#151518,#1d1d22)}
.final .wrap{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between}
.final h2{font-size:28px;color:#fff}
.final p{color:var(--mute);margin-top:6px}

/* FOOTER */
footer{background:var(--beige);border-top:1px solid var(--lineL);color:#403d38;padding:44px 0 92px}
footer .fhead{text-align:center;max-width:600px;margin:0 auto 6px}
footer .fhead h2{font-size:26px;color:var(--inkL);margin:8px 0 8px}
footer .fhead p{font-size:14.5px;color:var(--muteL)}
footer .fgrid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}
footer .fcards{display:flex;flex-direction:column;gap:12px}
footer .fcard{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--lineL);border-radius:13px;padding:15px 17px;transition:.15s}
footer a.fcard:hover{border-color:#d5c18c;transform:translateY(-1px)}
footer .fic{flex:0 0 auto;width:40px;height:40px;border-radius:10px;background:#faf7f0;border:1px solid #e9e0cf;display:flex;align-items:center;justify-content:center;color:var(--golds)}
footer .fic svg{width:18px;height:18px}
footer .ftx{display:flex;flex-direction:column;line-height:1.35}
footer .ftx b{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:16px;color:var(--inkL)}
footer .ftx span{font-size:13px;color:var(--muteL)}
footer .fmapbox{background:var(--beige2);border:1px solid var(--lineL);border-radius:14px;overflow:hidden;min-height:250px;display:flex;align-items:center;justify-content:center}
footer .leg{border-top:1px solid var(--lineL);margin-top:26px;padding-top:16px;font-size:11.5px;color:#8a8275;line-height:1.6;text-align:center}

/* FLOAT + STICKY */
.float{position:fixed;right:20px;bottom:24px;z-index:60;width:58px;height:58px;border-radius:50%;background:var(--wa);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(37,211,102,.4)}
.float svg{width:29px;height:29px;fill:#07310f}
.sticky{display:none}

@media(max-width:860px){
 .hero .grid{grid-template-columns:1fr;gap:22px;min-height:auto;padding:30px 0 34px}
 .hero .photo{order:2;width:100%;max-width:360px;margin:8px auto 0;aspect-ratio:720/774}.hero .photo img{width:100%;height:100%;object-fit:contain}
 .trust{border-top:0}
 .trust .wrap::before{content:"";position:absolute;top:0;left:22px;right:22px;height:1px;background:var(--line)}
 .hero .txt{order:1}
 .hero h1{font-size:27px;margin:12px 0 14px}
 .hero p.sub{font-size:16px;margin-bottom:22px}
 .svc,.cred3,.steps,.rapha .grid,.revwrap,footer .fgrid{grid-template-columns:1fr}
 .rapha .grid{gap:22px}
 .rapha img{max-width:300px;margin:0 auto}
 .rcard2{flex:0 0 86%}
 .arrow{display:none}
 .sec{padding:52px 0}
 .brand .bx{display:none}
 .nav .btn-wa{padding:10px 15px;font-size:12.5px}
 .float{display:none}
 .sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--wa);align-items:center;justify-content:center;gap:10px;padding:14px;font-weight:800;color:#07310f;font-family:'Antonio',sans-serif;letter-spacing:.03em;box-shadow:0 -4px 16px rgba(0,0,0,.18)}
 .sticky svg{width:20px;height:20px;fill:#07310f}
 body{padding-bottom:0}
}

/* Adaptações estaduais e correções de acessibilidade. */
[hidden]{display:none!important} :focus-visible{outline:3px solid #ac9542;outline-offset:5px}html{scroll-padding-top:86px}img{max-width:100%}h2{font-size:30px;margin-top:8px}#servicos h2{font-size:32px}.svc .s{text-align:left;min-width:0}.svc .s>div:last-child{min-width:0}.method{background:var(--beige2)}.steps{text-align:left}.hero .cred{max-width:480px}.trust .wrap{align-items:center}.carousel{margin-top:30px}.faqwrap{max-width:860px}.questions{margin-top:24px}.rev h2{color:#1c1c1c}.revnote,.rmeta,footer .leg{color:#6b655c}.final p{max-width:650px}footer .ftx{min-width:0;overflow-wrap:anywhere}footer .fic svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.maplink{font-size:13px;text-decoration:underline;margin-top:8px}.skip{position:fixed;top:8px;left:8px;transform:translateY(-200%);background:white;color:#121212;padding:12px;z-index:100}.skip:focus{transform:none}.float span:empty{display:none}.brand img{width:auto;height:50px;object-fit:contain}
@media(max-width:860px){footer .fgrid{grid-template-columns:1fr}footer{padding-bottom:32px}body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}.sticky{padding-bottom:calc(14px + env(safe-area-inset-bottom));font-size:14px}.trust .wrap{grid-template-columns:1fr;gap:12px;text-align:center}.brand img{width:auto;height:50px;object-fit:contain}.hero .cred{font-size:13px}.svc .s{max-width:100%;flex-basis:300px}.final .wrap{align-items:flex-start}.final p{max-width:100%}}
@media(prefers-reduced-motion:reduce){html,.track{scroll-behavior:auto}*,*::before,*::after{transition:none!important}.btn-wa:hover{transform:none}}

footer .fic svg[viewBox="0 0 24 24"]:has(path[d^="M20.5"]){fill:currentColor;stroke:none}

/* Padrão compartilhado: cabeçalhos centrais, conteúdo interno preservado. */
#metodo > .wrap > .eyebrow,
#metodo > .wrap > h2,
#avaliacoes > .wrap > .eyebrow,
#avaliacoes > .wrap > h2,
#faq > .wrap > .eyebrow,
#faq > .wrap > h2 { text-align: center; }
.faq .questions { text-align: left; }
.contact-map {
  min-width: 0;
  min-height: 360px;
  overflow: hidden;
  background: var(--beige2);
  border: 1px solid var(--lineL);
  border-radius: 14px;
}
.contact-map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
}
@media (max-width: 860px) {
  .contact-map, .contact-map iframe { height: 320px; min-height: 320px; }
}

/* Credenciais: alinhamento geométrico compartilhado pelas três LPs. */
.trust-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 0;
  text-align: center;
  line-height: 1.55;
}
.trust-item svg {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.trust-item span { min-width: 0; }
