/* Clinica Gadelha, sistema visual da versao 2.
   Base: TOKENS_MARCA.md v2, medido na prancha entregue pelo cliente em 19/09/2026.
   O que muda da v1: a pessoa entra no sistema. Superficie e a clinica, campo de voz e ele.
   Textura e material de cada superficie, inclusive do papel. Relevo por filete, nunca por sombra difusa. */

/* ---------- 1. Tokens ---------- */
:root{
  /* Medidos por pixel na prancha. Nao se reabrem. */
  --azul-piscina:#5CA1B0; --oceano:#AAD2D2; --platina:#DDE1E2; --areia:#D9C9AF; --bronze:#B28F69;

  /* Derivados da matiz 191 da Azul Piscina. A prancha nao tem cor escura e sem estes nao ha texto legivel. */
  --paper:#FCFBF9;
  --ink:#1D3135;
  --body:#374E53;
  --muted:#4B5E62;      /* so sobre papel e platina */
  --acao:#1E5462;
  --bronze-ink:#654E34;
  --linha:#E4E0D8;
  --linha-forte:#C6CCCE;

  --sans:"Montserrat","Montserrat Fallback",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px; --s8:128px; --s9:160px;
  --gutter:20px; --maxw:1200px; --header-h:58px; --bar-h:68px;
  --sec-y:var(--s7);
  --sangria:max(0px,calc((100vw - var(--maxw))/2 + var(--gutter)));
  --ease:cubic-bezier(.22,.61,.36,1);

  /* Reserva da primeira tela: cabecalho, H1, identificacao, folgas e barra fixa.
     A altura da foto do hero e o que sobra deste valor. Medido com o harness de iframe.
     296 devolve 344px de foto a 640 de altura, que e 53,8% da tela. A reserva SO fecha com
     H1 de ate tres linhas a 360px: com quatro linhas a identificacao cai 24px abaixo da barra.
     Abaixo de 360 de largura o H1 ganha uma linha, e por isso a reserva sobe la.

     A INCLINACAO existe por um motivo medido: o espaco disponivel cresce com a ALTURA da tela,
     mas o H1 cresce com a LARGURA, porque a escala dele e fluida em vw. Varrendo nove larguras
     de aparelho, a folga caia 0,11px por pixel de largura, e a 428 e 430 virava negativa.
     Uma reserva constante nao acompanha as duas dimensoes. Esta acompanha. */
  --dobra:calc(296px + (100vw - 360px) * .115);

  /* Textura. Tres ladrilhos de SVG embutido, nenhuma requisicao de rede.
     papel: fibra levemente anisotropica, le como papel de algodao e nao como ruido de TV.
     grao:  mineral. Serve Platina em 140px e Areia em 200px, a mesma fibra em outra escala.
     agua:  causticas. Serve Oceano em multiply e Azul Piscina em screen. */
  --tex-papel:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92 .74' numOctaves='2' seed='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23p)'/%3E%3C/svg%3E");
  --tex-grao:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23g)'/%3E%3C/svg%3E");
  --tex-agua:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='260'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.045 .11' numOctaves='3' seed='7' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='420' height='260' filter='url(%23a)'/%3E%3C/svg%3E");

  /* Lettering oficial do lock-up, canal alfa, usado como mascara.
     Declarado UMA vez e consumido por variavel nas duas propriedades: a duplicata literal
     que existia na v1 custava 24914 bytes de CSS sem entregar nada. */
  --lettering:url("data:image/png;base64,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");

  /* Relevo. Dois filetes de 1px, zero desfoque: le como papel em relevo, e nao como cartao flutuante. */
  --relevo-alto:inset 0 1px 0 rgba(255,255,255,.92), 0 1px 0 var(--linha);
  --relevo-baixo:inset 0 1px 0 rgba(29,49,53,.10), 0 1px 0 rgba(255,255,255,.7);
}
@media (max-width:359px){ :root{ --dobra:340px } }
@media (min-width:480px){ :root{ --gutter:24px } }
@media (min-width:1024px){ :root{ --header-h:74px; --sec-y:var(--s9) } }

/* ---------- 2. Fonte, local ---------- */
/* Montserrat variavel, subconjunto latino, um arquivo de 35 KB para os quatro pesos.
   Local e nao de CDN: tira dois preconnect e uma folha de estilo de terceiro do caminho critico. */
