/* =========================================================
   Clínica Carlos Ribeiro — folha de estilos
   Backup da versão anterior: css/style.backup-antes-revisao.css
   ========================================================= */

/* ---------- Tokens ---------- */
:root{
  /* Cores da marca */
  --brand:#08add0;
  --brand-dark:#057c99;
  --brand-deep:#076679;
  --brand-light:#61ddf2;
  --teal:#14a6a0;
  --ink:#06313b;
  --muted:#3d5d65;
  --mist:#eaf7fa;
  --tint:#e2f3f6;
  --line:rgba(6,49,59,.1);

  /* Tipografia */
  --font-sans:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --h1:clamp(36px,3.9vw,80px);
  --h2:clamp(30px,3.2vw,46px);
  --lede:clamp(16px,1.2vw,20px);

  /* Forma e espaço */
  --radius-lg:20px;
  --radius-md:16px;
  --radius-sm:10px;
  --shadow-card:0 1px 2px rgba(6,49,59,.04),0 12px 32px rgba(5,124,153,.08);
  --shadow-card-hover:0 1px 2px rgba(6,49,59,.06),0 18px 42px rgba(5,124,153,.15);
  --container:1180px;
  --gutter:24px;
  --section-y:clamp(72px,8vw,112px);
  --header-y:22px;
  --header-x:40px;
  --header-h:56px;
}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;background:var(--brand)}
body{
  min-width:320px;position:relative;overflow-x:hidden;
  background:var(--brand);color:#fff;
  font-family:var(--font-sans);font-size:16px;line-height:1.5;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;
}
a{color:inherit;text-decoration:none}
button{font:inherit}
a,button{touch-action:manipulation;-webkit-tap-highlight-color:rgba(8,173,208,.18)}
img{max-width:100%}
ul,ol{list-style:none}
/* Foco: azul-petróleo nas seções claras, azul-claro sobre a capa escura */
:focus-visible{outline:2px solid var(--brand-dark);outline-offset:3px}
.header :focus-visible,.page :focus-visible{outline-color:var(--brand-light)}

.skip-link{
  position:absolute;top:-100px;left:16px;z-index:200;
  padding:12px 18px;border-radius:var(--radius-sm);
  background:#fff;color:var(--ink);font-weight:600;
  box-shadow:0 10px 26px rgba(0,0,0,.25);
}
.skip-link:focus{top:16px}

/* ---------- Capa (sempre escura, nos dois temas) ---------- */
.hero-photo{
  position:fixed;inset:0;overflow:hidden;
  background:radial-gradient(circle at 50% 28%,rgba(8,173,208,.24),transparent 42%),linear-gradient(180deg,#00303d 0%,#00151c 100%);
  opacity:0;animation:photo-in 1.6s cubic-bezier(.16,1,.3,1) .05s both;
}
.hero-photo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,21,28,.42) 0%,rgba(0,21,28,.38) 35%,rgba(0,21,28,.6) 70%,rgba(0,13,18,.86) 100%);
}
.hero-photo video{display:block;width:100%;height:100%;object-fit:cover}

/* A capa ocupa a primeira tela; o cabeçalho fica por cima dela */
.page{
  position:relative;z-index:1;display:grid;grid-template-rows:1fr auto;
  min-height:100vh;min-height:100dvh;
  padding-top:calc(max(var(--header-y),env(safe-area-inset-top)) + var(--header-h) + 8px);
}

/* Cabeçalho */
.header{
  position:absolute;top:0;left:0;right:0;z-index:50;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;
  padding:max(var(--header-y),env(safe-area-inset-top)) max(var(--header-x),env(safe-area-inset-right)) 0 max(var(--header-x),env(safe-area-inset-left));
}
.logo{justify-self:start;display:inline-flex;align-items:center;height:var(--header-h)}
.logo img{display:block;width:180px;height:auto;max-height:var(--header-h);object-fit:contain;object-position:left center}

