/* ==========================================================================
   Clínica Oitava Rosado — Clean Medical + Brand-First
   Cor-âncora #30BABA extraída do logo oficial (pixel dominante).
   Feito por Impero Solutions.
   ========================================================================== */

/* Fallbacks com métricas ajustadas: a fonte de sistema ocupa o mesmo espaço
   que Poppins/Inter, então o swap das Google Fonts não desloca o layout (CLS 0). */
@font-face{
  font-family:'Poppins Fallback';
  src:local('Arial');
  size-adjust:112.16%;
  ascent-override:93.75%;
  descent-override:31.25%;
  line-gap-override:8.93%;
}
@font-face{
  font-family:'Inter Fallback';
  src:local('Arial');
  size-adjust:107.12%;
  ascent-override:90.20%;
  descent-override:22.48%;
  line-gap-override:0%;
}

:root{
  /* --- Marca (extraída da imagem, não inventada) --- */
  --brand:        #30BABA;   /* turquesa do logo */
  --brand-pure:   #00B4B4;
  --brand-deep:   #0C847E;   /* sombra da fita do monograma */
  --brand-ink:    #073B39;
  --brand-text:   #0A7873;   /* texto pequeno na cor da marca — AA em todos os fundos claros */
  --blue:         #0046DC;   /* azul dos banners oficiais */
  --blue-deep:    #002E96;

  /* --- Neutros --- */
  --ink:          #10201F;
  --ink-2:        #33534F;
  --mute:         #546F6B;
  --line:         #DCE9E7;
  --surface:      #FFFFFF;
  --surface-2:    #F3F9F8;
  --surface-3:    #E7F4F2;

  /* --- Canais --- */
  --wa:           #25D366;

  /* --- Google (cores oficiais) --- */
  --g-blue:#4285F4; --g-green:#34A853; --g-yellow:#FBBC05; --g-red:#EA4335;
  --star:#FBBC05;

  /* --- Tipografia --- */
  --font-display:'Poppins', 'Poppins Fallback', 'Segoe UI', system-ui, sans-serif;
  --font-body:   'Inter', 'Inter Fallback', system-ui, -apple-system, sans-serif;

  /* --- Espaço --- */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-8:48px; --space-12:80px;
  --space-16:120px;

  --wrap: 1200px;
  --radius: 14px;
  --radius-lg: 22px;
  --shadow: 0 4px 16px rgba(7,59,57,.06);
  --shadow-lg: 0 18px 48px rgba(7,59,57,.13);
}

/* --- Reset --- */
*,*::before,*::after{box-sizing:border-box;}
*{margin:0;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:86px;}
body{
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.68;
  color:var(--ink);
  background:var(--surface);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;}
img{height:auto;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;color:inherit;}
ul,ol{list-style:none;padding:0;}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.14;text-wrap:balance;letter-spacing:-.02em;}

/* --- Anti-tela-branca --- */
.no-js .reveal{opacity:1;transform:none;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.reveal.is-in{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1!important;transform:none!important;transition:none;}
  *{animation:none!important;scroll-behavior:auto!important;transition:none!important;}
}