@font-face{
  font-family:"Montserrat";
  src:url("../fonts/montserrat-var-latin.woff2") format("woff2-variations"),
      url("../fonts/montserrat-var-latin.woff2") format("woff2");
  font-weight:300 600;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
/* Metricas casadas, para a troca de fonte nao mover uma linha sequer do layout. */
@font-face{font-family:"Montserrat Fallback";src:local("Helvetica Neue"),local("Arial");size-adjust:104%;ascent-override:92%;descent-override:24%;line-gap-override:0%}

/* ---------- 3. Base e percepcao de toque ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--body);
  font-family:var(--sans);font-size:16px;line-height:1.65;font-weight:400;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom,0px));
}
@media (min-width:1024px){ body{font-size:17px} }
@media (min-width:1180px){ body{padding-bottom:0} }
img,video{max-width:100%;height:auto;display:block}
h1,h2,h3,p,ul,figure,blockquote,address{margin:0}
ul{padding:0;list-style:none}
a{color:var(--acao);text-underline-offset:3px}
p{text-wrap:pretty}

/* Toque. O retorno tatil acontece na cor da marca, e sem os 300ms de atraso do navegador. */
a,button,summary,[role="button"]{-webkit-tap-highlight-color:rgba(92,161,176,.18);touch-action:manipulation}
/* A marca aparece ate quando o visitante seleciona o endereco para copiar. */
::selection{background:rgba(92,161,176,.26);color:var(--ink)}

/* Foco desenhado, nao o default do navegador. Sobre agua e azul o anel inverte para o ink. */
:focus-visible{outline:2px solid var(--acao);outline-offset:3px;border-radius:2px}
.agua :focus-visible,.mar :focus-visible{outline-color:var(--ink)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:var(--gutter);top:-100px;z-index:60;background:var(--acao);color:#fff;padding:12px 18px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
/* Sentinela de 1px no topo do documento: e ela que diz ao cabecalho quando a primeira tela saiu.
   Tambem e o alvo da ancora do logo. */
#topo{display:block;height:1px;margin-bottom:-1px;pointer-events:none}
/* A ancora do menu nao esconde o titulo atras do cabecalho fixo. */
[id]{scroll-margin-top:calc(var(--header-h) + var(--s3))}

/* ---------- 4. Textura como material de cada superficie ---------- */
/* Rola junto com a superficie, e nao sobre a janela: por isso le como material do bloco
   e nao como filtro aplicado na pagina inteira, que foi o sintoma retirado na v1. */
.section,.hero,.foot{position:relative;isolation:isolate}
.section::after,.hero::after,.foot::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:var(--tex-papel);background-size:180px 180px;
  mix-blend-mode:multiply;opacity:.042;
}
.section > *,.hero > *,.foot > *{position:relative;z-index:1}
.tint::after{background-image:var(--tex-grao);background-size:140px 140px;opacity:.05}
.sand::after{background-image:var(--tex-grao);background-size:200px 200px;opacity:.085}
.agua::after{background-image:var(--tex-agua);background-size:420px 260px;opacity:.13}
/* screen, nao multiply: caustica de agua e LUZ. Clareia a superficie em vez de escurecer,
   e o Azul Piscina com o ink e o par mais apertado do sistema. */
.mar::after{background-image:var(--tex-agua);background-size:420px 260px;opacity:.30;mix-blend-mode:screen}

/* ---------- 5. Tipografia ---------- */
.display{font-weight:300;color:var(--ink);letter-spacing:.012em;text-wrap:balance}
.h1{font-size:clamp(1.75rem,1.05rem + 3.2vw,3.375rem);line-height:1.12;font-weight:300;letter-spacing:.012em}
.h2{font-size:clamp(1.75rem,3.6vw,2.75rem);line-height:1.18;font-weight:300;letter-spacing:.012em}
.eyebrow{font-size:.6875rem;line-height:1.2;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--acao)}
@media (min-width:1280px){
  /* Etiqueta na margem, nao empilhada sobre o titulo. Existe em dois blocos da pagina, nao em todos. */
  .eyebrow--margem{position:absolute;left:calc(var(--gutter) * -1 - 124px);top:.6em;width:112px;text-align:right;
    letter-spacing:.14em;line-height:1.5;text-wrap:balance}
  .tem-margem{position:relative}
}
.lede{font-size:1.0625rem;line-height:1.7;max-width:62ch}
.small{font-size:.875rem;line-height:1.6;color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
/* A identificacao do Art. 43 nao parte no hifen: "CRO-PB 4990" e uma unidade, e no desktop
   estava quebrando em "CRO- / PB 4990", partindo o registro ao meio. */
.nb{white-space:nowrap}

/* ---------- 6. Estrutura e superficies ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.section{padding-block:var(--sec-y)}
/* Ritmo desigual, declarado. Quatro tempos diferentes, para a pagina nao descer em metronomo. */
.section--respiro{padding-block:calc(var(--sec-y) * 1.5) calc(var(--sec-y) * 1.1)}
.section--aperta{padding-block:var(--s6)}
.section--topo-curto{padding-top:var(--s5)}
.tint{background:var(--platina)}
.sand{background:var(--areia)}
.sand .small,.sand .muted{color:var(--body)}   /* Areia reprova com --muted: medido 3,31:1 */
.agua{background:var(--oceano);overflow:hidden}
.agua .small{color:var(--body)}                /* Oceano reprova com --muted: medido 3,29:1 */
.mar{background:var(--azul-piscina);overflow:hidden}
.agua .display,.mar .display,.agua .h2,.mar .h2{color:var(--ink)}
.mar .eyebrow{color:var(--ink)}

/* Filete de horizonte. Desenha da esquerda quando a secao entra na tela: marca a entrada
   do bloco e repete, em 1px, a linha de janela que existe em quase toda foto da cobertura. */
.horizon{height:1px;width:100%;overflow:hidden;background:transparent}
.horizon i{display:block;height:1px;width:100%;background:var(--azul-piscina);opacity:.5;
  transform-origin:left;transition:transform .7s var(--ease)}
.js .horizon i{transform:scaleX(0)}
.agua .horizon i,.mar .horizon i{background:var(--ink);opacity:.22}
.sand .horizon i{background:var(--bronze);opacity:.6}
.is-in .horizon i,.horizon.is-in i{transform:scaleX(1)}

/* Entrada escalonada: 40ms entre irmaos. So transform e opacity. */
.rise{transition:opacity .5s var(--ease),transform .5s var(--ease)}
.js .rise{opacity:0;transform:translateY(12px)}
.is-in .rise{opacity:1;transform:none}
.is-in .rise:nth-child(2){transition-delay:.04s}
.is-in .rise:nth-child(3){transition-delay:.08s}
.is-in .rise:nth-child(4){transition-delay:.12s}
.is-in .rise:nth-child(5){transition-delay:.16s}

/* ---------- 7. Botoes ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:48px;padding:14px 28px;border-radius:999px;border:1px solid transparent;
  font-family:var(--sans);font-size:.9375rem;font-weight:600;line-height:1.2;letter-spacing:.04em;
  text-decoration:none;cursor:pointer;background:var(--acao);color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
  transition:background .18s var(--ease),transform .14s var(--ease),box-shadow .18s var(--ease);
}
@media (hover:hover){ .btn:hover{background:#17434e;box-shadow:inset 0 1px 0 rgba(255,255,255,.24)} }
.btn:active{transform:scale(.985)}          /* o botao cede ao toque */
.btn svg{flex:none;width:18px;height:18px;fill:currentColor}
/* Sobre Azul Piscina o botao inverte: fundo papel, rotulo ink. Regra do cartao de marca. */
.mar .btn{background:var(--paper);color:var(--ink);box-shadow:var(--relevo-alto)}
@media (hover:hover){ .mar .btn:hover{background:#fff} }
.btn--block{display:flex;width:100%}
@media (min-width:600px){ .btn--block{display:inline-flex;width:auto} }

/* ---------- 8. Marca ---------- */
.brand{display:flex;align-items:center;gap:12px;min-height:44px;color:var(--azul-piscina);text-decoration:none}
.brand__mono{flex:none;width:30px;height:30px}
.brand__mono svg{width:100%;height:100%;display:block}
@media (min-width:1024px){ .brand__mono{width:36px;height:36px} }
.brand__word{display:block;width:142px;height:14px;background-color:currentColor;
  -webkit-mask-image:var(--lettering); mask-image:var(--lettering);
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
  -webkit-mask-size:contain; mask-size:contain}
@media (min-width:1024px){ .brand__word{width:172px;height:17px} }
.brand__txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@supports not ((-webkit-mask-image:url(a)) or (mask-image:url(a))){
  .brand__word{display:none}
  .brand__txt{position:static;width:auto;height:auto;clip:auto;overflow:visible;
    font-weight:300;letter-spacing:.18em;text-transform:uppercase;font-size:.9375rem;color:var(--azul-piscina)}
}

/* ---------- 9. S0 cabecalho, folha mobile e barra fixa ---------- */
.header{position:sticky;top:0;z-index:40;height:var(--header-h);display:flex;align-items:center;
  background:rgba(252,251,249,.94);backdrop-filter:saturate(1.08) blur(10px);
  transition:background .25s var(--ease)}
.header__in{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);width:100%}
/* O filete do cabecalho nao existe no topo da pagina: ele DESENHA quando a primeira tela sai,
   e e assim que o visitante percebe que saiu do hero sem precisar de sombra nem de barra colorida. */
.header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--azul-piscina);
  opacity:.45;transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.header[data-cond="true"]::after{transform:scaleX(1)}
.header[data-cond="true"]{background:rgba(252,251,249,.97)}
.header .brand{transition:transform .3s var(--ease);transform-origin:left center}
.header[data-cond="true"] .brand{transform:scale(.94)}
.nav{display:none}
@media (min-width:1180px){
  .nav{display:flex;align-items:center;gap:var(--s4)}
  .nav a{position:relative;font-size:.875rem;font-weight:500;letter-spacing:.04em;color:var(--body);text-decoration:none;padding:6px 0}
  /* Sublinhado que cresce do centro no hover: o mesmo gesto do filete, na escala do item de menu. */
  .nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--acao);
    transform:scaleX(0);transition:transform .22s var(--ease)}
  .nav a:hover{color:var(--ink)}
  .nav a:hover::after{transform:scaleX(1)}
  .header .btn{min-height:44px;padding:10px 22px;font-size:.875rem}
}
.header__cta{display:none}
@media (min-width:1180px){ .header__cta{display:inline-flex} }
.no-js .menu-btn{display:none}
.menu-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;margin-right:-12px;
  background:none;border:0;color:var(--ink);cursor:pointer}
