/* Layout claro, azul-marinho + vermelho do coração (logo/Instagram). ECG como detalhe. */
:root{
  --navy:#0b2a5b; --navy-d:#071d42; --blue:#1f5fbf; --sky:#e8f1fb;
  --red:#d7263d; --ink:#0e1f3d; --ink-2:#44546e; --muted:#6b7a92; --line:#e2e9f2;
  --bg:#ffffff; --soft:#f4f8fc; --wa:#179b54; --gold:#f5b301; --dr:#00a085;
  --display:"Sora",system-ui,sans-serif;
  --sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --max:1200px; --gut:clamp(16px,4vw,40px); --r:16px;
  --shadow:0 18px 40px -22px rgba(11,42,91,.28);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:-.025em;line-height:1.12;margin:0 0 .45em;text-wrap:balance;color:var(--ink)}
h1{font-size:clamp(2.1rem,4vw,3.3rem)}
h2{font-size:clamp(1.7rem,3.2vw,2.5rem)}
h3{font-size:1.1rem;font-weight:600;letter-spacing:-.01em;line-height:1.3}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--gut)}
.skip{position:absolute;left:-999px;top:8px;background:var(--navy);color:#fff;padding:8px 14px;border-radius:8px;z-index:99}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:6px}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font:600 .74rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:16px}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--red)}
.lead{font-size:1.1rem;color:var(--ink-2);max-width:60ch}
.muted{color:var(--muted)}
.small{font-size:.92rem}
.ic,.ic-red{display:inline-grid;place-items:center;flex:none}
.ic svg,.ic-red svg{width:24px;height:24px}
.ic{color:var(--navy)}
.ic-red{color:var(--red)}
.stars{display:inline-flex;gap:2px;color:var(--gold)}
.stars svg{width:16px;height:16px}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;height:78px}
.logo{display:block;line-height:0}
.logo img{height:50px;width:auto}
.nav{display:flex;align-items:center;gap:30px}
.nav a{text-decoration:none;font-size:.93rem;font-weight:500;color:var(--ink-2);position:relative}
.nav a:not(.btn):hover{color:var(--navy)}
.nav a[aria-current]{color:var(--navy);font-weight:600}
.nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--navy);border-radius:2px}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:10px;padding:9px 14px;font:600 .9rem var(--sans);color:var(--ink);cursor:pointer}
@media (max-width:1000px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut) 20px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}
  .nav.open{display:flex}
  .nav a{padding:13px 0;border-bottom:1px solid var(--line)}
  .nav a[aria-current]::after{display:none}
  .nav .btn{margin-top:14px;justify-content:center}
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 24px;border-radius:10px;font:600 .98rem/1 var(--sans);text-decoration:none;border:1.5px solid transparent;transition:transform .15s,background .15s,border-color .15s,color .15s;cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:18px;height:18px;flex:none}
.btn-primary{background:var(--navy);color:#fff !important}
.btn-primary:hover{background:var(--navy-d)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:#fff}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-white{background:#fff;color:var(--navy) !important}
.btn-line{border-color:rgba(255,255,255,.4);color:#fff}
.btn-line:hover{border-color:#fff}
.btn-wa{background:var(--wa);color:#fff !important}
.btn-sm{padding:11px 16px;font-size:.88rem}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--blue);text-decoration:none;white-space:nowrap}
.link-arrow svg{width:18px;height:18px;transition:transform .2s}
.link-arrow:hover svg{transform:translateX(4px)}

/* rating chip (Doctoralia) */
.rating-chip{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:9px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);text-decoration:none;font-size:.9rem;color:var(--ink-2)}
.rating-chip b{color:var(--ink)}
.rating-chip:hover{border-color:var(--dr)}
.rating-chip-sm{margin:0 0 14px;box-shadow:none;font-size:.8rem;padding:7px 11px;border-radius:10px;align-items:flex-start;flex-direction:column;gap:4px}

/* ---------- HERO ---------- */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#f5f9fd 100%)}
.hero-media{position:absolute;top:0;right:0;bottom:120px;width:58%}
.hero-media img,.hero-video{width:100%;height:100%;object-fit:cover;object-position:50% 8%;display:block;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 18%,#000 38%);mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.55) 18%,#000 38%)}
.float-card{position:absolute;right:clamp(16px,4vw,48px);bottom:40px;display:flex;gap:14px;align-items:center;background:#fff;border-radius:14px;padding:16px 20px;box-shadow:var(--shadow);font-size:.88rem;color:var(--ink-2);line-height:1.35;border:1px solid var(--line)}
.float-card b{color:var(--ink)}
.float-card .ic-red{width:44px;height:44px;border-radius:50%;background:#fdecee}
.hero-inner{position:relative;padding-top:clamp(48px,7vw,96px)}
.hero-copy{max-width:560px;padding-bottom:56px}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.feats{list-style:none;margin:0;padding:22px 0 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);position:relative;background:linear-gradient(180deg,rgba(255,255,255,.7),#fff)}
.feats li{display:flex;align-items:center;gap:14px;padding:6px 20px;font-size:.9rem;color:var(--ink-2);line-height:1.3}
.feats li+li{border-left:1px solid var(--line)}
.feats .ic{width:46px;height:46px;border-radius:50%;background:var(--sky)}
@media (max-width:900px){
  .hero-media{position:relative;width:100%;height:340px;bottom:auto}
  .hero-media img,.hero-video{-webkit-mask-image:linear-gradient(0deg,transparent 0%,#000 30%);mask-image:linear-gradient(0deg,transparent 0%,#000 30%)}
  .float-card{bottom:16px}
  .hero-inner{padding-top:8px}
  .feats{grid-template-columns:1fr 1fr;row-gap:14px}
  .feats li{padding:6px 10px}
  .feats li+li{border-left:0}
}

/* ---------- sections ---------- */
.sec{padding:clamp(64px,9vw,112px) 0}
.sec-tight{padding:clamp(40px,6vw,72px) 0}
.sec-soft{background:var(--soft)}
.head-split{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:44px}
.head-split .lead{margin:0}
.head-row{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:end;margin-bottom:36px}
.head-row h2{margin-bottom:.2em}
@media (max-width:820px){.head-split{grid-template-columns:1fr;gap:12px}}

/* treatment cards */
.tcards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.tcard{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;box-shadow:0 6px 20px -16px rgba(11,42,91,.4);transition:transform .2s,box-shadow .2s}
.tcard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.tcard-img{aspect-ratio:16/10;overflow:hidden;background:var(--navy)}
.tcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tcard:hover .tcard-img img{transform:scale(1.05)}
.tcard-body{display:flex;flex-direction:column;flex:1;padding:20px 20px 22px}
.tcard h3{margin-bottom:8px}
.tcard p{font-size:.9rem;color:var(--ink-2);margin-bottom:18px}
.round{margin-top:auto;width:38px;height:38px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--navy);transition:all .2s}
.round svg{width:16px;height:16px}
.tcard:hover .round{background:var(--navy);border-color:var(--navy);color:#fff}
@media (max-width:1100px){.tcards{grid-template-columns:repeat(3,1fr)}}
@media (max-width:720px){.tcards{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.tcards{grid-template-columns:1fr}}

/* stats */
.stats-band{background:var(--soft);border-block:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(4,1fr)}
.stats>div{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 14px;gap:4px}
.stats>div+div{border-left:1px solid var(--line)}
.stats .ic{width:40px;height:40px;margin-bottom:6px;color:var(--navy)}
.stats .ic svg{width:30px;height:30px}
.stats>div:nth-child(2) .ic{color:var(--gold)}
.stats b{font:700 1.2rem var(--display);color:var(--ink)}
.stats span:last-child{font-size:.86rem;color:var(--muted)}
@media (max-width:720px){.stats{grid-template-columns:1fr 1fr}.stats>div:nth-child(3){border-left:0}.stats>div:nth-child(n+3){border-top:1px solid var(--line)}}

/* about */
.about{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(32px,6vw,80px);align-items:center}
.about-photo{position:relative;margin:0 0 30px}
.about-photo img{border-radius:var(--r);width:100%;box-shadow:var(--shadow)}
.about-card{position:absolute;left:-10px;bottom:-30px;background:#fff;border-radius:14px;padding:18px 22px;box-shadow:var(--shadow);border:1px solid var(--line);display:flex;flex-direction:column;gap:2px;font-size:.88rem;color:var(--ink-2);max-width:88%}
.about-card b{font:700 1.05rem var(--display);color:var(--ink)}
.reg{font-size:.8rem;letter-spacing:.02em;color:var(--muted)}
.checks{list-style:none;padding:0;margin:26px 0 32px;display:grid;gap:14px}
.checks li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;color:var(--ink-2)}
.checks .ic-red svg{width:22px;height:22px}
@media (max-width:900px){.about{grid-template-columns:1fr}.about-photo{max-width:520px}.about-card{left:12px}}

/* difs */
.difs{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,6vw,80px);align-items:center}
.dif-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}
.dif-list li{display:flex;gap:14px;align-items:center;font-size:.95rem;color:var(--ink-2)}
.dif-list .ic{width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--line)}
@media (max-width:900px){.difs{grid-template-columns:1fr}}
@media (max-width:520px){.dif-list{grid-template-columns:1fr}}
.practice{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px;margin-top:56px}
.practice figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;background:var(--navy)}
.practice img{width:100%;height:100%;object-fit:cover}
.practice figcaption{position:absolute;left:12px;bottom:12px;background:rgba(255,255,255,.94);color:var(--ink);font-size:.8rem;font-weight:600;padding:7px 11px;border-radius:8px}
.practice-inline{margin-top:10px;grid-template-columns:repeat(3,1fr)}
.practice-inline figure{aspect-ratio:4/5}
@media (max-width:760px){.practice{grid-template-columns:1fr 1fr}.practice figure:first-child{grid-column:1/-1}}

/* patients band */
.patients{position:relative;overflow:hidden;background:radial-gradient(60% 120% at 85% 20%,#1d4f9c 0%,transparent 60%),linear-gradient(120deg,var(--navy-d),var(--navy));color:#fff;padding:clamp(64px,8vw,100px) 0;isolation:isolate}
.patients h2{color:#fff}
.patients .eyebrow{color:#ff8a98}.patients .eyebrow::before{background:#ff8a98}
.patients .lead{color:#c7d4ea;margin-bottom:28px}
.patients-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.guide{display:grid;gap:4px;padding:14px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(8px)}
.guide a{display:flex;align-items:center;gap:14px;padding:14px;border-radius:12px;text-decoration:none;font-weight:500;color:#fff}
.guide a:hover{background:rgba(255,255,255,.1)}
.guide .ic{width:40px;height:40px;border-radius:10px;border:1px solid rgba(255,255,255,.3);color:#fff}
.guide .ic svg{width:20px;height:20px}
.guide .go{margin-left:auto;opacity:.6}.guide .go svg{width:16px;height:16px}
.ecg{position:absolute;left:0;right:0;pointer-events:none;z-index:-1}
.ecg svg{width:100%;height:100%;overflow:visible}
.ecg path{fill:none;stroke:#ff5a6e;stroke-width:1.8;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(255,90,110,.6));
  stroke-dasharray:3000;stroke-dashoffset:3000;animation:trace 3.5s ease-out .2s forwards}
@keyframes trace{to{stroke-dashoffset:0}}
.patients-ecg{bottom:24px;height:80px;opacity:.55}
@media (max-width:900px){.patients-inner{grid-template-columns:1fr}}

/* reviews */
.rating-panel{display:grid;grid-template-columns:auto 1fr auto;gap:32px;align-items:center;padding:26px 30px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(90deg,#f1fbf8,#fff 55%);margin-bottom:22px}
.rp-score{display:flex;flex-direction:column;align-items:center;gap:6px;padding-right:32px;border-right:1px solid var(--line)}
.rp-score b{font:700 3rem/1 var(--display);color:var(--ink)}
.rp-score .stars svg{width:20px;height:20px}
.rp-score span:last-child{font-size:.82rem;color:var(--muted)}
.rp-title{font:600 1.1rem/1.35 var(--display);margin:0 0 6px;color:var(--ink)}
.mentions{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.mentions li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:#e3f6f1;color:#05694f;font-size:.85rem;font-weight:500}
.mentions svg{width:14px;height:14px}
.rp-badge{display:flex;flex-direction:column;align-items:center;gap:12px}
.rp-badge img{border:1px solid var(--line);border-radius:6px}
@media (max-width:900px){.rating-panel{grid-template-columns:1fr;text-align:left}.rp-score{flex-direction:row;border-right:0;padding-right:0;border-bottom:1px solid var(--line);padding-bottom:16px;justify-content:flex-start}.rp-badge{align-items:flex-start}}
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.review{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 6px 20px -16px rgba(11,42,91,.4)}
.review blockquote{margin:0;color:var(--ink-2);font-size:.95rem;flex:1}
.review figcaption{display:flex;gap:12px;align-items:center;font-size:.8rem;color:var(--muted);line-height:1.35}
.review figcaption b{display:block;color:var(--ink);font-size:.9rem}
.av{width:38px;height:38px;border-radius:50%;background:var(--sky);display:grid;place-items:center;color:var(--navy);flex:none}
.av svg{width:20px;height:20px}
@media (max-width:900px){.reviews{grid-template-columns:1fr}}

/* instagram */
.ig{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ig a{display:block;border-radius:14px;overflow:hidden;aspect-ratio:4/5;background:var(--navy)}
.ig img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.ig a:hover img{transform:scale(1.04)}
@media (max-width:900px){.ig{grid-template-columns:repeat(2,1fr)}}

/* locations */
.locs{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,72px);align-items:center}
.unit-list{list-style:none;padding:0;margin:24px 0 30px;display:grid;gap:16px}
.unit-list li{display:grid;grid-template-columns:28px 1fr;gap:10px;color:var(--ink-2);font-size:.95rem}
.unit-list b{color:var(--ink)}
.unit-list a{color:var(--blue)}
.loc-photo{position:relative;margin:0}
.loc-photo img{border-radius:var(--r);box-shadow:var(--shadow);background:var(--sky)}
.loc-card{position:absolute;right:-8px;bottom:-22px;display:flex;gap:12px;align-items:center;background:#fff;border-radius:14px;padding:14px 18px;box-shadow:var(--shadow);border:1px solid var(--line);font-size:.84rem;color:var(--muted);line-height:1.35}
.loc-card b{display:block;color:var(--ink);font-size:.92rem}
@media (max-width:900px){.locs{grid-template-columns:1fr}.loc-card{right:12px}}

/* faq */
.faq-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(28px,6vw,80px)}
@media (max-width:900px){.faq-wrap{grid-template-columns:1fr}}
.faq details{border-bottom:1px solid var(--line)}
.faq details:first-of-type{border-top:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:20px 44px 20px 0;position:relative;font:600 1.02rem/1.4 var(--display);color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:14px;margin-top:-7px;
  background:linear-gradient(var(--red),var(--red)) center/14px 2px no-repeat,linear-gradient(var(--red),var(--red)) center/2px 14px no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--ink-2);padding-right:44px}

/* CTA */
.cta{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(120deg,var(--navy-d),var(--navy));color:#fff;border-radius:22px;padding:clamp(34px,5vw,60px);display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between}
.cta h2{color:#fff;margin:0;max-width:20ch}
.cta p{color:#c7d4ea;margin:10px 0 0;max-width:52ch}
.cta .eyebrow{color:#ff8a98}.cta .eyebrow::before{background:#ff8a98}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}
.cta-ecg{bottom:14px;height:60px;opacity:.4}

/* inner pages */
.page-hero{background:linear-gradient(180deg,var(--soft),#fff);border-bottom:1px solid var(--line);padding:26px 0 52px}
.page-hero h1{font-size:clamp(2rem,4.2vw,3.2rem);max-width:24ch}
.page-hero .ctas{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}
.page-hero .rating-chip{box-shadow:none}
.crumbs{font-size:.84rem;color:var(--muted);margin-bottom:28px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.crumbs li+li::before{content:"›";margin-right:8px}
.crumbs a{color:var(--muted)}
.art{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(32px,5vw,72px);padding-top:56px;padding-bottom:24px}
.prose{max-width:72ch}
.prose h2{font-size:clamp(1.4rem,2.4vw,1.8rem);margin-top:1.9em}
.prose h2:first-child,.prose .art-img+h2{margin-top:0}
.prose ul{padding-left:1.2em}
.prose li{margin-bottom:.45em}
.prose li::marker{color:var(--red)}
.prose a{color:var(--blue);text-underline-offset:3px}
.prose .note{background:var(--soft);border-left:3px solid var(--red);border-radius:0 12px 12px 0;padding:18px 22px;font-size:.96rem;color:var(--ink-2)}
.prose .faq{margin-top:60px}
.art-img{margin:0 0 40px;border-radius:var(--r);overflow:hidden;aspect-ratio:16/8;background:var(--navy)}
.art-img img{width:100%;height:100%;object-fit:cover}
.portrait-img{aspect-ratio:auto;max-width:420px;background:var(--sky)}
.reviewed{font-size:.86rem;color:var(--muted);border-top:1px solid var(--line);margin-top:44px;padding-top:18px}
.timeline{list-style:none;padding:0;margin:20px 0 0;border-left:2px solid var(--line)}
.timeline li{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:0 0 18px 20px;position:relative}
.timeline li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--red)}
.timeline .yr{font-weight:600;color:var(--red);font-size:.9rem}
.timeline b{display:block;color:var(--ink)}
.timeline span{color:var(--muted);font-size:.93rem}
@media (max-width:520px){.timeline li{grid-template-columns:1fr;gap:2px}}
.prose .rating-panel{grid-template-columns:1fr;gap:18px}
.prose .rp-score{flex-direction:row;border-right:0;padding-right:0;justify-content:flex-start}
.prose .rp-badge{flex-direction:row;align-items:center}
.prose .reviews{grid-template-columns:1fr}
.aside{position:sticky;top:100px;align-self:start;display:grid;gap:16px}
.aside .box{background:var(--soft);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.aside .box h3{margin-bottom:10px}
.aside .doc{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.aside .doc img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top;background:#fff;border:1px solid var(--line)}
.aside .doc b{display:block;font:700 1rem var(--display)}
.aside .doc span{font-size:.82rem;color:var(--muted)}
.aside nav a{display:block;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;font-size:.93rem}
.aside nav a:last-child{border-bottom:0}
.aside nav a[aria-current]{color:var(--red);font-weight:600}
.aside .btn{width:100%}
@media (max-width:980px){.art{grid-template-columns:1fr}.aside{position:static}}
.units{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.unit{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;display:flex;flex-direction:column;box-shadow:0 6px 20px -16px rgba(11,42,91,.4)}
.unit h2{font-size:1.4rem;margin-bottom:8px}
.unit address{font-style:normal;color:var(--ink-2);margin-bottom:22px}
.unit .row{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
@media (max-width:900px){.units{grid-template-columns:1fr}}

/* footer */
.ftr{background:var(--navy-d);color:#a9b8d2;padding:56px 0 100px;font-size:.9rem}
.ftr a{color:#dbe4f3;text-decoration:none}
.ftr a:hover{color:#fff;text-decoration:underline}
.ftr-top{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.1)}
.ftr-top nav{display:flex;flex-wrap:wrap;gap:24px}
.ftr .logo img{height:54px}
.social{display:flex;gap:10px}
.social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center}
.social svg{width:18px;height:18px}
.ftr-mid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.ftr-mid b{color:#fff}
.ftr-mid .stars svg{width:13px;height:13px}
.ftr-bottom{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding-top:22px;font-size:.82rem}
.disclaimer{font-size:.78rem;margin:14px 0 0;opacity:.8}
@media (max-width:900px){.ftr-mid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ftr-mid{grid-template-columns:1fr}}

.fab{position:fixed;right:16px;bottom:16px;z-index:60;border-radius:999px;box-shadow:0 12px 30px rgba(11,42,91,.35)}
@media (min-width:1001px){.fab{display:none}}

@view-transition{navigation:auto}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;scroll-behavior:auto !important}
  .ecg path{stroke-dashoffset:0}
}

/* coração batendo (tum-tum ≈ 55 bpm) */
.beat{position:relative;display:inline-grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fdecee;flex:none}
.beat svg{width:24px;height:24px;fill:var(--red);transform-origin:50% 55%;animation:heartbeat 1.1s ease-in-out infinite}
.beat::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--red);opacity:0;animation:pulse-ring 1.1s ease-out infinite}
@keyframes heartbeat{0%,100%{transform:scale(1)}12%{transform:scale(1.22)}24%{transform:scale(1)}36%{transform:scale(1.14)}55%{transform:scale(1)}}
@keyframes pulse-ring{0%{transform:scale(.9);opacity:.55}70%,100%{transform:scale(1.7);opacity:0}}
.cta .beat{background:rgba(255,255,255,.1);margin-bottom:18px}
.cta .beat svg{fill:#ff6b7d}.cta .beat::after{border-color:#ff6b7d}
/* ECG de monitor sobre a mídia do hero: varredura contínua sincronizada com o coração */
.hero-ecg{bottom:18%;height:70px;z-index:1;opacity:.85}
.hero-ecg path{stroke-dasharray:1440 1440;stroke-dashoffset:1440;animation:sweep 3.3s linear infinite}
@keyframes sweep{0%{stroke-dashoffset:1440}100%{stroke-dashoffset:-1440}}
.practice figure img[src*="congresso"]{object-position:50% 12%}
/* faixa Para pacientes com foto do Rio */
.patients-bg{position:absolute;inset:0;z-index:-2}
.patients-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 0%}
.patients.has-rio{background:none}
.patients.has-rio::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,29,66,.96) 0%,rgba(11,42,91,.8) 38%,rgba(11,42,91,.22) 70%,rgba(11,42,91,.08) 100%)}
@media (max-width:900px){.patients.has-rio::before{background:linear-gradient(180deg,rgba(7,29,66,.92),rgba(11,42,91,.8))}}
@media (prefers-reduced-motion:reduce){.hero-ecg path{stroke-dashoffset:0}}
.patients.has-rio .patients-inner{align-items:end}
.patients.has-rio .guide{margin-top:120px;background:rgba(7,29,66,.35);backdrop-filter:blur(3px)}
@media (max-width:900px){.patients.has-rio .guide{margin-top:0}}

/* tratamentos: cards grandes 3×2 com ícone temático */
.tcards{grid-template-columns:repeat(3,1fr);gap:24px}
.tcard-img{aspect-ratio:16/9}
.tcard-body{position:relative;padding:40px 28px 28px}
.t-ic{position:absolute;top:-30px;left:26px;width:60px;height:60px;border-radius:16px;background:#fff;color:var(--red);display:grid;place-items:center;box-shadow:0 10px 24px -10px rgba(11,42,91,.35);border:1px solid var(--line);transition:background .2s,color .2s}
.t-ic svg{width:30px;height:30px}
.tcard h3{font-size:1.3rem;margin:6px 0 10px}
.tcard p{font-size:.98rem;margin-bottom:22px}
.tcard .more{margin-top:auto;font-weight:600;font-size:.93rem;color:var(--blue)}
.tcard:hover .t-ic{background:var(--red);color:#fff}
.tcard-cta{background:linear-gradient(150deg,var(--navy),var(--navy-d));border-color:var(--navy)}
.tcard-cta .tcard-body{padding-top:28px}
.tcard-cta .t-ic{position:static;margin-bottom:18px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff;box-shadow:none}
.tcard-cta h3{color:#fff}.tcard-cta p{color:#c7d4ea}.tcard-cta .more{color:#fff}
@media (max-width:1000px){.tcards{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.tcards{grid-template-columns:1fr}}

/* Coração em foco — bento escuro com ilustrações */
.heart-sec{background:radial-gradient(70% 60% at 50% 40%,#0f2a5e 0%,#050d22 70%);color:#dfe8f6;padding:clamp(64px,9vw,112px) 0}
.heart-sec h2{color:#fff}.heart-sec .lead{color:#a9b9d6}
.heart-sec .eyebrow{color:#ff8a98}.heart-sec .eyebrow::before{background:#ff8a98}
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.b{position:relative;overflow:hidden;border-radius:18px;background:#07142e;border:1px solid rgba(120,160,230,.18);text-decoration:none;color:inherit;margin:0;min-height:250px}
.b>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
a.b:hover>img{transform:scale(1.05)}
.b::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(4,12,30,.85) 100%);pointer-events:none}
.b-txt{position:absolute;left:16px;bottom:16px;right:16px;z-index:1;max-width:300px;background:rgba(6,16,38,.72);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 16px}
.b-txt h3{color:#fff;font-size:1.05rem;margin:0 0 4px}
.b-txt p{margin:0;font-size:.86rem;color:#b9c7de;line-height:1.45}
.b-txt::after{content:"";display:block;width:24px;height:2px;background:#4d8dff;margin-top:10px}
.b-txt .more{display:block;margin-top:8px;font-size:.82rem;font-weight:600;color:#8fb6ff}
.b-foco{grid-column:1/5;grid-row:1}
.b-list{grid-column:1/5;grid-row:2}
.b-heart{grid-column:5/9;grid-row:1/3;min-height:560px;background:#050d22}
.b-heart::after{background:radial-gradient(60% 50% at 50% 50%,transparent 60%,rgba(5,13,34,.7))}
.b-heart>img{object-fit:contain;transform-origin:50% 55%;animation:heart-img 1.1s ease-in-out infinite}
@keyframes heart-img{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(255,60,80,0))}12%{transform:scale(1.035);filter:drop-shadow(0 0 28px rgba(255,60,80,.45))}24%{transform:scale(1)}36%{transform:scale(1.02);filter:drop-shadow(0 0 16px rgba(255,60,80,.3))}55%{transform:scale(1)}}
.b-heart figcaption{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:1;display:flex;align-items:center;gap:12px;background:rgba(6,16,38,.75);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:8px 18px 8px 8px;font-size:.86rem;color:#c9d6ea;white-space:nowrap}
.b-heart figcaption b{color:#fff}
.b-heart .beat{background:rgba(255,80,100,.15);width:38px;height:38px}
.b-aval{grid-column:9/13;grid-row:1}
.b-recup{grid-column:9/13;grid-row:2}
.b-prev{grid-column:1/5;grid-row:3}
.b-valv{grid-column:5/9;grid-row:3}
.b-aorta{grid-column:9/13;grid-row:3}
.b-list{display:grid;grid-template-columns:42% 1fr;align-items:center}
.b-list>img{position:static;height:100%;min-height:260px}
.b-list::after{display:none}
.b-list ul{list-style:none;margin:0;padding:14px 16px 14px 6px;display:grid;gap:4px}
.b-list a{display:flex;gap:12px;align-items:center;padding:9px 8px;border-radius:10px;text-decoration:none;font-size:.8rem;color:#9fb0cc;line-height:1.3}
.b-list a:hover{background:rgba(255,255,255,.06)}
.b-list b{display:block;color:#fff;font-size:.9rem;font-weight:600}
.b-ic{width:40px;height:40px;border-radius:50%;border:1px solid rgba(160,190,240,.35);display:grid;place-items:center;color:#cfe0ff;flex:none}
.b-ic svg{width:20px;height:20px}
@media (max-width:1000px){
  .bento{grid-template-columns:1fr 1fr}
  .b-foco,.b-list,.b-heart,.b-aval,.b-recup,.b-prev,.b-valv,.b-aorta{grid-column:auto;grid-row:auto}
  .b-heart{grid-column:1/-1;min-height:460px;order:-1}
  .b-list{grid-column:1/-1}
}
@media (max-width:600px){.bento{grid-template-columns:1fr}.b-heart figcaption{white-space:normal;width:88%}}
@media (prefers-reduced-motion:reduce){.b-heart>img{animation:none}}

/* ícones 2× */
.t-ic{top:-60px;width:120px;height:120px;border-radius:28px}
.t-ic svg{width:60px;height:60px;stroke-width:1.4}
.tcard-body{padding-top:76px}
.tcard-cta .tcard-body{padding-top:28px}
.b-ic{width:80px;height:80px}
.b-ic svg{width:40px;height:40px;stroke-width:1.4}
.b-list ul{gap:2px;padding-block:8px}
.b-list a{padding:6px 8px;gap:14px}
.b-list{grid-template-columns:30% 1fr}.b-list>img{object-position:50% 30%}

/* hero em tela cheia: vídeo de ponta a ponta, sem degradê branco */
.hero{background:var(--navy-d);isolation:isolate}
.hero-media{inset:0;width:100%;bottom:0;z-index:-1}
.hero-media img,.hero-video{-webkit-mask-image:none;mask-image:none;object-position:60% 40%}
.hero-media::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,29,66,.94) 0%,rgba(7,29,66,.82) 32%,rgba(7,29,66,.35) 62%,rgba(7,29,66,.1) 100%),
             linear-gradient(0deg,rgba(7,29,66,.55) 0%,transparent 35%)}
.hero-ecg{z-index:2}
.float-card{z-index:3;bottom:150px}
.hero h1{color:#fff}
.hero h1 em{color:#7fb2ff}
.hero .lead{color:#d3deef}
.hero .eyebrow{color:#ff8a98}.hero .eyebrow::before{background:#ff8a98}
.hero .btn-primary{background:#fff;color:var(--navy) !important}
.hero .btn-primary:hover{background:#e8f0fb}
.hero .btn-outline{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.hero .btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff}
.hero .rating-chip{background:rgba(255,255,255,.96)}
.hero-inner{padding-bottom:36px}
.feats{background:#fff;border:0;border-radius:16px;box-shadow:0 20px 50px -24px rgba(0,0,0,.5);padding:22px 8px}
@media (max-width:900px){
  .hero-media{position:absolute;height:auto}
  .hero-media::before{background:linear-gradient(180deg,rgba(7,29,66,.55) 0%,rgba(7,29,66,.88) 45%,rgba(7,29,66,.95) 100%)}
  .hero-inner{padding-top:48px}
  .float-card{display:none}
}
@media (max-width:900px){.hero-ecg{display:none}}

/* cards: imagem maior e desenho maior no quadrado */
.tcard-img{aspect-ratio:4/3}
.t-ic svg{width:88px;height:88px;stroke-width:1.25}
.t-ic{border-radius:30px}
/* Healthicons (preenchidos) */
.t-ic svg{width:84px;height:84px}
.b-ic svg{width:46px;height:46px}

/* Coração 3D (ilha R3F) — só aparece quando o modelo carrega (.is-ready) */
.hero-heart{position:absolute;z-index:1;right:clamp(16px,5vw,96px);top:clamp(24px,5vw,64px);width:min(38vw,520px);aspect-ratio:1;pointer-events:none;opacity:0;transform:translateY(12px) scale(.98);transition:opacity 1s ease,transform 1.2s cubic-bezier(.2,.7,.2,1)}
.hero-heart.is-ready{opacity:1;transform:none}
.hero-heart canvas{width:100% !important;height:100% !important;display:block}
.hero-inner{position:relative;z-index:2}
@media (max-width:900px){.hero-heart{width:62vw;right:-6vw;top:8px;opacity:0}.hero-heart.is-ready{opacity:.55}}
@media (prefers-reduced-motion:reduce){.hero-heart{transition:none;transform:none}}

/* ================= Landing v2 — clean ================= */
.btn-lg{padding:18px 28px;font-size:1.05rem;border-radius:12px}
.btn-lg svg{width:20px;height:20px}

/* hero */
.hero-copy{max-width:600px;padding-bottom:40px}
.hero .btn-wa{background:var(--wa)}
.hero-rating{display:inline-flex;align-items:center;gap:10px;margin-top:22px;color:#e6edf8;text-decoration:none;font-size:.95rem}
.hero-rating b{color:#fff}
.hero-rating .stars svg{width:18px;height:18px}
.hero-rating:hover span{text-decoration:underline;text-underline-offset:3px}
.trust{list-style:none;margin:0 0 -1px;padding:26px 12px;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -10px 40px -20px rgba(0,0,0,.35)}
.trust li{display:flex;gap:14px;align-items:center;padding:4px 20px}
.trust li+li{border-left:1px solid var(--line)}
.trust .ic{width:48px;height:48px;border-radius:50%;background:var(--sky)}
.trust li:nth-child(2) .ic,.trust li:nth-child(3) .ic{color:var(--gold);background:#fff6dc}
.trust b{display:block;font:700 1.08rem/1.2 var(--display);color:var(--ink)}
.trust li>span:last-child{font-size:.84rem;color:var(--muted);line-height:1.35}
.hero-inner{padding-bottom:0}
@media (max-width:900px){.trust{grid-template-columns:1fr 1fr;row-gap:18px;border-radius:16px;margin-bottom:24px}.trust li{padding:4px 8px}.trust li+li{border-left:0}}

/* segunda opinião */
.decision{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center;background:linear-gradient(135deg,var(--navy),var(--navy-d));color:#fff;border-radius:24px;padding:clamp(32px,5vw,64px)}
.decision h2{color:#fff}
.decision .lead{color:#c9d6ea}
.decision .eyebrow{color:#ff8a98}.decision .eyebrow::before{background:#ff8a98}
.decision .ctas{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:26px}
.decision-note{display:inline-flex;gap:8px;align-items:center;color:#c9d6ea;font-size:.9rem}
.decision-note svg{width:18px;height:18px}
.decision-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.decision-steps li{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.decision-steps .ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.1);color:#fff}
.decision-steps b{display:block;color:#fff;margin-bottom:2px}
.decision-steps span{font-size:.9rem;color:#b9c7de}
@media (max-width:900px){.decision{grid-template-columns:1fr}}

/* tratamentos: 4 cards 2×2 */
.tcards-4{grid-template-columns:repeat(2,1fr);gap:28px}
.tcards-4 .tcard-img{aspect-ratio:16/9}
@media (max-width:700px){.tcards-4{grid-template-columns:1fr}}
.also{margin:28px 0 0;color:var(--muted)}
.also a{color:var(--blue);font-weight:600;text-decoration:none}

/* coração 3D — seção clara e compacta */
.heart-sec{background:#fff;color:var(--ink);padding:clamp(64px,8vw,104px) 0}
.heart-sec h2{color:var(--ink)}
.heart-sec .lead{color:var(--ink-2)}
.heart-sec .eyebrow{color:var(--red)}.heart-sec .eyebrow::before{background:var(--red)}
.heart-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.heart-parts{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:4px}
.heart-parts a{display:flex;gap:18px;align-items:flex-start;padding:16px;border-radius:14px;text-decoration:none;color:var(--ink-2);font-size:.95rem;transition:background .2s}
.heart-parts a:hover{background:var(--soft)}
.heart-parts b{display:block;color:var(--ink);font:700 1.1rem var(--display);margin-bottom:2px}
.heart-parts .b-ic{width:64px;height:64px;border-radius:16px;border:1px solid var(--line);background:#fff;color:var(--red)}
.heart-parts .b-ic svg{width:40px;height:40px}
.heart-stage{position:relative;aspect-ratio:1;max-height:520px;margin-inline:auto;width:100%;border-radius:28px;overflow:hidden;background:radial-gradient(60% 60% at 50% 45%,#12306a 0%,#07142e 75%)}
.heart-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .8s}
.heart-3d{position:absolute;inset:0;opacity:0;transition:opacity 1s}
.heart-3d.is-ready{opacity:1}
.heart-stage:has(.heart-3d.is-ready) .heart-fallback{opacity:0}
.heart-cap{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);margin:0;display:flex;align-items:center;gap:12px;white-space:nowrap;background:rgba(255,255,255,.95);border-radius:999px;padding:6px 16px 6px 6px;font-size:.86rem;color:var(--ink-2);box-shadow:var(--shadow)}
.heart-cap b{color:var(--ink)}
.heart-cap .beat{width:34px;height:34px}
.heart-cap .beat svg{width:18px;height:18px}
@media (max-width:900px){.heart-grid{grid-template-columns:1fr}.heart-stage{max-width:440px;order:-1}}

/* prova social */
.proof{background:var(--soft)}
.proof-head{text-align:center;max-width:640px;margin:0 auto 44px;display:flex;flex-direction:column;align-items:center}
.proof-score{display:flex;align-items:center;gap:18px;margin:6px 0 4px}
.proof-score b{font:700 clamp(4rem,9vw,6rem)/1 var(--display);letter-spacing:-.04em;color:var(--ink)}
.proof-stars .stars svg{width:clamp(26px,3vw,36px);height:clamp(26px,3vw,36px)}
.proof-count{font:600 1.2rem var(--display);color:var(--ink);margin:0 0 20px}
.proof-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;margin-bottom:12px}
.proof-actions img{border-radius:6px;border:1px solid var(--line);background:#fff}
.proof .reviews{max-width:1100px;margin:0 auto}
.proof .review{box-shadow:none}

/* consultórios sobre o Rio */
.places{position:relative;isolation:isolate;overflow:hidden;background:var(--navy-d);color:#fff;padding:clamp(72px,9vw,120px) 0}
.places-bg{position:absolute;inset:0;z-index:-2}
.places-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.places::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,29,66,.78) 0%,rgba(7,29,66,.88) 60%,rgba(7,29,66,.95) 100%)}
.places h2{color:#fff}.places .lead{color:#c9d6ea}
.places .eyebrow{color:#ff8a98}.places .eyebrow::before{background:#ff8a98}
.places-grid{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.places-grid li{display:flex;flex-direction:column;gap:6px;padding:24px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);color:#c9d6ea;font-size:.92rem}
.places-grid .ic{width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.12);color:#fff;margin-bottom:8px}
.places-grid b{font:700 1.15rem var(--display);color:#fff}
.places-grid a{color:#fff}
.loc-link{margin-top:auto;padding-top:12px;display:inline-flex;align-items:center;gap:6px;font-weight:600;text-decoration:none}
.loc-link svg{width:16px;height:16px}
@media (max-width:1000px){.places-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.places-grid{grid-template-columns:1fr}}

/* sobre: galeria IG inline */
.ig-inline{grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0 8px}
@media (max-width:700px){.ig-inline{grid-template-columns:1fr 1fr}}
.proof{background:#fff}
.heart-credit{grid-column:1/-1;justify-self:end;margin:-8px 0 0;font-size:.72rem;color:var(--muted);max-width:560px;text-align:right}.heart-credit a{color:inherit}

/* credenciais em destaque (Quem é o Dr. Vlander) */
.creds-grid{list-style:none;margin:28px 0 32px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.creds-grid li{display:flex;flex-direction:column;gap:4px;padding:22px;border-radius:16px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px -22px rgba(11,42,91,.45)}
.cred-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:#fdecee;color:var(--red);margin-bottom:10px}
.cred-ic svg{width:26px;height:26px}
.creds-grid b{font:700 1.2rem/1.2 var(--display);color:var(--ink);letter-spacing:-.01em}
.creds-grid span:last-child{font-size:.9rem;color:var(--ink-2);line-height:1.45}
@media (max-width:520px){.creds-grid{grid-template-columns:1fr}}

/* ================= Animações — tema cardíaco ================= */
/* 70 bpm = 0,857 s por batimento; 3 batimentos no traçado = 2,57 s */
:root{--beat:.857s;--sweep:2.57s}

/* títulos palavra por palavra */
.js-anim .split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.js-anim .split .w>span{display:inline-block;transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--wi) * 55ms)}
.js-anim .split.in .w>span,.js-anim .hero.in .split .w>span{transform:none}

/* revelação ao rolar */
.js-anim .reveal{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 90ms)}
.js-anim .reveal.in{opacity:1;transform:none}
.js-anim .eyebrow.reveal::before{width:0;transition:width .7s .2s ease}
.js-anim .eyebrow.reveal.in::before{width:26px}

/* hero: entrada ao carregar */
.js-anim .hero .lead,.js-anim .hero .ctas,.js-anim .hero .hero-rating,.js-anim .hero .trust{opacity:0;transform:translateY(16px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.js-anim .hero.in .lead{opacity:1;transform:none;transition-delay:.45s}
.js-anim .hero.in .ctas{opacity:1;transform:none;transition-delay:.6s}
.js-anim .hero.in .hero-rating{opacity:1;transform:none;transition-delay:.75s}
.js-anim .hero.in .trust{opacity:1;transform:none;transition-delay:.9s}

/* ECG do monitor no hero: traçado tênue + pulso luminoso correndo */
.hero-monitor{position:relative;width:100vw;margin:-8px 0 14px calc(50% - 50vw);height:84px;pointer-events:none}
.hero-monitor svg{width:100%;height:100%;overflow:visible}
.hero-monitor path{fill:none;stroke-linejoin:round;stroke-linecap:round}
.hero-monitor .ecg-base{stroke:rgba(255,120,135,.22);stroke-width:1.5}
.hero-monitor .ecg-pulse{stroke:#ff5a6e;stroke-width:2.6;stroke-dasharray:110 2000;stroke-dashoffset:110;filter:drop-shadow(0 0 6px rgba(255,80,100,.9)) drop-shadow(0 0 14px rgba(255,80,100,.5));animation:ecg-sweep var(--sweep) linear infinite}
@keyframes ecg-sweep{from{stroke-dashoffset:110}to{stroke-dashoffset:-1000}}
@media (max-width:900px){.hero-monitor{height:56px;margin-top:-18px}}

/* CTA WhatsApp do hero pulsa como batimento */
.hero .btn-wa{position:relative}
.hero .btn-wa::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(23,155,84,.55);animation:cta-beat calc(var(--beat) * 3) ease-out infinite}
@keyframes cta-beat{0%{box-shadow:0 0 0 0 rgba(23,155,84,.55)}10%{box-shadow:0 0 0 10px rgba(23,155,84,0)}14%{box-shadow:0 0 0 0 rgba(23,155,84,.45)}26%{box-shadow:0 0 0 12px rgba(23,155,84,0)}100%{box-shadow:0 0 0 0 rgba(23,155,84,0)}}

/* números batem uma vez ao terminar a contagem */
.beat-once{display:inline-block;animation:beat-once .5s ease-out}
@keyframes beat-once{0%{transform:scale(1)}30%{transform:scale(1.12)}60%{transform:scale(.98)}100%{transform:scale(1)}}

/* estrelas acendem em sequência na prova social */
.js-anim .proof-head .stars svg{opacity:.15;transform:scale(.6);transition:opacity .4s,transform .4s cubic-bezier(.3,1.6,.5,1)}
.js-anim .proof-head.in .stars svg{opacity:1;transform:none}
.js-anim .proof-head.in .stars svg:nth-child(2){transition-delay:.1s}.js-anim .proof-head.in .stars svg:nth-child(3){transition-delay:.2s}
.js-anim .proof-head.in .stars svg:nth-child(4){transition-delay:.3s}.js-anim .proof-head.in .stars svg:nth-child(5){transition-delay:.4s}

/* ícones batem ao passar o mouse */
.tcard:hover .t-ic svg,.heart-parts a:hover .b-ic svg,.creds-grid li:hover .cred-ic svg{animation:heartbeat var(--beat) ease-in-out 2}

/* linha de progresso de leitura */
.hdr{position:sticky}
.read-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--red),#ff7b8a);transform-origin:0 50%;transform:scaleX(0)}

@media (prefers-reduced-motion:reduce){
  .hero-monitor .ecg-pulse{animation:none;stroke-dasharray:none;stroke-dashoffset:0;opacity:.6}
  .hero .btn-wa::after,.beat-once{animation:none}
  .read-progress{display:none}
}
/* monitor v2: varredura horizontal em velocidade constante (janela com rastro) */
.hero-monitor .ecg-base{stroke:rgba(255,120,135,.28);stroke-width:2}
.hero-monitor .ecg-pulse{display:none}
.hero-monitor .ecg-live{fill:none;stroke:#ff5a6e;stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(255,80,100,.95)) drop-shadow(0 0 14px rgba(255,80,100,.55))}
.hero-monitor .ecg-window{animation:ecg-window var(--sweep) linear infinite}
@keyframes ecg-window{from{transform:translateX(0)}to{transform:translateX(2000px)}}
@media (prefers-reduced-motion:reduce){.hero-monitor .ecg-window{animation:none;transform:translateX(2000px)}.hero-monitor .ecg-live{mask:none}}
.heart-sec h2 em{font-style:normal;color:var(--red)}.heart-parts small{display:block;font:600 .72rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:2px}.heart-parts b{font-size:1.05rem;line-height:1.3;margin-bottom:4px}.heart-sec .link-arrow{margin:18px 0 0 16px}
/* foto do Dr. Vlander no lado direito do hero, sobre o vídeo */
.hero-portrait{position:absolute;z-index:1;right:max(24px,calc(50% - 600px));bottom:0;height:88%;width:auto;max-width:44%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 30px 50px rgba(0,0,0,.45));pointer-events:none}
.js-anim .hero-portrait{opacity:0;transform:translateY(24px);transition:opacity 1.1s ease .3s,transform 1.2s cubic-bezier(.2,.7,.2,1) .3s}
.js-anim .hero.in .hero-portrait{opacity:1;transform:none}
@media (max-width:900px){.hero-portrait{position:relative;display:block;right:auto;height:auto;max-width:78%;margin:24px auto -4px;order:-1}}
.hero-portrait{-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 99%);mask-image:linear-gradient(180deg,#000 72%,transparent 99%)}@media (max-width:900px){.hero-portrait{-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent 98%);mask-image:linear-gradient(180deg,#000 60%,transparent 98%);max-width:70%}}
/* hero v3 — conforme mockup: foto grande à direita, ECG atrás da foto, faixa flutuante */
html,body{overflow-x:clip}
.hero{overflow:visible;margin-bottom:28px}
.hero-media{overflow:hidden}
.hero-inner{z-index:auto}
.hero-copy{position:relative;z-index:4}
.hero-monitor{z-index:1}
.hero-portrait{z-index:3;top:8px;bottom:0;right:max(0px,calc(50% - 760px));height:auto;max-height:none;max-width:none;width:auto;aspect-ratio:1191/1321;height:calc(100% - 8px);-webkit-mask-image:none;mask-image:none;filter:drop-shadow(-20px 20px 40px rgba(0,0,0,.35))}
.trust{position:relative;z-index:5;border-radius:18px;margin-bottom:-28px;box-shadow:0 24px 60px -28px rgba(7,29,66,.55)}
@media (max-width:900px){
  .hero{margin-bottom:0}
  .hero-portrait{position:relative;top:auto;height:auto;width:78%;max-width:78%;margin:16px auto 0;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 99%);mask-image:linear-gradient(180deg,#000 70%,transparent 99%)}
  .trust{margin-bottom:24px}
}
@media (min-width:901px){.hero{margin-bottom:0;background:linear-gradient(180deg,var(--navy-d) calc(100% - 36px),transparent 0)}.hero-media{bottom:36px}.hero-portrait{bottom:36px;height:calc(100% - 44px)}.trust{margin-bottom:0}}
/* foto: bordas laterais e base esmaecidas (a foto original é cortada nos ombros) */
.hero-portrait{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(180deg,#000 70%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%),linear-gradient(180deg,#000 70%,transparent 100%);mask-composite:intersect;filter:none}
@media (min-width:901px){.hero-portrait{right:max(0px,calc(50% - 700px))}}
.heart-cap{padding:8px 18px}

/* WhatsApp flutuante — todas as telas */
.fab{display:none !important}
.wa-float{position:fixed;right:22px;bottom:22px;z-index:80;display:flex;align-items:center;gap:12px;text-decoration:none}
.wa-btn{position:relative;width:62px;height:62px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 14px 30px -8px rgba(0,0,0,.35);transition:transform .2s}
.wa-btn svg{width:32px;height:32px}
.wa-btn::before,.wa-btn::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;opacity:0;animation:wa-ring 2.6s ease-out infinite}
.wa-btn::after{animation-delay:.3s}
@keyframes wa-ring{0%{transform:scale(1);opacity:.6}60%,100%{transform:scale(1.6);opacity:0}}
.wa-bubble{background:#fff;color:var(--ink);font:600 .9rem var(--sans);padding:10px 14px;border-radius:12px;box-shadow:0 10px 30px -10px rgba(11,42,91,.35);white-space:nowrap;opacity:0;transform:translateX(8px);transition:opacity .3s,transform .3s;pointer-events:none}
.wa-float:hover .wa-btn,.wa-float:focus-visible .wa-btn{transform:scale(1.07)}
.wa-float:hover .wa-bubble,.wa-float:focus-visible .wa-bubble,.wa-float.hint .wa-bubble{opacity:1;transform:none}
@media (max-width:600px){.wa-float{right:14px;bottom:14px}.wa-btn{width:56px;height:56px}.wa-bubble{display:none}}
@media (prefers-reduced-motion:reduce){.wa-btn::before,.wa-btn::after{animation:none}}

/* eyebrow dentro do H1 (palavra-chave) */
h1 .eyebrow{display:flex;gap:12px;align-items:center;font:600 .74rem/1 var(--sans);letter-spacing:.14em;margin-bottom:18px}
h1 .eyebrow .w{margin-right:.2em}

/* rodapé: links de SEO */
.ftr-links{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;padding:32px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.ftr-links div{display:flex;flex-direction:column;gap:8px}
.ftr-links b{color:#fff;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
@media (max-width:900px){.ftr-links{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.ftr-links{grid-template-columns:1fr}}
/* mobile: colunas de grid nunca maiores que a tela */
.heart-grid>*,.about>*,.decision>*,.locs>*,.faq-wrap>*,.art>*,.difs>*,.head-split>*{min-width:0}
@media (max-width:900px){.heart-grid{grid-template-columns:minmax(0,1fr)}}
/* ===== responsividade mobile ===== */
.link-arrow{white-space:normal;flex-wrap:wrap}
h1 .eyebrow{flex-wrap:wrap;row-gap:4px}
h1 .eyebrow .w{flex-shrink:0}
@media (max-width:600px){
  h1{font-size:clamp(1.9rem,8.4vw,2.4rem)}
  h2{font-size:clamp(1.55rem,7vw,2rem)}
  .lead{font-size:1rem}
  .sec{padding:56px 0}
  .hero .ctas .btn,.decision .ctas .btn,.cta-actions .btn{width:100%}
  .hero-rating{align-items:flex-start;font-size:.88rem}
  .trust{grid-template-columns:1fr 1fr;padding:18px 8px;gap:14px 0}
  .trust li{flex-direction:column;align-items:flex-start;gap:8px;padding:4px 10px}
  .trust .ic{width:40px;height:40px}
  .trust b{font-size:1rem}
  .decision{padding:28px 20px;border-radius:18px}
  .decision-steps li{padding:14px}
  .tcard-body{padding:72px 20px 22px}
  .t-ic{width:96px;height:96px;top:-48px;left:20px;border-radius:24px}
  .t-ic svg{width:64px;height:64px}
  .heart-parts a{padding:12px 4px;gap:14px}
  .heart-parts .b-ic{width:52px;height:52px}
  .heart-parts .b-ic svg{width:32px;height:32px}
  .heart-sec .link-arrow{margin-left:4px}
  .heart-stage{border-radius:20px}
  .heart-cap{font-size:.78rem;white-space:normal;width:max-content;max-width:88%;text-align:center}
  .heart-credit{text-align:left;justify-self:start}
  .creds-grid li{padding:18px}
  .about-card{left:12px;bottom:-24px;padding:14px 16px}
  .proof-score b{font-size:4rem}
  .proof-actions{flex-direction:column}
  .places{padding:56px 0}
  .places-grid li{padding:18px}
  .head-row{align-items:flex-start}
  .faq summary{font-size:.98rem;padding-right:36px}
  .faq details p{padding-right:0}
  .cta{padding:28px 20px;border-radius:18px}
  .ftr{padding-bottom:96px}
  .ftr-top nav{gap:14px 20px}
  .page-hero{padding:18px 0 36px}
  .art{padding-top:36px}
  .units .unit{padding:22px}
}
/* WhatsApp flutuante no celular: aparece depois do hero para não cobrir o texto */
@media (max-width:900px){
  .wa-float{opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .3s,transform .3s}
  .wa-float.show{opacity:1;transform:none;pointer-events:auto}
}
@media (max-width:600px){.eyebrow{font-size:.8rem}.ftr-top nav a,.ftr-links a,.ftr-mid a,.ftr-bottom a{display:inline-flex;align-items:center;min-height:44px}.ftr-links div{gap:0}.ftr-top nav{gap:0 22px}}
