/* =====================================================================
   Clínica Bem Viver, Centro Integrado de Saúde (Ipatinga/MG)
   Folha única das sete páginas. Ordem: tokens, base, topo, botões, hero,
   seções da página inicial, páginas de especialidade, rodapé, movimento.
   ===================================================================== */

:root{
  --petroleo:#2D5A55;
  --petroleo-2:#24504B;
  --petroleo-escuro:#1E3F3B;
  --noite:#16302D;
  --salvia:#8FA89B;
  --salvia-clara:#DCE6DF;
  --creme:#F7F3EC;
  --papel:#FCFAF6;
  --areia:#EFE6D6;
  --rosa:#E5B7AE;
  --rosa-fundo:#F6E4DF;
  --mel:#DCC394;
  --mel-fundo:#F3EAD7;
  --folha:#B5C4A8;
  --folha-fundo:#E6EDDF;
  --tinta:#22302E;
  --tinta-suave:#55625F;
  --linha:rgba(45,90,85,.14);
  --sombra:0 18px 50px rgba(30,63,59,.10);
  --sombra-forte:0 26px 70px rgba(30,63,59,.18);
  --raio:24px;
  --suave:cubic-bezier(.22,.61,.36,1);
  --mola:cubic-bezier(.34,1.56,.64,1);
  --topo-h:76px;
  --serif:"Lora",Georgia,"Times New Roman",serif;
  --sans:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --marca:"Quicksand","Nunito Sans",system-ui,sans-serif;
}

/* ---------------- base ---------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--topo-h) + 12px)}
body{
  margin:0;background:var(--creme);color:var(--tinta);
  font:400 1.0625rem/1.65 var(--sans);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:var(--petroleo);text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.12;color:var(--petroleo-escuro);margin:0;letter-spacing:-.01em}
p{margin:0}
ul,ol{margin:0;padding:0}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--mel);outline-offset:3px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pular{position:absolute;left:12px;top:-60px;z-index:100;background:var(--petroleo);color:#fff;padding:.7rem 1rem;border-radius:12px;text-decoration:none;transition:top .2s}
.pular:focus{top:12px}
.wrap{width:min(1180px,100% - 32px);margin-inline:auto}
@media (min-width:700px){.wrap{width:min(1180px,100% - 64px)}}
.ic{width:1.25em;height:1.25em;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* rótulo pequeno em cima dos títulos */
.olho{
  display:inline-flex;align-items:center;gap:.6rem;
  font:700 .78rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--petroleo);
}
.olho::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--rosa);box-shadow:14px 0 0 var(--mel),28px 0 0 var(--folha);margin-right:28px}
.olho--claro{color:var(--salvia-clara)}

.secao{padding:clamp(4.5rem,9vw,7.5rem) 0;position:relative}
.secao__cab{max-width:720px;margin-bottom:clamp(2.2rem,4vw,3.4rem)}
.secao__cab--meio{margin-inline:auto;text-align:center}
.secao__cab h2{font-size:clamp(2rem,4.2vw,3.1rem);margin:.9rem 0 1rem}
.secao__cab h2 em{font-style:italic;color:var(--petroleo)}
.secao__cab p{color:var(--tinta-suave);font-size:1.1rem}