.menu-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5}
@media (min-width:1180px){ .menu-btn{display:none} }
.sheet{position:fixed;inset:var(--header-h) 0 0;z-index:39;background:var(--paper);padding:var(--s4) var(--gutter);display:none}
.sheet[data-open="true"]{display:block}
.sheet a{display:block;font-size:1.5rem;font-weight:300;letter-spacing:.02em;color:var(--ink);text-decoration:none;
  padding:16px 0;border-bottom:1px solid var(--linha)}

.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:45;
  padding:8px var(--gutter) calc(8px + env(safe-area-inset-bottom,0px));
  background:rgba(252,251,249,.96);backdrop-filter:blur(10px);border-top:1px solid var(--linha);
  transition:opacity .25s var(--ease)}
.actionbar .btn{width:100%;min-height:52px}
.actionbar[data-dim="true"]{opacity:.3;pointer-events:none}
@media (min-width:1180px){ .actionbar{display:none} }

/* ---------- 10. S1 hero ---------- */
/* Topo curto no mobile: 8px, e nao 16. Faz parte do conjunto de folgas que devolve altura
   a foto sem tocar no H1 nem na identificacao. O desktop sobrescreve logo abaixo. */
.hero{background:var(--paper);padding-block:8px var(--s6);overflow:hidden}
@media (min-width:1024px){
  .hero{padding-block:var(--s7) 0}
  /* 60/40. A coluna de texto ja resolvia o H1 em tres linhas desde 56fr; os 60fr existem pela FOTO:
     com o recorte fechado, a coluna mais estreita devolve densidade de pixel sem devolver
     imponencia, porque o recorte compensa. Medido: a 1920 o fator sobe de 1,00x, que era o fio,
     para 1,10x. */
  .hero__in{display:grid;grid-template-columns:minmax(0,60fr) minmax(0,40fr);gap:var(--s6);align-items:center}
  /* O hero abandona a caixa central: texto alinhado ao conteiner, foto correndo ate a borda da janela.
     E a assimetria que tira a pagina do molde de bloco centrado. */
  .hero .wrap{max-width:none;padding-right:0;
    padding-left:max(var(--gutter),calc((100vw - var(--maxw))/2 + var(--gutter)))}
}
/* No mobile a foto vem primeiro e grande, por regra de dobra. No desktop a grade manda. */
@media (max-width:1023px){
  .hero__in{display:flex;flex-direction:column} .hero__media{order:-1}
  /* Aperto d: a identificacao fecha a entrelinha so no mobile, onde ela ocupa duas linhas
     e cada ponto de entrelinha vira altura de foto. No desktop ela fica como esta. */
  .hero__id{line-height:1.42}
}
.hero__txt{max-width:38ch}
/* Sem teto de medida no mobile: 17ch a 28px estrangula a linha e cria uma quinta linha
   que a dobra nao comporta. O teto entra no desktop, onde a coluna e larga. */
.hero .h1{color:var(--ink)}
.hero .h1:empty{display:block;min-height:calc(4 * 1.12 * clamp(1.75rem,1.05rem + 3.2vw,3.375rem))}
@media (min-width:1024px){ .hero__txt{max-width:none} .hero .h1{max-width:700px} }
/* Identificacao ANTES da linha de apoio, no DOM e na tela. Art. 43: se faltar espaco,
   o que cai abaixo da barra fixa e a linha de apoio, nunca o H1 e nunca esta linha. */
.hero__id{margin-top:8px;padding-left:12px;border-left:2px solid var(--bronze);
  font-size:.875rem;line-height:1.55;color:var(--body);max-width:44ch}
@media (min-width:1024px){ .hero__id{margin-top:var(--s3)} }
/* Linhas 2 e 3 do bloco de headline. Sobem de escala em relacao ao corpo (18,7px no mobile,
   22px no desktop, contra 16 e 17 do corpo) para lerem como continuacao do titulo, e nao como
   letra miuda, e ficam as duas em --ink pelo mesmo motivo. O filete que separava a linha 2 da
   identificacao saiu: ele cortava o bloco em dois, e a identificacao ja se distingue sozinha
   pelo proprio filete de bronze a esquerda.
   Custo na dobra: ZERO. As duas moram abaixo da identificacao no DOM, e a dobra e governada
   pelo H1 e pela identificacao, que vem antes. */
.hero__lede{margin-top:var(--s3);color:var(--ink);
  font-size:clamp(1.125rem,.98rem + .85vw,1.375rem);line-height:1.55;max-width:40ch}