/* --- Utilitários --- */
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:24px;}
.wrap--wide{max-width:1340px;}
.section{padding-block:var(--space-16);}
.section--tight{padding-block:var(--space-12);}
.section--soft{background:var(--surface-2);}
.section--mint{background:var(--surface-3);}
.eyebrow{
  font-family:var(--font-display);font-size:.76rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--brand-text);
  margin-bottom:var(--space-4);
}
.section__head{max-width:760px;margin-bottom:var(--space-8);}
.section__head--center{margin-inline:auto;text-align:center;}
.section__head h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin-bottom:var(--space-4);}
.section__head p{color:var(--ink-2);font-size:1.06rem;}
.lede{font-size:1.12rem;color:var(--ink-2);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.skip{position:absolute;left:-9999px;}
.skip:focus{left:12px;top:12px;background:#fff;padding:10px 16px;z-index:99;
  border-radius:8px;box-shadow:var(--shadow-lg);}
:focus-visible{outline:2px solid var(--brand-deep);outline-offset:3px;border-radius:4px;}

/* --- Botões --- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 26px;border-radius:999px;font-weight:600;line-height:1;
  min-height:50px;border:1.6px solid transparent;cursor:pointer;text-align:center;
  transition:transform .15s ease,box-shadow .2s ease,background .2s ease,color .2s ease;
  font-family:var(--font-display);font-size:.98rem;
}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(0);}
.btn--primary{background:var(--brand-deep);color:#fff;box-shadow:0 6px 18px rgba(12,132,126,.28);}
.btn--primary:hover{background:var(--brand-ink);box-shadow:0 10px 26px rgba(12,132,126,.34);}
.btn--brand{background:var(--brand);color:#fff;}
.btn--brand:hover{background:var(--brand-deep);}
.btn--ghost{background:transparent;border-color:var(--line);color:var(--ink);}
.btn--ghost:hover{border-color:var(--brand);color:var(--brand-deep);background:var(--surface-2);}
.btn--light{background:#fff;color:var(--brand-ink);}
.btn--wa{background:var(--wa);color:var(--brand-ink);}
.btn--wa:hover{background:#1eb757;}
.btn--xl{padding:17px 32px;min-height:58px;font-size:1.05rem;}

/* ==========================================================================
   NAV
   ========================================================================== */
.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:box-shadow .3s,border-color .3s;}
.nav.is-scrolled{box-shadow:0 1px 0 rgba(7,59,57,.08),0 6px 24px rgba(7,59,57,.05);border-color:var(--line);}
.nav__wrap{max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;
  gap:var(--space-5);padding:12px 24px;}
.nav__brand img{height:42px;width:auto;}
.nav__links{display:flex;gap:var(--space-5);margin-left:auto;align-items:center;}
.nav__links a{font-size:.92rem;font-weight:500;color:var(--ink-2);position:relative;padding-block:4px;white-space:nowrap;}
.nav__links a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:2px;
  background:var(--brand);transition:width .25s ease;}
.nav__links a:hover{color:var(--brand-ink);}
.nav__links a:hover::after{width:100%;}
.nav__actions{display:flex;align-items:center;gap:10px;}
.nav__tel{display:inline-flex;align-items:center;gap:7px;font-weight:600;
  font-family:var(--font-display);color:var(--brand-ink);font-size:.95rem;white-space:nowrap;}
.nav__burger{display:none;width:46px;height:46px;background:none;border:1px solid var(--line);
  border-radius:12px;cursor:pointer;align-items:center;justify-content:center;}
.nav__burger span{display:block;width:20px;height:2px;background:var(--ink);position:relative;transition:background .2s;}
.nav__burger span::before,.nav__burger span::after{content:'';position:absolute;left:0;width:20px;
  height:2px;background:var(--ink);transition:transform .25s ease;}
.nav__burger span::before{top:-6px;}
.nav__burger span::after{top:6px;}
.nav__burger[aria-expanded="true"] span{background:transparent;}
.nav__burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg);}
.nav__burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg);}
@media(max-width:1040px){
  .nav__links{position:fixed;inset:70px 0 auto 0;background:#fff;flex-direction:column;
    align-items:stretch;gap:0;padding:8px 20px 22px;border-bottom:1px solid var(--line);
    box-shadow:var(--shadow-lg);display:none;max-height:calc(100vh - 70px);overflow-y:auto;}
  .nav__links.is-open{display:flex;}
  .nav__links a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:1rem;}
  .nav__links a::after{display:none;}
  .nav__burger{display:flex;}
  .nav__tel span{display:none;}
}
@media(max-width:560px){ .nav__actions .btn{display:none;} .nav__brand img{height:36px;} }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(1000px 600px at 85% -10%, rgba(48,186,186,.16), transparent 60%),
  linear-gradient(180deg,var(--surface-2) 0%, #fff 72%);}
.hero__grid{max-width:var(--wrap);margin:0 auto;display:grid;
  grid-template-columns:1.02fr .98fr;gap:var(--space-12);align-items:center;
  padding:78px 24px 88px;}
.hero__badge{display:inline-flex;align-items:center;gap:9px;background:#fff;
  border:1px solid var(--line);border-radius:999px;padding:7px 15px 7px 9px;
  font-size:.83rem;font-weight:600;color:var(--brand-ink);margin-bottom:var(--space-5);
  box-shadow:var(--shadow);font-family:var(--font-display);}
.hero__badge .stars{--size:13px;}
.hero h1{font-size:clamp(2.1rem,4vw,3.35rem);margin-bottom:var(--space-5);letter-spacing:-.035em;}
.hero h1 em{font-style:normal;color:var(--brand-deep);}
.hero__sub{font-size:1.14rem;color:var(--ink-2);max-width:54ch;margin-bottom:var(--space-6);}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:var(--space-6);}
.hero__meta{display:flex;flex-wrap:wrap;gap:var(--space-5);font-size:.9rem;color:var(--mute);}
.hero__meta strong{display:block;font-family:var(--font-display);font-size:1.05rem;color:var(--brand-ink);}
.hero__media{position:relative;}
.hero__media img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  aspect-ratio:1095/504;object-fit:cover;}
.hero__tag{position:absolute;left:-16px;bottom:-22px;background:#fff;border-radius:16px;
  padding:15px 20px;box-shadow:var(--shadow-lg);border:1px solid var(--line);max-width:250px;}
