:root{
  --petrol:#0B2E3B;
  --petrol-2:#08222C;
  --petrol-soft:#123f4f;
  --cyan:#0FB5D6;
  --cyan-2:#11C7E8;
  --cyan-glow:#7FE3EC;
  --cyan-050:#E6F8FB;
  --off:#F4FAFB;
  --white:#FFFFFF;
  --ink:#0E3B4A;
  --muted:#5C7683;
  --muted-d:#9FBAC4;
  --gold:#C9A15A;
  --wpp:#25D366;
  --line:rgba(14,59,74,.10);
  --line-d:rgba(255,255,255,.12);
  --r:16px;
  --r-lg:24px;
  --r-xl:32px;
  --wrap:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --fd:"Sora",system-ui,sans-serif;
  --fb:"Inter",system-ui,sans-serif;

  /* ---- tokens de superfície (trocam entre os 2 temas) ---- */
  --hero-bg:var(--petrol);
  --hero-ink:#fff;
  --hero-lead:#C4DEE6;
  --hero-eyebrow:var(--cyan-glow);
  --hero-plus:rgba(127,227,236,.12);
  --hdr-bg:rgba(11,46,59,.72);
  --hdr-bg-solid:rgba(8,34,44,.92);
  --hdr-ink:#fff;
  --hdr-ink-soft:rgba(255,255,255,.82);
  --hdr-line:var(--line-d);
  --logo-src:url("assets/marca/logo-branca.webp");
  --marquee-bg:var(--petrol-2);
  --marquee-ink:rgba(255,255,255,.65);
  --marquee-plus:var(--cyan);
  --marquee-border:var(--line-d);
  /* seções ".on-dark" (números + contato) */
  --dark-bg:radial-gradient(120% 90% at 15% 0%,#123f4f 0%,var(--petrol) 55%,var(--petrol-2) 100%);
  --dark-ink:#EAF4F6;
  --dark-heading:#fff;
  --dark-lead:var(--muted-d);
  --dark-accent:var(--cyan-glow);
  --dark-eyebrow:var(--cyan-glow);
  --dark-plus:rgba(127,227,236,.14);
  --dark-num:#fff;
  --dark-ic-bg:rgba(255,255,255,.07);
  --dark-ic-line:var(--line-d);
  --dark-ic-ink:var(--cyan-glow);
  --dark-info-b:#fff;
  --dark-info-span:var(--muted-d);
  --dark-hours-line:var(--line-d);
  --dark-hours-val:#fff;
  --dark-map-line:var(--line-d);
}
/* ============ TEMA CLEAN (ciano sobre branco) ============ */
:root[data-theme="clean"]{
  --hero-bg:linear-gradient(180deg,#fff,var(--off));
  --hero-ink:var(--ink);
  --hero-lead:var(--muted);
  --hero-eyebrow:var(--cyan);
  --hero-plus:rgba(15,181,214,.14);
  --hdr-bg:rgba(244,250,251,.78);
  --hdr-bg-solid:rgba(255,255,255,.94);
  --hdr-ink:var(--ink);
  --hdr-ink-soft:var(--muted);
  --hdr-line:var(--line);
  --logo-src:none; /* no tema claro usa a marca em texto */
  --marquee-bg:var(--cyan);
  --marquee-ink:#053642;
  --marquee-plus:#053642;
  --marquee-border:transparent;
  --dark-bg:linear-gradient(135deg,var(--cyan) 0%,#0AA6C6 55%,#0790AD 100%);
  --dark-ink:#eafcff;
  --dark-heading:#fff;
  --dark-lead:rgba(255,255,255,.9);
  --dark-accent:#04303b;
  --dark-eyebrow:#eafcff;
  --dark-plus:rgba(255,255,255,.26);
  --dark-num:#fff;
  --dark-ic-bg:rgba(255,255,255,.16);
  --dark-ic-line:rgba(255,255,255,.28);
  --dark-ic-ink:#fff;
  --dark-info-b:#fff;
  --dark-info-span:rgba(255,255,255,.92);
  --dark-hours-line:rgba(255,255,255,.28);
  --dark-hours-val:#fff;
  --dark-map-line:rgba(255,255,255,.35);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--fb);color:var(--ink);background:var(--off);line-height:1.6;font-size:17px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--cyan);color:#04222b}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 22px}

h1,h2,h3,h4{font-family:var(--fd);font-weight:600;line-height:1.06;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.t-xl{font-size:clamp(2.1rem,6.2vw,4rem);font-weight:700}
.t-lg{font-size:clamp(1.9rem,5vw,2.95rem);font-weight:700}
p,.lead{text-wrap:pretty}
.lead{font-size:clamp(1.04rem,2.3vw,1.2rem);color:var(--muted);line-height:1.6}

/* eyebrow com o "+" clínico como marcador estrutural */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--fd);font-weight:600;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan)}
.eyebrow .plus{width:15px;height:15px;flex:none;color:var(--cyan)}
.on-dark .eyebrow{color:var(--cyan-glow)}
.accent{color:var(--cyan)}
.on-dark .accent{color:var(--cyan-glow)}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--fd);font-weight:600;font-size:.97rem;padding:15px 26px;border-radius:100px;border:1.6px solid transparent;cursor:pointer;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .2s,color .2s,border-color .2s;white-space:nowrap;line-height:1}
.btn svg{width:19px;height:19px;flex:none}
.btn:hover{transform:translateY(-2px)}
.btn--wpp{background:linear-gradient(180deg,#2bd66c,#1eb257);color:#fff;box-shadow:0 16px 34px -14px rgba(31,180,87,.75)}
.btn--wpp:hover{box-shadow:0 22px 44px -14px rgba(31,180,87,.9)}
.btn--cyan{background:var(--cyan);color:#04222b;box-shadow:0 16px 34px -16px rgba(15,181,214,.85)}
.btn--cyan:hover{background:var(--cyan-2)}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.on-dark .btn--ghost{color:#fff;border-color:var(--line-d)}
.on-dark .btn--ghost:hover{border-color:var(--cyan-glow);color:var(--cyan-glow)}
.btn--lg{padding:17px 32px;font-size:1.04rem}
.btn--sm{padding:11px 19px;font-size:.88rem}
.btn--block{width:100%}

/* Header */
.hdr{position:sticky;top:0;z-index:60;background:var(--hdr-bg);backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid transparent;transition:border-color .3s,background .3s}
.hdr.shrink{border-color:var(--hdr-line);background:var(--hdr-bg-solid);box-shadow:0 6px 24px -18px rgba(14,59,74,.5)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:76px;transition:height .3s}
.hdr.shrink .nav{height:64px}
.brand{display:flex;align-items:baseline;gap:2px;flex:none;font-family:var(--fd);font-size:1.4rem;letter-spacing:-.03em;color:var(--hdr-ink)}
/* logo em imagem (tema petróleo no header; sempre no footer que é escuro) */
.brand img{height:36px;width:auto;transition:height .3s;display:none}
:root:not([data-theme="clean"]) .hdr .brand img,.footer .brand img{display:block}
.hdr.shrink .brand img{height:31px}
/* logo em texto (tema clean, só no header) */
.hdr .brand .txt{display:none}
:root[data-theme="clean"] .hdr .brand .txt{display:block}
.footer .brand .txt{display:none}
.brand b{font-weight:400}
.brand strong{font-weight:800}
.brand .bang{color:var(--cyan);font-weight:800}
.brand small{display:block;font-family:var(--fb);font-size:.5rem;letter-spacing:.24em;color:var(--muted);font-weight:600;margin-top:3px}
.nav-links{display:none;gap:30px}
.nav-links a{font-family:var(--fd);font-weight:500;font-size:.93rem;color:var(--hdr-ink-soft);position:relative;padding:5px 0;transition:color .2s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:var(--cyan);border-radius:2px;transition:width .25s var(--ease)}
.nav-links a:hover{color:var(--hdr-ink)}
.nav-links a:hover::after{width:100%}
.nav-right{display:flex;align-items:center;gap:12px}

/* Seções */
.sec{padding:clamp(64px,9vw,116px) 0;position:relative}
.sec-sm{padding:clamp(40px,6vw,68px) 0}
.on-dark{background:var(--dark-bg);color:var(--dark-ink)}
.on-dark h1,.on-dark h2,.on-dark h3{color:var(--dark-heading)}
.on-dark .lead{color:var(--dark-lead)}
.on-dark .eyebrow{color:var(--dark-eyebrow)}
.on-dark .accent{color:var(--dark-accent)}
.on-dark .btn--ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.on-dark .btn--ghost:hover{border-color:#fff;color:#fff}
.sec-head{max-width:660px;margin-bottom:clamp(34px,5vw,56px)}
.sec-head.center{margin-inline:auto;text-align:center}
.sec-head .eyebrow{margin-bottom:16px}
.sec-head h2{margin-bottom:16px}
.sec-head.center .eyebrow{justify-content:center}

/* padrão de "+" clínico sutil (signature estrutural) */
.plusfield{position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(currentColor 1.4px,transparent 1.4px);
  background-size:34px 34px;background-position:center;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 40%,#000 60%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 40%,#000 60%,transparent)}

/* HERO */
.hero{position:relative;background:var(--hero-bg);color:var(--hero-ink);overflow:hidden;padding:clamp(48px,7vw,86px) 0 clamp(64px,9vw,110px)}
.hero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(70% 60% at 78% 8%,rgba(15,181,214,.28),transparent 60%),
  radial-gradient(80% 70% at 12% 92%,rgba(127,227,236,.16),transparent 60%);pointer-events:none}
.hero .plus-tex{position:absolute;inset:0;color:var(--hero-plus);
  background-image:radial-gradient(currentColor 1.3px,transparent 1.3px);background-size:30px 30px;
  -webkit-mask-image:radial-gradient(120% 100% at 80% 10%,#000,transparent 70%);
  mask-image:radial-gradient(120% 100% at 80% 10%,#000,transparent 70%)}
.hero-inner{position:relative;display:grid;gap:clamp(34px,5vw,56px);align-items:center;grid-template-columns:1fr}
.hero h1{font-size:clamp(2.85rem,10vw,4.4rem);font-weight:700;letter-spacing:-.035em;line-height:1.0;margin:14px 0 18px;color:var(--hero-ink)}
.hero .eyebrow{color:var(--hero-eyebrow)}
.hero .accent{color:var(--cyan)}
.hero .lead{color:var(--hero-lead);max-width:500px;margin-bottom:28px;font-size:clamp(.97rem,.92rem + .3vw,1.16rem)}
.hero .btn--ghost{color:var(--hero-ink);border-color:var(--hdr-line)}
.hero .btn--ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.hero .gbadge b{color:var(--hero-ink)}
.hero .gbadge small{color:var(--hero-lead)}
.hero-cta{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:32px}
.hero-trust{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.gbadge{display:flex;align-items:center;gap:11px}
.gbadge .g{width:32px;height:32px;flex:none}
.gb-ic{width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;color:var(--cyan-glow)}
.gb-ic svg{width:22px;height:22px}
.gb-txt{display:flex;flex-direction:column;gap:3px;line-height:1}
.gb-row{display:flex;align-items:center;gap:8px}
.gbadge b{font-family:var(--fd);font-weight:700;font-size:1.05rem;color:#fff;line-height:1}
.gstars{display:flex;gap:1px;color:#FFC53D}
.gstars svg{width:13px;height:13px}
.gbadge small{color:var(--muted-d);font-size:.8rem}
.hero-trust .sep{width:1px;height:38px;background:var(--hdr-line)}
.hero-media{position:relative}
.hero-photo{position:relative;border-radius:var(--r-xl);overflow:hidden;box-shadow:0 50px 90px -40px rgba(0,0,0,.7);aspect-ratio:4/5;background:#0a3543 center/cover}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:top center}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(8,34,44,.6))}
.hero-name{position:absolute;left:18px;bottom:16px;z-index:2;color:#fff}
.hero-name b{font-family:var(--fd);font-weight:600;font-size:1.02rem;display:block;line-height:1.1;text-shadow:0 2px 12px rgba(0,0,0,.55)}
.hero-name small{font-size:.78rem;color:var(--cyan-glow);text-shadow:0 2px 10px rgba(0,0,0,.6)}
.float-card{position:absolute;right:-6px;bottom:-14px;background:rgba(255,255,255,.97);color:var(--ink);border-radius:18px;padding:14px 17px;box-shadow:0 30px 60px -22px rgba(0,0,0,.55);display:flex;align-items:center;gap:12px;backdrop-filter:blur(6px)}
.float-card .g{width:30px;height:30px;flex:none}
.float-card b{font-family:var(--fd);font-weight:700;font-size:1.2rem;display:block;line-height:1}
.float-card .gstars{color:#FFC53D;margin:3px 0}
.float-card small{font-size:.74rem;color:var(--muted)}
/* card flutuante Invisalign (flor + selo) */
.float-inv{position:absolute;right:-34px;top:22px;background:rgba(255,255,255,.97);border-radius:16px;padding:11px 16px 11px 12px;box-shadow:0 24px 50px -20px rgba(0,0,0,.5);display:flex;align-items:center;gap:11px;backdrop-filter:blur(6px);animation:inv-float 4.5s ease-in-out infinite}
.float-inv .inv-flower{width:34px;height:34px;flex:none}
.float-inv-txt b{font-family:var(--fd);font-weight:700;font-size:.98rem;color:var(--ink);display:block;line-height:1.05}
.float-inv-txt small{font-family:var(--fd);font-weight:600;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}
@keyframes inv-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media (prefers-reduced-motion:reduce){.float-inv{animation:none}}

/* marquee */
.marquee{background:var(--marquee-bg);border-top:1px solid var(--marquee-border);border-bottom:1px solid var(--marquee-border);overflow:hidden;padding:16px 0}
.marquee-track{display:flex;gap:0;width:max-content;animation:scroll 32s linear infinite}
@keyframes scroll{to{transform:translateX(-50%)}}
.marquee-item{display:inline-flex;align-items:center;gap:12px;padding:0 26px;font-family:var(--fd);font-weight:600;color:var(--marquee-ink);font-size:.98rem;white-space:nowrap}
.marquee-item .plus{width:14px;height:14px;color:var(--marquee-plus)}

/* Especialidades */
.specs{display:grid;grid-template-columns:1fr;gap:16px}
.spec{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;position:relative;overflow:hidden}
.spec:hover{transform:translateY(-4px);box-shadow:0 30px 60px -34px rgba(14,59,74,.4);border-color:transparent}
.spec-ic{width:52px;height:52px;border-radius:14px;background:var(--cyan-050);color:var(--cyan);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.spec-ic svg{width:27px;height:27px}
.spec h3{font-size:1.24rem;margin-bottom:8px;font-weight:600}
.spec p{color:var(--muted);font-size:.97rem;line-height:1.55}
.spec .tag{position:absolute;top:22px;right:22px;font-family:var(--fd);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gold);border:1px solid rgba(201,161,90,.4);padding:4px 9px;border-radius:100px}

/* Números */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:34px 20px;text-align:center}
.stat{display:flex;flex-direction:column;align-items:center}
.stat-ic{width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:var(--cyan-glow);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.stat-ic svg{width:23px;height:23px}
.stat-ic.gold{color:var(--gold);background:rgba(201,161,90,.12);border-color:rgba(201,161,90,.3)}
:root[data-theme="clean"] .stat-ic{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.28);color:#fff}
:root[data-theme="clean"] .stat-ic.gold{color:#fff2d6;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.28)}
.stat .num{font-family:var(--fd);font-weight:800;font-size:clamp(2.3rem,6vw,3.3rem);color:var(--dark-num);line-height:1;letter-spacing:-.03em}
.stat .num .accent{color:var(--dark-accent)}
.stat .lbl{color:var(--dark-lead);font-size:.9rem;margin-top:8px;line-height:1.4}
.stat .gstars{justify-content:center;color:#FFC53D;margin-top:6px}

/* Equipe */
.team-hero{border-radius:var(--r-xl);overflow:hidden;margin-bottom:26px;box-shadow:0 34px 70px -38px rgba(14,59,74,.5);position:relative}
.team-hero img{width:100%;height:100%;object-fit:cover;object-position:center 20%;max-height:440px}
.team{display:grid;grid-template-columns:1fr;gap:20px}
.doc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.doc:hover{transform:translateY(-4px);box-shadow:0 34px 66px -36px rgba(14,59,74,.42)}
.doc-photo{aspect-ratio:1/1;background:var(--cyan-050) center/cover;overflow:hidden;position:relative}
.doc-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .6s var(--ease)}
.doc:hover .doc-photo img{transform:scale(1.05)}
.doc-body{padding:22px 22px 24px}
.doc-spec{font-family:var(--fd);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--cyan)}
.doc h3{font-size:1.2rem;margin:8px 0 4px;font-weight:600}
.doc .cred{list-style:none;margin-top:10px;display:flex;flex-direction:column;gap:7px}
.doc .cred li{position:relative;padding-left:17px;font-size:.83rem;color:var(--muted);line-height:1.35}
.doc .cred li::before{content:"";position:absolute;left:1px;top:.46em;width:7px;height:7px;border-radius:2px;background:var(--cyan);opacity:.55}
.doc .badge-gold{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-family:var(--fd);font-size:.72rem;font-weight:600;color:var(--gold);background:rgba(201,161,90,.1);border:1px solid rgba(201,161,90,.28);padding:6px 12px;border-radius:100px}
.doc .badge-gold svg{width:13px;height:13px}
.badge-flower{width:16px;height:16px;flex:none}

/* Ambiente */
/* bento grid — mobile: 2 colunas, 1ª foto full-width */
.amb{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.amb figure{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:1/1;box-shadow:0 24px 48px -30px rgba(14,59,74,.4);margin:0}
.amb figure:first-child{grid-column:1 / -1;aspect-ratio:16/10}
.amb figure img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.amb figure:hover img{transform:scale(1.05)}
.amb figcaption{position:absolute;left:16px;bottom:14px;color:#fff;font-family:var(--fd);font-weight:600;font-size:.92rem;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.amb figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(8,34,44,.55))}

/* Invisalign / destaque */
.inv{position:relative;overflow:hidden;background:linear-gradient(135deg,#0d3746,#0B2E3B);color:#fff;border-radius:var(--r-xl);padding:clamp(34px,5vw,60px)}
.inv::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 130% at 100% 0%,rgba(15,181,214,.32),transparent 58%)}
.inv-in{position:relative;display:grid;grid-template-columns:1fr;gap:32px;align-items:start}
.inv h2{margin:14px 0 16px}
.inv ul{list-style:none;margin:22px 0 28px;display:grid;gap:13px}
.inv li{display:flex;gap:11px;align-items:flex-start;color:#C4DEE6;font-size:.98rem}
.inv li svg{width:20px;height:20px;color:var(--cyan-glow);flex:none;margin-top:1px}
.inv-card{background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.22);border-radius:var(--r-lg);padding:26px;backdrop-filter:blur(6px);box-shadow:0 24px 60px -28px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.14);transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;transition:box-shadow .3s var(--ease);will-change:transform}
.inv-card.tilt{box-shadow:0 40px 80px -30px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.18)}
.inv-card>*{transform:translateZ(28px)}
.inv-card>img{transform:translateZ(48px)}
@media (prefers-reduced-motion:reduce){.inv-card{transform:none!important;transition:none}.inv-card>*{transform:none}}
.inv-card .badge-gold{display:inline-flex;align-items:center;gap:7px;font-family:var(--fd);font-weight:600;font-size:.78rem;color:var(--gold);background:rgba(201,161,90,.14);border:1px solid rgba(201,161,90,.35);padding:7px 14px;border-radius:100px;margin-bottom:16px}
.inv-card .badge-gold svg{width:14px;height:14px}
.inv-logo{display:inline-flex;align-items:center;background:#fff;border-radius:100px;padding:9px 18px;margin-bottom:18px;box-shadow:0 12px 30px -14px rgba(0,0,0,.5)}
.inv-logo img{height:26px;width:auto}
.inv-card h3{font-size:1.3rem;margin-bottom:8px;color:#fff}
.inv-card p{color:var(--muted-d);font-size:.94rem;margin-bottom:18px}

/* Avaliações — infinite moving cards (rola pra esquerda) */
.revs{position:relative;width:100%;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.revs-track{display:flex;gap:20px;width:max-content;animation:rev-scroll 46s linear infinite}
@keyframes rev-scroll{to{transform:translateX(-50%)}}
.revs:hover .revs-track{animation-play-state:paused}
.rev{flex:0 0 auto;width:min(84vw,360px);background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:0 20px 44px -32px rgba(14,59,74,.34);display:flex;flex-direction:column}
.rev-top{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.rev-av{width:46px;height:46px;border-radius:50%;background:var(--cyan);color:#04222b;font-family:var(--fd);font-weight:700;font-size:1.1rem;display:flex;align-items:center;justify-content:center;flex:none;overflow:hidden}
.rev-av img{width:100%;height:100%;object-fit:cover}
.rev-meta b{font-family:var(--fd);font-weight:600;display:block;font-size:.98rem}
.rev-meta .gstars{color:#FFC53D;margin-top:3px}
.rev-g{width:22px;height:22px;margin-left:auto;flex:none;align-self:flex-start}
.rev p{color:var(--ink);font-size:.96rem;line-height:1.6;flex:1}
.rev .date{color:var(--muted);font-size:.8rem;margin-top:14px}
@media (prefers-reduced-motion:reduce){.revs-track{animation:none;flex-wrap:wrap;justify-content:center}}

/* FAQ */
.faq{display:grid;gap:12px;max-width:820px;margin-inline:auto}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:20px 24px;font-family:var(--fd);font-weight:600;font-size:1.02rem;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--fd);font-weight:400;font-size:1.6rem;color:var(--cyan);transition:transform .3s;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{padding:0 24px 22px;color:var(--muted);font-size:.97rem}

/* Contato */
.contact-grid{display:grid;grid-template-columns:1fr;gap:34px}
.info-list{display:grid;gap:20px}
.info-item{display:flex;gap:15px;align-items:flex-start}
.info-item .ic{width:46px;height:46px;border-radius:13px;background:var(--dark-ic-bg);border:1px solid var(--dark-ic-line);color:var(--dark-ic-ink);display:flex;align-items:center;justify-content:center;flex:none}
.info-item .ic svg{width:21px;height:21px}
.info-item b{font-family:var(--fd);font-weight:600;display:block;color:var(--dark-info-b);font-size:1rem}
.info-item span{color:var(--dark-info-span);font-size:.94rem;line-height:1.5}
.hours-tbl{width:100%;border-collapse:collapse;margin-top:6px}
.hours-tbl td{padding:9px 0;border-bottom:1px solid var(--dark-hours-line);color:var(--dark-info-span);font-size:.92rem}
.hours-tbl td:last-child{text-align:right;color:var(--dark-hours-val);font-family:var(--fd);font-weight:500}
.map-card{border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--dark-map-line);min-height:280px}
.map-card iframe{width:100%;height:100%;min-height:280px;border:0;filter:grayscale(.3) contrast(1.05)}

/* Footer */
.footer{background:var(--petrol-2);color:var(--muted-d);padding:56px 0 30px;border-top:1px solid var(--line-d)}
.foot-grid{display:grid;grid-template-columns:1fr;gap:30px;margin-bottom:36px}
.footer .brand{margin-bottom:14px}
.footer p{font-size:.92rem;line-height:1.6}
.foot-links{display:flex;flex-direction:column;gap:11px}
.foot-links a{font-size:.93rem;transition:color .2s}
.foot-links a:hover{color:var(--cyan-glow)}
.foot-h{font-family:var(--fd);font-weight:600;color:#fff;font-size:.95rem;margin-bottom:16px}
.foot-bottom{border-top:1px solid var(--line-d);padding-top:22px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;font-size:.82rem}

/* Botão flutuante WhatsApp */
.fab{position:fixed;right:20px;bottom:20px;z-index:80;display:inline-flex;align-items:center;gap:11px;background:linear-gradient(180deg,#2bd66c,#1eb257);color:#fff;font-family:var(--fd);font-weight:600;font-size:.97rem;padding:14px 22px 14px 16px;border-radius:100px;box-shadow:0 18px 40px -12px rgba(31,180,87,.7);transition:transform .25s var(--ease),box-shadow .25s var(--ease);animation:fab-in .5s .8s both}
.fab svg{width:26px;height:26px;flex:none}
.fab:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 24px 50px -12px rgba(31,180,87,.85)}
.fab .fab-txt{max-width:200px;overflow:hidden;white-space:nowrap}
.fab::before{content:"";position:absolute;inset:-4px;border-radius:100px;border:2px solid rgba(37,211,102,.5);animation:pulse 2.4s ease-out infinite;pointer-events:none}
@keyframes pulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.18);opacity:0}100%{opacity:0}}
@keyframes fab-in{from{transform:translateY(30px) scale(.8);opacity:0}to{transform:none;opacity:1}}

/* ===== Card flutuante de troca de tema (comparador) ===== */
.theme-switch{position:fixed;left:18px;bottom:18px;z-index:90;background:var(--white);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 50px -20px rgba(14,59,74,.45);padding:12px 14px;width:min(84vw,268px);animation:fab-in .5s .6s both;transition:background .4s,border-color .4s}
:root[data-theme="clean"] .theme-switch{background:#fff}
.theme-switch .ts-head{display:flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:600;font-size:.74rem;letter-spacing:.02em;color:var(--muted);margin-bottom:10px}
.theme-switch .ts-head svg{width:15px;height:15px;color:var(--cyan)}
.theme-switch .ts-close{margin-left:auto;cursor:pointer;color:var(--muted);width:20px;height:20px;border:none;background:none;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:1rem;line-height:1}
.theme-switch .ts-close:hover{background:var(--cyan-050);color:var(--ink)}
.ts-toggle{display:flex;background:var(--cyan-050);border-radius:12px;padding:4px;gap:4px;position:relative}
.ts-toggle button{flex:1;border:none;background:none;cursor:pointer;font-family:var(--fd);font-weight:600;font-size:.82rem;padding:9px 6px;border-radius:9px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:6px;transition:color .3s;z-index:1}
.ts-toggle button .dot{width:22px;height:22px;border-radius:7px;border:2px solid rgba(255,255,255,.7);box-shadow:0 2px 6px rgba(0,0,0,.15)}
.ts-toggle button[data-set="petrol"] .dot{background:linear-gradient(135deg,#0B2E3B 55%,#0FB5D6)}
.ts-toggle button[data-set="clean"] .dot{background:linear-gradient(135deg,#0FB5D6 50%,#7FE3EC)}
.ts-slider{position:absolute;top:4px;bottom:4px;width:calc(50% - 4px);left:4px;background:#fff;border-radius:9px;box-shadow:0 4px 12px -3px rgba(14,59,74,.3);transition:transform .32s var(--ease)}
:root[data-theme="clean"] .ts-slider{transform:translateX(calc(100% + 4px))}
:root:not([data-theme="clean"]) .ts-toggle button[data-set="petrol"],
:root[data-theme="clean"] .ts-toggle button[data-set="clean"]{color:var(--ink)}
.theme-switch.hidden{display:none}
.theme-reopen{position:fixed;left:18px;bottom:18px;z-index:90;width:46px;height:46px;border-radius:14px;background:var(--white);border:1px solid var(--line);box-shadow:0 20px 44px -18px rgba(14,59,74,.45);cursor:pointer;display:none;align-items:center;justify-content:center;color:var(--cyan)}
.theme-reopen svg{width:22px;height:22px}
.theme-reopen.show{display:flex}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.reveal.in{opacity:1;transform:none}
/* a troca de tema anima suavemente */
.hero,.hdr,.marquee,.on-dark{transition:background .45s var(--ease),color .45s var(--ease),border-color .45s var(--ease)}

/* ===== Ajustes mobile (< 600px) ===== */
@media (max-width:600px){
  /* header limpo: logo + botão Agendar (sem hambúrguer; nav via scroll + FAB) */
  .brand{font-size:1.2rem}
  .nav{height:66px}
  .hdr.shrink .nav{height:58px}
  /* respiro nas seções */
  .sec{padding:clamp(52px,12vw,72px) 0}
  .sec-head{margin-bottom:28px}
  /* cards e títulos internos calibrados */
  .spec{padding:24px 22px}
  .spec h3{font-size:1.15rem}
  .doc-body{padding:20px 20px 22px}
  .stat .num{font-size:2.6rem}
  .stats{gap:22px 16px}
  .inv{padding:30px 22px}
  /* card flutuante Invisalign menor no celular */
  .float-inv{padding:8px 12px 8px 9px}
  .float-inv .inv-flower{width:26px;height:26px}
  .float-inv-txt b{font-size:.84rem}
  .float-inv-txt small{font-size:.58rem}
  /* barra de prova social empilha com respiro */
  .hero-trust{gap:16px}
  .hero-trust .sep{display:none}
}
@media (min-width:640px){
  .specs{grid-template-columns:repeat(2,1fr)}
  .team{grid-template-columns:repeat(2,1fr)}
  .amb figure:first-child{aspect-ratio:16/9}
  .stats{grid-template-columns:repeat(4,1fr)}
  .foot-grid{grid-template-columns:1.4fr 1fr 1fr}
}
@media (min-width:900px){
  .nav-links{display:flex}
  .specs{grid-template-columns:repeat(3,1fr)}
  .team{grid-template-columns:repeat(3,1fr)}
  /* bento grid desktop: mosaico com tamanhos intencionais */
  .amb{grid-template-columns:repeat(4,1fr);grid-template-rows:220px 220px;gap:14px;
    grid-template-areas:
      "big big recep equip"
      "big big salas infantil"}
  .amb figure{aspect-ratio:auto!important;height:100%}
  .amb figure:first-child{grid-area:big}
  .amb figure:nth-child(2){grid-area:recep}
  .amb figure:nth-child(3){grid-area:equip}
  .amb figure:nth-child(4){grid-area:salas}
  .amb figure:nth-child(5){grid-area:infantil}
  .inv-in{grid-template-columns:1.15fr .85fr}
  .contact-grid{grid-template-columns:1fr 1fr}
}
/* hero vira 2 colunas só a partir de 1000px (abaixo disso, 1 coluna) */
@media (max-width:999px){
  .float-inv{right:8px;top:-14px}
}
@media (min-width:1000px){
  .hero-inner{grid-template-columns:1.05fr .95fr}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001s!important;transition-duration:.001s!important}
  .marquee-track{animation:none}
}