/* Chamada do hero: a ordem dele, em linha propria, entre a linha de apoio e o botao.
   Medido, e por isso nao virou rotulo de botao: com 39 caracteres o rotulo quebra em duas
   linhas a 360 e a 390, e o botao cresce de 52 para 66px, o que consome sozinho os 7px de
   folga da dobra. Em linha propria ela mantem a sequencia ordem, depois acao, sem custo. */
.hero__chamada{margin-top:var(--s2);font-weight:500;color:var(--ink);
  font-size:clamp(1.125rem,.98rem + .85vw,1.375rem);line-height:1.55;max-width:40ch}
.hero__cta{margin-top:var(--s3);display:flex;flex-direction:column;gap:var(--s2);align-items:flex-start}
.hero__cue{font-size:.875rem;color:var(--muted)}

.hero__media{position:relative;margin-inline:calc(var(--gutter) * -1);margin-bottom:8px}
/* A base da foto derrete no papel, em 18% da altura: ele emerge da pagina em vez de ser cortado
   por um retangulo. E a borda mais arbitraria das quatro, porque as outras tres sangram ou
   encostam na vista. Custo de rede zero, e o filete do horizonte fica de fora da mascara, porque
   e irmao do quadro e nao filho. */
.hero__quadro{-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 82%,transparent 100%);
  overflow:hidden;background:var(--platina);
  /* Altura em unidade de viewport, nao proporcao fixa. O que manda e o H1 e a identificacao
     fecharem acima da barra fixa a 360x640. A foto fica com o que sobra da reserva --dobra. */
  /* Piso de 240: ele so governa a 320 de largura com 600 ou menos de altura, onde o H1 vira
     quatro linhas e nao sobra espaco. Medido: a 320x568 o piso de 260 derrubava a
     identificacao 12px abaixo da barra. Em 360x640 e acima o piso nunca morde. */
  height:clamp(240px,calc(100svh - var(--dobra)),calc(100vw * 1.22))}
/* Com o recorte de 640x807 o transbordo no mobile deixou de ser horizontal e passou a ser
   VERTICAL: a foto e mais estreita que o contêiner em proporcao. Ancorada no topo, para a cabeca
   dele nunca ser cortada em tela curta, onde o corte vertical chega a 180px. */
.hero__quadro img{width:100%;height:100%;object-fit:cover;object-position:50% 0%}
@media (min-width:1024px){
  .hero__media{margin-inline:0;margin-bottom:0}
  /* Proporcao nativa do recorte novo, 640x807: a foto entra inteira, sem um pixel de corte. */
  .hero__quadro{height:auto;aspect-ratio:640/807}
  .hero__quadro img{object-position:50% 50%}
}

/* A linha do horizonte da pagina entra na foto e vira a linha real do mar.
   Medido no arquivo: o mar esta em y 417 de 807, ou seja 51,67% da altura, e a faixa limpa
   termina em 17,2% da largura do recorte novo, no montante da janela. Por isso o filete para ali.
   So no desktop, onde a foto renderiza em 4:3 inteiro e a porcentagem e exata. */
.hero__horiz,.hero__horiz-foto{display:none}
@media (min-width:1024px){
  .hero__horiz,.hero__horiz-foto{display:block;position:absolute;top:51.67%;height:1px;pointer-events:none;
    transform:scaleX(0);transform-origin:left}
  .hero__horiz{right:100%;width:calc(var(--s6) + 5vw);background:var(--azul-piscina);opacity:.55;
    transition:transform .8s var(--ease) .25s}
  .hero__horiz-foto{left:0;width:17.2%;background:rgba(252,251,249,.62);
    transition:transform .8s var(--ease) .75s}
  .is-in .hero__horiz,.is-in .hero__horiz-foto{transform:scaleX(1)}
}

/* ---------- 11. Campo de voz. O componente da pessoa. ---------- */
/* Repete quatro vezes na pagina, sempre igual: S2 o padrao, S5 a clinica, S6 quem faz, S9 o fecho.
   A repeticao e o que ensina o visitante a reconhecer quando e ele que esta falando.
   A aspa fica pendurada FORA da coluna de texto, para a margem esquerda do bloco
   continuar opticamente alinhada com o resto da pagina. */
.voz{position:relative;padding-left:clamp(1.9rem,4.6vw,3.1rem)}
.voz::before{content:"\201C";position:absolute;left:0;top:-.1em;
  font-size:clamp(3.4rem,8vw,6rem);line-height:.9;font-weight:300;
  color:var(--azul-piscina);opacity:.55;pointer-events:none}
.voz__rule{width:56px;height:2px;background:var(--bronze);margin-bottom:var(--s3)}
.voz__txt{font-weight:300;font-size:clamp(1.5rem,3.4vw,2.5rem);line-height:1.3;letter-spacing:.008em;
  color:var(--ink);text-wrap:balance;max-width:26ch}
.voz__by{margin-top:var(--s3);font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;
  font-weight:600;color:var(--muted)}
.agua .voz::before,.mar .voz::before{color:var(--ink);opacity:.28}
.agua .voz__rule,.mar .voz__rule{background:var(--ink);opacity:.35}
.agua .voz__by,.sand .voz__by{color:var(--body)}
/* Sobre Azul Piscina o --body da 3,48:1 e reprova. A assinatura sobe para --ink, medido 5,36. */
.mar .voz__by{color:var(--ink)}
/* S2: a frase sozinha, no maior campo de respiro da pagina. */
.voz--padrao .voz__txt{font-size:clamp(1.875rem,5vw,3.375rem);line-height:1.22;max-width:19ch}
.voz--padrao::before{font-size:clamp(4.5rem,10vw,7.5rem)}

/* Campo de voz cujo texto vem de slot: enquanto o slot estiver vazio, some o CAMPO INTEIRO,
   e nao so o texto. Sem isto sobram a aspa, o filete e a assinatura sem frase nenhuma,
   que e moldura vazia renderizada, exatamente o que a regra de slot proibe. */
.voz:has(.voz__txt.slot:not([data-filled="true"])){display:none}
/* E a secao de voz solo (S2) desaparece por inteiro, para nao deixar buraco de respiro sem frase. */
.voz-solo:not(:has([data-filled="true"])){display:none}
/* Texto de voz preenchido por slot nao herda a margem generica de slot: ele encosta no filete. */
.voz__txt.slot[data-filled="true"]{margin-top:0}

/* ---------- 12. S3 intencoes ---------- */
.idcard{padding:var(--s3);background:rgba(255,255,255,.62);border-left:2px solid var(--azul-piscina);
  box-shadow:var(--relevo-alto)}
