:root{
  --paper:#F4F0E9; --paper-2:#ECE5DA; --greige:#DAD0C2; --taupe:#8C7B5E;
  --navy-deep:#20303F; --ink:#233040; --accent:#A98B57; --accent-2:#C8AE78; --accent-ink:#7A5F30;
  --body:#2A2722; --muted:#645D52; --line:#E0D6C7;
  --serif:"Fraunces",Georgia,serif; --sans:"Inter",system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --wrap:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:hidden}
body{font-family:var(--sans);color:var(--body);background:var(--paper);line-height:1.65;overflow-x:clip;max-width:100vw;-webkit-font-smoothing:antialiased}
img,iframe{max-width:100%;display:block}
em{font-style:italic;color:var(--accent-ink);font-weight:600;font-variation-settings:"opsz" 144}
/* sobre fundo escuro o dourado fechado some: usar o tom claro do accent */
.section--compare em,.section--cta em,.card-quote em,.about__panel em,.footer em,
.section--compare .eyebrow,.card-quote .eyebrow,.about__panel .eyebrow{color:var(--accent-2)}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 22px}
.wrap--narrow{max-width:780px}

/* tipografia */
.eyebrow{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-ink);font-weight:600}
.eyebrow--ink{color:var(--taupe)}
.h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.9rem,5vw,3rem);line-height:1.08;letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:.5rem 0 .9rem}
.h2--light{color:var(--paper)}
.lead{font-size:1.05rem;color:var(--muted);max-width:46ch}
.lead--center{margin:0 auto;text-align:center}
.lead--light{color:#cdd3d9;max-width:52ch;margin:0 auto}

/* botoes */
.btn{font-family:var(--sans);font-weight:600;font-size:.95rem;border:0;border-radius:2px;padding:.95rem 1.7rem;cursor:pointer;position:relative;overflow:hidden;transition:color .4s var(--ease);letter-spacing:.01em}
.btn--primary{background:var(--ink);color:var(--paper)}
.btn--primary::before{content:"";position:absolute;inset:0;background:var(--accent);transform:translateY(101%);transition:transform .45s var(--ease);z-index:0}
.btn--primary:hover::before{transform:translateY(0)}
.btn--primary span,.btn--primary{position:relative}
.btn--primary>*{position:relative;z-index:1}
.btn--primary:hover{color:var(--ink)}
.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.btn--whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;background:#25D366;color:#fff;font-weight:600}
.btn--whatsapp:hover{background:#1EBE5A;color:#fff}
.btn--whatsapp svg{width:1.15em;height:1.15em;flex:0 0 auto}
.btn--full{width:100%;margin-top:.4rem}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:40;transition:background .4s var(--ease),box-shadow .4s var(--ease)}
.nav__inner{max-width:var(--wrap);margin:0 auto;padding:18px 22px;display:flex;align-items:center;justify-content:space-between}
.nav:not(.is-scrolled){background:linear-gradient(to bottom,rgba(35,48,64,.30),rgba(35,48,64,0))}
.nav.is-scrolled{background:rgba(244,240,233,.86);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.nav__brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--ink)}
.nav.is-scrolled .nav__brand{color:var(--ink)}
.nav__mark{color:var(--accent);font-size:1rem}
.nav__word{font-family:var(--serif);font-weight:400;font-size:1.4rem;line-height:1;letter-spacing:.01em;display:flex;flex-direction:column}
.nav__word-sub{font-family:var(--sans);font-size:.52rem;letter-spacing:.32em;text-transform:uppercase;font-weight:600;opacity:.8;margin-top:2px}
.nav__cta{color:var(--ink);border-color:var(--ink)}
.nav.is-scrolled .nav__cta{color:var(--ink);border-color:var(--ink)}
.nav.is-scrolled .nav__cta:hover{color:var(--paper)}
@media(max-width:560px){.nav__cta{display:none}}