.hero__tag strong{display:block;font-family:var(--font-display);font-size:1.02rem;color:var(--brand-ink);}
.hero__tag span{font-size:.83rem;color:var(--mute);line-height:1.45;display:block;}
@media(max-width:980px){
  .hero__grid{grid-template-columns:1fr;gap:var(--space-8);padding:48px 24px 64px;}
  .hero__tag{left:12px;bottom:-16px;}
}
@media(max-width:560px){
  .hero__badge{font-size:.74rem;padding:6px 13px 6px 8px;gap:7px;}
  .hero__badge .stars{--size:12px;}
  .hero__cta .btn{width:100%;}
}

/* --- Barra de ação rápida --- */
.quick{background:var(--brand-ink);color:#fff;}
.quick__wrap{max-width:var(--wrap);margin:0 auto;padding:14px 24px;display:flex;
  align-items:center;gap:var(--space-5);flex-wrap:wrap;}
.quick__lede{display:inline-flex;align-items:center;gap:9px;font-size:.94rem;font-weight:500;}
.quick__pulse{width:9px;height:9px;border-radius:50%;background:var(--wa);flex:none;
  animation:pulse 1.9s infinite;}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.6)}70%{box-shadow:0 0 0 9px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}
.quick__actions{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap;}
.quick__btn{padding:11px 18px;border-radius:999px;font-weight:600;font-size:.92rem;
  font-family:var(--font-display);transition:transform .15s,filter .2s;display:inline-flex;
  align-items:center;gap:7px;min-height:44px;}
.quick__btn:hover{transform:translateY(-2px);filter:brightness(1.06);}
.quick__btn--wa{background:var(--wa);color:var(--brand-ink);}
.quick__btn--exam{background:var(--brand);color:var(--brand-ink);}
.quick__btn--laudo{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.26);}
@media(max-width:860px){
  .quick__wrap{flex-direction:column;align-items:stretch;gap:12px;}
  .quick__actions{margin-left:0;}
  .quick__btn{flex:1;justify-content:center;}
}

/* --- Trust strip --- */
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);
  border-block:1px solid var(--line);}
.trust__item{background:#fff;padding:26px 20px;text-align:center;}
.trust__item strong{display:block;font-family:var(--font-display);font-size:1.5rem;
  color:var(--brand-deep);letter-spacing:-.02em;}
.trust__item span{font-size:.85rem;color:var(--mute);}
@media(max-width:760px){.trust{grid-template-columns:repeat(2,1fr);}}

/* --- Stats --- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);}
.stat{text-align:center;padding:var(--space-6) var(--space-4);background:#fff;
  border:1px solid var(--line);border-radius:var(--radius-lg);}
.stat__num{display:block;font-family:var(--font-display);font-weight:600;
  font-size:clamp(2.2rem,4.4vw,3.1rem);color:var(--brand-deep);line-height:1;letter-spacing:-.04em;}
.stat__label{display:block;margin-top:10px;font-size:.9rem;color:var(--ink-2);font-weight:500;}
.stat__sub{display:block;font-size:.78rem;color:var(--mute);margin-top:3px;}
@media(max-width:860px){.stats{grid-template-columns:repeat(2,1fr);}}

/* --- História editorial --- */
.story{display:grid;grid-template-columns:.92fr 1.08fr;gap:var(--space-12);align-items:center;}
.story__media{position:relative;}
.story__media img{border-radius:var(--radius-lg);width:100%;box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;object-fit:cover;object-position:center;}
.story__year{position:absolute;right:-18px;top:-18px;background:var(--brand-deep);color:#fff;
  width:118px;height:118px;border-radius:50%;display:grid;place-items:center;text-align:center;
  font-family:var(--font-display);line-height:1.15;box-shadow:var(--shadow-lg);}
.story__year b{display:block;font-size:1.65rem;}
.story__year span{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;}
.story p+p{margin-top:var(--space-4);}
.story__quote{margin-top:var(--space-6);padding-left:var(--space-5);
  border-left:3px solid var(--brand);font-family:var(--font-display);font-size:1.1rem;
  color:var(--brand-ink);font-style:italic;}
.story__quote cite{display:block;font-style:normal;font-size:.85rem;color:var(--mute);
  margin-top:8px;font-family:var(--font-body);}
@media(max-width:980px){
  .story{grid-template-columns:1fr;gap:var(--space-8);}
  .story__media img{aspect-ratio:16/10;}
  .story__year{right:14px;top:-22px;width:98px;height:98px;}
}

/* --- Serviços --- */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);}
.svc__card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:var(--space-6);display:flex;flex-direction:column;gap:12px;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.svc__card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--brand);}
.svc__icon{width:52px;height:52px;border-radius:15px;background:var(--surface-3);
  display:grid;place-items:center;color:var(--brand-deep);flex:none;}