.idcard__name{font-size:1.25rem;font-weight:300;letter-spacing:.02em;color:var(--ink);line-height:1.3}
.idcard__reg{margin-top:6px;font-size:.875rem;font-weight:500;color:var(--body)}
.idcard__note{margin-top:10px;font-size:.8125rem;line-height:1.6;color:var(--muted);max-width:44ch}
@media (min-width:1024px){
  /* Fixada durante a rolagem do acordeao: a adjacencia do Art. 43 §1º I se mantem o tempo todo,
     e nao so uma vez no topo da secao. */
  .idcard{position:sticky;top:calc(var(--header-h) + var(--s3))}
}
.intents{margin-top:var(--s5)}
@media (min-width:1024px){
  .b2__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:var(--s6);align-items:start}
  .intents{margin-top:0}
}
.intent{border-top:1px solid var(--linha)}
.intent:last-child{border-bottom:1px solid var(--linha)}
.intent__h{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit}
.intent__head{display:flex;align-items:center;gap:var(--s2);width:100%;min-height:72px;padding:18px 0;
  background:none;border:0;text-align:left;cursor:pointer;font-family:var(--sans);color:inherit}
.intent__txt{display:block;flex:1;min-width:0}
.intent__title{display:block;font-size:1.0625rem;font-weight:500;letter-spacing:.01em;color:var(--ink);line-height:1.35}
@media (min-width:600px){ .intent__title{font-size:1.1875rem} }
.intent__sub{display:block;margin-top:4px;font-size:.875rem;color:var(--muted)}
.intent__chev{flex:none;width:24px;height:24px;stroke:var(--azul-piscina);fill:none;stroke-width:1.5;
  transition:transform .22s var(--ease)}
.intent[data-open="true"]{background:rgba(170,210,210,.3);border-left:2px solid var(--azul-piscina);
  margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
@media (min-width:1024px){ .intent[data-open="true"]{margin-inline:calc(var(--s3) * -1);padding-inline:var(--s3)} }
.intent[data-open="true"] .intent__chev{transform:rotate(180deg)}
.intent__panel{padding:0 0 var(--s4)}
.js .intent__panel{display:none}
.js .intent[data-open="true"] .intent__panel{display:block}
.intent__foto{width:100%;aspect-ratio:3/2;object-fit:cover;background:var(--platina);margin-bottom:var(--s3)}
.intent__panel p{max-width:58ch}

/* O metodo dele vira formato: o termo tecnico, um filete de bronze, e a traducao.
   E o par que faz a pagina EXPLICAR em vez de so listar. Some inteiro se a copy nao chegou. */
.dupla{display:none;margin-bottom:var(--s3)}
.dupla:has([data-filled="true"]){display:block}
.dupla .termo{font-size:.9375rem;font-weight:500;letter-spacing:.04em;color:var(--bronze-ink);max-width:56ch}
.dupla__rule{width:28px;height:1px;background:var(--bronze);margin:10px 0}
.dupla .traducao{font-size:1.0625rem;line-height:1.65;color:var(--ink);max-width:54ch}

.taglist{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s2)}
.taglist li{font-size:.75rem;font-weight:500;letter-spacing:.04em;color:var(--acao);
  border:1px solid rgba(30,84,98,.26);padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.72);
  box-shadow:var(--relevo-baixo)}
.slot{display:none}
.slot[data-filled="true"]{display:block;margin-top:var(--s2)}
li.slot[data-filled="true"]{display:list-item}
.intent__cta{margin-top:var(--s3)}

/* ---------- 13. S4 como funciona ---------- */
.steps{margin-top:var(--s5);display:grid;gap:0}
@media (min-width:900px){ .steps{grid-template-columns:repeat(3,1fr);gap:var(--s5)} }
.step{position:relative;padding:0 0 var(--s5) var(--s6)}
.step::before{content:"";position:absolute;left:11px;top:26px;bottom:0;width:1px;background:var(--bronze);opacity:.5}
.step:last-child::before{display:none}
@media (min-width:900px){
  .step{padding:var(--s4) 0 0}
  .step::before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px;background:var(--bronze);opacity:.5}
  .step:last-child::before{display:block}
}
/* Numeral em bronze, tipografico e grande. Substitui a bolinha colorida, que era o sintoma
   de passo numerado generico retirado na v1. */
/* Sem opacidade: bronze-ink a 60% foi medido em 2,37:1 sobre a Areia e reprova ate para
   texto grande. Solido da 4,69:1 e ainda fica mais encorpado no display. */
.step__n{position:absolute;left:0;top:-6px;font-size:2.25rem;font-weight:300;line-height:1;
  color:var(--bronze-ink);font-variant-numeric:lining-nums}
@media (min-width:900px){ .step__n{position:static;display:block;margin-bottom:var(--s2);font-size:3rem} }
.step__t{font-size:1.125rem;font-weight:500;letter-spacing:.01em;color:var(--ink);line-height:1.35}
.step__b{margin-top:8px;font-size:.9375rem;max-width:34ch;color:var(--body)}

/* Valor da consulta em campo isolado: nao mora dentro de um passo, mora sozinho,
   com relevo de papel prensado. E o unico numero de preco da pagina. */
.valor{display:block;margin-top:var(--s5);max-width:26rem;
  background:var(--paper);padding:var(--s3) var(--s4);border-left:2px solid var(--bronze);
  box-shadow:var(--relevo-baixo);
  font-size:1.0625rem;font-weight:600;color:var(--acao);font-variant-numeric:tabular-nums;letter-spacing:.01em}
.s4__cta{margin-top:var(--s5)}

/* ---------- 14. S5 a clinica ---------- */
@media (min-width:1024px){ .b3__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s6);align-items:center} }
.b3__media{position:relative;aspect-ratio:3/4;background:var(--platina);overflow:hidden;margin-bottom:var(--s5)}
@media (min-width:1024px){
  /* Sangra pela esquerda, contra a sangria do hero pela direita: o olho anda em zigue-zague
     em vez de descer por uma coluna. */
  .b3__media{margin-bottom:0;margin-left:calc(var(--sangria) * -1);width:calc(100% + var(--sangria))}
}
.b3__media img,.b3__media video{width:100%;height:100%;object-fit:cover}
.b3__media video{position:absolute;inset:0;opacity:0;transition:opacity .6s var(--ease)}
.b3__media video[data-ready="true"]{opacity:1}
/* A linha da faixa de catalogo nao e corpo de texto: e o argumento que nenhuma rede responde.
   Ganha escala e filete de bronze para ser lida como afirmacao, e nao como continuacao do paragrafo. */
