.elementor-10856 .elementor-element.elementor-element-1324359{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(min-width:768px){.elementor-10856 .elementor-element.elementor-element-1324359{--content-width:100%;}}/* Start custom CSS for html, class: .elementor-element-5848a10 */:root{
  --rose:#C97C82;
  --rose-deep:#A8636A;
  --wine:#7E4148;
  --blush:#F7EDEA;
  --paper:#FFFBFA;
  --champagne:#EFD3C7;
  --ink:#1B1214;
  --text:#4A3B3D;
  --line:#E6D3CF;
  --serif:"Cormorant","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --wrap:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:var(--sans);color:var(--text);background:var(--paper);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--serif);color:var(--ink);font-weight:500;line-height:1.1}
h2{font-size:clamp(2.1rem,4vw,3.1rem);margin-bottom:20px}
h3{font-size:1.55rem;margin-bottom:12px}
p{max-width:62ch}
:focus-visible{outline:2px solid var(--wine);outline-offset:3px}

/* botão */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-weight:600;font-size:.95rem;text-decoration:none;padding:16px 30px;border-radius:999px;background:#61ce70;color:#fff;transition:background .2s,transform .2s}
.btn:hover{background:var(--ink);transform:translateY(-1px)}
.btn svg{width:20px;height:20px;flex:none}
.btn-light{background:#61ce70;}
.btn-light:hover{background:var(--champagne);color:var(--ink)}

/* topo */
.top{position:absolute;inset:0 0 auto 0;z-index:5;padding-top:env(safe-area-inset-top,0px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px}
.top img{height:78px;width:auto}
.top a.tel{color:#fff;text-decoration:none;font-size:.9rem;font-weight:500;border:1px solid rgba(255,255,255,.55);padding:10px 20px;border-radius:999px}
.top a.tel:hover{background:rgba(255,255,255,.15)}

/* hero */
.hero{background:var(--rose);color:#fff;position:relative;overflow:hidden;padding:150px 0 0}
.hero::before{content:"";position:absolute;right:-12%;top:-20%;width:62vw;height:62vw;max-width:820px;max-height:820px;border-radius:50%;background:radial-gradient(circle,rgba(239,211,199,.35),rgba(239,211,199,0) 70%)}
.hero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:end;position:relative}
.hero-text{padding-bottom:110px}
.hero .kicker{font-size:.95rem;font-weight:500;color:var(--champagne);margin-bottom:22px;display:flex;align-items:center;gap:14px}
.hero .kicker::before{content:"";width:40px;height:1px;background:var(--champagne)}
.hero h1{color:#fff;font-size:clamp(2.2rem,5.4vw,2.8rem);font-weight:400;margin-bottom:26px}
.hero p{font-size:1.08rem;color:#FCEFEB;margin-bottom:36px;max-width:46ch}
.hero .addr{margin-top:26px;font-size:.85rem;color:#F6DDD6;display:flex;gap:8px;align-items:center}
.hero .addr svg{width:16px;height:16px}
.arch{border-radius:999px 999px 0 0;overflow:hidden;background:#D9D9DC;position:relative}
.hero .arch{aspect-ratio:3/4;max-width:470px;margin-left:auto;width:100%;border:10px solid rgba(255,255,255,.18);border-bottom:0}
.arch img{width:100%;height:100%;object-fit:cover;object-position:center 18%}

/* identificação */
.ident{background:var(--blush);padding:100px 0}
.ident .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:start}
.ident .lead{margin-top:6px}
.checks{list-style:none;display:grid;gap:0;border-top:1px solid var(--line)}
.checks li{display:flex;gap:18px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--line);font-size:1.02rem;color:var(--ink)}
.checks svg{flex:none;width:26px;height:26px;margin-top:1px}
.ident .after{margin:30px 0 28px}

/* tratamento */
.treat{padding:120px 0}
.treat .wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.treat-head .tag{display:inline-block;font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--rose-deep);margin-bottom:10px}
.treat-head p{margin-bottom:18px}
.treat-head .btn{margin-top:16px}
@media (min-width:961px){.treat-head{position:sticky;top:40px;align-self:start}}
.bullets{list-style:none;margin-bottom:40px}
.bullets li{position:relative;padding:10px 0 10px 28px;border-bottom:1px dashed var(--line)}
.bullets li::before{content:"";position:absolute;left:4px;top:21px;width:9px;height:9px;border-radius:50%;background:var(--rose)}
.steps{list-style:none;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:52px 1fr;gap:16px;padding:16px 0}
.steps li::before{content:counter(s);font-family:var(--serif);font-size:1.6rem;color:var(--wine);width:46px;height:46px;border:1px solid var(--rose);border-radius:50%;display:grid;place-items:center;line-height:1}
.steps strong{display:block;color:var(--ink);font-weight:600;margin-bottom:2px}
.treat.alt{background:var(--blush)}
.treat.alt .wrap{grid-template-columns:1fr 1fr}
.treat.alt .treat-head{order:2}

/* divisória com arco */
.band{background:var(--wine);color:#fff;padding:100px 0}
.band h2{color:#fff;max-width:24ch}
.diffs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:50px;border-top:1px solid rgba(255,255,255,.25)}
.diffs div{padding:30px 26px 0 0}
.diffs div + div{padding-left:26px;border-left:1px solid rgba(255,255,255,.25)}
.diffs h3{color:#fff;font-size:1.45rem}
.diffs p{color:#F2DCD6;font-size:.95rem}

/* sobre */
.about{padding:120px 0}
.about .wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:center}
.about .arch{aspect-ratio:4/5;max-width:440px;background:var(--blush)}
.about .frame{position:relative;max-width:440px}
.about .frame::after{content:"";position:absolute;inset:18px -18px -18px 18px;border:1px solid var(--rose);border-radius:999px 999px 0 0;z-index:-1;max-width:440px}
.about p{margin-bottom:18px;font-size:1.04rem}
.about .cro{font-family:var(--serif);font-size:1.3rem;color:var(--wine);margin-top:10px}
.about .sign{height:92px;width:auto;margin-bottom:28px}

/* jornada */
.journey{background:var(--blush);padding:110px 0}
.journey .head{text-align:center;margin:0 auto 60px}
.journey .head h2{margin-bottom:0}
.path{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;position:relative;counter-reset:j}
.path::before{content:"";position:absolute;top:31px;left:12%;right:12%;height:1px;background:var(--rose)}
.path li{counter-increment:j;text-align:center;position:relative}
.path li::before{content:counter(j);display:grid;place-items:center;width:62px;height:62px;margin:0 auto 22px;border-radius:50%;background:var(--paper);border:1px solid var(--rose);font-family:var(--serif);font-size:1.8rem;color:var(--wine);position:relative}
.path h3{font-size:1.4rem}
.path p{font-size:.95rem;margin:0 auto;max-width:26ch}
.journey .cta{text-align:center;margin-top:56px}

/* serviços */
.services{padding:110px 0;border-bottom:1px solid var(--line)}
.services .intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:50px}
.services .intro p{font-size:1rem}
.svc{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);column-gap:60px;border-top:1px solid var(--line)}
.svc li{padding:26px 0;border-bottom:1px solid var(--line)}
.svc h3{font-size:1.35rem;margin-bottom:6px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.svc p{font-size:.95rem;max-width:44ch;margin:0}
.svc .here{font-family:var(--sans);font-size:.72rem;font-weight:600;color:var(--wine);background:var(--blush);border-radius:999px;padding:5px 12px;text-decoration:none;line-height:1}
.svc .here:hover{background:var(--champagne)}

/* faq */
.faq{padding:110px 0}
.faq .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-child{border-top:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:24px 44px 24px 0;font-family:var(--serif);font-size:1.4rem;color:var(--ink);position:relative;line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;border-right:1.5px solid var(--wine);border-bottom:1.5px solid var(--wine);transform:translateY(-70%) rotate(45deg);transition:transform .25s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{padding:0 0 24px}

/* cta final */
.final{background:var(--rose);color:#fff;text-align:center;padding:110px 0;position:relative;overflow:hidden}
.final::before{content:"";position:absolute;left:50%;bottom:-420px;transform:translateX(-50%);width:900px;height:900px;border:1px solid rgba(255,255,255,.25);border-radius:50%}
.final h2{color:#fff;max-width:20ch;margin:0 auto 18px;position:relative}
.final p{margin:0 auto 36px;color:#FCEFEB;position:relative}
.final .btn{position:relative}

/* rodapé */
footer{background:var(--wine);color:#F2DCD6;padding:60px 0 calc(40px + env(safe-area-inset-bottom,0px));font-size:.92rem}
footer .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:50px;align-items:center}
footer img{height:84px;width:auto}
footer address{font-style:normal;line-height:1.9}
footer a{text-decoration:none}
footer a:hover{color:#fff}
footer .small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.2);padding-top:22px;font-size:.8rem;color:#D8B7B1}

/* whatsapp flutuante */
.wa-float{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:50;width:60px;height:60px;border-radius:50%;background:#25D366;display:grid;place-items:center;box-shadow:0 6px 20px rgba(0,0,0,.2);transition:transform .2s}
.wa-float:hover{transform:scale(1.06)}
.wa-float svg{width:32px;height:32px;fill:#fff}

/* responsivo */
@media (max-width:960px){
  .hero{padding-top:120px}
  .services .intro{grid-template-columns:1fr;gap:18px;align-items:start}
  .svc{grid-template-columns:1fr;column-gap:0}
  .hero .wrap,.ident .wrap,.treat .wrap,.treat.alt .wrap,.about .wrap,.faq .wrap{grid-template-columns:1fr;gap:44px}
  .hero-text{padding-bottom:0}
  .hero .arch{margin:0 auto;max-width:360px}
  .treat.alt .treat-head{order:0}
  .diffs{grid-template-columns:1fr 1fr}
  .diffs div{padding:28px 20px 28px 0!important;border-left:0!important;border-bottom:1px solid rgba(255,255,255,.25)}
  .diffs div:nth-child(even){padding-left:20px!important;border-left:1px solid rgba(255,255,255,.25)!important}
  .about .frame{max-width:380px;margin:0 auto}
  .path{grid-template-columns:1fr 1fr;row-gap:44px}
  .path::before{display:none}
  footer .wrap{grid-template-columns:1fr;gap:26px;text-align:left}
}
@media (max-width:560px){
  body{font-size:15px}
  .top img{height:48px}
  .top a.tel{padding:8px 14px;font-size:.8rem}
  .ident,.treat,.about,.journey,.faq,.final,.band,.services{padding:80px 0}
  .diffs{grid-template-columns:1fr}
  .diffs div,.diffs div:nth-child(even){padding:24px 0!important;border-left:0!important}
  .path{grid-template-columns:1fr}
  .btn{width:100%;justify-content:center;padding:16px 22px}
  .faq summary{font-size:1.25rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4a024d0 *//* garante que não vai surgir barra horizontal */
html, body { overflow-x: hidden; }

.btn-whatsapp{
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 9999;

  background-color: rgb(37, 211, 102);
  width: 60px;
  height: 60px;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #fff;
  font-size: 28px;
  text-decoration: none;
}

.btn-whatsapp:before,
.btn-whatsapp:after{
  content: '';
  position: absolute;
  border-radius: 50%;
  border: 1px solid #25d366;
  inset: -20px;              /* no lugar de left/right/top/bottom */
  animation: animate 1.5s linear infinite;
  opacity: 0;
  pointer-events: none;
}

.pulsaDelay:after{ animation-delay: 0.5s; }

@keyframes animate{
  0%{ transform: scale(0.5); opacity: 0; }
  50%{ opacity: 1; }
  100%{ transform: scale(1.2); opacity: 0; }
}/* End custom CSS */