.svc__icon svg{width:26px;height:26px;}
.svc__card h3{font-size:1.18rem;}
.svc__card p{font-size:.95rem;color:var(--ink-2);line-height:1.62;}
.svc__card ul{margin-top:auto;padding-top:10px;display:flex;flex-wrap:wrap;gap:6px;}
.svc__card li{font-size:.76rem;background:var(--surface-2);border:1px solid var(--line);
  border-radius:999px;padding:4px 11px;color:var(--ink-2);}
.svc__card--wide{grid-column:span 2;}
@media(max-width:980px){.svc{grid-template-columns:repeat(2,1fr);}.svc__card--wide{grid-column:span 2;}}
@media(max-width:680px){.svc{grid-template-columns:1fr;}.svc__card--wide{grid-column:span 1;}}

/* --- Banner strip (destaque) --- */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;}
.feature--flip .feature__media{order:2;}
.feature__media img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);
  aspect-ratio:5/4;object-fit:cover;}
.feature__tagline{display:inline-flex;align-items:center;gap:8px;background:var(--brand-deep);
  color:#fff;border-radius:999px;padding:6px 15px;font-size:.78rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;margin-bottom:var(--space-4);
  font-family:var(--font-display);}
.feature h2{font-size:clamp(1.75rem,3.2vw,2.5rem);margin-bottom:var(--space-4);}
.feature p+p{margin-top:var(--space-4);}
.feature p{color:var(--ink-2);}
.feature__list{margin-top:var(--space-5);display:grid;gap:9px;}
.feature__list li{display:flex;gap:11px;align-items:flex-start;font-size:.95rem;color:var(--ink-2);}
.feature__list li::before{content:'';flex:none;width:19px;height:19px;border-radius:50%;
  background:var(--surface-3);margin-top:3px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C847E' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:12px;background-position:center;background-repeat:no-repeat;}
.feature__cta{margin-top:var(--space-6);display:flex;gap:12px;flex-wrap:wrap;}
@media(max-width:980px){
  .feature{grid-template-columns:1fr;gap:var(--space-8);}
  .feature--flip .feature__media{order:0;}
}

/* --- Especialidades --- */
.esp__tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:var(--space-6);}
.esp__search{flex:1;min-width:250px;position:relative;}
.esp__search input{width:100%;padding:14px 18px 14px 46px;border:1.6px solid var(--line);
  border-radius:999px;background:#fff;font-size:16px;transition:border-color .2s;}
.esp__search input:focus{border-color:var(--brand);outline:none;}
.esp__search svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);
  width:19px;height:19px;color:var(--mute);pointer-events:none;}
.esp__count{font-size:.9rem;color:var(--mute);white-space:nowrap;}
.esp__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.esp__item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;transition:border-color .2s,box-shadow .2s;}
.esp__item:hover{border-color:var(--brand);box-shadow:var(--shadow);}
.esp__item[hidden]{display:none;}
.esp__btn{width:100%;background:none;border:0;text-align:left;padding:17px 20px;
  display:flex;align-items:center;gap:12px;cursor:pointer;font-family:var(--font-display);
  font-weight:600;font-size:1rem;color:var(--brand-ink);}