.s5__faixa{margin-top:var(--s4);padding-left:var(--s3);border-left:2px solid var(--bronze);
  font-size:1.0625rem;line-height:1.6;color:var(--ink);max-width:52ch}
.facts{margin-top:var(--s4);display:grid;gap:0}
.facts li{padding:var(--s2) 0;border-top:1px solid rgba(29,49,53,.18);font-size:.9375rem;color:var(--ink)}
.facts li:last-child{border-bottom:1px solid rgba(29,49,53,.18)}

/* Tres fotos em escalas e proporcoes diferentes, com a terceira deslocada:
   composicao em grade de 12 colunas, nao fileira de tres iguais com legenda embaixo. */
.shots{display:grid;gap:var(--s4);margin-top:var(--s6)}
@media (min-width:768px){
  .shots{grid-template-columns:repeat(12,1fr);gap:var(--s4) var(--s3);align-items:end}
  .shot:nth-child(1){grid-column:1 / 8}
  .shot:nth-child(2){grid-column:8 / 13}
  .shot:nth-child(3){grid-column:3 / 10;margin-top:var(--s3)}
  .shot:nth-child(1) img{aspect-ratio:4/3}
  .shot:nth-child(2) img{aspect-ratio:4/5}
  .shot:nth-child(3) img{aspect-ratio:16/9}
}
.shot img{width:100%;aspect-ratio:4/5;object-fit:cover;background:var(--paper)}
.shot figcaption{margin-top:12px;font-size:.875rem;color:var(--body);max-width:34ch}
.s5__voz{margin-top:var(--s7)}

/* ---------- 15. S6 quem faz ---------- */
.s6__grid{max-width:64ch}
/* Duas colunas. Esquerda: nome, credencial, biografia e botao. Direita: as duas citacoes na
   MESMA escala, o criterio de delegacao primeiro com a glosa embaixo dele, e a estima fechando
   antes do botao. A ordem do DOM e a ordem de leitura, entao no mobile a sequencia e a mesma
   sem nenhum reordenamento por CSS. */
@media (min-width:1024px){
  .s6__grid{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--s6)}
  .s6__grid > .eyebrow{grid-column:1 / -1;grid-row:1}
  .s6__grid > .s6__name{grid-column:1 / -1;grid-row:2}
  .s6__grid > .s6__reg{grid-column:1 / -1;grid-row:3}
  .s6__grid > .s6__bio{grid-column:1;grid-row:4;max-width:46ch}
  .s6__grid > .s6__cta{grid-column:1;grid-row:5;align-self:start}
  .s6__grid > .s6__deleg{grid-column:2;grid-row:4;margin-top:0}
  .s6__grid > .s6__deleg-trad{grid-column:2;grid-row:5}
  .s6__grid > .s6__voz{grid-column:2;grid-row:6}
}
.s6 .eyebrow{margin-bottom:var(--s2)}
.s6__name{font-size:clamp(1.75rem,3.4vw,2.5rem);font-weight:300;letter-spacing:.02em;line-height:1.2;
  color:var(--ink);margin-top:var(--s2)}
.s6__reg{margin-top:8px;font-size:.9375rem;font-weight:500;color:var(--body)}
.s6__bio{margin-top:var(--s4);max-width:52ch}
.s6__voz{margin-top:var(--s6)}
.s6__deleg{margin-top:var(--s6)}
/* Traducao do criterio de delegacao: e a pagina explicando a fala dele, no mesmo recuo da citacao,
   com o mesmo filete de bronze que separa termo e traducao em S3. Um so gesto, dois lugares. */
.s6__deleg-trad{position:relative;margin-top:var(--s4);padding-left:clamp(1.9rem,4.6vw,3.1rem);
  font-size:.9375rem;line-height:1.65;color:var(--body);max-width:48ch}
.s6__deleg-trad::before{content:"";position:absolute;top:-14px;left:clamp(1.9rem,4.6vw,3.1rem);
  width:28px;height:1px;background:var(--bronze)}
.s6__cta{margin-top:var(--s5)}

/* ---------- 16. S7 prova ---------- */
.pairs{display:grid;gap:var(--s4);margin-top:var(--s5);max-width:980px}
@media (min-width:768px){ .pairs{grid-template-columns:repeat(2,1fr)} .pair--wide{grid-column:1 / -1} }
.pair img{width:100%;object-fit:contain;background:var(--paper);border:1px solid var(--linha);
  box-shadow:var(--relevo-alto)}
.pair figcaption{margin-top:10px;font-size:.875rem;font-weight:500;color:var(--body)}

/* ---------- 17. S8 onde fica ---------- */
@media (min-width:1024px){ .b8__grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--s6);align-items:center} }
.addr{font-size:1.125rem;line-height:1.6;color:var(--ink);max-width:28ch;margin-top:var(--s3);font-style:normal}
.b8__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-top:var(--s4)}
/* Uma capsula so por secao. Rota e ligacao sao link de texto sublinhado, e nao mais uma fileira
   de pilulas iguais, que foi o sintoma retirado na v1. */
.linkacao{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.9375rem;font-weight:500;
  color:var(--acao);text-decoration:underline;text-underline-offset:4px}
.linkacao svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
.b8__mapa{display:block;margin-top:var(--s5);border:1px solid var(--linha-forte);overflow:hidden}
.b8__mapa img{width:100%;height:auto;display:block;transition:transform .35s var(--ease)}
@media (hover:hover){ .b8__mapa:hover img{transform:scale(1.02)} }
@media (min-width:1024px){ .b8__mapa{margin-top:0} }
.b8__credito{margin-top:10px;font-size:.75rem;color:var(--muted)}
.b8__credito a{color:var(--muted)}

/* ---------- 18. S9 fecho ---------- */
.close{min-height:58svh;display:flex;align-items:center}
/* Monograma como marca d'agua: assina o ultimo quadro sem repetir o logo do cabecalho,
   e e o investimento desproporcional que a regra do Pico-Fim pede no fechamento. */
.close__mark{position:absolute;right:-12%;bottom:-16%;width:min(70vw,560px);opacity:.15;
  pointer-events:none;color:var(--paper);z-index:1}
.close__mark svg{width:100%;height:auto}
.close__in{position:relative;z-index:2;width:100%}
.close__cta{margin-top:var(--s6)}