/* hero full-bleed */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.hero__media{position:absolute;inset:0;background-size:cover;background-position:center top;z-index:-2;animation:heroZoom 4s var(--ease-out) both}
@keyframes heroZoom{from{transform:scale(1.05)}to{transform:scale(1)}}
.hero__overlay{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to top,rgba(244,240,233,.99) 0%,rgba(244,240,233,.98) 32%,rgba(244,240,233,.66) 49%,rgba(244,240,233,0) 70%);}
.hero__inner{padding:0 22px calc(7vh + 18px);max-width:var(--wrap);margin:0 auto;width:100%}
.hero__title{font-family:var(--serif);font-weight:300;font-size:clamp(2.1rem,8vw,3.3rem);line-height:1.06;letter-spacing:-.025em;color:var(--ink);text-wrap:balance;margin:.7rem 0 .9rem;max-width:18ch}
.hero__sub{font-size:1.05rem;color:#38424E;max-width:42ch;margin-bottom:1.4rem}
.hero__actions{margin-bottom:1.1rem}
.hero__sign{font-size:.8rem;letter-spacing:.04em;color:var(--taupe);font-weight:500}

@media(min-width:880px){
  .hero{align-items:center}
  .hero__media{background-position:center}
  .hero__overlay{background:
    linear-gradient(to right,rgba(244,240,233,.05) 30%,rgba(244,240,233,.55) 52%,rgba(244,240,233,.95) 70%);}
  .hero__inner{display:flex;flex-direction:column;align-items:flex-end;text-align:right;padding:0 22px}
  .hero__title{margin-left:auto}
  .hero__sub{margin-left:auto}
}

/* secoes */
.section{padding:clamp(64px,9vw,118px) 0}
.section--paper{background:var(--paper)}
.section--marble{background:linear-gradient(180deg,var(--paper-2),var(--paper))}
.section__head{text-align:center;max-width:640px;margin:0 auto clamp(34px,5vw,56px)}
.grid-2{display:grid;gap:clamp(28px,5vw,64px)}
@media(min-width:840px){.grid-2{grid-template-columns:1.05fr .95fr;align-items:center}.grid-2--balance{grid-template-columns:1fr 1fr;align-items:stretch}}

.lead{margin-bottom:1.2rem}
.ticks{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin-top:.4rem}
.ticks li{position:relative;padding-left:1.7rem;color:var(--body)}
.ticks li::before{content:"✦";position:absolute;left:0;top:1px;color:var(--accent);font-size:.85rem}
.ticks--muted li{color:var(--muted)}
.ticks--muted li::before{content:"–";color:var(--taupe)}

.card-quote{background:var(--navy-deep);color:var(--paper);padding:clamp(34px,5vw,52px);border-radius:3px;position:relative}
.card-quote p{font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,3.2vw,1.8rem);line-height:1.3;font-style:italic}
.card-quote__mark{color:var(--accent-2);font-size:1.4rem;display:block;margin-bottom:1rem}
.card-quote__by{display:block;margin-top:1.4rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--accent-2)}

/* steps / metodo */
.steps{list-style:none;display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:720px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:30px 26px}
.step__n{font-family:var(--serif);font-size:1.5rem;color:var(--accent-ink);font-weight:500}
.step h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--ink);margin:.5rem 0 .5rem}
.step p{font-size:.95rem;color:var(--muted)}

/* paineis para quem é */
.panel{padding:clamp(28px,4vw,40px);border-radius:3px;border:1px solid var(--line)}
.panel--yes{background:var(--paper)}
.panel--no{background:transparent}
.panel__title{font-family:var(--serif);font-weight:400;font-size:1.4rem;color:var(--ink);margin-bottom:1rem}

/* features */
.cards-2{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:720px){.cards-2{grid-template-columns:1fr 1fr}}
.cards-3{display:grid;gap:22px;grid-template-columns:1fr}
@media(min-width:720px){.cards-3{grid-template-columns:repeat(3,1fr)}}
.feature{background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:clamp(28px,4vw,40px)}
.feature h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--ink);margin-bottom:.6rem}
.feature--sm h3{font-size:1.25rem}
.feature p{color:var(--muted)}
.note{text-align:center;max-width:60ch;margin:34px auto 0;font-size:.92rem;color:var(--taupe)}