.esp__btn::after{content:'';margin-left:auto;flex:none;width:17px;height:17px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C847E' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;transition:transform .25s ease;}
.esp__btn[aria-expanded="true"]::after{transform:rotate(180deg);}
.esp__dot{width:9px;height:9px;border-radius:50%;background:var(--brand);flex:none;}
.esp__panel{padding:0 20px;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;}
.esp__panel.is-open{max-height:520px;padding:0 20px 20px;}
.esp__panel p{font-size:.9rem;color:var(--ink-2);line-height:1.65;}
.esp__panel .btn{margin-top:14px;padding:10px 18px;min-height:42px;font-size:.86rem;}
.no-js .esp__panel{max-height:none;padding:0 20px 20px;}
.esp__empty{text-align:center;padding:var(--space-8);color:var(--mute);grid-column:1/-1;}
.esp__note{margin-top:var(--space-6);text-align:center;font-size:.92rem;color:var(--mute);}
@media(max-width:980px){.esp__grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.esp__grid{grid-template-columns:1fr;}}

/* --- Exames --- */
.exam__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);}
.exam__card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-6);}
.exam__card h3{font-size:1.1rem;margin-bottom:12px;color:var(--brand-ink);}
.exam__card dl{display:grid;gap:11px;}
.exam__card dt{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--brand-text);font-weight:600;font-family:var(--font-display);}
.exam__card dd{font-size:.9rem;color:var(--ink-2);line-height:1.6;}
.exam__how{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);margin-top:var(--space-8);}
.exam__step{background:var(--surface-2);border-radius:var(--radius-lg);padding:var(--space-5);
  border:1px solid var(--line);}