/* ---------- 19. Rodape ---------- */
.foot{background:var(--platina);border-top:1px solid var(--linha-forte);padding-block:var(--s6) var(--s5)}
.foot::after{background-image:var(--tex-grao);background-size:140px 140px;opacity:.05}
.foot__grid{display:grid;gap:var(--s5)}
@media (min-width:768px){ .foot__grid{grid-template-columns:repeat(3,1fr);gap:var(--s6)} }
.foot h3{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:var(--s2)}
.foot li+li{margin-top:2px}
.foot a{color:var(--body);text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px}
.foot a:hover{color:var(--acao);text-decoration:underline}
.foot svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.foot .btn svg{fill:currentColor;stroke:none}
.foot__legal{margin-top:var(--s6);padding-top:var(--s3);border-top:1px solid var(--linha-forte);
  font-size:.8125rem;line-height:1.7;color:var(--muted)}

/* ---------- 21. Movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rise,.js .rise{opacity:1;transform:none}
  .horizon i,.js .horizon i{transform:scaleX(1)}
  .hero__horiz,.hero__horiz-foto{transform:scaleX(1)!important}
  .header::after{transform:scaleX(1)}
  .b3__media video{display:none}
}

/* ============ Painel da clinica (S5) ============
   Pedido do Iva, 20/09/2026: painel no celular (carrossel com encaixe), marquee de
   rolagem continua no desktop, pedido numa segunda rodada ("as imagens passam em um
   movimento continuo bem suavemente"). Dois marcadores diferentes no HTML, um so
   visivel por vez via media query: nunca os dois ao mesmo tempo, nunca duplicado
   para quem usa leitor de tela. */
.painel{margin-top:var(--s5)}
.painel__item{margin:0;position:relative;overflow:hidden;background:var(--platina);flex:none}
.painel__item img{width:100%;height:100%;object-fit:cover;display:block}
.painel__dica{display:none}
.painel__marquee{display:none}

/* Celular e tablet: carrossel com encaixe. O carrossel e scroll-snap nativo: funciona
   sem JS, e o JS (site.js) so adiciona o avanco automatico, que para na primeira
   interacao do visitante. */
.painel__trilho{display:grid;gap:var(--s2)}
@media (max-width:1023px){
  .painel__trilho{
    grid-auto-flow:column;grid-auto-columns:74%;
    overflow-x:auto;overscroll-behavior-x:contain;
    scroll-snap-type:x mandatory;scroll-behavior:smooth;
    padding:0 var(--gutter) var(--s1);margin:0 calc(var(--gutter) * -1);
    scrollbar-width:none;-ms-overflow-style:none}
  .painel__trilho::-webkit-scrollbar{display:none}
  .painel__item{scroll-snap-align:center;aspect-ratio:3/4}
  .painel__dica{display:block;margin-top:var(--s2);font-size:.75rem;letter-spacing:.14em;
    text-transform:uppercase;color:var(--body);opacity:.7}
  .painel__trilho:focus-visible{outline:2px solid var(--acao);outline-offset:4px}
}

/* Desktop: marquee continuo. .painel__faixa contem a sequencia real das 12 fotos
   seguida de uma copia identica e decorativa (aria-hidden, alt=""): a animacao
   translada -50% da largura do proprio elemento, que e sempre metade exata do
   conteudo, entao o ponto de emenda nunca aparece, qualquer que seja a largura
   real renderizada. CSS puro: continua rolando mesmo se o JS falhar. */
@media (min-width:1024px){
  .painel__trilho,.painel__dica{display:none}
  .painel__marquee{
    display:block;overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
    mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
  .painel__faixa{
    display:flex;align-items:center;gap:var(--s3);width:max-content;
    animation:painelMarquee 52s linear infinite}
  .painel__marquee:hover .painel__faixa,
  .painel__marquee:focus-within .painel__faixa{animation-play-state:paused}
  .painel__item{height:clamp(320px,30vw,440px);width:auto;aspect-ratio:auto}
  .painel__item img{width:auto;height:100%}
}
@keyframes painelMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (min-width:1024px) and (prefers-reduced-motion:reduce){
  .painel__faixa{animation:none}
  .painel__marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}

.b3__texto{max-width:62ch}
@media (min-width:1024px){.b3__texto{max-width:none}
  .b3__texto .lede,.b3__texto .s5__faixa,.b3__texto .facts{max-width:64ch}}

/* ======================================================================
   VERSAO 3, 13/10/2026. Arquitetura do prototipo da clinica (Fernanda
   Honorato, a pedido do Cassio): a pagina passa a ser sobre a clinica,
   e nao sobre ele. Os tokens, a fonte, a textura e as regras de contraste
   acima continuam valendo inteiros. Daqui para baixo, so os blocos novos.
   ====================================================================== */

/* ---------- v3.1 Hero da equipe ---------- */
.hero3{background:var(--paper);padding-block:0 var(--s6);overflow:hidden}
.hero3__media{position:relative;margin:0 calc(var(--gutter) * -1);background:var(--platina);
  height:clamp(240px,calc(100svh - var(--dobra)),calc(100vw * .78));
  -webkit-mask-image:linear-gradient(180deg,#000 80%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 80%,transparent 100%)}
.hero3__media img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.hero3__txt{padding-top:var(--s1)}
.hero3 .h1{color:var(--ink);max-width:16ch}
.hero3__lede{margin-top:var(--s3);color:var(--ink);
  font-size:clamp(1.0625rem,.96rem + .7vw,1.3125rem);line-height:1.55;max-width:42ch}
.hero3__cta{margin-top:var(--s4)}
/* Sobreposicao so a partir de 1280: entre 1024 e 1279 o grupo inteiro cai atras do texto
   (medido: contraste do H1 a 1,82:1 em 1024), entao ali a foto empilha como no celular. */
@media (min-width:1280px){
  .hero3{padding:0;min-height:clamp(560px,84svh,800px);display:flex;align-items:center}
  /* A foto ocupa os dois tercos da direita e derrete no papel pela borda esquerda: o texto le
     sobre papel liso e a equipe fica inteira a mostra, sem veu por cima de ninguem. */
  .hero3__media{position:absolute;top:0;right:0;bottom:0;left:34%;margin:0;height:auto;-webkit-mask-image:none;mask-image:none}
  .hero3__media img{object-position:50% 40%}
  .hero3__media::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(90deg,rgba(252,251,249,1) 0%,rgba(252,251,249,.85) 7%,rgba(252,251,249,0) 24%)}
  .hero3 > .wrap{position:relative;z-index:2}
  .hero3__txt{max-width:600px;padding-block:var(--s7)}
}

/* ---------- v3.2 Solucoes ---------- */
.sol__foto{display:none}
@media (min-width:1024px){
  .sol__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--s6);align-items:start}
  .sol__lado{position:sticky;top:calc(var(--header-h) + var(--s3))}
  .sol__foto{display:block;margin-top:var(--s5);aspect-ratio:3/4;object-fit:cover;width:100%;background:var(--platina)}
}
.sol .intents{margin-top:var(--s5)}
@media (min-width:1024px){ .sol .intents{margin-top:0} }
.sol .intent__sub{color:var(--body)}
.intent__txt-corpo{font-size:1rem;line-height:1.7;color:var(--body);max-width:60ch}