/* ---------------- botões (brilho no hover, sem animação em repouso) ---------------- */
.btn{
  position:relative;isolation:isolate;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  min-height:52px;padding:.85rem 1.55rem;border-radius:999px;
  background:var(--petroleo);color:#fff;border:1px solid var(--petroleo);
  font:700 1rem/1.2 var(--sans);text-decoration:none;cursor:pointer;
  box-shadow:0 10px 26px rgba(45,90,85,.28);
  transition:transform .2s ease,box-shadow .3s ease,background .2s ease,border-color .3s ease;
}
.btn::before{
  content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;z-index:-1;
  background:linear-gradient(115deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-20deg);transition:left .65s ease;pointer-events:none;
}
.btn:hover,.btn:focus-visible{background:var(--petroleo-escuro);border-color:var(--mel);transform:translateY(-2px);box-shadow:0 16px 36px rgba(30,63,59,.32)}
.btn:hover::before,.btn:focus-visible::before{left:130%}
.btn .ic{width:1.3em;height:1.3em}
.btn--vazado{background:transparent;color:var(--petroleo);border-color:rgba(45,90,85,.35);box-shadow:none}
.btn--vazado:hover,.btn--vazado:focus-visible{background:rgba(45,90,85,.07);color:var(--petroleo-escuro)}
.btn--claro{background:var(--creme);color:var(--petroleo-escuro);border-color:var(--creme);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.btn--claro:hover,.btn--claro:focus-visible{background:#fff;color:var(--petroleo-escuro)}
.btn--linha-clara{background:transparent;color:var(--creme);border-color:rgba(247,243,236,.4);box-shadow:none}
.btn--linha-clara:hover,.btn--linha-clara:focus-visible{background:rgba(247,243,236,.08);color:#fff}
.zap-ic{fill:currentColor;stroke:none}

/* ---------------- topo ---------------- */
.topo{
  position:sticky;top:0;z-index:60;
  background:rgba(247,243,236,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linha);
  transition:background .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.topo--rolado{box-shadow:0 10px 30px rgba(30,63,59,.07)}
.js .com-hero .topo:not(.topo--rolado){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent}
.topo__linha{display:flex;align-items:center;gap:1rem;min-height:var(--topo-h)}
.marca{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--petroleo);flex:none}
.marca__simbolo{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:5.5;stroke-linecap:round}
.marca__texto{display:flex;flex-direction:column;line-height:1}
.marca__nome{font:500 1.62rem/1 var(--marca);letter-spacing:-.01em;color:var(--petroleo)}
.marca__sub{font:700 .5rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--tinta-suave);margin-top:.38rem}
.menu{display:none;margin-left:auto;gap:1.6rem}
.menu a{position:relative;display:flex;align-items:center;min-height:48px;text-decoration:none;color:var(--tinta);font-weight:600;font-size:.95rem}
.menu a::after{content:"";position:absolute;left:0;right:0;bottom:11px;height:2px;border-radius:2px;background:var(--mel);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--suave)}
.menu a:hover,.menu a[aria-current="page"]{color:var(--petroleo)}
.menu a:hover::after,.menu a[aria-current="page"]::after{transform:scaleX(1)}
.topo__cta{margin-left:auto;min-height:46px;padding:.65rem 1.2rem;font-size:.92rem;white-space:nowrap}
.menu-btn{
  display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:none;
  border:1px solid var(--linha);border-radius:50%;background:var(--papel);color:var(--petroleo);cursor:pointer;
}
.menu-btn .ic{width:22px;height:22px}
/* seis itens desde 02/11/2026 (entrou Programas): o menu inteiro só a partir de 1260. Com
   1160 o botão do topo das páginas de programa (texto mais comprido) ficava cortado */
@media (min-width:1260px){
  .menu{display:flex}
  .topo__cta{margin-left:1.4rem}
  .menu-btn{display:none}
}
@media (max-width:440px){
  .marca__simbolo{width:36px;height:36px}
  .marca__nome{font-size:1.38rem}
  .marca__sub{font-size:.44rem;letter-spacing:.2em}
}
/* botão do topo (02/11/2026, ele: "no mobile saiu muito gordo"): entre 480 e 600 o texto
   quebrava em três linhas, e de 390 a 430 o botão espremia e cortava até o "Agendar".
   Agora nunca quebra: abaixo de 640 some o "pelo WhatsApp", abaixo de 540 fica só o ícone
   num círculo que não encolhe (o botão flutuante do WhatsApp segue no canto). O texto
   escondido continua lido pelo leitor de tela */
@media (max-width:639px){
  .topo__cta .cta-mais{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
@media (max-width:539px){
  .topo__cta{flex:none;width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;gap:0}
  .topo__cta > span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .topo__cta .ic{width:24px;height:24px}
}
@media (max-width:400px){.topo__linha{gap:.6rem}}   /* logo, círculo e menu cabem a partir de 341 */
@media (max-width:340px){.topo__cta{display:none}.menu-btn{margin-left:auto}}

/* gaveta do celular */
.gaveta{
  position:fixed;inset:0;z-index:90;display:flex;justify-content:flex-end;
  background:rgba(22,48,45,.45);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s;
}
.gaveta--aberta{opacity:1;visibility:visible}
.gaveta__painel{
  width:min(360px,88vw);height:100%;overflow-y:auto;background:var(--creme);
  padding:1.2rem 1.4rem 2rem;display:flex;flex-direction:column;gap:.3rem;
  transform:translateX(100%);transition:transform .38s var(--suave);
}
.gaveta--aberta .gaveta__painel{transform:none}
.gaveta__fechar{align-self:flex-end;margin-bottom:.8rem}
.gaveta a:not(.btn){display:flex;align-items:center;min-height:52px;border-bottom:1px solid var(--linha);text-decoration:none;color:var(--tinta);font-weight:600;font-size:1.08rem}
.gaveta .btn{margin-top:1.2rem}
.gaveta__grupo{font:700 .72rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-suave);margin:1.2rem 0 .2rem}

/* =====================================================================
   HERO, coberto pelo scroll (o do site do Marcelo)
   A página sobe por cima do topo como uma folha. --cobre (0 a 1) recua o
   conteúdo enquanto é coberto. Sem JS o sticky continua, só não recua.
   ===================================================================== */
.hero{
  position:sticky;top:var(--hero-topo,0px);z-index:0;isolation:isolate;
  min-height:100vh;min-height:100svh;display:flex;align-items:center;
  margin-top:calc(-1 * var(--topo-h));
  padding:calc(var(--topo-h) + 2.6rem) 0 clamp(3.4rem,7vw,5rem);
  background:
    radial-gradient(60% 55% at 82% 30%,rgba(181,196,168,.38),transparent 70%),
    radial-gradient(45% 45% at 8% 92%,rgba(229,183,174,.26),transparent 70%),
    var(--creme);
  overflow:hidden;
}
.hero--coberto{visibility:hidden}
.hero__grade{
  position:relative;z-index:2;display:grid;gap:clamp(2.4rem,5vw,4rem);align-items:center;
  opacity:calc(1 - var(--cobre,0) * .7);transform:scale(calc(1 - var(--cobre,0) * .04));transform-origin:50% 30%;
}
@media (min-width:960px){.hero__grade{grid-template-columns:1fr 1fr}}
.hero__texto{max-width:560px}
.hero h1{font-size:clamp(2.9rem,7vw,5.2rem);line-height:1.02;margin:1.1rem 0 1.3rem;color:var(--petroleo-escuro)}
.hero h1 em{font-style:italic;color:var(--petroleo);position:relative;white-space:nowrap}
.hero h1 em::after{
  content:"";position:absolute;left:2%;right:2%;bottom:.04em;height:.12em;border-radius:99px;
  background:var(--rosa);opacity:.75;z-index:-1;transform-origin:left;
}
.js .hero h1 em::after{transform:scaleX(0)}
.pronto .hero h1 em::after{animation:sublinha 1.1s .75s var(--suave) forwards}
@keyframes sublinha{to{transform:scaleX(1)}}
.hero__sub{font-size:clamp(1.08rem,1.6vw,1.22rem);color:var(--tinta-suave);max-width:540px}
.hero__acoes{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hero__fatos{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;padding:0;list-style:none}
.fato{
  display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:999px;
  background:rgba(252,250,246,.8);border:1px solid var(--linha);font-size:.9rem;font-weight:600;color:var(--tinta);
}
.fato .ic{width:1.05em;height:1.05em;color:var(--petroleo)}
.fato .estrela{fill:var(--mel);stroke:var(--mel)}
.compo__estrelas{display:flex;gap:2px;color:var(--mel)}
.compo__estrelas .ic{width:13px;height:13px;fill:currentColor;stroke:none}

/* =====================================================================
   CAPA: a metade direita é das salas
   ---------------------------------------------------------------------
   Pedido dele em 13/10/2026: o texto ficou bom, o lado direito "pouco
   visual". Agora a foto ocupa a metade da tela, de cima a baixo, encostada
   na borda direita, com um arco grande no canto de cima (o arco é o mesmo
   das janelas das páginas internas). As quatro salas passam sozinhas com
   zoom lento; a barrinha de cada uma enche no tempo da troca e o fim da
   animação dela é o que dispara a próxima (pausa = animation-play-state).
   No celular a foto vira uma janela em arco em cima do texto.
   ===================================================================== */
.capa{flex-direction:column;align-items:stretch;justify-content:center;padding-top:calc(var(--topo-h) + 12px)}
.capa__fotos{
  --raio-capa:999px 999px 28px 28px;
  position:relative;z-index:1;margin:0 16px 2.4rem;height:min(56vh,500px);
  border-radius:var(--raio-capa);overflow:hidden;isolation:isolate;
  background:var(--areia);box-shadow:var(--sombra-forte);
  opacity:calc(1 - var(--cobre,0) * .6);
}
.capa__moldura,.capa__nota{display:none}
@media (min-width:960px){
  .capa{flex-direction:row;align-items:center;padding-top:calc(var(--topo-h) + 2rem)}
  .capa__fotos{
    --raio-capa:clamp(170px,17vw,300px) 0 0 40px;
    position:absolute;top:calc(var(--topo-h) + 10px);right:0;bottom:22px;width:49vw;height:auto;margin:0;
  }
  /* o contorno areia deslocado atrás da foto, andando devagar no parallax */
  .capa__moldura{
    display:block;position:absolute;z-index:0;top:calc(var(--topo-h) + 36px);right:26px;bottom:-4px;width:49vw;
    border:2px solid var(--mel);border-radius:clamp(170px,17vw,300px) 0 0 40px;opacity:.75;pointer-events:none;
  }
  /* a nota do Google no canto de cima da foto (pendurada na borda, batia nos botões) */
  .capa__nota{
    display:flex;position:absolute;z-index:3;right:34px;top:calc(var(--topo-h) + 34px);align-items:center;gap:.75rem;
    padding:.85rem 1.1rem;border-radius:20px;background:var(--papel);box-shadow:var(--sombra-forte);
  }
  .capa__nota b{font:600 1.9rem/1 var(--serif);color:var(--petroleo-escuro)}
  .capa__nota span{display:block;font-size:.8rem;line-height:1.35;color:var(--tinta-suave)}
  .capa__nota .compo__estrelas{display:flex}
}
.capa__slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.3s ease}
.capa__slide.ativo{opacity:1;z-index:1}
.capa__slide img{width:100%;height:100%;object-fit:cover}
.capa__slide.ativo img{animation:kenburns 7.5s linear both}
@keyframes kenburns{from{transform:scale(1.14)}to{transform:scale(1.02)}}
.capa__fotos::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;z-index:2;background:linear-gradient(to top,rgba(22,48,45,.74),rgba(22,48,45,0));pointer-events:none}
.capa__barra{
  position:absolute;z-index:3;left:clamp(1.2rem,3vw,2.6rem);right:clamp(1rem,3vw,2.4rem);bottom:clamp(1rem,3vw,2.2rem);
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.6rem 1rem;color:#fff;
}
.capa__legenda{display:flex;align-items:baseline;gap:.8rem;margin:0;font:500 clamp(1.25rem,2.1vw,1.75rem)/1.15 var(--serif);text-shadow:0 2px 14px rgba(0,0,0,.25)}
.capa__num{font:800 .78rem/1 var(--sans);letter-spacing:.16em;color:var(--mel)}
.capa__pontos{display:flex;gap:.2rem}
.capa__ponto{display:grid;place-items:center;width:44px;height:36px;padding:0;background:none;border:0;cursor:pointer}
.capa__ponto i{position:relative;display:block;width:100%;height:4px;border-radius:4px;background:rgba(255,255,255,.38);overflow:hidden}
.capa__ponto i::after{content:"";position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.capa__ponto.ativo i::after{animation:enche var(--tempo,6.5s) linear forwards}
.capa--pausa .capa__ponto.ativo i::after{animation-play-state:paused}
.capa__ponto:focus-visible{outline-color:#fff}
@keyframes enche{to{transform:scaleX(1)}}

/* entrada da capa, quando a abertura abre (ou de cara, pra quem já viu) */
.js .capa .hero__texto > *{opacity:0;transform:translateY(22px)}
.pronto .capa .hero__texto > *{animation:sobe .95s var(--suave) forwards}
.pronto .capa .hero__texto > :nth-child(2){animation-delay:.08s}
.pronto .capa .hero__texto > :nth-child(3){animation-delay:.18s}
.pronto .capa .hero__texto > :nth-child(4){animation-delay:.28s}
.pronto .capa .hero__texto > :nth-child(5){animation-delay:.38s}
.js .capa__fotos{clip-path:inset(0 0 0 100%)}
.pronto .capa__fotos{animation:revela 1.3s .1s cubic-bezier(.7,0,.2,1) forwards}
.js .capa__nota{opacity:0}
.pronto .capa__nota{animation:aparece .7s 1.1s ease forwards}
@keyframes sobe{to{opacity:1;transform:none}}
@keyframes revela{to{clip-path:inset(0 0 0 0)}}
@keyframes aparece{to{opacity:1}}

/* =====================================================================
   ABERTURA
   ---------------------------------------------------------------------
   Pedido dele em 13/10/2026 ("coloque uma animação inicial"). Pra remover:
   apagar o <div class="intro"> do index, este bloco e o bloco 1 do site.js.
   A sequência é a marca se montando:
     - as três bolinhas (as da parede da sala infantil) caem e quicam;
     - o traço do símbolo se desenha: braços abrem, o laço desce;
     - a cabeça aparece com uma mola;
     - "bemviver" se escreve letra por letra, "centro integrado de saúde" assenta;
     - a tela abre A PARTIR DA CABEÇA do símbolo (máscara radial), como janela.
   Uma vez por sessão, pula com clique ou Esc, saída de segurança aos 6s.
   ===================================================================== */
@property --abre{syntax:"<length>";inherits:false;initial-value:0px}
html.com-intro{overflow:hidden}
.intro{
  display:none;position:fixed;inset:0;z-index:200;overflow:hidden;cursor:pointer;
  background:radial-gradient(120% 90% at 50% 42%,#FCFAF6 0%,var(--creme) 55%,#EEE6D8 100%);
}
.com-intro .intro{display:block}
.intro__centro{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:.9rem;padding:2rem;transition:opacity .45s ease,transform 1s var(--suave)}
.intro__bolas{display:flex;gap:14px;height:14px;margin-bottom:.6rem}
.intro__bolas span{width:14px;height:14px;border-radius:50%;opacity:0;animation:cai .95s cubic-bezier(.3,0,.4,1) forwards}
.intro__bolas span:nth-child(1){background:var(--rosa);animation-delay:.1s}
.intro__bolas span:nth-child(2){background:var(--mel);animation-delay:.24s}
.intro__bolas span:nth-child(3){background:var(--folha);animation-delay:.38s}
@keyframes cai{
  0%{opacity:1;transform:translateY(-55vh)}
  55%{transform:translateY(0)}
  72%{transform:translateY(-18px)}
  86%{transform:translateY(0)}
  93%{transform:translateY(-5px)}
  100%{opacity:1;transform:none}
}
.intro__simbolo{width:min(40vw,180px);height:auto;overflow:visible;fill:none;stroke:var(--petroleo);stroke-width:4.4;stroke-linecap:round}
.intro__traco{stroke-dasharray:1;stroke-dashoffset:1;animation:traca 1.35s .6s cubic-bezier(.65,0,.35,1) forwards}
.intro__cabeca{transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.2);animation:cabeca .75s 1.75s var(--mola) forwards}
@keyframes traca{to{stroke-dashoffset:0}}
@keyframes cabeca{to{opacity:1;transform:scale(1)}}
.intro__nome{display:flex;margin:.5rem 0 0;font:500 clamp(2.5rem,9vw,3.7rem)/1 var(--marca);color:var(--petroleo);letter-spacing:-.01em}
.intro__nome span{opacity:0;transform:translateY(16px);animation:letra .55s var(--suave) forwards;animation-delay:calc(1.95s + var(--l) * 55ms)}
@keyframes letra{to{opacity:1;transform:none}}
.intro__sub{margin:0;font:700 .7rem/1 var(--sans);text-transform:uppercase;letter-spacing:1em;padding-left:1em;color:var(--tinta-suave);opacity:0;animation:assenta 1s 2.45s var(--suave) forwards}
@keyframes assenta{to{opacity:1;letter-spacing:.3em;padding-left:.3em}}
.intro__pular{
  position:absolute;right:1.1rem;bottom:1.1rem;z-index:4;min-height:44px;
  font:600 .82rem var(--sans);letter-spacing:.06em;color:var(--tinta-suave);
  background:rgba(255,255,255,.6);border:1px solid var(--linha);border-radius:999px;padding:.55rem 1.1rem;cursor:pointer;transition:opacity .3s;
}
/* a saída: a tela abre a partir da cabeça do símbolo. --cx/--cy vêm do JS.
   Sem @property o --abre não interpola: o fade garante a saída mesmo assim */
.intro.sai{
  animation:abre-janela 1.15s cubic-bezier(.7,0,.25,1) forwards;pointer-events:none;
  -webkit-mask-image:radial-gradient(circle at var(--cx,50%) var(--cy,42%),transparent var(--abre),#000 calc(var(--abre) + 36px));
          mask-image:radial-gradient(circle at var(--cx,50%) var(--cy,42%),transparent var(--abre),#000 calc(var(--abre) + 36px));
}
.intro.sai .intro__centro{opacity:0;transform:scale(1.06)}
.intro.sai .intro__pular{opacity:0}
@keyframes abre-janela{0%{--abre:0px;opacity:1}85%{opacity:1}100%{--abre:160vmax;opacity:0}}
/* com "reduzir movimento": a marca só aparece e a tela dissolve */
.intro-calma .intro__bolas span,.intro-calma .intro__nome span,.intro-calma .intro__cabeca,.intro-calma .intro__sub{animation:aparece .5s .1s ease forwards;transform:none}
.intro-calma .intro__traco{stroke-dashoffset:0;animation:none}
.intro-calma .intro__sub{letter-spacing:.3em;padding-left:.3em}
.intro-calma .intro.sai{animation:none;opacity:0;transition:opacity .5s ease;-webkit-mask-image:none;mask-image:none}

/* bolinhas: as da parede da sala infantil. Três camadas, três propriedades:
   .ponto anda com o parallax (translate), o <i> foge do cursor (transform)
   e o ::before flutua (animação). Uma não pisa na outra. */
.pontos{position:absolute;inset:0;z-index:1;pointer-events:none}
.ponto{position:absolute;left:var(--x);top:var(--y);width:var(--t);height:var(--t)}
.ponto i{display:block;width:100%;height:100%;transition:transform .7s var(--mola)}
.ponto i::before{content:"";display:block;width:100%;height:100%;border-radius:50%;background:var(--c);opacity:.85;animation:flutua var(--d,7s) ease-in-out infinite alternate}
@keyframes flutua{from{transform:translateY(-6px)}to{transform:translateY(7px)}}

/* :where() zera a especificidade: seção com fundo próprio continua mandando.
   Sem isto, seção transparente deixa o topo travado aparecer por trás. */
:where(main > section:not(.hero)){background-color:var(--creme)}
main > section:not(.hero),main > .faixa{position:relative;z-index:1}

/* ---------------- faixa de frase (marquee leve, parado em reduzir movimento) ---------------- */
.faixa{background:var(--petroleo);color:var(--creme);overflow:hidden;padding:1.1rem 0;border-radius:28px 28px 0 0;margin-top:-28px}
.faixa__trilho{display:flex;width:max-content;gap:2.4rem;animation:corre 38s linear infinite}
.faixa__item{display:flex;align-items:center;gap:2.4rem;font:500 1.15rem/1 var(--serif);font-style:italic;white-space:nowrap}
.faixa__item::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--mel)}
@keyframes corre{to{transform:translateX(-50%)}}

/* ---------------- especialidades ---------------- */
.esp{display:grid;gap:1.1rem}
@media (min-width:680px){.esp{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.esp{grid-template-columns:repeat(3,1fr)}}
.esp__card{
  --tom:var(--folha);--tom-fundo:var(--folha-fundo);
  position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:.9rem;
  padding:1.7rem 1.6rem 1.5rem;border-radius:var(--raio);background:var(--papel);border:1px solid var(--linha);
  text-decoration:none;color:var(--tinta);
  transition:transform .35s var(--suave),box-shadow .35s var(--suave),border-color .35s;
}
.esp__card::before{
  content:"";position:absolute;z-index:-1;width:76px;height:76px;left:1.6rem;top:1.7rem;border-radius:50%;
  background:var(--tom-fundo);transform:scale(1);transition:transform .6s var(--suave);
}
.esp__card:hover,.esp__card:focus-visible{transform:translateY(-6px);box-shadow:var(--sombra);border-color:transparent}
.esp__card:hover::before,.esp__card:focus-visible::before{transform:scale(9)}
.esp__icone{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;color:var(--petroleo)}
.esp__icone .ic{width:34px;height:34px;stroke-width:1.6}
.esp__card h3{font-size:1.5rem}
.esp__para{color:var(--tinta-suave);font-size:.98rem}
.esp__sinais{list-style:none;display:grid;gap:.4rem;font-size:.95rem}
.esp__sinais li{display:flex;gap:.55rem;align-items:baseline}
.esp__sinais li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--tom);transform:translateY(-1px)}
.esp__quem{font-size:.86rem;color:var(--tinta-suave);border-top:1px dashed var(--linha);padding-top:.8rem;margin-top:auto}
.esp__ir{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--petroleo)}
.esp__ir .ic{transition:transform .3s var(--suave)}
.esp__card:hover .esp__ir .ic{transform:translateX(4px)}
/* o oitavo card leva pro guia: fecha a grade e dá saída a quem não se achou */
.esp__card--guia{background:var(--petroleo);border-color:var(--petroleo);color:var(--creme);--tom-fundo:rgba(247,243,236,.12)}
.esp__card--guia h3{color:var(--creme)}
.esp__card--guia .esp__para{color:#D2DDD7}
.esp__card--guia .esp__icone{color:var(--mel)}
.esp__card--guia .esp__icone svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round}
.esp__card--guia .esp__ir{color:var(--mel);margin-top:auto}
@media (min-width:1020px){.esp__card--guia{grid-column:span 2}}

/* 29/10/2026, modelo que ele trouxe: imagem de ponta a ponta no topo, número, olho,
   etiquetas e quem atende no pé com a foto dela */
.esp__card--foto{padding:0 0 1.3rem;gap:.6rem}
.esp__card--foto > :not(.esp__foto){margin-left:1.4rem;margin-right:1.4rem}
.esp__foto{position:relative;display:block;aspect-ratio:2/1;overflow:hidden;margin-bottom:.5rem;background:var(--areia)}
.esp__foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--suave)}
.esp__num{position:absolute;top:.75rem;right:.8rem;padding:.38rem .6rem;border-radius:99px;font:800 .7rem/1 var(--sans);font-style:normal;
  letter-spacing:.12em;color:#fff;background:rgba(22,48,45,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.esp__card--foto:hover .esp__foto img{transform:scale(1.06)}
.esp__olho{font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#5E7A70}
.esp__card--foto h3{font-size:1.6rem;margin-top:-.25rem}
.esp__tags{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem}
.esp__tags li{font-size:.8rem;font-weight:600;padding:.32rem .7rem;border-radius:99px;background:var(--tom-fundo);color:var(--petroleo-escuro)}
.esp__pe{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:auto;padding-top:1rem;border-top:1px solid var(--linha)}
.esp__pe .esp__quem{display:flex;align-items:center;gap:.6rem;border:0;padding:0;margin:0;font-size:.8rem;line-height:1.3}
.esp__quem b{display:block;font-size:.84rem;font-weight:700;color:var(--tinta)}
.esp__avatar{flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:center 22%;
  box-shadow:0 0 0 2px var(--papel),0 0 0 3px var(--tom)}
/* 02/11/2026, pedido da Carine: as duas profissionais lado a lado no pé, sem uma na frente */
.esp__duo{display:flex;flex:none}
.esp__duo .esp__avatar + .esp__avatar{margin-left:-11px}
.esp__avatar--simbolo{display:grid;place-items:center;background:var(--tom-fundo)}
.esp__avatar--simbolo svg{width:24px;height:24px;fill:none;stroke:var(--petroleo);stroke-width:5;stroke-linecap:round}
.esp__card--foto .esp__ir{flex:none;gap:.55rem}
.esp__seta{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--linha);font-style:normal;
  transition:background .3s,color .3s,border-color .3s}
.esp__seta .ic{width:16px;height:16px;transform:rotate(-45deg)}
.esp__card--foto:hover .esp__seta{background:var(--petroleo);border-color:var(--petroleo);color:var(--creme)}
.esp__card--foto:hover .esp__seta .ic{transform:rotate(-45deg) translateX(2px)}
/* o oitavo card, no mesmo tom do modelo: anéis no canto e o convite virando botão */
.esp__card--guia{background:radial-gradient(circle at 100% 0,transparent 0 120px,rgba(247,243,236,.07) 121px 122px,transparent 123px 190px,rgba(247,243,236,.06) 191px 192px,transparent 193px),
  linear-gradient(135deg,var(--petroleo),var(--petroleo-escuro))}
.esp__card--guia .esp__ir{align-self:flex-start;margin-top:.4rem;padding:.8rem 1.2rem;border-radius:999px;background:var(--creme);color:var(--petroleo-escuro)}
@media (max-width:420px){.esp__pe{flex-wrap:wrap}}

/* ---------------- guia "por onde começar?" ---------------- */
.guia-sec{background:var(--petroleo-escuro);color:var(--creme);overflow:hidden}
.guia-sec .secao__cab h2{color:var(--creme)}
.guia-sec .secao__cab h2 em{color:var(--mel)}
.guia-sec .secao__cab p{color:#C9D6CF}
.guia-sec__simbolo{position:absolute;right:-8%;top:-10%;width:min(560px,70vw);opacity:.07;fill:none;stroke:var(--creme);stroke-width:2.5;stroke-linecap:round;pointer-events:none}
.guia{display:grid;gap:1.6rem;align-items:start}
@media (min-width:980px){.guia{grid-template-columns:1.25fr .9fr;gap:2.4rem}}
.guia__passos{display:grid;gap:1.1rem}
.passo{border:1px solid rgba(247,243,236,.16);border-radius:var(--raio);padding:1.4rem 1.3rem 1.5rem;margin:0;min-width:0;background:rgba(255,255,255,.03);transition:opacity .4s ease,transform .5s var(--suave)}
.passo legend{display:flex;align-items:center;gap:.7rem;padding:0;font:500 1.3rem/1.25 var(--serif);color:var(--creme);margin-bottom:1rem;float:left;width:100%}
.passo legend + *{clear:both}
.passo__n{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:var(--mel);color:var(--petroleo-escuro);font:700 .9rem/1 var(--sans)}
.passo--espera{opacity:.38;pointer-events:none}
.passo__dica{font-size:.88rem;color:#B9C9C1;margin:-.3rem 0 .9rem;clear:both}
.chips{display:flex;flex-wrap:wrap;gap:.55rem}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chip span{
  display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.55rem 1rem;border-radius:999px;
  border:1px solid rgba(247,243,236,.3);color:var(--creme);font-size:.95rem;font-weight:600;line-height:1.25;
  transition:background .25s,color .25s,border-color .25s,transform .35s var(--mola);
}
.chip span::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid currentColor;flex:none;transition:background .25s}
.chip:hover span{border-color:rgba(247,243,236,.65)}
.chip input:focus-visible + span{outline:3px solid var(--mel);outline-offset:2px}
.chip input:checked + span{background:var(--creme);color:var(--petroleo-escuro);border-color:var(--creme);transform:scale(1.03)}
.chip input:checked + span::before{background:var(--petroleo);border-color:var(--petroleo)}
.guia__res{
  position:relative;border-radius:28px;background:var(--creme);color:var(--tinta);padding:1.6rem 1.5rem 1.6rem;
  box-shadow:0 30px 80px rgba(0,0,0,.25);
}
@media (min-width:980px){.guia__res{position:sticky;top:calc(var(--topo-h) + 20px)}}
.guia__res h3{font-size:1.45rem;margin-bottom:.4rem}
.guia__vazio{color:var(--tinta-suave);font-size:.98rem}
.guia__vazio-fig{width:92px;height:92px;margin:0 auto 1rem;fill:none;stroke:var(--salvia);stroke-width:4;stroke-linecap:round}
.guia__lista{list-style:none;display:grid;gap:.7rem;margin:1rem 0 1.2rem}
.guia__item{
  display:grid;grid-template-columns:auto 1fr;gap:.2rem .8rem;align-items:center;
  padding:.85rem .95rem;border-radius:18px;background:var(--papel);border:1px solid var(--linha);
  animation:entra .5s var(--mola) both;animation-delay:calc(var(--i,0) * 90ms);
}
@keyframes entra{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.guia__item-ic{grid-row:span 2;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--folha-fundo);color:var(--petroleo)}
.guia__item-ic .ic{width:22px;height:22px}
.guia__item b{font:600 1.05rem/1.25 var(--serif);color:var(--petroleo-escuro)}
.guia__item small{font-size:.86rem;color:var(--tinta-suave);line-height:1.35}
.guia__item a{font-weight:700;font-size:.86rem}
.guia__msg{font-size:.84rem;color:var(--tinta-suave);background:var(--areia);border-radius:14px;padding:.7rem .85rem;margin-bottom:1rem;white-space:pre-line}
.guia__msg b{color:var(--tinta)}
.guia__res .btn{width:100%}
.guia__aviso{font-size:.8rem;color:var(--tinta-suave);margin-top:.9rem;line-height:1.45}
.guia__limpar{background:none;border:0;padding:.4rem 0;margin-top:.4rem;color:var(--petroleo);font-weight:700;font-size:.86rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.sem-js-guia{display:none}

/* 29/10/2026, pedido dele ("mais visual, só pra facilitar"): o passo 1 vira três
   cartões com ícone, cada sinal ganha ícone e caixinha de marcar, o convênio mostra a
   logo, o número do passo vira check quando respondido e o painel mostra a trilha */
.passo__n svg{display:none;width:16px;height:16px;stroke-width:3}
.passo--feito{border-color:rgba(220,195,148,.38)}
.passo--feito .passo__n{background:var(--folha)}
.passo--feito .passo__n b{display:none}
.passo--feito .passo__n svg{display:block}
.chip--quem span::before,.chip--sinal span::before,.chip--conv span::before{display:none}
.chip--quem,.chip--sinal,.chip--conv{display:flex}
.chip--quem span,.chip--sinal span,.chip--conv span{width:100%;background:rgba(255,255,255,.04)}
.chip__ic{display:grid;place-items:center;flex:none;width:52px;height:52px;border-radius:50%;
  background:rgba(247,243,236,.1);color:var(--mel);transition:background .25s,color .25s}
.chip__ic .ic{width:26px;height:26px;stroke-width:1.7}
.chip input:checked + span .chip__ic{background:var(--petroleo);color:var(--creme)}

.chips--quem{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
.chip--quem span{flex-direction:column;justify-content:center;gap:.7rem;min-height:132px;padding:1.1rem .8rem;
  border-radius:22px;text-align:center;font-size:1rem}
.chip--quem input:checked + span{transform:translateY(-3px)}

.chips--sinais{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.55rem}
.chip--sinal span{gap:.7rem;padding:.6rem .75rem .6rem .6rem;border-radius:16px;font-size:.92rem;text-align:left}
.chip--sinal .chip__ic{width:40px;height:40px}
.chip--sinal .chip__ic .ic{width:20px;height:20px}
.chip__marca{display:grid;place-items:center;flex:none;width:22px;height:22px;margin-left:auto;border-radius:7px;
  border:1.5px solid rgba(247,243,236,.4);transition:background .25s,border-color .25s}
.chip__marca .ic{width:14px;height:14px;stroke-width:3;opacity:0;transform:scale(.4);transition:opacity .2s,transform .3s var(--mola)}
.chip--sinal input:checked + span{transform:none}
.chip--sinal input:checked + span .chip__marca{background:var(--petroleo);border-color:var(--petroleo);color:var(--creme)}
.chip--sinal input:checked + span .chip__marca .ic{opacity:1;transform:none}

.chips--conv{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.55rem}
.chip--conv span{flex-direction:column;gap:.45rem;padding:.55rem .55rem .65rem;border-radius:16px;font-size:.84rem;text-align:center}
.chip__logo{display:flex;align-items:center;justify-content:center;width:100%;height:50px;padding:0 .6rem;border-radius:10px;background:#fff;overflow:hidden}
.chip__logo img{max-width:100%;max-height:36px;width:auto;height:auto;object-fit:contain}
.chip__logo--ic{background:rgba(247,243,236,.1);color:var(--mel);transition:background .25s,color .25s}
.chip__logo--ic .ic{width:24px;height:24px}
.chip--conv input:checked + span{transform:translateY(-2px)}
.chip--conv input:checked + span .chip__logo{box-shadow:0 0 0 2px var(--petroleo)}
.chip--conv input:checked + span .chip__logo--ic{background:var(--petroleo);color:var(--creme)}

.guia__item-foto{grid-row:span 2;width:52px;height:52px;border-radius:50%;object-fit:cover;object-position:center 22%;
  box-shadow:0 0 0 3px var(--papel),0 0 0 4px var(--linha)}
/* 02/11/2026: psicologia com as duas profissionais, lado a lado */
.guia__item-fotos{grid-row:span 2;display:flex}
.guia__item-fotos .guia__item-foto + .guia__item-foto{margin-left:-16px}
/* lembrete do programa que combina com o que foi marcado (IPD, CAA) */
.guia__prog{font-size:.86rem;line-height:1.45;color:var(--tinta);background:var(--mel-fundo);border-left:3px solid var(--mel);border-radius:0 12px 12px 0;padding:.6rem .8rem;margin:-.3rem 0 1rem}
.guia__prog a{font-weight:700}
.guia__trilha{list-style:none;display:grid;gap:.6rem;margin:1.2rem 0 0;padding:1.1rem 0 0;border-top:1px solid var(--linha)}
.guia__trilha li{display:grid;grid-template-columns:auto 1fr;column-gap:.75rem;align-items:center}
.guia__trilha-n{grid-row:span 2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;
  border:1.5px dashed var(--salvia);color:var(--tinta-suave);font:700 .82rem/1 var(--sans);transition:background .3s}
.guia__trilha-n .ic{width:15px;height:15px;stroke-width:3}
.guia__trilha li.feito .guia__trilha-n{background:var(--petroleo);border-color:var(--petroleo);color:var(--creme)}
.guia__trilha b{font-size:.93rem;color:var(--tinta)}
.guia__trilha li:not(.feito) b{color:var(--tinta-suave);font-weight:600}
.guia__trilha small{font-size:.82rem;color:var(--tinta-suave);line-height:1.3}
@media (max-width:520px){
  .chips--quem{gap:.45rem}
  .chip--quem span{min-height:118px;padding:.9rem .45rem;font-size:.88rem;border-radius:18px}
  .chip--quem .chip__ic{width:46px;height:46px}
  .chips--sinais{grid-template-columns:1fr}
  .chips--conv{grid-template-columns:repeat(2,1fr)}
}
html:not(.js) .guia{display:none}
html:not(.js) .sem-js-guia{display:block}

/* ---------------- tudo no mesmo endereço ---------------- */
.junto{display:grid;gap:1rem}
@media (min-width:820px){.junto{grid-template-columns:repeat(3,1fr)}}
.junto__item{display:flex;gap:1rem;align-items:flex-start;padding:1.4rem;border-radius:var(--raio);background:var(--papel);border:1px solid var(--linha)}
.junto__ic{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:16px;background:var(--salvia-clara);color:var(--petroleo)}
.junto__ic .ic{width:26px;height:26px}
.junto__item h3{font-size:1.2rem;margin-bottom:.35rem}
.junto__item p{font-size:.96rem;color:var(--tinta-suave)}

/* ---------------- o espaço (fotos reais) ----------------
   02/11/2026, fotos da Carine: quatro colunas em três faixas. Retrato ocupa uma
   coluna e duas linhas, paisagem (--largo) duas e duas. Tocar abre o visor */
.espaco{display:grid;gap:.9rem}
@media (min-width:860px){
  .espaco{grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(150px,15.5vw,188px);grid-auto-flow:dense}
  .espaco__f{grid-row:span 2}
  .espaco__f--largo{grid-column:span 2}
}
@media (max-width:859px){
  .espaco{grid-auto-flow:column;grid-auto-columns:78%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem;-webkit-overflow-scrolling:touch}
  .espaco__f{height:380px;scroll-snap-align:start}
}
.espaco__f{position:relative;display:block;margin:0;overflow:hidden;border-radius:var(--raio);background:var(--areia);text-decoration:none;cursor:zoom-in}
.espaco__f[hidden]{display:none}
.espaco__f img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--suave)}
.espaco__f:hover img,.espaco__f:focus-visible img{transform:scale(1.05)}
.espaco__leg{
  position:absolute;left:.7rem;right:.7rem;bottom:.7rem;padding:.6rem .85rem;border-radius:16px;
  background:rgba(252,250,246,.93);font-size:.84rem;color:var(--tinta-suave);line-height:1.35;
}
.espaco__leg b{display:block;font:600 1rem/1.3 var(--serif);color:var(--petroleo-escuro)}
.espaco__mais{display:flex;justify-content:center;margin-top:1.6rem}
html:not(.js) .espaco__mais{display:none}

/* ---------------- visor: a foto grande por cima da página ----------------
   Um <dialog> só, criado pelo site.js e reaproveitado por toda galeria da página */
.visor{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;
  background:rgba(15,32,30,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--creme);overflow:hidden}
.visor::backdrop{background:rgba(15,32,30,.5)}
.visor__fig{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;padding:4.6rem 5.4rem 1.6rem}
.visor__img{max-width:100%;max-height:calc(100% - 4.5rem);width:auto;height:auto;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.45);
  opacity:0;transition:opacity .3s ease}
.visor__img.pronta{opacity:1}
.visor__leg{font-size:.95rem;color:#C9D6CF;text-align:center;max-width:620px;line-height:1.45}
.visor__leg b{display:block;font:600 1.15rem/1.3 var(--serif);color:var(--creme)}
.visor__conta{position:absolute;top:1.5rem;left:1.5rem;margin:0;font:800 .82rem/1 var(--sans);letter-spacing:.14em;color:var(--mel)}
.visor__btn{position:absolute;z-index:1;display:grid;place-items:center;width:52px;height:52px;padding:0;border-radius:50%;
  border:1px solid rgba(247,243,236,.3);background:rgba(247,243,236,.08);color:var(--creme);cursor:pointer;transition:background .2s,border-color .2s}
.visor__btn:hover,.visor__btn:focus-visible{background:rgba(247,243,236,.2);border-color:var(--mel)}
.visor__btn .ic{width:22px;height:22px}
.visor__fechar{top:.9rem;right:.9rem}
.visor__ant,.visor__prox{top:50%;margin-top:-26px}
.visor__ant{left:1rem}
.visor__ant .ic{transform:rotate(180deg)}
.visor__prox{right:1rem}
@media (max-width:640px){
  .visor__fig{padding:4.2rem .9rem 6rem}
  .visor__ant,.visor__prox{top:auto;bottom:1.2rem;margin-top:0}
  .visor__ant{left:calc(50% - 64px)}
  .visor__prox{right:calc(50% - 64px)}
}
html.visor-aberto{overflow:hidden}

/* ---------------- equipe ---------------- */
.equipe{display:grid;gap:1.1rem}
@media (min-width:640px){.equipe{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.equipe{grid-template-columns:repeat(3,1fr)}}
.pessoa{
  --tom:var(--folha);--tom-fundo:var(--folha-fundo);
  display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.6rem;border-radius:var(--raio);
  background:var(--papel);border:1px solid var(--linha);
}
.pessoa__foto{position:relative;width:118px;height:118px;flex:none}
.pessoa__foto img,.pessoa__mono{width:100%;height:100%;border-radius:50%;object-fit:cover;border:5px solid var(--tom-fundo)}
.pessoa__foto::after{content:"";position:absolute;right:4px;bottom:6px;width:20px;height:20px;border-radius:50%;background:var(--tom);border:3px solid var(--papel)}
.pessoa__mono{display:grid;place-items:center;background:var(--tom-fundo);color:var(--petroleo)}
.pessoa__mono svg{width:58%;height:58%;fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round}
.pessoa h3{font-size:1.35rem}
.pessoa__papel{font-weight:700;color:var(--petroleo);font-size:.95rem;margin-top:-.4rem}
.pessoa p{font-size:.95rem;color:var(--tinta-suave)}
.etiquetas{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none}
.etiquetas li{font-size:.78rem;font-weight:700;padding:.3rem .65rem;border-radius:99px;background:var(--tom-fundo);color:var(--petroleo-escuro)}
/* a frase de cada profissional, tirada do card oficial dela (14/10/2026) */
.pessoa__frase{font:italic 500 1.08rem/1.45 var(--serif);color:var(--petroleo)!important;margin-top:-.15rem}
/* celular: oito pessoas empilhadas viravam uma parede; agora e trilho de arrastar */
@media (max-width:639px){
  .equipe{grid-auto-flow:column;grid-auto-columns:86%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.8rem;-webkit-overflow-scrolling:touch}
  .equipe > .pessoa{scroll-snap-align:start}
}
.quem-atende + .quem-atende{margin-top:2.4rem;padding-top:2.4rem;border-top:1px solid var(--linha)}
.pessoa__insta{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;font-size:.9rem;text-decoration:none;margin-top:auto}
.pessoa__insta:hover{text-decoration:underline}
/* chamada que fecha a grade da equipe (02/11/2026, no lugar do cartão do CAA). Com duas
   colunas ocupa a linha inteira, senão sobrava um buraco */
.pessoa--chamada{justify-content:center;border-color:var(--petroleo);color:var(--creme);
  background:linear-gradient(135deg,var(--petroleo),var(--petroleo-escuro))}
.pessoa--chamada h3{color:var(--creme)}
.pessoa--chamada p{color:#D2DDD7}
.pessoa--chamada .olho{color:var(--mel)}
.pessoa__link{color:var(--mel);font-weight:700;font-size:.92rem}
@media (min-width:640px) and (max-width:1019px){.pessoa--chamada{grid-column:1 / -1}}

/* ---------------- programas (02/11/2026) ----------------
   O treinamento de CAA em destaque, com três fotos reais do curso empilhadas; os
   outros dois usam o cartão das especialidades (.esp__card--foto) */
.prog-destaque{
  position:relative;isolation:isolate;overflow:hidden;display:grid;gap:2rem;align-items:center;
  padding:clamp(1.2rem,3vw,2.2rem);border-radius:32px;color:var(--creme);
  background:radial-gradient(circle at 100% 0,transparent 0 160px,rgba(247,243,236,.06) 161px 162px,transparent 163px 250px,rgba(247,243,236,.05) 251px 252px,transparent 253px),
    linear-gradient(135deg,var(--petroleo),var(--petroleo-escuro));
  box-shadow:var(--sombra-forte);
}
@media (min-width:900px){.prog-destaque{grid-template-columns:1fr 1.05fr;gap:3rem}}
.prog-destaque__fotos{position:relative;display:block;height:clamp(300px,42vw,470px)}
.prog-destaque__fotos img{position:absolute;object-fit:cover;border-radius:22px;border:5px solid rgba(247,243,236,.92);box-shadow:0 22px 50px rgba(0,0,0,.28);
  transition:transform .7s var(--suave)}
.prog-destaque__f1{left:0;top:0;width:58%;height:84%}
.prog-destaque__f2{right:0;top:6%;width:40%;height:50%}
.prog-destaque__f3{right:4%;bottom:0;width:56%;height:44%}
.prog-destaque:hover .prog-destaque__f1{transform:rotate(-1.5deg) scale(1.02)}
.prog-destaque:hover .prog-destaque__f2{transform:rotate(2deg) translateY(-4px)}
.prog-destaque:hover .prog-destaque__f3{transform:rotate(-1deg) translateY(4px)}
.prog-destaque__texto{display:flex;flex-direction:column;align-items:flex-start;gap:.95rem}
.prog-destaque .olho{color:var(--mel)}
.prog-destaque h3{font-size:clamp(2rem,4vw,2.8rem);color:var(--creme)}
.prog-destaque__frase{font:italic 500 clamp(1.1rem,1.8vw,1.3rem)/1.45 var(--serif);color:var(--mel)}
.prog-destaque__texto > p:not([class]){color:#D2DDD7}
.prog-destaque__chips{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none}
.prog-destaque__chips li{font-size:.82rem;font-weight:700;padding:.4rem .8rem;border-radius:99px;background:rgba(247,243,236,.1);border:1px solid rgba(247,243,236,.22)}
.prog-destaque__quem{display:flex;align-items:center;gap:.7rem;font-size:.84rem;color:#C9D6CF;line-height:1.3}
.prog-destaque__quem b{display:block;font-size:.92rem;color:var(--creme)}
.prog-destaque__quem .esp__avatar{--tom:var(--mel);box-shadow:0 0 0 2px var(--petroleo),0 0 0 3px var(--mel)}
.prog-destaque__acoes{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}
.prog-grade{display:grid;gap:1.2rem;margin-top:1.2rem}
@media (min-width:760px){.prog-grade{grid-template-columns:repeat(2,1fr)}}
.prog-grade .esp__foto{aspect-ratio:2.2/1}
.esp__num.prog-aviso{display:inline-flex;align-items:center;gap:.4rem;letter-spacing:.08em;text-transform:uppercase;background:rgba(30,63,59,.78)}
.prog-aviso .ic{width:14px;height:14px}

/* tom de cada card: depois de .esp__card e .pessoa, senão o padrão deles vence */
.tom-rosa{--tom:var(--rosa);--tom-fundo:var(--rosa-fundo)}
.tom-mel{--tom:var(--mel);--tom-fundo:var(--mel-fundo)}
.tom-folha{--tom:var(--folha);--tom-fundo:var(--folha-fundo)}

/* ---------------- convênios ---------------- */
.conv{display:grid;gap:2rem;align-items:center}
@media (min-width:900px){.conv{grid-template-columns:.85fr 1.15fr;gap:3rem}}
.conv__lista{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;list-style:none}
@media (min-width:560px){.conv__lista{grid-template-columns:repeat(3,1fr)}}
.conv__lista li{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;text-align:center;min-height:78px;padding:1rem .7rem .85rem;border-radius:18px;
  background:var(--papel);border:1px solid var(--linha);font:800 .92rem/1.2 var(--sans);color:var(--petroleo-escuro);letter-spacing:.01em;
  transition:transform .35s var(--mola),box-shadow .35s;
}
.conv__lista li:hover{transform:translateY(-3px);box-shadow:var(--sombra)}
/* Logo + nome escrito (27/10/2026), o mesmo esquema da Realce. O nome fica em
   texto porque é ele que indexa "fisioterapia Usisaúde Ipatinga"; por isso o
   alt da logo é vazio. Cada logo tem proporção diferente (Cenibra é quadrada,
   Fundaffemg quase cinco vezes mais larga que alta), então o tamanho vem por
   logo em --lw/--lh, no olho, pra todas pesarem igual.
   ⚠️ A img é absoluta de propósito: só assim o max-height em % conta sobre a
   caixa, que tem altura fixa. Como item de flex o % não tem onde se apoiar. */
.conv__logo{position:relative;width:100%;height:46px}
@media (min-width:560px){.conv__logo{height:54px}}
.conv__logo img{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:var(--lw,78%);max-height:var(--lh,100%)}
/* Sem logo da AAPI publicada em lugar nenhum: o card de parceria segue em texto,
   e no celular ocupa a linha inteira pra fechar a grade de nove. */
.conv__lista .conv__parceria{background:var(--petroleo);color:var(--creme);border-color:var(--petroleo);font-size:1.02rem}
@media (max-width:559px){.conv__lista .conv__parceria{grid-column:1 / -1}}
.conv__lista .conv__parceria small{display:block;font-weight:700;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mel);margin-bottom:.15rem}
.conv__nota{font-size:.88rem;color:var(--tinta-suave);margin-top:1rem}

/* ---------------- avaliações ---------------- */
.aval-sec{background:var(--areia)}
.aval{display:grid;gap:1.1rem}
@media (min-width:900px){.aval{grid-template-columns:.8fr 1fr 1fr 1fr;align-items:stretch}}
.aval__nota{display:flex;flex-direction:column;justify-content:center;gap:.4rem}
.aval__nota b{font:500 clamp(3.6rem,7vw,5rem)/1 var(--serif);color:var(--petroleo-escuro)}
.aval__nota .compo__estrelas .ic{width:20px;height:20px}
.aval__nota p{color:var(--tinta-suave);font-size:.95rem}
.aval__nota a{font-weight:700;font-size:.95rem;margin-top:.4rem}
.depo{margin:0;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;border-radius:var(--raio);background:var(--papel);border:1px solid var(--linha)}
.depo blockquote{margin:0;font:400 1.04rem/1.6 var(--serif);font-style:italic;color:var(--tinta)}
.depo figcaption{margin-top:auto;font-size:.88rem;font-weight:700;color:var(--petroleo)}
.depo figcaption span{font-weight:400;color:var(--tinta-suave)}
.depo__aspas{width:30px;height:30px;color:var(--rosa);fill:currentColor;stroke:none}

/* ---------------- contato ---------------- */
.contato{display:grid;gap:2rem;align-items:start}
@media (min-width:920px){.contato{grid-template-columns:1fr 1.05fr;gap:3rem}}
.contato__lista{list-style:none;display:grid;gap:1.1rem;margin:1.6rem 0 2rem}
.contato__lista li{display:flex;gap:.9rem;align-items:flex-start}
.contato__ic{display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:14px;background:var(--salvia-clara);color:var(--petroleo)}
.contato__ic .ic{width:22px;height:22px}
.contato__lista b{display:block;font-weight:700;color:var(--petroleo-escuro)}
.contato__lista div > span,.contato__lista div > a{color:var(--tinta-suave)}
[data-agora]{display:block;font-size:.88rem;font-weight:700;color:var(--petroleo)!important;margin-bottom:.25rem}
[data-agora]:empty{display:none}
.horas{border-collapse:collapse;font-size:.95rem;margin-top:.2rem}
.horas td{padding:.12rem 1.2rem .12rem 0;color:var(--tinta-suave)}
.horas .hoje td{color:var(--petroleo-escuro);font-weight:700}
.contato__acoes{display:flex;flex-wrap:wrap;gap:.8rem}
.contato__foto{position:relative;margin:0;border-radius:28px;overflow:hidden;box-shadow:var(--sombra-forte);background:var(--areia)}
.contato__foto img{width:100%;aspect-ratio:1260/520;object-fit:cover}
.contato__foto figcaption{padding:1rem 1.2rem;background:var(--papel);font-size:.92rem;color:var(--tinta-suave)}
.contato__foto figcaption b{color:var(--petroleo-escuro)}
.contato__aviso{margin-top:1rem;font-size:.86rem;color:var(--tinta-suave)}

/* ---------------- chamada final ---------------- */
.chamada{background:var(--petroleo);color:var(--creme);text-align:center;overflow:hidden}
.chamada h2{color:var(--creme);font-size:clamp(2rem,4.4vw,3.2rem);max-width:760px;margin:1rem auto}
.chamada p{color:#D2DDD7;max-width:560px;margin:0 auto 2rem}
.chamada .acoes{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center}
.chamada__simbolo{position:absolute;left:50%;top:50%;width:min(700px,120vw);translate:-50% -50%;opacity:.07;fill:none;stroke:var(--creme);stroke-width:2;stroke-linecap:round;pointer-events:none}

/* =====================================================================
   PÁGINAS DE ESPECIALIDADE
   ===================================================================== */
.pag-topo{
  position:relative;overflow:hidden;padding:clamp(2.2rem,5vw,3.6rem) 0 clamp(3.4rem,7vw,5rem);
  background:radial-gradient(55% 60% at 90% 20%,rgba(181,196,168,.35),transparent 70%),var(--creme);
}
.trilha{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;font-size:.86rem;color:var(--tinta-suave);margin-bottom:1.6rem}
.trilha li:not(:last-child)::after{content:"/";margin-left:.4rem;color:var(--salvia)}
.trilha a{color:var(--tinta-suave)}
.pag-topo__grade{display:grid;gap:2.4rem;align-items:center}
@media (min-width:920px){.pag-topo__grade{grid-template-columns:1.1fr .9fr}}
.pag-topo h1{font-size:clamp(2.4rem,5.6vw,4rem);margin:1rem 0 1.2rem}
.pag-topo h1 em{font-style:italic;color:var(--petroleo)}
.pag-topo__lead{font-size:1.15rem;color:var(--tinta-suave);max-width:600px}
.pag-topo__acoes{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}
.pag-topo__foto{position:relative;margin:0 auto;width:min(460px,100%)}
.pag-topo__foto .moldura{position:relative;overflow:hidden;border-radius:999px 999px 28px 28px;border:7px solid var(--papel);box-shadow:var(--sombra-forte);aspect-ratio:3/3.7;background:var(--areia)}
.pag-topo__foto img{width:100%;height:100%;object-fit:cover}
/* sem foto: o símbolo da clínica no lugar (hoje nenhuma página usa). Foto de
   banco só quando não posa de sala nem de equipe (a da orofacial); IA nunca */
.pag-topo__foto .moldura--simbolo{display:grid;place-items:center;background:radial-gradient(circle at 50% 38%,var(--tom-fundo,var(--folha-fundo)) 0 45%,var(--areia) 100%)}
.moldura--simbolo svg{width:64%;fill:none;stroke:var(--petroleo);stroke-width:3.2;stroke-linecap:round}
.pag-topo__foto .pontos{z-index:2}
.pag-topo__selo{position:absolute;left:-4%;bottom:8%;z-index:3;display:flex;align-items:center;gap:.6rem;padding:.7rem .95rem;border-radius:18px;background:var(--papel);box-shadow:var(--sombra);font-size:.86rem;font-weight:700;color:var(--petroleo-escuro)}
.pag-topo__selo .ic{color:var(--petroleo)}

.bloco{padding:clamp(3.6rem,7vw,5.6rem) 0}
.bloco--papel{background:var(--papel)}
.bloco h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:.8rem 0 1rem}
.bloco__intro{color:var(--tinta-suave);max-width:680px;margin-bottom:2rem}
.bloco__intro p + p{margin-top:.9rem}
.bloco__sub{font-size:1.3rem;margin:0 0 1rem}
.sinais{display:grid;gap:.8rem;list-style:none}
@media (min-width:720px){.sinais{grid-template-columns:repeat(2,1fr)}}
.sinais li{display:flex;gap:.9rem;align-items:flex-start;padding:1.05rem 1.15rem;border-radius:18px;background:var(--papel);border:1px solid var(--linha)}
.bloco--papel .sinais li{background:var(--creme)}
.sinais__ic{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:50%;background:var(--folha-fundo);color:var(--petroleo)}
.sinais__ic .ic{width:16px;height:16px;stroke-width:2.4}
/* frentes de uma especialidade ou programa (02/11/2026): cartão com ícone e lista curta, sem número */
.frentes{display:grid;gap:1rem;list-style:none}
@media (min-width:820px){.frentes{grid-template-columns:repeat(var(--n,3),1fr)}}
.frentes > li{padding:1.5rem 1.3rem 1.4rem;border-radius:var(--raio);background:var(--papel);border:1px solid var(--linha)}
.bloco--papel .frentes > li{background:var(--creme)}
.frentes__ic{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--mel-fundo);color:var(--petroleo);margin-bottom:1rem}
.frentes__ic .ic{width:23px;height:23px}
.frentes h3{font-size:1.2rem;margin-bottom:.55rem}
.frentes > li > p{font-size:.95rem;color:var(--tinta-suave)}
.frentes ul{list-style:none;display:grid;gap:.35rem;font-size:.95rem;color:var(--tinta-suave)}
.frentes ul li{display:flex;gap:.55rem;align-items:baseline}
.frentes ul li::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--mel);transform:translateY(-2px)}
.frentes > li.frentes__destaque{background:var(--petroleo);border-color:var(--petroleo);color:var(--creme)}
.frentes__destaque h3{color:var(--creme)}
.frentes > li.frentes__destaque > p{color:#D2DDD7}
.frentes__destaque .frentes__ic{background:rgba(247,243,236,.12);color:var(--mel)}
.frentes__destaque a{color:var(--mel);font-weight:700}

/* ---------------- páginas de programa (02/11/2026) ---------------- */
.prog-fatos{display:grid;gap:.7rem;list-style:none;margin-top:.4rem}
@media (min-width:640px){.prog-fatos{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.prog-fatos{grid-template-columns:repeat(4,1fr)}}
.prog-fatos li{display:flex;align-items:center;gap:.8rem;padding:1rem 1.1rem;border-radius:18px;background:var(--papel);border:1px solid var(--linha);
  font-weight:700;color:var(--petroleo-escuro);line-height:1.3}
.bloco--papel .prog-fatos li{background:var(--creme)}
.prog-fatos .ic{width:24px;height:24px;color:var(--petroleo)}
.prog-pergunta{font:italic 500 clamp(1.2rem,2.2vw,1.5rem)/1.45 var(--serif);color:var(--petroleo);max-width:780px;margin-bottom:1.4rem}
.prog-aviso-topo{display:inline-flex;align-items:center;gap:.55rem;margin-top:1.3rem;padding:.55rem 1rem;border-radius:99px;
  background:var(--mel-fundo);border:1px solid var(--mel);font-weight:700;font-size:.92rem;color:var(--petroleo-escuro)}
.prog-aviso-topo .ic{color:var(--petroleo)}
.prog-chamada{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:1rem;
  padding:clamp(1.8rem,4vw,3rem);border-radius:32px;color:var(--creme);box-shadow:var(--sombra-forte);
  background:radial-gradient(circle at 100% 0,transparent 0 160px,rgba(247,243,236,.06) 161px 162px,transparent 163px 250px,rgba(247,243,236,.05) 251px 252px,transparent 253px),
    linear-gradient(135deg,var(--petroleo),var(--petroleo-escuro))}
.prog-chamada .olho{color:var(--mel)}
.prog-chamada h2{color:var(--creme);margin:0}
.prog-chamada p{color:#D2DDD7;max-width:680px}
.prog-chamada .prog-chamada__frase{font:italic 500 1.2rem/1.45 var(--serif);color:var(--mel)}
.prog-chamada .prog-chamada__nota{font-size:.9rem}

/* galeria do curso: colunas, cada foto na proporção dela, tocar abre o visor */
.galeria{columns:2 140px;column-gap:.9rem}
@media (min-width:900px){.galeria{columns:3}}
.galeria__f{position:relative;display:block;break-inside:avoid;margin:0 0 .9rem;border-radius:20px;overflow:hidden;background:var(--areia);cursor:zoom-in;text-decoration:none}
.galeria__f img{width:100%;height:auto;transition:transform 1.1s var(--suave)}
.galeria__f:hover img,.galeria__f:focus-visible img{transform:scale(1.04)}
.galeria__leg{position:absolute;left:.6rem;bottom:.6rem;padding:.35rem .75rem;border-radius:99px;background:rgba(252,250,246,.93);font-size:.8rem;font-weight:700;color:var(--petroleo-escuro)}
.nota-cuidado{margin-top:1.4rem;padding:1rem 1.2rem;border-left:4px solid var(--mel);background:var(--mel-fundo);border-radius:0 14px 14px 0;font-size:.95rem;color:var(--tinta)}
.passos{display:grid;gap:1rem;list-style:none;counter-reset:passo}
@media (min-width:820px){.passos{grid-template-columns:repeat(var(--n,3),1fr)}}
.passos li{position:relative;padding:1.5rem 1.3rem 1.4rem;border-radius:var(--raio);background:var(--papel);border:1px solid var(--linha);counter-increment:passo}
.bloco--papel .passos li{background:var(--creme)}
.passos li::before{content:counter(passo);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--petroleo);color:var(--creme);font:600 1.1rem/1 var(--serif);margin-bottom:1rem}
.passos h3{font-size:1.2rem;margin-bottom:.4rem}
.passos p{font-size:.95rem;color:var(--tinta-suave)}
.citacao{margin:2.4rem 0 0;padding:1.6rem 1.8rem;border-radius:var(--raio);background:var(--petroleo);color:var(--creme)}
.citacao blockquote{margin:0;font:400 clamp(1.15rem,2vw,1.4rem)/1.5 var(--serif);font-style:italic}
.citacao figcaption{margin-top:.9rem;font-size:.86rem;color:var(--mel);font-weight:700}
.quem-atende{display:grid;gap:1.2rem;align-items:center}
@media (min-width:760px){.quem-atende{grid-template-columns:auto 1fr;gap:2rem}}
.quem-atende .pessoa__foto{width:150px;height:150px}
.formacoes{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin-top:.8rem}
.formacoes li{font-size:.82rem;font-weight:700;padding:.35rem .75rem;border-radius:99px;background:var(--salvia-clara);color:var(--petroleo-escuro)}
.faq{display:grid;gap:.7rem;max-width:820px}
.faq details{border-radius:18px;background:var(--papel);border:1px solid var(--linha);overflow:hidden}
.bloco--papel .faq details{background:var(--creme)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.2rem;cursor:pointer;font:600 1.08rem/1.35 var(--serif);color:var(--petroleo-escuro);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{transition:transform .35s var(--suave);color:var(--petroleo)}
.faq details[open] summary .ic{transform:rotate(180deg)}
.faq details p{padding:0 1.2rem 1.2rem;color:var(--tinta-suave)}
.outras{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.outras a{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:1rem 1.15rem;border-radius:18px;background:var(--papel);border:1px solid var(--linha);text-decoration:none;font-weight:700;color:var(--petroleo-escuro);transition:transform .3s var(--suave),box-shadow .3s}
.outras a:hover{transform:translateY(-3px);box-shadow:var(--sombra)}

/* ---------------- rodapé ---------------- */
.rodape{background:var(--noite);color:#C9D6CF;padding:4rem 0 2rem;position:relative;z-index:1}
.rodape__grade{display:grid;gap:2.2rem}
@media (min-width:640px){.rodape__grade{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1020px){.rodape__grade{grid-template-columns:1.3fr 1fr 1fr 1fr}}
.rodape .marca{color:var(--creme)}
.rodape .marca__nome{color:var(--creme)}
.rodape .marca__sub{color:#9FB3AA}
.rodape p{font-size:.95rem;margin-top:1rem;max-width:360px}
.rodape h2{font:700 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mel);margin-bottom:1rem}
.rodape ul{list-style:none;display:grid;gap:.5rem}
.rodape a{color:#E3ECE7;text-decoration:none}
.rodape a:hover{text-decoration:underline}
.rodape__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.1);font-size:.84rem;color:#94A89F}
/* assinatura de quem fez o site (templates/componentes/assinatura-rodape.html) */
.rodape .assinatura{margin:1.6rem 0 0;max-width:none;text-align:center;font-size:.72rem;letter-spacing:.04em;opacity:.75}
.assinatura a{color:inherit;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px;transition:opacity .2s ease}
.assinatura a:hover{opacity:.7;text-decoration:none}
@media (max-width:640px){.rodape{padding-bottom:5.5rem}}

/* ---------------- mapa, embaixo da fachada no "Onde estamos" (pedido dele) ---------------- */
.contato__lado{display:grid;gap:1.2rem}
.contato__mapa{border-radius:28px;overflow:hidden;box-shadow:var(--sombra-forte);background:var(--areia);border:6px solid var(--papel)}
.contato__mapa iframe{display:block;width:100%;height:clamp(300px,30vw,420px);border:0;filter:saturate(.85)}

/* ---------------- cursor: as três bolinhas da marca seguindo o mouse ----------------
   Só com mouse de verdade (pointer: fine) e sem "reduzir movimento". O cursor
   do sistema continua lá: o efeito acompanha, não substitui. */
.cursor{position:fixed;inset:0;z-index:250;pointer-events:none;transition:opacity .3s}
.cursor--fora{opacity:0}
.cursor__anel{
  position:fixed;left:0;top:0;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;
  border:1.5px solid var(--petroleo);opacity:.5;
  transition:width .35s var(--suave),height .35s var(--suave),margin .35s var(--suave),background .3s,border-color .3s,opacity .3s;
}
.cursor__bola{position:fixed;left:0;top:0;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;transition:opacity .3s}
.cursor__bola:nth-child(2){background:var(--rosa)}
.cursor__bola:nth-child(3){background:var(--mel);width:7px;height:7px;margin:-3.5px 0 0 -3.5px}
.cursor__bola:nth-child(4){background:var(--folha);width:5px;height:5px;margin:-2.5px 0 0 -2.5px}
.cursor--sobre .cursor__anel{width:62px;height:62px;margin:-31px 0 0 -31px;background:rgba(229,183,174,.2);border-color:var(--rosa);opacity:1}
.cursor--sobre .cursor__bola{opacity:0}
.cursor--escuro .cursor__anel{border-color:var(--creme)}
.cursor--escuro.cursor--sobre .cursor__anel{background:rgba(247,243,236,.14);border-color:var(--mel)}
.faisca{position:fixed;left:0;top:0;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;pointer-events:none;z-index:251;animation:faisca .75s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes faisca{from{transform:translate(var(--x0),var(--y0)) scale(1)}to{transform:translate(var(--x1),var(--y1)) scale(.2);opacity:0}}

/* botão flutuante do WhatsApp */
.zap{
  position:fixed;right:16px;bottom:16px;z-index:70;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;
  background:#1F8A55;color:#fff;box-shadow:0 14px 34px rgba(0,0,0,.25);text-decoration:none;
  transform:translateY(120px);transition:transform .45s var(--mola);
}
.zap svg{width:30px;height:30px}
.zap--on,html:not(.js) .zap{transform:none}
.zap:hover{background:#18744A}

/* =====================================================================
   ENTRADA AO ROLAR (só com JS; sem JS tudo aparece)
   Usa opacity + transform: o parallax mora em `translate`, então não brigam.
   ===================================================================== */
.js [data-rev]{opacity:0;transform:translateY(26px);transition:opacity .8s var(--suave),transform .9s var(--suave);transition-delay:calc(var(--o,0) * 90ms)}
.js [data-rev].rev-ok{opacity:1;transform:none}

/* ---------------- carrossel do Instagram ----------------
   Posts reais, cada um abre o proprio post. A pista anda -50% (dois trilhos
   iguais) e para com o cursor em cima ou com o foco do teclado. */
.ig{position:relative;overflow:hidden;padding:.6rem 0 1.6rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ig__pista{display:flex;width:max-content;animation:igrola 70s linear infinite}
.ig:hover .ig__pista,.ig:focus-within .ig__pista{animation-play-state:paused}
@keyframes igrola{to{transform:translateX(-50%)}}
.ig__trilho{display:flex;gap:1rem;margin:0;padding:0 .5rem;list-style:none}
.ig__post{position:relative;display:block;width:clamp(190px,21vw,270px);aspect-ratio:4/5;border-radius:var(--raio);overflow:hidden;
  background:var(--areia);box-shadow:var(--sombra);transition:transform .5s var(--suave),box-shadow .5s ease}
.ig__post img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--suave)}
.ig__post::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,48,45,0) 40%,rgba(22,48,45,.72));opacity:0;transition:opacity .4s ease}
.ig__marca{position:absolute;top:.7rem;right:.7rem;z-index:1;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(22,48,45,.5);color:#fff}
.ig__marca .ic{width:16px;height:16px}
.ig__ver{position:absolute;left:0;right:0;bottom:1.1rem;z-index:1;display:flex;justify-content:center;align-items:center;gap:.45rem;
  font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s var(--suave)}
.ig__ver .ic{width:16px;height:16px}
.ig__post:hover,.ig__post:focus-visible{transform:translateY(-6px);box-shadow:var(--sombra-forte)}
.ig__post:hover img,.ig__post:focus-visible img{transform:scale(1.06)}
.ig__post:hover::after,.ig__post:focus-visible::after{opacity:1}
.ig__post:hover .ig__ver,.ig__post:focus-visible .ig__ver{opacity:1;transform:none}
.ig__seguir{display:flex;justify-content:center}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .ig{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .ig__pista{animation:none}
  .ig__trilho + .ig__trilho{display:none}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js [data-rev]{opacity:1;transform:none}
  .faixa__trilho{animation:none}
  .js .hero h1 em::after{transform:none}
  .js .capa .hero__texto > *{opacity:1;transform:none}
  .js .capa__fotos{clip-path:none}
  .js .capa__nota{opacity:1}
  .capa__slide.ativo img{animation:none}
  .cursor{display:none}
}