.exam__step b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:var(--brand-deep);color:#fff;font-family:var(--font-display);margin-bottom:12px;}
.exam__step h3{font-size:1rem;margin-bottom:6px;}
.exam__step p{font-size:.88rem;color:var(--ink-2);}
@media(max-width:980px){.exam__grid,.exam__how{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.exam__grid,.exam__how{grid-template-columns:1fr;}}

/* --- Cartão de benefícios --- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);align-items:start;}
.plan{background:#fff;border:1.6px solid var(--line);border-radius:var(--radius-lg);
  padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);height:100%;}
.plan--featured{border-color:var(--brand);box-shadow:0 16px 44px rgba(48,186,186,.18);position:relative;}
.plan__flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--brand-deep);color:#fff;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  padding:6px 15px;border-radius:999px;font-weight:600;font-family:var(--font-display);white-space:nowrap;}
.plan h3{font-size:1.28rem;}
.plan__price{font-family:var(--font-display);font-size:2.5rem;font-weight:600;
  color:var(--brand-deep);line-height:1;letter-spacing:-.03em;}
.plan__price small{font-size:.95rem;font-weight:500;color:var(--mute);letter-spacing:0;}
.plan__price em{font-style:normal;font-size:1.15rem;color:var(--ink-2);}
.plan ul{display:grid;gap:9px;}
.plan li{display:flex;gap:10px;font-size:.93rem;color:var(--ink-2);align-items:flex-start;}
.plan li::before{content:'';flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;
  background:var(--surface-3);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C847E' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:11px;background-position:center;background-repeat:no-repeat;}
.plan .btn{margin-top:auto;width:100%;}
.plans__how{margin-top:var(--space-8);background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:var(--space-6);display:grid;
  grid-template-columns:repeat(3,1fr);gap:var(--space-5);}
.plans__how div h3{font-size:1rem;margin-bottom:5px;color:var(--brand-ink);}
.plans__how div p{font-size:.9rem;color:var(--ink-2);}
.plans__how b{color:var(--brand-deep);}
@media(max-width:980px){.plans,.plans__how{grid-template-columns:1fr;}}

/* ==========================================================================
   AVALIAÇÕES GOOGLE
   ========================================================================== */
.rev{background:
  radial-gradient(760px 420px at 12% 0%, rgba(48,186,186,.14), transparent 62%),
  var(--surface-2);}
.rev__top{display:grid;grid-template-columns:.86fr 1.14fr;gap:var(--space-12);
  align-items:center;margin-bottom:var(--space-12);}
.rev__score{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:var(--space-6);text-align:center;box-shadow:var(--shadow-lg);}
.rev__glogo{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:var(--space-4);}
.rev__glogo svg{width:26px;height:26px;}
.rev__glogo span{font-family:var(--font-display);font-weight:600;font-size:1.02rem;color:var(--ink-2);}
.rev__big{font-family:var(--font-display);font-size:4.1rem;font-weight:600;line-height:1;
  color:var(--brand-ink);letter-spacing:-.04em;}
.rev__of{font-size:.9rem;color:var(--mute);margin-bottom:12px;}
.rev__total{font-size:.95rem;color:var(--ink-2);margin-top:12px;}
.rev__total strong{color:var(--brand-ink);font-family:var(--font-display);}
.rev__bars{display:grid;gap:6px;margin-top:var(--space-5);text-align:left;}
.rev__bar{display:grid;grid-template-columns:34px 1fr 56px;gap:9px;align-items:center;
  font-size:.78rem;color:var(--mute);}
.rev__bar i{font-style:normal;display:inline-flex;align-items:center;gap:3px;}
.rev__bar i svg{width:11px;height:11px;color:var(--star);}
.rev__track{display:block;height:7px;background:var(--surface-3);border-radius:999px;overflow:hidden;}
.rev__fill{display:block;height:100%;background:var(--star);border-radius:999px;}
.rev__units h2{font-size:clamp(1.9rem,3.6vw,2.9rem);margin-bottom:var(--space-4);}
.rev__units>p{color:var(--ink-2);margin-bottom:var(--space-6);}
.rev__table{display:grid;gap:8px;}
.rev__row{display:grid;grid-template-columns:1fr auto auto;gap:var(--space-4);
  align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:13px 18px;transition:border-color .2s,transform .2s;}
.rev__row:hover{border-color:var(--brand);transform:translateX(3px);}
.rev__row b{font-family:var(--font-display);font-weight:600;font-size:.97rem;color:var(--brand-ink);}
.rev__row b span{display:block;font-family:var(--font-body);font-weight:400;
  font-size:.79rem;color:var(--mute);letter-spacing:0;}
.rev__row .stars{--size:15px;}
.rev__nota{font-family:var(--font-display);font-weight:600;color:var(--brand-deep);
  font-size:1.02rem;min-width:96px;text-align:right;}
.rev__nota span{font-weight:400;color:var(--mute);font-size:.79rem;font-family:var(--font-body);}
@media(max-width:980px){
  .rev__top{grid-template-columns:1fr;gap:var(--space-8);}
  .rev__row{grid-template-columns:1fr auto;row-gap:6px;}
  .rev__row .stars{grid-column:1;}
  .rev__nota{grid-row:1;grid-column:2;}
}

/* estrelas */
.stars{display:inline-flex;gap:2px;--size:16px;line-height:0;}
.stars svg{width:var(--size);height:var(--size);color:var(--star);flex:none;}
.stars .is-empty{color:#D9E2E0;}

/* cards de depoimento */
.rev__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);}
.rev__card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);
  transition:transform .25s ease,box-shadow .25s ease;position:relative;}
.rev__card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.rev__card__head{display:flex;align-items:center;gap:11px;}
.rev__avatar{width:42px;height:42px;border-radius:50%;background:var(--brand-deep);color:#fff;
  display:grid;place-items:center;font-family:var(--font-display);font-weight:600;
  font-size:1rem;flex:none;}
.rev__who b{display:block;font-family:var(--font-display);font-size:.95rem;color:var(--brand-ink);
  font-weight:600;line-height:1.3;}
.rev__who span{font-size:.79rem;color:var(--mute);}
.rev__card__g{margin-left:auto;width:20px;height:20px;flex:none;}
.rev__card blockquote{flex:1;}
.rev__card p{font-size:.94rem;color:var(--ink-2);line-height:1.66;}
.rev__card figcaption{font-size:.76rem;color:var(--mute);line-height:1.5;
  border-top:1px solid var(--line);padding-top:12px;margin-top:auto;}
.rev__foot{margin-top:var(--space-8);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
.rev__disc{font-size:.82rem;color:var(--mute);max-width:64ch;}
@media(max-width:980px){.rev__grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:680px){.rev__grid{grid-template-columns:1fr;}}

/* --- Unidades --- */
.unit__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);}
.unit{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:var(--space-5);display:flex;flex-direction:column;gap:10px;
  transition:transform .22s,box-shadow .22s,border-color .22s;}
.unit:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--brand);}
.unit__city{font-family:var(--font-display);font-weight:600;font-size:1.08rem;color:var(--brand-ink);
  display:flex;align-items:center;gap:8px;}