/* ---------- v3.3 Equipe ---------- */
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5) var(--s3);margin-top:var(--s6)}
@media (min-width:640px){ .team{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (min-width:1024px){ .team{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s6) var(--s4)} }
.membro{text-align:center}
.membro__foto{width:min(100%,148px);aspect-ratio:1;margin:0 auto;border-radius:50%;object-fit:cover;
  background:var(--areia);box-shadow:0 0 0 1px var(--linha-forte)}
@media (min-width:1024px){ .membro__foto{width:168px} }
.membro__nome{margin-top:var(--s3);font-size:1.0625rem;font-weight:500;letter-spacing:.01em;line-height:1.3;color:var(--ink)}
@media (min-width:1024px){ .membro__nome{font-size:1.1875rem} }
.membro__papel{margin-top:6px;font-size:.875rem;line-height:1.5;color:var(--body)}
.membro__reg{margin-top:2px;font-size:.8125rem;line-height:1.5;color:var(--muted);font-variant-numeric:tabular-nums}
.membro .slot[data-filled="true"]{margin-top:2px}

/* ---------- v3.4 Como funciona ---------- */
.how__foto{margin-top:var(--s5);width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--platina)}
@media (min-width:768px){ .how__foto{aspect-ratio:12/5} }
.how .steps{margin-top:var(--s6)}
@media (min-width:640px) and (max-width:1023px){
  .how .steps{grid-template-columns:repeat(2,1fr);gap:var(--s5) var(--s4)}
  .how .step{padding:var(--s4) 0 0}
  .how .step::before{left:0;right:0;top:0;bottom:auto;width:auto;height:1px;display:block}
  .how .step__n{position:static;display:block;margin-bottom:var(--s2)}
}
@media (min-width:1024px){ .how .steps{grid-template-columns:repeat(4,1fr);gap:var(--s5)} }
.how .step__b{max-width:30ch}
.how__cta{margin-top:var(--s5)}

/* ---------- v3.5 A clinica ---------- */
.estr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2);margin-top:var(--s5)}
.estr__item{margin:0;overflow:hidden;background:var(--paper)}
.estr__item img{width:100%;height:100%;object-fit:cover}
.estr__item--a{grid-column:1 / -1;aspect-ratio:4/3}
.estr__item--b,.estr__item--c{aspect-ratio:3/4}
.estr__item--d{grid-column:1 / -1;aspect-ratio:3/2}
@media (min-width:768px){
  .estr{grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--s3)}
  .estr__item{aspect-ratio:auto}
  .estr__item--a{grid-column:1 / 9;height:clamp(300px,36vw,500px)}
  .estr__item--b{grid-column:9 / 13;height:clamp(300px,36vw,500px)}
  .estr__item--c{grid-column:1 / 5;height:clamp(260px,30vw,420px)}
  .estr__item--d{grid-column:5 / 13;height:clamp(260px,30vw,420px)}
}

/* ---------- v3.6 Numeros da clinica ---------- */
.numeros{display:grid;gap:var(--s5);text-align:center}
@media (min-width:768px){ .numeros{grid-template-columns:repeat(3,1fr);gap:var(--s4)} }
.numero__v{display:block;font-weight:300;font-size:clamp(3rem,7vw,4.75rem);line-height:1;letter-spacing:-.005em;
  color:var(--acao);font-variant-numeric:tabular-nums lining-nums}
.numero__l{display:block;margin-top:var(--s2);font-size:1rem;line-height:1.5;color:var(--ink)}
.numeros__link{margin-top:var(--s5);text-align:center}
.agua .linkacao{color:var(--ink)}

/* ---------- v3.7 Perguntas frequentes ---------- */
.faq{margin-top:var(--s5);max-width:880px}
.faq__item{border-top:1px solid var(--linha)}
.faq__item:last-child{border-bottom:1px solid var(--linha)}
.faq__item summary{display:flex;align-items:center;gap:var(--s2);min-height:64px;padding:18px 0;cursor:pointer;
  list-style:none;font-size:1.0625rem;font-weight:500;line-height:1.4;color:var(--ink)}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary span{flex:1}
.faq__item summary svg{flex:none;width:24px;height:24px;stroke:var(--azul-piscina);fill:none;stroke-width:1.5;
  transition:transform .22s var(--ease)}
.faq__item[open] summary svg{transform:rotate(180deg)}
.faq__item p{padding:0 0 var(--s4);max-width:66ch;color:var(--body)}
@media (hover:hover){ .faq__item summary:hover{color:var(--acao)} }
.faq__cta{margin-top:var(--s5)}

/* ---------- v3.8 Fecho com a fala do fundador ---------- */
.fecho .voz__txt{max-width:30ch}
.fecho .voz__by{color:var(--ink)}
.voz__papel{margin-top:6px;font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--body)}
.fecho__cta{margin-top:var(--s6)}

/* ---------- v3.9 Rodape ---------- */
@media (min-width:1024px){ .foot__grid--v3{grid-template-columns:5fr 4fr 4fr} }
.foot__nav{margin-top:var(--s3)}
.foot__nav a{min-height:44px}
.foot__dado{font-size:.9375rem;line-height:1.6;color:var(--body)}
.foot__dado + h3{margin-top:var(--s4)}
.foot address{font-style:normal}
ol.steps{padding:0;list-style:none}
.btn svg{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.foot .brand__mono svg{width:100%;height:100%;stroke:none}
.actionbar .btn{padding-inline:18px;font-size:.875rem;letter-spacing:.02em;white-space:nowrap}
sub{font-size:.72em;line-height:0;vertical-align:baseline;position:relative;top:.28em}
@media (min-width:1024px) and (max-width:1279px){
  .hero3{padding-bottom:var(--s7)}
  .hero3__media{height:clamp(320px,calc(100svh - var(--dobra)),520px)}
  .hero3__media img{object-position:56% 30%}
}