.site-nav{
  display:flex;align-items:center;gap:2px;padding:5px;
  border:1px solid rgba(255,255,255,.16);border-radius:999px;
  background:rgba(0,24,32,.45);
  backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);
}
.site-nav a{
  display:inline-flex;align-items:center;height:38px;padding:0 18px;border-radius:999px;
  color:rgba(255,255,255,.86);font-size:15px;font-weight:500;white-space:nowrap;
  transition:background .2s,color .2s;
}
.site-nav a:hover{background:rgba(255,255,255,.12);color:#fff}
.site-nav a:focus-visible{outline-offset:1px}

.header-actions{justify-self:end;display:flex;align-items:center;gap:10px}

/* Botões */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:0 22px;border:1px solid transparent;border-radius:var(--radius-sm);
  font-size:15px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;
  transition:background .2s,border-color .2s,color .2s,box-shadow .2s;
}
.btn-solid{background:var(--brand);border-color:var(--brand);color:#00202a}
.btn-solid:hover{background:var(--brand-light);border-color:var(--brand-light)}
.btn-ghost{
  background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5);color:#fff;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
}
.btn-ghost:hover{background:rgba(255,255,255,.16);border-color:#fff}
.header-cta{min-height:42px;padding:0 18px;font-size:14.5px}

/* Conteúdo da capa */
.hero{position:relative;display:flex;align-items:flex-end;justify-content:center;padding:24px var(--gutter) clamp(40px,8vh,88px)}

/* Botões de pausa (vídeo da capa e carrossel) */
.media-toggle{
  display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:50%;cursor:pointer;
  transition:background .2s,border-color .2s;
}
.media-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.media-toggle .icon-play{fill:currentColor;stroke-width:1.4}
.media-toggle .icon-play,.media-toggle.is-paused .icon-pause{display:none}
.media-toggle.is-paused .icon-play{display:block}
.video-toggle{
  position:absolute;left:max(var(--header-x),env(safe-area-inset-left));bottom:16px;
  border:1px solid rgba(255,255,255,.4);background:rgba(0,24,32,.45);color:#fff;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.video-toggle:hover{background:rgba(0,24,32,.7);border-color:#fff}
.hero-copy{display:flex;flex-direction:column;align-items:center;width:100%;max-width:960px;text-align:center}
.hero-brand{position:relative;width:64px;height:80px;margin:0 auto 18px;overflow:hidden}
.hero-brand img{position:absolute;top:0;left:0;width:auto;max-width:none;height:80px}

h1{display:flex;flex-direction:column;align-items:center;color:#fff;font-size:var(--h1);font-weight:600;line-height:1.08;letter-spacing:-.03em}
.headline-line{display:block;overflow:hidden;padding:.04em .12em .12em}
h1 em{
  font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.1em;letter-spacing:-.01em;
  color:var(--brand-light);
  animation:in-em 1.2s cubic-bezier(.16,1,.3,1) .72s both;
}
.lede{max-width:34em;margin-top:18px;color:#d4f3f9;font-size:var(--lede);line-height:1.6}
.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}
.hero-actions .btn{min-height:50px;padding:0 26px;font-size:16px}

/* Faixa de diferenciais */
.stats{
  display:grid;grid-template-columns:repeat(3,1fr);align-items:center;gap:24px;
  margin:0 var(--header-x);padding:22px 64px max(28px,env(safe-area-inset-bottom)) 0;
  border-top:1px solid rgba(255,255,255,.16);color:#e7fbff;
}
.stat{display:inline-flex;align-items:center;gap:12px;font-size:15px;font-weight:500}
.stat:nth-child(2){justify-self:center}
.stat:nth-child(3){justify-self:end}
.stat-icon{width:22px;height:22px;flex:0 0 auto}
.stat-icon-wide{width:42px;height:23px;flex:0 0 auto}

/* Menu mobile e alternador de tema */
.menu-backdrop{display:none}
.burger{
  display:none;width:44px;height:44px;place-items:center;
  border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);
  background:rgba(0,24,32,.5);color:#fff;cursor:pointer;
  transition:border-color .2s,background .2s;
}
.burger:hover{border-color:var(--brand-light)}
.burger-lines{display:grid;gap:5px}
.burger-lines span{display:block;width:18px;height:1.5px;border-radius:1px;background:#fff;transition:transform .25s,opacity .2s}
body.menu-open .burger-lines span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
body.menu-open .burger-lines span:nth-child(2){opacity:0}
body.menu-open .burger-lines span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

.theme-toggle{
  position:fixed;z-index:120;
  right:max(20px,calc(env(safe-area-inset-right) + 12px));bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px));
  display:grid;place-items:center;width:44px;height:44px;padding:0;
  border:1px solid rgba(255,255,255,.5);border-radius:14px;
  background:var(--ink);color:#fff;cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.2);
  transition:background .2s,transform .2s;
}
.theme-toggle:hover{background:#0b4655}
.theme-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px var(--brand-dark)}
.theme-toggle svg{width:21px;height:21px}
.icon-sun{display:none}
.light-theme .theme-toggle{background:#fff;color:var(--brand-dark);border-color:rgba(5,124,153,.25)}
.light-theme .theme-toggle:hover{background:var(--mist)}
.light-theme .icon-moon{display:none}
.light-theme .icon-sun{display:block}

/* =========================================================
   Seções de conteúdo
   ========================================================= */
.health-bg{
  position:relative;z-index:2;isolation:isolate;overflow:hidden;color:var(--ink);
  background:linear-gradient(180deg,#eaf7fa 0%,#dff1f6 30%,#e8f6f9 55%,#dbeff5 80%,#e9f6f9 100%);
}
.health-bg::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(700px 520px at 8% 6%,rgba(8,173,208,.18),transparent 70%),
    radial-gradient(760px 560px at 95% 24%,rgba(5,124,153,.12),transparent 70%),
    radial-gradient(820px 600px at 4% 52%,rgba(20,166,160,.12),transparent 70%),
    radial-gradient(760px 560px at 96% 76%,rgba(8,173,208,.15),transparent 70%);
}
.health-bg::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cpath d='M57 50h6v7h7v6h-7v7h-6v-7h-7v-6h7z' fill='%23057c99' fill-opacity='.07'/%3E%3Ccircle cx='10' cy='10' r='1.6' fill='%23057c99' fill-opacity='.10'/%3E%3C/svg%3E");
  -webkit-mask-image:linear-gradient(90deg,#000 0,transparent 26%,transparent 74%,#000 100%);
  mask-image:linear-gradient(90deg,#000 0,transparent 26%,transparent 74%,#000 100%);
}

/* Linha de batimento entre as seções */
.vital-divider{position:relative;z-index:0;height:80px;margin:-40px 0;pointer-events:none}
.health-pulse{position:absolute;top:50%;left:0;width:100%;height:80px;transform:translateY(-50%);opacity:.6}
.health-pulse path{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Fundo de cada bloco, emendado suavemente */
.insurance-section{background:linear-gradient(180deg,#f2fafc 0%,#eaf7fa 70%,rgba(234,247,250,0) 100%)}
.specialties-section{background:linear-gradient(180deg,rgba(212,236,243,0) 0%,#d4ecf3 22%,#d4ecf3 78%,rgba(212,236,243,0) 100%)}
.consultations-section{background:linear-gradient(180deg,rgba(226,244,240,0) 0%,#e2f4f0 22%,#e2f4f0 78%,rgba(226,244,240,0) 100%)}
.contact-section{background:linear-gradient(180deg,rgba(203,230,240,0) 0%,#cbe6f0 25%,#c4e2ee 100%)}

.insurance-section,.specialties-section,.consultations-section,.contact-section{position:relative;padding:var(--section-y) 0}
.content-container,.consultations-container,.contact-container{width:min(var(--container),100% - var(--gutter) * 2);margin:0 auto}

/* Cabeçalhos de seção */
.section-heading{max-width:760px;margin:0 auto 56px;text-align:center}
.section-kicker{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:6px 14px 6px 12px;
  border:1px solid rgba(5,124,153,.16);border-radius:999px;background:rgba(255,255,255,.72);
  color:var(--brand-dark);font-size:14px;font-weight:600;
}
.section-kicker::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--teal)}
.section-heading h2,.insurance-heading h2,.contact-copy h2{
  color:var(--ink);font-size:var(--h2);font-weight:650;line-height:1.1;letter-spacing:-.025em;text-wrap:balance;
}
.section-heading h2 em{font-style:normal}
.section-heading p{max-width:36em;margin:18px auto 0;color:var(--muted);font-size:18px;line-height:1.6;text-wrap:pretty}

/* Convênios */
.insurance-section{padding-bottom:calc(var(--section-y) - 16px);text-align:center}
.insurance-heading{padding:0 var(--gutter)}
.insurance-heading .hl{font-family:var(--font-serif);font-style:italic;font-weight:400;font-size:1.1em;letter-spacing:-.01em;color:var(--brand-dark)}
.insurance-intro{max-width:40em;margin:16px auto 48px;padding:0 var(--gutter);color:var(--muted);font-size:18px;line-height:1.6;text-wrap:balance}
.insurance-viewport{
  position:relative;overflow:hidden;padding:30px 0;
  background:rgba(255,255,255,.6);border-block:1px solid rgba(255,255,255,.85);
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
}
.insurance-list{--gap:24px;display:flex;width:max-content;gap:var(--gap);animation:insurance-scroll 60s linear infinite;will-change:transform}
.insurance-card{display:flex;flex:0 0 210px;height:112px;align-items:center;justify-content:center;padding:22px}
.insurance-logo{display:block;width:100%;height:62px;object-fit:contain}
@keyframes insurance-scroll{to{transform:translateX(calc(-50% - var(--gap) / 2))}}
.insurance-list.is-paused{animation-play-state:paused}
.carousel-toggle{
  position:absolute;right:max(16px,env(safe-area-inset-right));bottom:6px;z-index:2;
  width:30px;height:30px;
  border:1px solid rgba(5,124,153,.25);background:#fff;color:var(--brand-dark);
  box-shadow:0 4px 12px rgba(6,49,59,.1);
}
.carousel-toggle:hover{border-color:var(--brand-dark);background:var(--mist)}
.carousel-toggle svg{width:14px;height:14px}

.insurance-feats{display:flex;flex-wrap:wrap;justify-content:center;gap:20px 48px;margin:44px auto 0;padding:0 var(--gutter)}
.ins-f{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:15px;text-align:left}
.ins-f b{display:block;color:var(--ink);font-size:16px;font-weight:650}
.ins-f>div,.contact-options article>div{min-width:0;overflow-wrap:break-word}
.ins-ic,.contact-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:var(--tint);color:var(--brand-dark)}
.ins-ic svg,.contact-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.insurance-actions{display:flex;justify-content:center;margin-top:40px;padding:0 var(--gutter)}
.insurance-cta,.contact-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:54px;padding:0 28px;border:1px solid var(--brand-dark);border-radius:var(--radius-sm);
  background:var(--brand-dark);color:#fff;font-size:16px;font-weight:600;
  box-shadow:0 10px 24px rgba(5,124,153,.22);
  transition:background .2s,box-shadow .2s;
}
.insurance-cta:hover,.contact-button:hover{background:var(--brand-deep);border-color:var(--brand-deep);box-shadow:0 14px 30px rgba(5,124,153,.28)}
.insurance-cta:focus-visible,.contact-button:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.insurance-cta .wa-icon{width:22px;height:22px;flex:0 0 22px}
.insurance-note{margin:16px auto 0;padding:0 var(--gutter);color:#5d7a81;font-size:14px}

/* Cartões (especialidades, passos e contato) */
.specialty-card,.consultation-card,.contact-options article{
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-card);
  transition:box-shadow .25s,border-color .25s;
}
.specialty-card:hover,.consultation-card:hover,.contact-options article:hover{box-shadow:var(--shadow-card-hover);border-color:rgba(8,173,208,.35)}

/* Especialidades */
.specialties-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.specialty-card{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--radius-lg)}
.specialty-card>img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
.specialty-content{padding:22px 24px 26px}
.specialty-card h3{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:20px;font-weight:650;letter-spacing:-.015em}
.specialty-card h3 span{color:var(--brand-dark);font-size:24px;font-weight:400;line-height:.8;transition:transform .2s}
.specialty-card:hover h3 span{transform:translateX(3px)}
.specialty-card p{color:var(--muted);font-size:16px;line-height:1.6}

/* Consultas: passos em sequência */
.consultation-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.consultation-card{position:relative;padding:28px 28px 30px;border-radius:var(--radius-lg)}
.consultation-card:not(:last-child)::after{
  content:"";position:absolute;top:50px;left:84px;right:-25px;
  border-top:2px dashed rgba(5,124,153,.28);pointer-events:none;
}
.card-number{
  display:grid;place-items:center;width:44px;height:44px;margin-bottom:22px;border-radius:50%;
  background:var(--ink);color:#fff;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;
}
.consultation-card h3{margin-bottom:8px;font-size:20px;font-weight:650;letter-spacing:-.015em}
.consultation-card p{color:var(--muted);font-size:16px;line-height:1.6}

.consultation-note{
  display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 48px;
  margin-top:24px;padding:28px 36px;border-radius:var(--radius-lg);
  background:linear-gradient(120deg,var(--ink) 0%,#07495a 100%);color:#fff;
}
.consultation-note .section-kicker{margin:0 0 6px;padding:0;border:0;background:none;color:var(--brand-light)}
.consultation-note .section-kicker::before{background:var(--brand-light)}
.consultation-note h3{font-size:22px;font-weight:650;letter-spacing:-.015em}
.consultation-note p{justify-self:end;max-width:30em;color:#cdeef4;font-size:16px;line-height:1.55}

/* Contato */
.contact-section{padding-bottom:calc(var(--section-y) + 24px)}
.contact-container{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:72px}
.contact-copy h2{max-width:12em}
.contact-copy p{max-width:32em;margin-top:18px;color:var(--muted);font-size:18px;line-height:1.6}
.contact-button{margin-top:28px}
.contact-options{display:grid;gap:14px}
.contact-options article{display:flex;align-items:flex-start;gap:18px;padding:22px 24px;border-radius:var(--radius-md)}
.contact-options h3{margin-bottom:4px;font-size:18px;font-weight:650;letter-spacing:-.01em}
.contact-options p{color:var(--muted);font-size:15.5px;line-height:1.55}

/* =========================================================
   Animação de entrada (somente a capa)
   ========================================================= */
.appear{animation-duration:1.05s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.16,1,.3,1);animation-delay:var(--d,.08s)}
.appear--scale{animation-name:in-scale}
.appear--soft{animation-name:in-soft}
.appear--mask{animation-name:in-mask}
.appear--pop{animation-name:in-pop}
.appear--btn{animation-name:in-btn}
.appear--side{animation-name:in-side}
.appear--stat{animation-name:in-stat}
.appear.is-in,.hero-photo.is-in{animation:none;opacity:1;transform:none;filter:none}
.lede{animation-duration:1.25s}

.logo{--d:.08s}
.site-nav a:nth-child(1){--d:.16s}
.site-nav a:nth-child(2){--d:.28s}
.site-nav a:nth-child(3){--d:.40s}
.site-nav a:nth-child(4){--d:.52s}
.site-nav a:nth-child(5){--d:.64s}
.header-actions{--d:.34s}
.hero-brand{--d:.22s}
.headline-line:nth-child(1){--d:.42s}
.headline-line:nth-child(2){--d:.62s}
.lede{--d:.82s}
.hero-actions .btn:nth-child(1){--d:.96s}
.hero-actions .btn:nth-child(2){--d:1.10s}
.stat:nth-child(1){--d:1.12s}
.stat:nth-child(2){--d:1.28s}
.stat:nth-child(3){--d:1.44s}

@keyframes in-scale{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
@keyframes in-soft{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes in-mask{from{opacity:0;transform:translateY(40%)}to{opacity:1;transform:none}}
@keyframes in-pop{0%{opacity:0;transform:scale(.9)}70%{opacity:1;transform:scale(1.03)}100%{opacity:1;transform:none}}
@keyframes in-btn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes in-side{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
@keyframes in-stat{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes in-em{from{opacity:0}to{opacity:1}}
@keyframes photo-in{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:none}}

/* =========================================================
   Responsivo
   ========================================================= */
@media(min-width:1600px){
  :root{--header-y:28px;--header-x:64px;--header-h:62px;--container:1240px}
  .logo img{width:200px}
  .site-nav a{height:42px;padding:0 20px;font-size:16px}
  .stat{font-size:16px}
}
@media(min-width:901px) and (max-height:820px){
  :root{--h1:clamp(32px,3.2vw,52px);--header-y:14px}
  .hero-brand{width:52px;height:64px;margin-bottom:12px}.hero-brand img{height:64px}
  .lede{margin-top:12px}.hero-actions{margin-top:20px}
  .stats{padding-top:16px;padding-bottom:20px}
}
@media(max-width:1180px){
  :root{--header-x:28px}
  .header-cta{display:none}
  .site-nav a{padding:0 14px;font-size:14.5px}
}
@media(max-width:900px){
  :root{--header-y:16px;--header-x:18px;--gutter:20px}
  .header{grid-template-columns:1fr auto;gap:8px;padding-top:max(var(--header-y),env(safe-area-inset-top))}
  .logo,.header-actions{position:relative;z-index:80}
  .burger{display:grid}
  .header-cta{display:inline-flex}

  .menu-backdrop{display:block;position:fixed;inset:0;z-index:40;background:rgba(0,16,22,.6);opacity:0;visibility:hidden;transition:opacity .28s,visibility .28s}
  body.menu-open .menu-backdrop{opacity:1;visibility:visible;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
  body.menu-open{overflow:hidden}
  .site-nav{
    position:fixed;inset:0;z-index:45;flex-direction:column;justify-content:center;gap:10px;
    padding:96px 22px 32px;padding-top:max(96px,calc(env(safe-area-inset-top) + 88px));
    border:0;border-radius:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;
    overflow-y:auto;overscroll-behavior:contain;
    opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-10px);
    transition:opacity .28s,visibility .28s,transform .28s;
  }
  body.menu-open .site-nav{opacity:1;visibility:visible;pointer-events:auto;transform:none}
  .site-nav a{
    justify-content:center;width:min(100%,520px);height:56px;
    border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-sm);
    background:rgba(255,255,255,.06);font-size:19px;
  }

  .hero{padding:20px var(--gutter) 68px}
  .video-toggle{left:50%;transform:translateX(-50%)}
  .stats{grid-template-columns:1fr;justify-items:center;gap:14px;margin:0 var(--gutter);padding:20px 0 max(64px,env(safe-area-inset-bottom));text-align:center}
  .stat:nth-child(n){justify-self:center}

  .specialties-grid{grid-template-columns:1fr;max-width:560px;margin:0 auto}
  .consultation-steps{grid-template-columns:1fr;max-width:560px;margin:0 auto}
  .consultation-card:not(:last-child)::after{display:none}
  .consultation-note{grid-template-columns:1fr;max-width:560px;margin-inline:auto;padding:24px}
  .consultation-note p{justify-self:start}
  .contact-container{grid-template-columns:1fr;gap:40px;max-width:560px}
}
@media(max-width:560px){
  .header-cta{display:none}
  :root{--header-h:48px}
  .logo img{width:145px}
  .burger{width:42px;height:42px}
  .hero-actions{flex-direction:column;width:100%}
  .hero-actions .btn{width:100%}
  .headline-line{padding-inline:0;text-wrap:balance}
  .hero-photo::after{background:linear-gradient(180deg,rgba(0,21,28,.45) 0%,rgba(0,21,28,.55) 40%,rgba(0,21,28,.7) 70%,rgba(0,13,18,.9) 100%)}
  .section-heading{margin-bottom:36px}
  .section-heading p,.insurance-intro,.contact-copy p{font-size:16.5px}
  .insurance-intro{margin-bottom:32px}
  .insurance-viewport{padding:22px 0}
  .insurance-list{--gap:16px;animation-duration:42s}
  .insurance-card{flex-basis:160px;height:90px;padding:16px}
  .insurance-logo{height:50px}
  .insurance-feats{flex-direction:column;align-items:flex-start;width:max-content;max-width:100%}
  .insurance-cta,.contact-button{width:100%;padding:0 18px;font-size:15.5px}
  .contact-options article{padding:20px}
  .theme-toggle{right:12px;bottom:12px;width:40px;height:40px;border-radius:12px}
  .theme-toggle svg{width:19px;height:19px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .appear,.hero-photo{opacity:1;transform:none;filter:none}
  /* Carrossel parado: a faixa vira rolagem manual */
  .insurance-viewport{overflow-x:auto}
  .carousel-toggle{display:none}
}
    .video-toggle{display:none!important}
    /* ===== Seções do Figma (abaixo do topo) ===== */
    .cr{--ink:#153e45;--muted:#5d7377;--teal:#146873;--deep:#103f48;--line:#d9e5e3;--soft:#f3f7f6;--mint:#eaf3f2;--mint2:#c8e5d9;position:relative;z-index:2;background:#fff;color:var(--ink);font-family:"Inter",system-ui,sans-serif}
    .cr *{box-sizing:border-box}.cr h2,.cr h3,.cr p,.cr figure,.cr ul,.cr ol{margin:0}.cr ul,.cr ol{list-style:none;padding:0}
    .cr-sec{background:#fff;padding:88px 0}.cr-soft{background:var(--soft)}.cr-mint{background:var(--mint)}.cr-dark{background:var(--deep);color:#fff}
    .cr-wrap{width:min(1264px,calc(100% - 48px));margin:0 auto;display:flex;flex-direction:column;gap:36px}
    .cr-kicker{color:var(--teal);font-size:12px;letter-spacing:1.7px;text-transform:uppercase}.cr-center{text-align:center}
    .cr-title{margin-top:16px!important;font-family:"Manrope",sans-serif;font-weight:400;font-size:clamp(30px,3vw,42px);line-height:1.18;letter-spacing:-1.5px;color:var(--ink)}
    .cr-text{color:var(--muted);font-size:16px;line-height:1.65}.cr-note{color:var(--teal);font-size:12px;line-height:1.5}.cr-small{color:var(--muted);font-size:14px;line-height:1.6}.cr-tiny{color:var(--muted);font-size:11.5px;line-height:1.5}
    .cr-lead{font-family:"Manrope",sans-serif;font-size:25px;line-height:1.3;color:var(--ink)}
    .cr-rule{border:0;height:1px;background:var(--line);margin:0;width:100%}
    .cr-ic{width:18px;height:18px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
    .cr-split{display:flex;flex-direction:row;align-items:center;gap:80px}.cr-split--wide{gap:100px}.cr-split--team{gap:48px}.cr-split--contact{gap:80px}
    .cr-copy{flex:1 1 0;display:flex;flex-direction:column;gap:22px;align-items:flex-start;min-width:0}.cr-copy .cr-title{margin-top:-6px!important}
    .cr-photo{display:flex;flex-direction:column;gap:12px}.cr-photo img{display:block;width:100%;object-fit:cover;border-radius:28px}.cr-photo figcaption{color:var(--muted);font-size:11px}
    .cr-photo--about{flex:0 0 510px}.cr-photo--about img{height:390px}.cr-photo--team{flex:0 0 600px}.cr-photo--team img{height:328px}
    .cr-checks{display:flex;gap:28px;width:100%}.cr-checks li{flex:1;display:flex;gap:8px;align-items:center;font-size:13px;font-weight:500;color:var(--ink)}.cr-checks .cr-ic{color:var(--teal)}
    .cr-checks--col{flex-direction:column;gap:22px}.cr-checks--col li{font-size:14px;font-weight:400}
    .cr-intro{display:flex;align-items:flex-end;gap:100px}.cr-intro>div:first-child{flex:0 0 640px}.cr-intro>:last-child{flex:1;display:flex;flex-direction:column;gap:12px}
    .cr-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
    .cr-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:18px}
    .cr-card h3,.cr-steps h3{font-family:"Manrope",sans-serif;font-weight:600;font-size:22px;color:var(--ink)}.cr-steps h3{font-size:21px}
    .cr-badge{width:48px;height:48px;border-radius:14px;background:var(--mint);display:grid;place-items:center;color:var(--teal)}.cr-badge .cr-ic{width:22px;height:22px}
    .cr-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.cr-row--end{align-items:flex-end}.cr-row--end>div{max-width:760px}
    .cr-btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;height:54px;padding:0 22px;border-radius:100px;border:1px solid transparent;font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;transition:transform .2s,filter .2s,background .2s}
    .cr-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}.cr-btn:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
    .cr-btn--solid{background:var(--teal);color:#fff}.cr-btn--ghost{border-color:var(--line);color:var(--ink);background:transparent}.cr-btn--ghost:hover{background:#fff}.cr-btn--mint{background:var(--mint2);color:var(--deep)}
    .cr-dark .cr-kicker{color:var(--mint2)}.cr-dark .cr-title{color:#fff}.cr-dark .cr-text{color:#c7dcdd}.cr-dark .cr-copy{flex:0 0 550px}
    .cr-plan{flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:30px}
    .cr-plan li{display:flex;gap:18px;padding:20px 0}.cr-plan .cr-ic{width:28px;height:28px;color:var(--mint2)}.cr-plan h3{font-family:"Manrope",sans-serif;font-weight:600;font-size:20px;color:#fff}.cr-plan p{margin-top:8px;color:#c7dcdd;font-size:13px;line-height:1.65}
    .cr-copy--tight{gap:20px}.cr-placeholder{width:100%;background:var(--soft);border-radius:12px;padding:18px;color:var(--muted);font-size:13px;line-height:1.6}.cr-tag{color:var(--teal);font-size:11px;letter-spacing:1px;text-transform:uppercase;margin-bottom:8px!important}
    .cr-gallery{display:grid;grid-template-columns:784fr 460fr;gap:20px}.cr-gallery img{height:330px}.cr-gallery figcaption{font-size:12px}
    .cr-dark-text{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:13px}.cr-dark-text .cr-ic{width:20px;height:20px;color:var(--teal)}
    #convenios .cr-copy{flex:0 0 590px}.cr-panel{flex:1;background:var(--mint);border-radius:20px;padding:30px;display:flex;flex-direction:column;gap:22px}
    .cr-panel-title{display:flex;align-items:center;gap:12px;font-family:"Manrope",sans-serif;font-size:21px;color:var(--ink)}.cr-panel-title .cr-ic{width:28px;height:28px;color:var(--teal)}
    .cr-logos-band{margin-top:56px;display:flex;flex-direction:column;gap:18px}
    .cr .cr-logos,.cr .cr-logos.insurance-viewport{width:100vw!important;max-width:100vw!important;margin:0 calc(50% - 50vw)!important;background:var(--soft)!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;padding:24px 0!important}
    .cr-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.cr-steps li{display:flex;flex-direction:column;gap:18px}
    .cr-num{width:42px;height:42px;border-radius:100px;background:#fff;display:grid;place-items:center;color:var(--teal);font-size:14px;font-weight:600}
    .cr-faq{flex-direction:row;gap:90px;align-items:flex-start}.cr-faq-side{flex:0 0 380px}.cr-faq-list{flex:1;display:flex;flex-direction:column;gap:12px}
    .cr-faq-list details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px}.cr-faq-list details[open]{background:var(--mint);border-color:var(--mint)}
    .cr-faq-list summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;list-style:none;font-size:15px;font-weight:600;color:var(--ink)}.cr-faq-list summary::-webkit-details-marker{display:none}
    .cr-faq-list summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px;border-radius:6px}.cr-faq-list details[open] .cr-v{display:none}
    .cr-faq-list details p{margin-top:14px;color:var(--muted);font-size:13px;line-height:1.65}
    #contato .cr-split--contact>.cr-copy{flex:0 0 590px}.cr-info{display:flex;flex-direction:column;gap:16px;font-size:14px;color:var(--ink)}.cr-info li{display:flex;gap:12px;align-items:center}.cr-info .cr-ic{width:19px;height:19px;color:var(--teal)}
    .cr-visit{flex:1;background:var(--deep);color:#fff;border-radius:28px;padding:36px;display:flex;flex-direction:column;gap:23px}
    .cr-visit-ic{width:62px;height:62px;border-radius:20px;background:rgba(255,255,255,.06);display:grid;place-items:center;color:var(--mint2)}.cr-visit-ic .cr-ic{width:30px;height:30px}
    .cr-visit-title{font-family:"Manrope",sans-serif;font-size:28px}.cr-visit-name{font-weight:600;font-size:15px;margin-bottom:8px!important}.cr-visit-text{color:#c7dcdd;font-size:16px;line-height:1.65}
    .cr-visit hr{border:0;height:1px;background:rgba(255,255,255,.15);margin:0}.cr-visit-small{color:#c7dcdd;font-size:13px;line-height:1.65}.cr-visit-tiny{color:var(--mint2);font-size:11px}
    .cr-alert{display:flex;gap:12px;align-items:center;background:#fff;border-radius:12px;padding:18px;color:var(--muted);font-size:12px;line-height:1.5}.cr-alert .cr-ic{width:20px;height:20px;color:var(--teal)}
    .cr-foot{background:#fff;padding:60px 0 30px}.cr-foot .cr-wrap{gap:32px}.cr-foot-grid{display:grid;grid-template-columns:420px 210px 442px;justify-content:space-between;gap:40px}
    .cr-foot-logo{width:160px;height:auto;margin-bottom:20px}.cr-foot-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:var(--ink);margin-bottom:14px!important}.cr-foot-title .cr-ic{color:var(--teal)}
    .cr-foot nav{display:flex;flex-direction:column;gap:13px}.cr-foot nav .cr-foot-title{margin-bottom:1px!important}.cr-foot nav a{color:var(--muted);font-size:13px;text-decoration:none}.cr-foot nav a:hover{color:var(--teal)}
    .cr-foot .cr-small{font-size:13px}.cr-foot .cr-tiny{margin-top:12px}
    .cr a:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
    @media(max-width:1100px){.cr-split,.cr-faq,.cr-intro{flex-direction:column;align-items:stretch;gap:40px}.cr-photo--about,.cr-photo--team,.cr-dark .cr-copy,#convenios .cr-copy,.cr-faq-side,#contato .cr-split--contact>.cr-copy,.cr-intro>div:first-child{flex:none;width:100%}.cr-foot-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:760px){.cr-sec{padding:64px 0}.cr-wrap{width:calc(100% - 32px);gap:28px}.cr-grid3,.cr-steps,.cr-gallery,.cr-foot-grid{grid-template-columns:1fr}.cr-steps{gap:32px}.cr-checks{flex-direction:column;gap:14px}.cr-photo--about img,.cr-photo--team img,.cr-gallery img{height:240px}.cr-btn{white-space:normal;height:auto;min-height:54px;padding:12px 22px;text-align:center}.cr-row{flex-direction:column;align-items:flex-start}.cr-plan,.cr-panel,.cr-visit{padding:24px}.cr-lead{font-size:21px}}
    #especialidades .cr-intro{flex-direction:column;align-items:center;gap:20px;text-align:center}#especialidades .cr-intro>div{flex:none!important;width:100%;max-width:680px;align-items:center}
    #especialidades .cr-wrap>.cr-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}#especialidades .cr-wrap>.cr-row>p{grid-column:2;text-align:center}#especialidades .cr-wrap>.cr-row>.cr-btn{grid-column:3;justify-self:end}
    @media(max-width:900px){#especialidades .cr-wrap>.cr-row{display:flex;flex-direction:column;align-items:center;text-align:center}}
    .cr-ph{flex:1;min-height:400px;border-radius:28px;border:2px dashed rgba(200,229,217,.45);background:rgba(255,255,255,.05);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#c8e5d9;text-align:center;padding:24px}.cr-ph svg{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.cr-ph span{font-size:16px;font-weight:600}.cr-ph small{font-size:12px;opacity:.75}
    .cr-photo--prev{flex:1}.cr-photo--prev img{height:400px}
    @media(max-width:760px){.cr-ph,.cr-photo--prev img{min-height:260px;height:260px}}
    @media(min-width:1101px){#estrutura .cr-intro{flex-direction:row-reverse}#estrutura .cr-intro>.cr-text{text-align:left}}
    @media(min-width:1101px){#estrutura .cr-intro>div:first-child{text-align:right}}
    #estrutura .cr-intro,#estrutura .cr-intro{flex-direction:column!important;align-items:center;gap:20px;text-align:center}#estrutura .cr-intro>*{flex:none!important;width:100%;max-width:680px;text-align:center!important}
    @media(min-width:900px){#estrutura .cr-intro>div:first-child{max-width:none}#estrutura .cr-title{white-space:nowrap}}
    #estrutura .cr-wrap>.cr-row{justify-content:center}#estrutura .cr-photo figcaption{font-size:13px;color:var(--ink);font-weight:500}
    /* Botão flutuante do WhatsApp no lugar do botão de tema */
    .wa-float{position:fixed;right:24px;bottom:24px;z-index:90;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.22);transition:transform .2s,box-shadow .2s}.wa-float svg{width:32px;height:32px}.wa-float:hover{transform:scale(1.06);box-shadow:0 14px 30px rgba(0,0,0,.28)}.wa-float:focus-visible{outline:3px solid #146873;outline-offset:3px}
    @media(max-width:560px){.wa-float{right:14px;bottom:14px;width:54px;height:54px}.wa-float svg{width:28px;height:28px}}
    /* Botão de tema no cabeçalho, ao lado do Agende sua consulta */
    .header-actions .theme-toggle{position:static!important;inset:auto!important;display:grid!important;place-items:center;width:44px;height:44px;border-radius:12px;flex:0 0 auto;transform:none!important}
    @media(max-width:560px){.header-actions .theme-toggle{width:40px;height:40px}}
    /* ===== Tema escuro nas seções do Figma (tema claro = padrão do design) ===== */
    :root:not(.light-theme) .cr{--ink:#e4f1f0;--muted:#a7bfc1;--teal:#5fc6d3;--line:rgba(255,255,255,.1);--soft:#0d272d;--mint:#11333a;--deep:#0a2c33;background:#081d22}
    :root:not(.light-theme) .cr-sec,:root:not(.light-theme) .cr-foot{background:#081d22}
    :root:not(.light-theme) .cr-soft{background:var(--soft)}:root:not(.light-theme) .cr-mint{background:var(--mint)}:root:not(.light-theme) .cr-dark{background:var(--deep)}
    :root:not(.light-theme) .cr-card,:root:not(.light-theme) .cr-faq-list details,:root:not(.light-theme) .cr-alert,:root:not(.light-theme) .cr-num{background:#102d34;border-color:var(--line)}
    :root:not(.light-theme) .cr-faq-list details[open]{background:var(--mint);border-color:var(--mint)}
    :root:not(.light-theme) .cr-badge{background:rgba(95,198,211,.12)}
    :root:not(.light-theme) .cr-btn--solid{background:#0e8a99;color:#fff}:root:not(.light-theme) .cr-btn--ghost{color:var(--ink)}:root:not(.light-theme) .cr-btn--ghost:hover{background:rgba(255,255,255,.06)}
    :root:not(.light-theme) .cr-visit{background:#0f3a43}
    :root:not(.light-theme) .cr .cr-logos,:root:not(.light-theme) .cr .cr-logos.insurance-viewport{background:#eef6f6!important;border-color:transparent!important}
    :root:not(.light-theme) .cr-ph{border-color:rgba(200,229,217,.3)}
    :root:not(.light-theme) .cr-foot-logo{content:url("../assets/images/logo-clinica-branca.png")}
    /* Localizador de unidades (importado do projeto GPP) */
    .cr-loc{gap:20px}.cr-loc-head{display:flex;gap:16px;align-items:center}.cr-loc-tag{color:var(--mint2)!important;margin-bottom:4px!important}.cr-loc .cr-visit-title{font-size:22px;line-height:1.25}
    .cr-loc-list{display:flex;flex-wrap:wrap;gap:8px}
    .cr-loc-btn{appearance:none;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font:600 13px/1 "Inter",system-ui,sans-serif;padding:10px 16px;border-radius:100px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
    .cr-loc-btn:hover{border-color:var(--mint2)}.cr-loc-btn.is-active{background:var(--mint2);border-color:var(--mint2);color:#103f48}.cr-loc-btn:focus-visible{outline:3px solid var(--mint2);outline-offset:2px}
    .cr-loc-map{border-radius:18px;overflow:hidden;background:rgba(255,255,255,.06);aspect-ratio:16/9}.cr-loc-frame{display:block;width:100%;height:100%;border:0}
    .cr-loc-route{align-self:flex-start}
    /* Contato: lado esquerdo maior para equilibrar com o localizador */
    @media(min-width:1101px){#contato .cr-split--contact{align-items:stretch}#contato .cr-split--contact>.cr-copy{justify-content:center;gap:30px}#contato .cr-title{font-size:56px;line-height:1.1}#contato .cr-copy>.cr-text{font-size:19px;line-height:1.7}#contato .cr-copy>.cr-btn{height:64px;padding:0 30px;font-size:16px}#contato .cr-info{gap:20px;font-size:17px}#contato .cr-info .cr-ic{width:22px;height:22px}#contato .cr-kicker{font-size:13px}}
    .cr-loc{text-align:center;align-items:center}.cr-loc-head{flex-direction:column;gap:12px}.cr-loc-list{justify-content:center}.cr-loc-map{width:100%}
    .header-actions .theme-toggle,.light-theme .header-actions .theme-toggle,:root:not(.light-theme) .header-actions .theme-toggle{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;color:#fff!important}.header-actions .theme-toggle svg{width:24px;height:24px}.header-actions .theme-toggle:hover{opacity:.75}
    .cr-loc-media{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:12px}.cr-loc-photo{display:block;width:100%;height:100%;aspect-ratio:1/1;object-fit:cover;border-radius:18px}.cr-loc-media .cr-loc-map{aspect-ratio:auto;min-height:100%}
    @media(max-width:560px){.cr-loc-media{grid-template-columns:1fr}.cr-loc-media .cr-loc-map{aspect-ratio:4/3}}
    /* ===== Ícones animados (estilo Lucide Animated) ===== */
    .ai{transform-box:fill-box;transform-origin:center;overflow:visible}
    .ai.is-anim.ai-check path,.ai.is-anim.ai-pop path:last-child{stroke-dasharray:30;animation:ai-draw .6s ease-out both}
    .ai.is-anim.ai-swing{transform-origin:50% 10%;animation:ai-swing .8s ease-in-out}
    .ai.is-anim.ai-beat{animation:ai-beat .9s ease-in-out}
    .ai.is-anim.ai-pop{animation:ai-pop .5s cubic-bezier(.34,1.56,.64,1)}
    .ai.is-anim.ai-arrow{animation:ai-arrow .5s ease-in-out}
    .ai.is-anim.ai-wiggle{animation:ai-wiggle .6s ease-in-out}
    .ai.is-anim.ai-spin{animation:ai-spin .7s ease-in-out}
    .ai.is-anim.ai-rotate{animation:ai-rot .4s ease-out}
    .ai.is-anim.ai-ring{transform-origin:50% 20%;animation:ai-ring .7s ease-in-out}
    .ai.is-anim.ai-bounce{transform-origin:50% 100%;animation:ai-bounce .7s ease-out}
    @keyframes ai-draw{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
    @keyframes ai-swing{0%,100%{transform:rotate(0)}25%{transform:rotate(12deg)}75%{transform:rotate(-12deg)}}
    @keyframes ai-beat{0%,100%{transform:scale(1)}20%{transform:scale(1.2)}40%{transform:scale(.95)}60%{transform:scale(1.12)}}
    @keyframes ai-pop{0%{transform:scale(.8)}100%{transform:scale(1)}}
    @keyframes ai-arrow{0%,100%{transform:translate(0)}50%{transform:translate(3px,-3px)}}
    @keyframes ai-wiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}}
    @keyframes ai-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
    @keyframes ai-rot{0%{transform:rotate(0)}100%{transform:rotate(90deg)}}
    @keyframes ai-ring{0%,100%{transform:rotate(0)}15%,45%{transform:rotate(-15deg)}30%,60%{transform:rotate(15deg)}75%{transform:rotate(-6deg)}}
    @keyframes ai-bounce{0%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}55%{transform:translateY(0)}75%{transform:translateY(-2px)}}
    .cr-loc-btn{display:inline-flex;align-items:center;gap:6px}.cr-loc-btn .cr-ic{width:14px;height:14px}
    @media(prefers-reduced-motion:reduce){.ai.is-anim{animation:none!important}}
    /* Carrossel de consultórios */
    .cr-car{position:relative;border-radius:28px;outline:none}.cr-car:focus-visible{outline:3px solid var(--teal);outline-offset:4px}
    .cr-car-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:28px;margin:0;padding:0;list-style:none}.cr-car-track::-webkit-scrollbar{display:none}
    .cr-car-slide{flex:0 0 100%;scroll-snap-align:start}.cr-car-slide figure{position:relative;margin:0}
    .cr-car-slide img{display:block;width:100%;height:clamp(300px,42vw,560px);object-fit:cover}
    .cr-car-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 36px 30px;background:linear-gradient(transparent,rgba(6,40,48,.78));color:#fff;display:flex;flex-direction:column;gap:6px;text-align:left}
    .cr-car-slide strong{font-family:"Manrope",sans-serif;font-size:clamp(20px,2.2vw,28px);font-weight:600}.cr-car-slide span{font-size:15px;opacity:.9}
    .cr-car-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#103f48;display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.18);transition:transform .2s}
    .cr-car-btn:hover{transform:translateY(-50%) scale(1.06)}.cr-car-btn:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
    .cr-car-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
    .cr-car-prev{left:18px}.cr-car-next{right:18px}
    .cr-car-dots{display:flex;justify-content:center;gap:8px;margin-top:18px}
    .cr-car-dots button{width:10px;height:10px;border-radius:100px;border:0;padding:0;background:var(--line);cursor:pointer;transition:width .25s,background .25s}
    .cr-car-dots button.is-active{width:28px;background:var(--teal)}
    @media(max-width:600px){.cr-car-btn{width:40px;height:40px}.cr-car-prev{left:10px}.cr-car-next{right:10px}.cr-car-slide figcaption{padding:40px 20px 20px}}
    .cr-photo--prev img{height:auto!important;aspect-ratio:4/3}
    .cr-info a{color:inherit;text-decoration:none;font-weight:600}.cr-info a:hover{color:var(--teal);text-decoration:underline}
    /* Horário de atendimento por unidade */
    .cr-hours{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 20px;text-align:left}
    .cr-hours-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--mint2);margin-bottom:10px!important}.cr-hours-title .cr-ic{width:18px;height:18px}
    .cr-hours dl{margin:0;display:grid;gap:8px}.cr-hours dl>div{display:flex;justify-content:space-between;gap:16px;padding-bottom:8px;border-bottom:1px dashed rgba(255,255,255,.14)}.cr-hours dl>div:last-child{border:0;padding-bottom:0}
    .cr-hours dt{color:#c7dcdd;font-size:14px}.cr-hours dd{margin:0;color:#fff;font-weight:600;font-size:14px;font-variant-numeric:tabular-nums}
    .cr-hours dl>div:last-child dd{color:#c7dcdd;font-weight:500}