.unit__city svg{width:16px;height:16px;color:var(--brand);flex:none;}
.unit__addr{font-size:.89rem;color:var(--ink-2);line-height:1.55;flex:1;}
.unit__rating{display:flex;align-items:center;gap:7px;font-size:.8rem;color:var(--mute);}
.unit__rating .stars{--size:13px;}
.unit__rating b{color:var(--brand-deep);font-family:var(--font-display);}
.unit__links{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px;}
.unit__links a{font-size:.8rem;font-weight:600;color:var(--brand-text);
  border:1px solid var(--line);border-radius:999px;padding:6px 13px;transition:.2s;}
.unit__links a:hover{background:var(--brand-deep);color:#fff;border-color:var(--brand-deep);}
.labs{margin-top:var(--space-8);background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:var(--space-6);}
.labs h3{font-size:1.2rem;margin-bottom:6px;}
.labs>p{font-size:.93rem;color:var(--ink-2);margin-bottom:var(--space-5);}
.labs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);}
.labs__item{border-left:3px solid var(--brand);padding-left:14px;}
.labs__item b{display:block;font-family:var(--font-display);font-size:.95rem;color:var(--brand-ink);}
.labs__item span{font-size:.86rem;color:var(--ink-2);}
.map{margin-top:var(--space-8);border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid var(--line);line-height:0;box-shadow:var(--shadow);}
.map iframe{width:100%;height:420px;border:0;}
@media(max-width:1080px){.unit__grid{grid-template-columns:repeat(2,1fr);}.labs__grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.unit__grid,.labs__grid{grid-template-columns:1fr;}}

/* --- Blog --- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);}
.post{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:var(--space-6);display:flex;flex-direction:column;gap:12px;
  transition:transform .25s,box-shadow .25s;}
.post:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.post__tag{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-text);
  font-weight:600;font-family:var(--font-display);}
.post h3{font-size:1.15rem;}
.post p{font-size:.92rem;color:var(--ink-2);flex:1;}
.post a{font-size:.86rem;font-weight:600;color:var(--brand-deep);display:inline-flex;gap:6px;align-items:center;}
.post a:hover{gap:10px;}
@media(max-width:980px){.posts{grid-template-columns:1fr;}}

/* --- FAQ --- */
.faq{max-width:880px;margin-inline:auto;display:grid;gap:12px;}
.faq__item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.faq__q{width:100%;background:none;border:0;text-align:left;padding:20px 24px;cursor:pointer;
  font-family:var(--font-display);font-weight:600;font-size:1.03rem;color:var(--brand-ink);
  display:flex;align-items:center;gap:16px;}
.faq__q::after{content:'';margin-left:auto;flex:none;width:18px;height:18px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C847E' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;transition:transform .25s;}
.faq__q[aria-expanded="true"]::after{transform:rotate(180deg);}
.faq__a{padding:0 24px;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease;}
.faq__a.is-open{max-height:420px;padding:0 24px 22px;}
.faq__a p{font-size:.96rem;color:var(--ink-2);}
.faq__a p+p{margin-top:10px;}
.no-js .faq__a{max-height:none;padding:0 24px 22px;}

/* --- Contato --- */
.contact{display:grid;grid-template-columns:.92fr 1.08fr;gap:var(--space-12);align-items:start;}
.contact__aside h2{font-size:clamp(1.9rem,3.6vw,2.7rem);margin-bottom:var(--space-4);}
.contact__aside>p{color:var(--ink-2);margin-bottom:var(--space-6);}
.contact__ways{display:grid;gap:14px;}
.contact__way{display:flex;gap:14px;align-items:flex-start;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;transition:.2s;}
.contact__way:hover{border-color:var(--brand);box-shadow:var(--shadow);}
.contact__way svg{width:21px;height:21px;color:var(--brand-deep);flex:none;margin-top:3px;}
.contact__way b{display:block;font-family:var(--font-display);font-size:.98rem;color:var(--brand-ink);}
.contact__way span{font-size:.87rem;color:var(--mute);}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:var(--space-6);display:grid;gap:var(--space-4);box-shadow:var(--shadow);}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);}
.form label{display:grid;gap:6px;font-size:.86rem;font-weight:600;color:var(--ink-2);
  font-family:var(--font-display);}