/* mapa */
.addr{margin-top:1rem;font-weight:600;color:var(--ink)}
.map{border-radius:3px;overflow:hidden;border:1px solid var(--line);min-height:300px}
.map iframe{width:100%;height:100%;min-height:300px;border:0}

/* faq */
.faq{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:6px 0}
.faq summary{cursor:pointer;list-style:none;padding:18px 2px;font-family:var(--serif);font-size:1.15rem;color:var(--ink);display:flex;justify-content:space-between;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--accent);font-size:1.4rem;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 2px 18px;color:var(--muted)}

/* cta final */
.section--cta{background:var(--navy-deep)}
.cta-final{text-align:center}
.cta-final__mark{color:var(--accent);font-size:1.6rem;display:block;margin-bottom:1rem}
.cta-final .lead{margin:0 auto 1.8rem}

/* footer */
.footer{background:var(--ink);color:#cdd4dc;padding:54px 0}
.footer__inner{display:grid;gap:26px}
@media(min-width:760px){.footer__inner{grid-template-columns:1fr 1fr;align-items:start}}
.footer__brand{color:#fff;display:inline-flex}
.footer__line{margin-top:.7rem;font-size:.9rem}
.footer__muted{color:#8a93a0}
.footer__legal p{font-size:.8rem;line-height:1.6;color:#9aa3b0;margin-bottom:.6rem}

/* modal */
.modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:18px}
.modal[hidden]{display:none}
.modal__overlay{position:absolute;inset:0;background:rgba(32,38,46,.62);backdrop-filter:blur(4px)}
.modal__dialog{position:relative;background:var(--paper);border-radius:5px;width:100%;max-width:480px;max-height:92vh;overflow-y:auto;padding:clamp(26px,5vw,38px);box-shadow:0 30px 80px rgba(0,0,0,.3);animation:modalIn .4s var(--ease-out)}
@keyframes modalIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.modal__close{position:absolute;top:12px;right:14px;background:transparent;border:0;font-size:1.7rem;color:var(--taupe);cursor:pointer;line-height:1}
.modal__title{font-family:var(--serif);font-weight:400;font-size:1.6rem;color:var(--ink);margin:.4rem 0 1.2rem}
.modal__sub{color:var(--muted)}
body.is-locked{overflow:hidden}

/* form */
.form{display:flex;flex-direction:column;gap:1.1rem}
.field{display:flex;flex-direction:column;gap:.45rem;border:0}
.field>span,.field legend{font-size:.82rem;font-weight:600;color:var(--ink);letter-spacing:.01em}
.field input[type=text],.field input[type=tel]{font-family:var(--sans);font-size:1rem;padding:.85rem .9rem;border:1px solid var(--line);border-radius:3px;background:#fff;color:var(--body)}
.field input:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.opt{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:var(--body);cursor:pointer;padding:.15rem 0}
.opt input{accent-color:var(--accent);width:18px;height:18px}
.form__err{color:#a3402f;font-size:.85rem}
.form__legal{font-size:.72rem;color:var(--taupe);line-height:1.5}
.success__mark{color:var(--accent);font-size:2rem;display:block}

[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
[data-reveal].is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  [data-reveal]{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* === HERO FIX (full-bleed ambiental, texto escuro à direita/desktop, embaixo/mobile) === */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden}
.hero__media{position:absolute;inset:0;background-size:cover;background-position:center top;z-index:-2}
.hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(244,240,233,.98) 0%,rgba(244,240,233,.95) 30%,rgba(244,240,233,.55) 49%,rgba(244,240,233,0) 68%)}
.hero__inner{padding:0 22px calc(7vh + 18px);max-width:1160px;margin:0 auto;width:100%}
@media(min-width:880px){
  .hero{align-items:center}
  .hero__media{background-position:right center}
  .hero__overlay{background:linear-gradient(to left,rgba(244,240,233,0) 34%,rgba(244,240,233,.62) 54%,rgba(244,240,233,.96) 72%)}
  .hero__inner{display:flex;flex-direction:column;align-items:flex-start;text-align:left}
  .hero__title,.hero__sub{margin-left:0;margin-right:auto}
}
.nav:not(.is-scrolled){background:transparent}
.nav__brand,.nav:not(.is-scrolled) .nav__brand{color:var(--ink)}
/* No topo o nav é transparente sobre a foto do hero, que tem áreas claras e escuras.
   Tinta escura ali some contra o cabelo e a parede. O botão ganha um fundo próprio
   para não depender de sorte: legível sobre qualquer parte da imagem. */
.nav:not(.is-scrolled) .nav__cta{
  color:var(--paper);
  border-color:rgba(244,240,233,.55);
  background:rgba(35,48,64,.42);
  backdrop-filter:blur(6px);
}
.nav:not(.is-scrolled) .nav__cta:hover{background:rgba(35,48,64,.72);border-color:var(--paper)}
.nav.is-scrolled .nav__cta{color:var(--ink);border-color:var(--ink);background:transparent;backdrop-filter:none}

/* === DOR / IDENTIFICACAO === */
.pains{list-style:none;max-width:600px;margin:0 auto}
.pain{display:flex;align-items:center;gap:1rem;padding:1.15rem .4rem;border-bottom:1px solid var(--line);color:var(--ink);font-size:clamp(1.02rem,2.4vw,1.22rem);font-weight:500}
.pain:first-child{border-top:1px solid var(--line)}
.pain__star{color:var(--accent);font-size:1rem;flex-shrink:0}

/* === ANTES/DEPOIS COMPARE (simulacao) === */
.section--compare{background:radial-gradient(120% 90% at 50% 0%, rgba(200,174,120,.12), transparent 60%),linear-gradient(180deg,#241318 0%,#160C10 100%)}
.section--compare .eyebrow--ink{color:var(--accent-2)}
.section--compare .h2{color:#F4F0E9}
.section--compare .lead{color:#d3c7ba}
.fine{text-align:center;max-width:60ch;margin:26px auto 0;font-size:.8rem;color:#b0a390}

/* === SOBRE COM FOTO === */
.grid-2--about{display:grid;gap:0;align-items:stretch}
@media(min-width:840px){.grid-2--about{grid-template-columns:1fr 1fr}}
.about__photo{position:relative;min-height:470px;border-radius:4px 4px 0 0;overflow:hidden}
@media(min-width:840px){.about__photo{border-radius:4px 0 0 4px}}
.about__photo img{width:100%;height:100%;object-fit:cover;object-position:32% 26%}
.about__over{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:30px;background:linear-gradient(to top,rgba(35,48,64,.72) 0%,rgba(35,48,64,0) 55%)}
.about__over .eyebrow{color:var(--accent-2)}
.about__title{font-family:var(--serif);font-weight:300;font-size:clamp(1.6rem,3.4vw,2.2rem);line-height:1.1;color:#fff;margin-top:.3rem}
.about__panel{background:var(--navy-deep);color:var(--paper);padding:clamp(34px,5vw,52px);border-radius:0 0 4px 4px;display:flex;flex-direction:column;justify-content:center}
@media(min-width:840px){.about__panel{border-radius:0 4px 4px 0}}
.about__mark{color:var(--accent-2);font-size:1.5rem;display:block;margin-bottom:1rem}
.about__quote{font-family:var(--serif);font-weight:300;font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.34;font-style:italic;color:#F4F0E9}
.about__checks{list-style:none;margin:1.6rem 0 0;display:flex;flex-direction:column;gap:.7rem}
.about__checks li{position:relative;padding-left:1.7rem;color:#dbe0e6;font-size:.98rem}
.about__checks li::before{content:"✓";position:absolute;left:0;top:0;color:var(--accent-2);font-weight:700}
.about__sign{margin-top:1.6rem;font-family:var(--sans);font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-2)}

/* ================= V2 — fotos reais, casos, currículo, depoimentos ================= */

/* hero v2 (webp; mobile: ela em cima, texto embaixo · desktop: zona limpa à esquerda) */
.hero__media{background-image:url("v2/hero-mobile.webp");background-position:center top;animation:none}
@media(min-width:880px){
  .hero__media{background-image:url("v2/hero-desktop.webp");background-position:right center}
}

/* media band (foto do método) */
.media-band{max-width:960px;margin:0 auto clamp(34px,5vw,52px);border-radius:4px;overflow:hidden;box-shadow:0 24px 60px rgba(42,39,34,.16)}
.media-band img{width:100%;aspect-ratio:16/9;object-fit:cover}
.media-band figcaption{font-size:.8rem;color:var(--taupe);background:var(--paper);padding:12px 16px;border:1px solid var(--line);border-top:0;border-radius:0 0 4px 4px;text-align:center}

/* solução com foto */
.solution{display:grid;gap:26px}
@media(min-width:840px){.solution{grid-template-columns:.85fr 1.15fr;align-items:stretch}}
.solution__photo{border-radius:4px;overflow:hidden;margin:0;min-height:320px}
.solution__photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.solution__body{display:flex;flex-direction:column;gap:22px}
.note--left{text-align:left;margin:0}

/* casos clínicos — fotos estáticas antes/depois, sem slider de arraste */
.clinical-cases{max-width:1040px;margin:0 auto}
.clinical-case{padding:clamp(28px,4vw,44px) 0;border-top:1px solid rgba(200,174,120,.25)}
.clinical-case:first-child{padding-top:0;border-top:0}
.clinical-case__head{max-width:760px;margin:0 auto 1.6rem;text-align:center}
.clinical-case__label{font-size:.74rem;letter-spacing:.17em;text-transform:uppercase;font-weight:600;color:var(--accent-2)}
.clinical-case__desc{max-width:62ch;margin:.65rem auto 0;color:#d3c7ba;font-size:.98rem}
.clinical-case__time{margin-top:.6rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--accent-2)}
.clinical-case__photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.clinical-case__photo{min-width:0;margin:0;overflow:hidden;border:1px solid rgba(200,174,120,.25);border-radius:4px;background:#160C10}
.clinical-case__photo figcaption{padding:.65rem .8rem;background:rgba(22,12,16,.92);color:#F4F0E9;font-size:.7rem;letter-spacing:.18em;text-align:center;font-weight:600}
.clinical-case__photo img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
.cases__cta{text-align:center;margin-top:clamp(28px,4vw,44px);padding-top:clamp(28px,4vw,40px);border-top:1px solid rgba(200,174,120,.25)}
.cases__cta p{margin-bottom:1rem;color:#d3c7ba}
@media(max-width:560px){
  .clinical-case__photos{gap:10px}
  .clinical-case__photo figcaption{padding:.55rem .35rem;font-size:.63rem;letter-spacing:.12em}
  .clinical-case__desc{font-size:.92rem}
}

/* currículo */
@media(min-width:840px){.grid-2--cred{grid-template-columns:1.1fr .9fr;align-items:center}}
.cred{list-style:none;margin-top:1.2rem;display:flex;flex-direction:column;gap:0}
.cred li{position:relative;padding:.85rem 0 .85rem 1.8rem;border-bottom:1px solid var(--line);color:var(--body);font-size:.98rem}
.cred li:first-child{border-top:1px solid var(--line)}
.cred li::before{content:"✦";position:absolute;left:2px;top:.95rem;color:var(--accent);font-size:.8rem}
.cred__photo{margin:0;border-radius:4px;overflow:hidden;box-shadow:0 24px 60px rgba(42,39,34,.16)}
.cred__photo img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 20%}
.cred__photo figcaption{font-size:.8rem;color:var(--taupe);background:var(--paper);padding:12px 16px;border:1px solid var(--line);border-top:0;text-align:center}

/* depoimentos */
.quote{background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:clamp(26px,4vw,36px);display:flex;flex-direction:column;margin:0}
.quote__mark{color:var(--accent);font-size:1.1rem;margin-bottom:.9rem}
.quote p{font-size:.96rem;color:var(--body);line-height:1.7;flex:1}
.quote footer{margin-top:1.2rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--taupe)}
.fine--ink{color:var(--taupe)}

/* consultório strip */
.clinic-strip{display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:clamp(30px,4vw,46px)}
@media(min-width:720px){.clinic-strip{grid-template-columns:1fr 1fr 1fr}}
.clinic-strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.clinic-strip img:last-child{object-position:center 25%}
@media(max-width:719px){.clinic-strip img:last-child{display:none}}

/* botão whatsapp no sucesso */
.btn--wa{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;margin-top:1.2rem}

/* botão flutuante — contato direto, separado dos CTAs que abrem o modal */
.whatsapp-float{position:fixed;right:20px;bottom:20px;z-index:60;width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#25D366;color:#fff;text-decoration:none;box-shadow:0 10px 26px rgba(22,12,16,.3);transition:background .25s var(--ease),transform .25s var(--ease)}
.whatsapp-float:hover{background:#1EBE5A;color:#fff;transform:translateY(-2px)}
.whatsapp-float svg{width:29px;height:29px}
@media(max-width:479px){
  body{padding-bottom:96px}
  .whatsapp-float{right:16px;bottom:16px}
}

/* hero mobile: gradiente mais alto pra cobrir o eyebrow (legibilidade sobre a foto) */
@media(max-width:879px){
  .hero__overlay{background:linear-gradient(to top,rgba(244,240,233,.99) 0%,rgba(244,240,233,.97) 32%,rgba(244,240,233,.74) 50%,rgba(244,240,233,0) 74%)}
}

/* hero mobile: texto mais baixo e compacto (feedback da Dra. 23/07 — nada sobre o rosto) */
@media(max-width:879px){
  .hero__inner{padding-bottom:10px}
  .hero__title{margin:.4rem 0 .6rem;font-size:clamp(1.9rem,7.2vw,3.3rem)}
  .hero__sub{margin-bottom:.85rem;font-size:.98rem}
  .hero__actions{margin-bottom:.7rem}
  .hero__sign{font-size:.72rem}
}

/* Subtítulo da marca estava em 8,3 px — pequeno até para elemento de logo. */
.nav__word-sub { font-size: 10px; letter-spacing: .22em; }


/* Widget de conversa do WhatsApp — molde CliniAmp
   ------------------------------------------------------------------
   Nasceu na LP do Dr. João Quirino e virou molde em 01/09/2026. Substitui o
   modal de sucesso: em vez de abrir um popup por cima da página, a pessoa
   digita o WhatsApp dentro de uma conversa que já parece começada.

   Todas as cores saem de variáveis com valor de reserva, então o arquivo
   funciona em LP que não tem design system nenhum. Para casar com a marca do
   cliente, defina --wa-marca e --wa-marca-texto no :root da LP.             */

:root {
  --wa-verde: #25D366;
  --wa-marca: var(--brand-navy, var(--cta-primary, #111827));
  --wa-marca-texto: var(--text-on-navy, #fff);
  --wa-fundo: var(--bg-primary, #fff);
  --wa-texto: var(--text-primary, #1f2937);
  --wa-balao-in: var(--bg-secondary, #f3f4f6);
}

.whatsapp-float {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 60;
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--wa-verde);
  color: #fff;
  border: 0;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .24);
  transition: transform .2s ease;
}
.whatsapp-float svg { width: 30px; height: 30px; }
.whatsapp-float:hover { transform: scale(1.06); }

.wa-chat {
  position: fixed;
  right: 20px;
  bottom: 88px;
  z-index: 61;
  width: min(340px, calc(100vw - 40px));
  background: var(--wa-fundo);
  color: var(--wa-texto);
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .28);
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px) scale(.96);
  transform-origin: bottom right;
  transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}
.wa-chat.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  transition-delay: 0s;
}

.wa-chat__head {
  display: flex;
  align-items: center;
  gap: .65rem;
  padding: .85rem 1rem;
  background: var(--wa-marca);
  color: var(--wa-marca-texto);
}
.wa-chat__avatar {
  width: 40px; height: 40px;
  border-radius: 50%;
  overflow: hidden;
  flex: 0 0 auto;
  background: rgba(255, 255, 255, .15);
  display: inline-flex; align-items: center; justify-content: center;
}
.wa-chat__avatar img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.wa-chat__ident { display: flex; flex-direction: column; line-height: 1.25; flex: 1 1 auto; min-width: 0; }
.wa-chat__ident strong { font-size: .95rem; font-weight: 600; }
.wa-chat__ident small { font-size: .72rem; opacity: .75; display: flex; align-items: center; gap: .35rem; }
.wa-chat__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--wa-verde); display: inline-block; }
.wa-chat__close {
  background: none; border: 0; color: inherit;
  font-size: 1.5rem; line-height: 1; cursor: pointer;
  opacity: .65; padding: 0 .15rem;
}
.wa-chat__close:hover { opacity: 1; }

.wa-chat__body {
  padding: 1rem;
  max-height: 260px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  background: var(--wa-fundo);
}
.wa-chat__msg {
  max-width: 85%;
  padding: .55rem .7rem .35rem;
  border-radius: 12px;
  font-size: .87rem;
  line-height: 1.4;
  position: relative;
}
.wa-chat__msg p { margin: 0; }
.wa-chat__msg--in { align-self: flex-start; background: var(--wa-balao-in); border-bottom-left-radius: 4px; }
.wa-chat__msg--out { align-self: flex-end; background: #d9fdd3; color: #111b21; border-bottom-right-radius: 4px; }
.wa-chat__hora { display: block; text-align: right; font-size: .62rem; opacity: .5; margin-top: .15rem; }

.wa-chat__typing { display: inline-flex; gap: 3px; padding: .2rem 0; }
.wa-chat__typing i {
  width: 6px; height: 6px; border-radius: 50%;
  background: currentColor; opacity: .35;
  animation: wa-pulso 1.2s infinite;
}
.wa-chat__typing i:nth-child(2) { animation-delay: .18s; }
.wa-chat__typing i:nth-child(3) { animation-delay: .36s; }
@keyframes wa-pulso { 0%, 60%, 100% { opacity: .25; } 30% { opacity: .85; } }

.wa-chat__cta {
  display: flex; align-items: center; justify-content: center; gap: .45rem;
  margin-top: .5rem; padding: .5rem .7rem;
  border-radius: 10px;
  background: var(--wa-verde); color: #fff;
  font-size: .82rem; font-weight: 600; text-decoration: none;
}
.wa-chat__cta svg { width: 17px; height: 17px; }

.wa-chat__aviso { margin: 0; padding: 0 1rem .5rem; font-size: .68rem; opacity: .6; }
.wa-chat__erro { margin: 0; padding: 0 1rem .4rem; font-size: .75rem; color: #b91c1c; }

.wa-chat__form { display: flex; gap: .5rem; padding: .75rem 1rem 1rem; align-items: center; }
.wa-chat__input {
  flex: 1 1 auto; min-width: 0;
  padding: .6rem .75rem;
  border: 1px solid rgba(0, 0, 0, .15);
  border-radius: 999px;
  font-size: .9rem;
  font-family: inherit;
  color: var(--wa-texto);
  background: var(--wa-fundo);
}
.wa-chat__input:focus { outline: 2px solid var(--wa-verde); outline-offset: 1px; }
.wa-chat__send {
  flex: 0 0 auto;
  width: 42px; height: 42px;
  border: 0; border-radius: 50%;
  background: var(--wa-verde); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
}
.wa-chat__send svg { width: 19px; height: 19px; }
.wa-chat__send:disabled { opacity: .55; cursor: default; }

@media (max-width: 640px) {
  .whatsapp-float { bottom: 84px; width: 52px; height: 52px; }
  .whatsapp-float svg { width: 28px; height: 28px; }
  .wa-chat { bottom: 148px; right: 12px; }
  .wa-chat__body { max-height: 210px; }
}
@media (prefers-reduced-motion: reduce) {
  .whatsapp-float, .wa-chat { transition: none; }
  .wa-chat__typing i { animation: none; }
}