.form input,.form select,.form textarea{
  padding:13px 15px;border:1.5px solid var(--line);border-radius:11px;background:var(--surface-2);
  font-size:16px;font-family:var(--font-body);font-weight:400;color:var(--ink);transition:border-color .2s,background .2s;}
.form input:focus,.form select:focus,.form textarea:focus{
  border-color:var(--brand);background:#fff;outline:none;}
.form textarea{resize:vertical;min-height:110px;}
.form__lgpd{display:flex!important;flex-direction:row;gap:11px;align-items:flex-start;
  font-size:.83rem;font-weight:400;color:var(--mute);line-height:1.55;font-family:var(--font-body);}
.form__lgpd input{width:19px;height:19px;flex:none;margin-top:2px;accent-color:var(--brand-deep);}
.form__lgpd a{color:var(--brand-deep);text-decoration:underline;}
.form__note{font-size:.79rem;color:var(--mute);text-align:center;}
@media(max-width:980px){.contact{grid-template-columns:1fr;gap:var(--space-8);}}
@media(max-width:560px){.form__row{grid-template-columns:1fr;}}

/* --- Footer --- */
.footer{background:var(--brand-ink);color:rgba(255,255,255,.78);padding-top:var(--space-12);}
.footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:var(--space-8);
  padding-bottom:var(--space-8);}
.footer__brand img{height:52px;width:auto;margin-bottom:var(--space-4);}
.footer__brand p{font-size:.9rem;line-height:1.65;max-width:38ch;}
.footer__social{display:flex;gap:10px;margin-top:var(--space-5);}
.footer__social a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.09);
  display:grid;place-items:center;transition:.2s;}
.footer__social a:hover{background:var(--brand);}
.footer__social svg{width:18px;height:18px;color:#fff;}
.footer h3{color:#fff;font-size:1rem;margin-bottom:var(--space-4);}
.footer ul{display:grid;gap:9px;}
.footer li a,.footer li{font-size:.89rem;transition:color .2s;}
.footer li a:hover{color:var(--brand);}
.footer__legal{border-top:1px solid rgba(255,255,255,.13);padding-block:var(--space-5);
  display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;
  align-items:center;font-size:.8rem;}
.footer__legal a{color:var(--brand);}
.footer__rt{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);padding:14px 18px;font-size:.82rem;line-height:1.6;
  margin-bottom:var(--space-5);}
.footer__rt b{color:#fff;display:block;font-family:var(--font-display);}
@media(max-width:980px){.footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-6);}}
@media(max-width:560px){.footer__grid{grid-template-columns:1fr;}}

/* --- FAB --- */
.fab{position:fixed;right:18px;bottom:18px;z-index:70;display:inline-flex;align-items:center;
  gap:9px;background:var(--wa);color:var(--brand-ink);font-weight:600;padding:14px 20px;border-radius:999px;
  box-shadow:0 10px 28px rgba(37,211,102,.42);opacity:0;transform:translateY(14px);
  transition:opacity .4s,transform .4s;pointer-events:none;font-family:var(--font-display);font-size:.94rem;}
.fab.is-in{opacity:1;transform:none;pointer-events:auto;}
.fab:hover{transform:translateY(-3px);}
.fab svg{width:23px;height:23px;flex:none;}
@media(max-width:560px){.fab span{display:none;}.fab{padding:16px;right:14px;bottom:14px;}}

/* --- Cookie --- */
.cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 22px;
  box-shadow:var(--shadow-lg);display:none;gap:var(--space-5);align-items:center;
  max-width:760px;margin-inline:auto;flex-wrap:wrap;}
.cookie.is-in{display:flex;}
.cookie p{font-size:.86rem;color:var(--ink-2);flex:1;min-width:230px;}
.cookie a{color:var(--brand-deep);text-decoration:underline;}
.cookie .btn{padding:11px 22px;min-height:44px;font-size:.9rem;}
@media(max-width:560px){.cookie{bottom:82px;}}

/* --- Voltar ao topo --- */
.totop{position:fixed;left:18px;bottom:18px;z-index:65;width:44px;height:44px;border-radius:50%;
  background:#fff;border:1px solid var(--line);display:grid;place-items:center;cursor:pointer;
  box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity .3s,transform .3s;}
.totop.is-in{opacity:1;transform:none;pointer-events:auto;}
.totop svg{width:19px;height:19px;color:var(--brand-deep);}
@media(max-width:560px){.totop{display:none;}}
