/* ===========================================================================
   Dr. Luigi Seronni · sistema visual do site
   Nasceu da página de blefaroplastia (v7, a que está no ar) e vale para todas
   as páginas: home, uma página por cirurgia, consultas e artigos. Mudou aqui,
   muda em todas. Página nova não traz CSS próprio para o que já existe aqui.
   A ordem das regras é a da página original: não reordene sem conferir.
   =========================================================================== */

/* ==========================================================
   TOKENS
   ========================================================== */
:root{
  /* O escuro da página deixou de ser quase-preto: é a sálvia funda do
     manual, aprofundada até 10,6:1 sobre o creme. Fundo escuro e cor de
     texto passam a ser o MESMO token, que é o que um sistema editorial
     honesto faz. */
  /* --- BLOCO 1 · A ESCADA DE CAMPOS ---
     A v28 declarava quatro campos e entregava dois. Medido em ΔE2000,
     creme→sálvia dava 5,74 mas creme→linho dava 2,30, abaixo do limiar de
     percepção em área grande: a página tinha, de fato, só claro e escuro.
     O conserto não foi trocar a paleta, foi ACRESCENTAR um degrau por cima.
     O creme do manual deixa de ser a base e passa a ser o segundo campo.
     Escada final, toda medida:
       branco → creme    ΔE 3,30
       creme  → sálvia   ΔE 5,77
       sálvia → escuro   ΔE 62,9
     Cada campo carrega um significado, e é isso que impede o xadrez:
       branco  a página falando (leitura corrente, argumento)
       creme   material de consulta (índice, prático, FAQ, endereço)
       sálvia  a prancha anatômica (ciência)
       escuro  evento (prova e decisão) */
  --branco:#FDFBF0;           /* campo base — papel claro, quente, L* 98,5 */
  --papel:#F1ECE0;            /* creme do manual — segundo campo E tinta clara sobre escuro */
  --linho:#E7E1D4;            /* rebaixo: buraco de imagem, nunca cartão */
  --salvia:#DDE2D3;           /* campo da prancha */
  --tinta:#2E3829;            /* TINTA: texto sobre campo claro. Só isso. */
  /* --- BLOCO 3 · o campo escuro se separa da tinta ---
     Até a v30 --tinta fazia dois trabalhos: cor do texto E campo escuro. Um
     token só para dois papéis significa que clarear o campo clarearia todo
     o texto da página. Separados, cada um responde pelo seu portão.
     O campo subiu de L* 22,2 para 30,2 e o croma de 11,1 para 15,8: ele
     estava mais escuro E mais dessaturado que a própria sálvia funda da
     marca (#3B4633, croma 13,2), então lia como verde sujo e não como
     sálvia. Agora fica na família: salvia-campo tem croma 14,2. */
  --campo-escuro:#3D4B34;     /* campo escuro — evento e respiro */
  --tinta-2:rgba(46,56,41,.88);   /* 7,4:1 sobre creme */
  --tinta-3:rgba(46,56,41,.80);   /* 5,9:1 sobre creme. Subiu de .74 porque .74
                                     reprovava (4,3:1) sobre sálvia com grão. */
  --fio:rgba(46,56,41,.18);       /* 1,4:1 — filete editorial, separa parágrafo */
  --fio-forte:rgba(46,56,41,.58); /* 3,0:1 — limite de componente clicável, WCAG 1.4.11 */
  --fio-suave:rgba(46,56,41,.10);
  --musgo:#55604A;            /* = sálvia campo */
  --musgo-claro:#9CA892;      /* = sálvia da marca. Texto GRANDE, traço e foco
                                 sobre campo escuro: pisos de 3:1, e passa. */
  /* Com o campo escuro em L* 30,2, a sálvia da marca cai para 3,43:1 no pior
     grão — abaixo do piso de 4,5:1 do rótulo, que é texto pequeno. Este é o
     mesmo matiz, clareado até passar (4,90:1) e só para texto pequeno. */
  --musgo-rotulo:#BCC7B2;
  /* exceção funcional declarada: o barro só existe no bloco de segurança,
     onde a cor precisa não poder ser confundida com decoração */
  --barro:#8E3B2C;
  --barro-claro:#EFE0D9;
  --papel-escuro:rgba(241,236,224,.82);  /* subiu de .76 pelo mesmo motivo de --tinta-3 */

  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Archivo","Helvetica Neue",Arial,sans-serif;
  --marca:"Jost","Century Gothic","Futura","Helvetica Neue",Arial,sans-serif;

  /* --- paleta da marca (manual): sálvia, creme, taupe --- */
  --salvia-marca:#9CA892;
  --salvia-campo:#55604A;
  --salvia-funda:#3B4633;
  --creme:#F1ECE0;   /* alinhado a --papel: um creme só na página */
  --taupe:#B7937B;
  --taupe-tinta:#7E5C3F;
  --fio-marca:rgba(59,70,51,.20);
  /* --- movimento: curvas (4, e só estas) --- */
  --ease-standard:cubic-bezier(.2,0,0,1);   /* padrão: entra e assenta, sem overshoot */
  --ease-emphasis:cubic-bezier(.05,.7,.1,1);/* ênfase: percurso longo, desaceleração ampla */
  --ease-exit:cubic-bezier(.3,0,.8,.15);    /* saída: acelera e some */
  --ease-draw:cubic-bezier(.65,0,.35,1);    /* traço que se desenha: começa e termina calmo */
  --entra:var(--ease-standard);             /* alias herdado do herói */

  /* --- movimento: durações (4, e só estas) --- */
  --duration-fast:150ms;    /* estado: hover, foco, chevron */
  --duration-base:300ms;    /* revelação curta: item de lista, troca de slide */
  --duration-slow:600ms;    /* entrada de texto */
  --duration-event:1100ms;  /* evento: imagem, desenho anatômico */

  /* --- movimento: ritmo e amplitude --- */
  --stagger:70ms;      /* passo entre irmãos */
  --travel:10px;       /* deslocamento de apoio */
  --travel-lg:18px;    /* deslocamento de âncora (títulos, blocos) */
  --mv-scale:1.02;     /* assentamento de imagem */

  /* --- BLOCO 1 · ELEVAÇÃO ---
     A v28 tinha zero sombra e zero gradiente: nenhum eixo Z em lugar nenhum,
     e era essa a causa mecânica da sensação de página chapada. A sombra aqui
     é a PRÓPRIA TINTA em alpha baixo, nunca preto nem cinza: preto sobre
     creme suja o matiz e devolve o cartão genérico de SaaS. Três alturas,
     e nenhuma a mais. */
  --alt-1:0 1px 2px rgba(46,56,41,.05), 0 2px 8px rgba(46,56,41,.04);
  --alt-2:0 2px 4px rgba(46,56,41,.055), 0 12px 28px rgba(46,56,41,.05);
  --alt-3:0 4px 10px rgba(46,56,41,.06), 0 28px 60px rgba(46,56,41,.055);

  /* --- BLOCO 1 · TEXTURA ---
     Havia UMA textura no arquivo inteiro, atrás do retrato do herói, e por
     isso ela não podia ser reusada: estava calibrada para um campo só.
     Agora são duas densidades, e a diferença não é estética, é física — a
     mesma variação de luz rende menos ΔE em L* baixo, então campo escuro
     precisa de mais grão para o mesmo efeito percebido.
     Cada camada é fibra (alta frequência) + mancha (baixa frequência): sem
     a mancha o grão vira chuvisco de televisão em vez de papel.
     Portão usado na calibração: no pixel mais escuro do ruído, o corpo de
     texto continua acima de 7:1 e o texto fraco acima de 4,5:1. */
  /* A mancha (baixa frequencia) e um PNG de 190px esticado para 760 pelo
     background-size, e nao mais um feTurbulence. Motivo: em DPR3 o SVG
     obrigava o navegador a gerar um bitmap de 2280x2280 (20,8 MB) por
     variante de campo, que estourava o cache do celular e era regenerado
     durante a rolagem. O ruido tem detalhe minimo de ~21px, entao 190px
     de amostragem o reproduz com delta maximo de 2/255 - medido, nao
     estimado. A fibra continua em feTurbulence: e alta frequencia e
     precisa da resolucao. Para regerar: perf/construir_final.py */
  --grao-claro:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='f' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch' seed='11'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='.55' intercept='.22'/%3E%3CfeFuncG type='linear' slope='.55' intercept='.22'/%3E%3CfeFuncB type='linear' slope='.55' intercept='.22'/%3E%3CfeFuncA type='discrete' tableValues='1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23f)' opacity='.55'/%3E%3C/svg%3E"),
    url("data:image/png;base64,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");
  --grao-escuro:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='f' x='0' y='0' width='100%25' height='100%25' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch' seed='11'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='.52' intercept='.24'/%3E%3CfeFuncG type='linear' slope='.52' intercept='.24'/%3E%3CfeFuncB type='linear' slope='.52' intercept='.24'/%3E%3CfeFuncA type='discrete' tableValues='1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23f)' opacity='.26'/%3E%3C/svg%3E"),
    url("data:image/png;base64,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");

  --pad:clamp(1.25rem,5vw,2rem);
  --leitura:38rem;
  --media:52rem;
  --ampla:74rem;
  /* --- BLOCO 2 · ESCALA TIPOGRÁFICA ---
     A v29 declarava dois níveis de h2 (evento e leitura, 1,76:1) para 19
     títulos que governam de 36 a 620 palavras — amplitude de 17:1. E a
     atribuição estava invertida no topo: as três seções mais pesadas da
     página (Recuperação 620, Percurso 581, FAQ 494, juntas 45% do texto)
     usavam o MENOR nível disponível.

     A causa não era falta de tamanhos, era um eixo só carregando dois
     trabalhos. --t-evento marca POSTO RETÓRICO ("isto é um momento") e é
     atribuído por papel, não por volume: Resultados e Fecho são eventos
     com 229 e 53 palavras. Faltava o instrumento de EXTENSÃO ("isto é um
     capítulo longo"). --t-capitulo é esse instrumento.

     A escala é calibrada em TAMANHO APARENTE, não nominal, porque as três
     famílias têm x-heights muito diferentes:
       Archivo     0,526em   corpo
       Jost        0,460em   marca e títulos
       Newsreader  0,426em   a voz do médico
     Métrica aparente = 0,8·x-height + 0,2·cap-height. Foi ela que revelou
     os dois defeitos que a crítica não tinha visto:

     · o h3, declarado 13% maior que o corpo, chegava ao olho 1,03x — mesmo
       peso, mesma altura de x. Não era um nível, era texto. Corrigido em
       tamanho E em peso (400 → 500).
     · a voz do médico, declarada 4% MAIOR que o corpo (1,14 vs 1,09rem),
       chegava 11% MENOR. As frases mais importantes da página eram as
       opticamente menores do fluxo. Corrigido para 1,36rem.

     Passos aparentes de ~1,32x (uma quarta justa), medidos, não estimados:
       herói 5,33 → evento 3,00 → capítulo 2,26 → leitura 1,71 →
       seção 1,25 → voz 1,10 → corpo 1,00 → rótulo 0,71
     Rodar tipo.py depois de qualquer mudança de tamanho. */
  --t-heroi:clamp(2.55rem,10.9vw,6.4rem);
  --t-fecho:clamp(2.35rem,8.4vw,6.2rem);   /* par do herói, ver .fecho h2 */
  --t-evento:clamp(2.35rem,6vw,3.6rem);
  --t-capitulo:clamp(1.82rem,4.4vw,2.72rem);
  --t-leitura:clamp(1.5rem,3.2vw,2.05rem);
  --t-secao:clamp(1.3rem,2.7vw,1.44rem);
  --t-voz:clamp(1.28rem,2.4vw,1.36rem);
  --t-veredicto:clamp(1.5rem,3vw,1.72rem);
  --t-rotulo:.78rem;

  /* --- três densidades de ar vertical ---
     Com o fundo praticamente uniforme, o ar é o instrumento de ritmo. */
  --cena:clamp(3.4rem,7.5vw,5.6rem);
  --cena-densa:clamp(2.2rem,4.6vw,3.2rem);
  --cena-ampla:clamp(5rem,11vw,8.6rem);
  --barra:64px;
}
@media(min-width:1200px){:root{--cena:6.6rem;--cena-ampla:9.2rem}}
@media(min-width:1000px){:root{--barra:78px}}

*{box-sizing:border-box}
html{interpolate-size:allow-keywords} /* habilita transição de altura auto nos accordions */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--barra) + 12px)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;background:var(--branco);color:var(--tinta);
  font-family:var(--sans);font-weight:400;
  font-size:1.0625rem;line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
@media(min-width:800px){body{font-size:1.09375rem}}

img{max-width:100%;display:block;height:auto}
svg{max-width:100%;display:block}
figure{margin:0}
a{color:inherit}
p{margin:0 0 .9em}
p:last-child{margin-bottom:0}

/* Os títulos são da marca, não da serifa. A serifa passa a significar uma
   coisa só: o médico falando em primeira pessoa. */
h1,h2,h3{font-family:var(--marca);font-weight:300;line-height:1.12;
  letter-spacing:-.012em;margin:0 0 .5em}
h2{font-size:var(--t-leitura);line-height:1.14}
/* O peso sobe junto com o tamanho: a 400, Jost e Archivo têm o mesmo
   assentamento na página, e o título dependia só do tamanho — que a
   x-height menor da Jost anulava. */
h3{font-size:var(--t-secao);font-weight:500;line-height:1.26;letter-spacing:-.004em}

/* nível 1 · evento. Quatro na página inteira, e nenhum a mais. */
.evento h2{font-size:var(--t-evento);font-weight:200;line-height:1.02;letter-spacing:-.024em}
.evento .sub{font-size:1.14rem;max-width:34rem}

/* nível 2 · capítulo. Regra de atribuição: a seção governa mais de 400
   palavras. Dá exatamente três — Percurso (581), Recuperação (620) e FAQ
   (494) — e o próximo candidato tem 267 e já é evento, então não há caso
   de fronteira para discutir.
   Capítulo não é só um tamanho maior: é uma ABERTURA. O leitor precisa
   saber que está entrando num trecho longo antes de entrar. Por isso o
   rótulo ganha peso, o filete cresce, o subtítulo vira olho de matéria e
   o bloco todo respira mais embaixo. */
.capitulo>*>h2{font-size:var(--t-capitulo);font-weight:250;line-height:1.06;
  letter-spacing:-.018em;max-width:20ch}
.capitulo>*>.rotulo{color:var(--tinta-2);font-weight:600}
.capitulo>*>.rotulo::before{width:2.4rem;background:var(--tinta-2)}
.capitulo>*>.sub{font-size:1.14rem;max-width:36rem;margin-bottom:clamp(2.4rem,5vw,3.6rem)}

.pular{position:absolute;left:-9999px}
.pular:focus{left:.5rem;top:.5rem;z-index:200;background:var(--tinta);color:var(--papel);padding:.6rem .9rem}
:focus-visible{outline:2px solid var(--musgo);outline-offset:3px}
.escuro :focus-visible{outline-color:var(--musgo-claro)}
::selection{background:var(--musgo);color:var(--papel)}

.leitura{max-width:var(--leitura);margin-inline:auto;padding-inline:var(--pad)}
.media{max-width:var(--media);margin-inline:auto;padding-inline:var(--pad)}
.ampla{max-width:var(--ampla);margin-inline:auto;padding-inline:var(--pad)}

.cena{padding-block:var(--cena)}
.cena.densa{padding-block:var(--cena-densa)}
.cena.evento{padding-block:var(--cena-ampla)}
/* Quatro campos na página inteira: escuro em Resultados, sálvia na prancha
   anatômica, sálvia no respiro, escuro no Fecho. Entre eles, corridas longas
   de creme. Alternar fundo a cada seção não é ritmo — é xadrez. */
/* --- BLOCO 1 · o campo deixa de ser uma cor e passa a ser uma superfície ---
   Toda seção recebe cor + grão, e o grão é misturado em soft-light, que é o
   único modo de mistura que preserva a média: o campo não escurece nem
   dessatura, só ganha material. É por isso que o creme continua sendo
   exatamente #F1ECE0 medido, e não um creme sujo de cinza. */
main>section,.rodape{
  background-color:var(--campo,var(--branco));
  background-repeat:repeat;
}
@supports (background-blend-mode:soft-light){
  main>section,.rodape{
    background-image:var(--grao,var(--grao-claro));
    background-size:220px 220px,760px 760px;
    background-blend-mode:soft-light,soft-light;
  }
}
.f-creme{--campo:var(--papel)}
.f-linho{--campo:var(--linho)}
.f-salvia{--campo:var(--salvia)}
.escuro{--campo:var(--campo-escuro);color:var(--papel)}
.escuro{--grao:var(--grao-escuro)}
@media print{main>section,.rodape{background-image:none}}
.escuro h2,.escuro h3{color:var(--papel)}

/* Aparecia quinze vezes idêntico e virou moldura. Continua onde está, mas
   deixa de disputar com o título: menor, mais leve, mais espaçado. */
.rotulo{font-family:var(--sans);font-size:var(--t-rotulo);font-weight:500;letter-spacing:.09em;
  text-transform:lowercase;color:var(--tinta-3);
  display:flex;align-items:center;gap:.6rem;margin:0 0 .8rem}
.rotulo::before{content:"";width:1.4rem;height:1px;background:var(--tinta-3);flex:none}
.evento .rotulo{color:var(--musgo)}
.evento .rotulo::before{background:var(--musgo)}
.escuro .rotulo{color:var(--musgo-rotulo)}
.escuro .rotulo::before{background:var(--musgo-rotulo)}

.sub{color:var(--tinta-2);max-width:38rem;margin:0 0 1.7rem}
.escuro .sub{color:var(--papel-escuro)}

/* ---------- barra superior ---------- */
.topo{position:sticky;top:0;z-index:100;height:var(--barra);display:flex;align-items:center;
  background:transparent;border-bottom:1px solid transparent;
  transition:background-color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),backdrop-filter var(--duration-base) var(--ease-standard)}
.topo.fixa{background:rgba(253,251,240,.90);backdrop-filter:saturate(130%) blur(14px);
  border-bottom-color:var(--fio-marca);box-shadow:var(--alt-1)}
.topo-in{max-width:var(--ampla);margin-inline:auto;padding-inline:var(--pad);width:100%;
  display:flex;align-items:center;gap:1.2rem}

.marca{display:flex;align-items:center;gap:.62rem;font-family:var(--marca);font-weight:300;
  font-size:1.02rem;letter-spacing:.06em;text-decoration:none;white-space:nowrap;line-height:1.1;
  color:var(--salvia-funda)}
.marca .simbolo{flex:none;width:1.55rem;height:1.55rem;color:var(--salvia-campo)}
.marca small{display:block;font-family:var(--marca);font-weight:400;font-size:.6rem;
  letter-spacing:.19em;text-transform:uppercase;color:var(--salvia-campo);margin-top:.16rem}
@media(max-width:479px){.marca{font-size:.92rem;gap:.5rem;letter-spacing:.05em}
  .marca .simbolo{width:1.35rem;height:1.35rem}
  .marca small{font-size:.54rem;letter-spacing:.15em}
  .topo .bt{letter-spacing:.02em}}
/* telas muito estreitas: o símbolo e o nome bastam para identificar a marca */
@media(max-width:374px){.marca small{display:none}.marca{font-size:.88rem}}

.menu{display:none;gap:1.6rem;margin-left:auto;font-family:var(--marca);font-weight:400;
  font-size:.875rem;letter-spacing:.05em}
.menu a{text-decoration:none;color:var(--salvia-funda);opacity:.82;padding:.35rem 0;
  border-bottom:1px solid transparent;transition:opacity var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
.menu a:hover{opacity:1}
.menu a[aria-current="true"]{opacity:1;border-bottom-color:var(--salvia-marca)}
@media(min-width:1040px){.menu{display:flex}}

/* botão da barra: sálvia profunda, nunca quase-preto */
.topo .bt{background:var(--salvia-funda);border-color:var(--salvia-funda);color:var(--creme);
  font-family:var(--marca);font-weight:400;letter-spacing:.05em}
.topo .bt:hover{background:var(--salvia-campo);border-color:var(--salvia-campo)}

.bt{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:var(--sans);font-size:1rem;font-weight:500;line-height:1;
  padding:.9rem 1.35rem;text-decoration:none;border:1px solid var(--tinta);
  background:var(--tinta);color:var(--papel);cursor:pointer}
.bt:hover{background:var(--musgo);border-color:var(--musgo)}
.bt.claro{background:transparent;color:var(--tinta)}
.bt.claro:hover{background:var(--tinta);color:var(--papel)}
.escuro .bt{background:var(--papel);color:var(--tinta);border-color:var(--papel)}
.escuro .bt:hover{background:var(--musgo-claro);border-color:var(--musgo-claro);color:var(--tinta)}
.escuro .bt.claro{background:transparent;color:var(--papel);border-color:rgba(242,240,234,.5)}
.escuro .bt.claro:hover{background:var(--papel);color:var(--tinta)}
.topo .bt{margin-left:auto;padding:.62rem 1.05rem;font-size:.9375rem}
@media(min-width:1040px){.topo .bt{margin-left:0}}
@media(max-width:399px){.topo .bt{padding:.62rem .8rem}}

/* ---------- painel de profundidade ---------- */
.fundo{border-top:1px solid var(--fio)}
.fundo:last-of-type{border-bottom:1px solid var(--fio)}
.fundo>summary{list-style:none;cursor:pointer;display:flex;gap:.75rem;align-items:baseline;
  padding:.95rem 0;font-family:var(--sans);font-size:1rem;font-weight:500;color:var(--tinta)}
.fundo>summary::-webkit-details-marker{display:none}
.fundo>summary::before{content:"";flex:none;width:.72rem;height:.72rem;margin-top:.3rem;
  border-right:2px solid var(--musgo);border-bottom:2px solid var(--musgo);
  transform:rotate(45deg);transition:transform var(--duration-base) var(--ease-standard)}
.fundo[open]>summary::before{transform:rotate(-135deg)}
.fundo>summary:hover{color:var(--musgo)}
.fundo-c{font-family:var(--serif);font-size:var(--t-voz);line-height:1.66;color:var(--tinta-2);
  max-width:34rem;padding:.2rem 0 1.6rem 1.5rem;border-left:2px solid var(--musgo);margin-left:.1rem}
.fundo-c strong{font-weight:500;color:var(--tinta)}
.fundo-c h4{font-family:var(--serif);font-weight:500;font-size:var(--t-voz);color:var(--tinta);margin:1.4rem 0 .3rem}
.fundo-c h4:first-child{margin-top:0}
.fundo-c ul{margin:.6rem 0;padding-left:1.1rem}
.fundo-c li{margin-bottom:.4rem}
.escuro .fundo{border-color:rgba(242,240,234,.22)}
.escuro .fundo>summary{color:var(--papel)}
.escuro .fundo>summary::before{border-color:var(--musgo-claro)}
.escuro .fundo-c{color:var(--papel-escuro);border-left-color:var(--musgo-claro)}
.escuro .fundo-c strong{color:var(--papel)}

/* ---------- nota do médico ---------- */
/* ---------- A VOZ DO MÉDICO ----------
   Havia seis componentes de ênfase com seis tamanhos diferentes (1,08 /
   1,16 / 1,18 / 1,20 / 1,22 / 1,60 rem) e nenhuma hierarquia entre eles:
   ninguém sabia qual era a frase importante. Agora são dois níveis.
   Nível A, aqui: o médico falando, serifa, filete à esquerda, um tamanho só.
   Nível B: o veredicto, um por seção, o único que cresce. */
.nota,.destaque-frase,.remate{margin:1.9rem 0 0;padding:.1rem 0 .1rem 1.25rem;
  background:none;border:0;border-left:2px solid var(--musgo);max-width:36rem}
/* BLOCO 2: era 1,14rem. Declarada 4% maior que o corpo, chegava ao olho
   11% MENOR — a x-height da Newsreader é 0,426em contra 0,526em da
   Archivo. As frases que mais importam eram as opticamente menores da
   página. --t-voz é o tamanho que põe a serifa 1,10x acima do corpo de
   fato, e não no papel. */
.nota p,.destaque-frase,.remate{font-family:var(--serif);font-size:var(--t-voz);
  line-height:1.5;color:var(--tinta-2);margin:0}

/* ---------- placeholders ---------- */
.vaga{background:var(--linho);border:1px dashed var(--fio);display:grid;place-items:center;
  text-align:center;padding:1rem;font-family:var(--sans);font-size:.82rem;line-height:1.5;color:var(--tinta-3)}
.vaga b{display:block;font-weight:600;color:var(--tinta-2);margin-bottom:.2rem}
.f-linho .vaga{background:var(--papel)}
.escuro .vaga{background:rgba(242,240,234,.07);border-color:rgba(242,240,234,.25);color:rgba(242,240,234,.6)}
.escuro .vaga b{color:rgba(242,240,234,.85)}


/* ==========================================================
   SISTEMA DE MOVIMENTO  — global
   ----------------------------------------------------------
   Vocabulário único de movimento da página. Uma classe
   utilitária: .mv

   .mv marca um GRUPO de revelação. Os filhos DIRETOS do
   elemento que carrega .mv são as unidades animadas, e o
   tratamento de cada uma vem do que ela É (título, parágrafo,
   lista, figura, régua, desenho) — não de um modificador
   escrito à mão. É assim que o movimento explica hierarquia
   em vez de decorar.

   O JS acrescenta data-vis quando o grupo entra na viewport,
   UMA única vez, e desiste de observar. Sem JS, sem
   IntersectionObserver ou na impressão, tudo renderiza no
   estado final.

   ORÇAMENTO — revisto no BLOCO 6.

   A v30 tinha movimento em 6 grupos e nenhum nas outras 13
   seções. A leitura da crítica foi "página engessada", e a
   resposta óbvia — pôr .mv em tudo — produz o fade-up
   genérico que o NORTH STAR proíbe. As duas coisas eram
   verdadeiras porque o sistema tinha UMA intensidade só:
   .mv é cheio, e cheio numa seção de leitura é teatral.

   O que faltava não era mais movimento, era um REGISTRO
   MAIS BAIXO. Agora são três, e eles não são uma taxonomia
   nova: são exatamente os três níveis que o Bloco 2 já
   estabeleceu na tipografia. Uma seção se move como ela se
   intitula.

     .mv          cena      coreografia inteira: rótulo,
                            título, apoio e bloco escalonados,
                            traço desenhado, imagem que assenta.
                            6 na página, por DOIS motivos e não um:
                            os 4 eventos tipográficos (Resultados,
                            Causas, Remover/reestruturar, Fecho) e
                            mais 2 seções cujo conteúdo é um desenho
                            que precisa ser desenhado (Oftalmologista
                            e Laser). O orçamento antigo dizia 4 e a
                            página já tinha 6 — a diferença eram
                            exatamente esses dois desenhos, e o
                            critério honesto é este, não a simetria.
     .mv-abre     capítulo  só a ABERTURA entra — rótulo, título
                            e olho de matéria, em sequência. O
                            corpo não se move: quem vai ler 600
                            palavras não precisa de mais nada
                            acontecendo. 3 na página.
     .mv-filete   leitura   o filete do rótulo se desenha e o
                            título resolve em opacidade. Nada
                            desliza. É a pontuação da página,
                            repetida — não uma animação. 9.

   O registro de leitura reusa .rotulo::before, que já existia
   no sistema e já aparece 17 vezes: o gesto não foi inventado
   para este bloco, foi promovido a registro.
   ========================================================== */

/* ---------- 1 · o grupo e o escalonamento de ordem ---------- */
.mv{--mv-d:0ms}
.mv>*{--mv-d:0ms}
.mv>:nth-child(2){--mv-d:var(--stagger)}
.mv>:nth-child(3){--mv-d:calc(var(--stagger)*2)}
.mv>:nth-child(4){--mv-d:calc(var(--stagger)*3)}
.mv>:nth-child(5){--mv-d:calc(var(--stagger)*4)}
.mv>:nth-child(n+6){--mv-d:calc(var(--stagger)*5)}  /* teto: nada chega atrasado */

.js-anima .mv>*{opacity:0;transform:translateY(var(--mv-travel,var(--travel)))}
.mv>*{transition:
  opacity   var(--mv-dur,var(--duration-slow)) var(--mv-ease,var(--ease-standard)) var(--mv-d),
  transform var(--mv-dur,var(--duration-slow)) var(--mv-ease,var(--ease-standard)) var(--mv-d)}
.mv[data-vis]>*{opacity:1;transform:none}

/* ---------- 2 · entrada de headings (a âncora) ---------- */
/* Mais amplitude e mais tempo que tudo o que está em volta.
   A hierarquia é lida antes de o texto ser lido. */
.mv>:is(h1,h2,h3){--mv-travel:var(--travel-lg);--mv-ease:var(--ease-emphasis)}

/* o rótulo chega antes do título, mais curto e mais discreto */
.mv>.rotulo{--mv-travel:calc(var(--travel)*.6);--mv-dur:var(--duration-base)}

/* ---------- 3 · entrada de parágrafos ---------- */
.mv>:is(p,.sub,.nota,blockquote,.fecha){--mv-travel:var(--travel)}

/* ---------- 4 · stagger para listas ---------- */
/* O container não se move; os itens escalonam DENTRO dele,
   somando o atraso do próprio grupo (--mv-d é herdado). */
.js-anima .mv>:is(ul,ol,dl){opacity:1;transform:none}
.js-anima .mv>:is(ul,ol)>li,
.js-anima .mv>dl>div,
.js-anima .mv>dl>dt{opacity:0;transform:translateY(calc(var(--travel)*.6))}
.mv>:is(ul,ol)>li,
.mv>dl>div,
.mv>dl>dt{transition:
  opacity   var(--duration-base) var(--ease-standard) calc(var(--mv-d) + var(--stagger)*var(--mv-i,0)),
  transform var(--duration-base) var(--ease-standard) calc(var(--mv-d) + var(--stagger)*var(--mv-i,0))}
.mv[data-vis]>:is(ul,ol)>li,
.mv[data-vis]>dl>div,
.mv[data-vis]>dl>dt{opacity:1;transform:none}

.mv :is(li,dl>div,dl>dt){--mv-i:0}
.mv :is(li,dl>div,dl>dt):nth-child(2){--mv-i:1}
.mv :is(li,dl>div,dl>dt):nth-child(3){--mv-i:2}
.mv :is(li,dl>div,dl>dt):nth-child(4){--mv-i:3}
.mv :is(li,dl>div,dl>dt):nth-child(5){--mv-i:4}
.mv :is(li,dl>div,dl>dt):nth-child(6){--mv-i:5}
.mv :is(li,dl>div,dl>dt):nth-child(n+7){--mv-i:6}

/* Uma grade de cartões é só um grupo: basta pôr .mv na grade
   e os filhos diretos escalonam pela regra 1. */

/* ---------- 5 · revelação de linhas ---------- */
/* Régua desenha da esquerda para a direita. Vale para <hr>
   e para o filete do .rotulo, que já existe em 15 lugares. */
.js-anima .mv>hr{opacity:1;transform:scaleX(0)}
.mv>hr{transform-origin:left center;
  transition:transform var(--duration-slow) var(--ease-standard) var(--mv-d)}
.mv[data-vis]>hr{transform:none}

.js-anima .mv>.rotulo::before{transform:scaleX(0)}
.mv>.rotulo::before{transform-origin:left center;
  transition:transform var(--duration-slow) var(--ease-standard) calc(var(--mv-d) + 60ms)}
.mv[data-vis]>.rotulo::before{transform:none}

/* ---------- 6 · entrada de imagens e blocos grandes ---------- */
/* Imagem não desliza: assenta. Escala mínima, duração de
   evento, sem deslocamento — do mesmo jeito que o retrato do herói. */
.js-anima .mv>:is(figure,picture,img,.vaga,.player,.par,.faixa-foto,.mapa,.quadro){
  transform:scale(var(--mv-scale))}
.mv>:is(figure,picture,img,.vaga,.player,.par,.faixa-foto,.mapa,.quadro){
  --mv-dur:var(--duration-event);--mv-ease:var(--ease-emphasis);
  transform-origin:center}

/* Bloco grande (seção em sangria, painel de largura total):
   amplitude de âncora e duração de evento. */
.js-anima .mv>:is(section,aside,.escuro,.campo){transform:translateY(var(--travel-lg))}
.mv>:is(section,aside,.escuro,.campo){--mv-dur:var(--duration-event);--mv-ease:var(--ease-emphasis)}

/* ---------- 6B · BLOCO 6 · os dois registros baixos ----------
   Ambos são observados pelo mesmo JS (ver querySelectorAll abaixo) e
   herdam --travel / --stagger / --duration-*, então o bloco de
   prefers-reduced-motion global já os cobre sem regra nova. */

/* --- capítulo: entra a abertura, o corpo fica parado --- */
.mv-abre>*>.rotulo{--mv-d:0ms}
.mv-abre>*>h2{--mv-d:var(--stagger);--mv-travel:var(--travel-lg);--mv-ease:var(--ease-emphasis)}
.mv-abre>*>.sub{--mv-d:calc(var(--stagger)*2)}
.js-anima .mv-abre>*>:is(.rotulo,h2,.sub){
  opacity:0;transform:translateY(var(--mv-travel,var(--travel)))}
.mv-abre>*>:is(.rotulo,h2,.sub){transition:
  opacity   var(--mv-dur,var(--duration-slow)) var(--mv-ease,var(--ease-standard)) var(--mv-d),
  transform var(--mv-dur,var(--duration-slow)) var(--mv-ease,var(--ease-standard)) var(--mv-d)}
.mv-abre[data-vis]>*>:is(.rotulo,h2,.sub){opacity:1;transform:none}

.js-anima .mv-abre>*>.rotulo::before{transform:scaleX(0)}
.mv-abre>*>.rotulo::before{transform-origin:left center;
  transition:transform var(--duration-slow) var(--ease-standard) 60ms}
.mv-abre[data-vis]>*>.rotulo::before{transform:none}

/* --- leitura: o filete desenha, o título resolve, e mais nada ---
   Sem deslocamento de propósito. Deslocar 13 seções seguidas é o que
   faz uma página parecer um template; um filete de 1,4rem que se
   desenha é a mesma gramática das réguas que a página já usa. */
.js-anima .mv-filete>*>.rotulo::before{transform:scaleX(0)}
.mv-filete>*>.rotulo::before{transform-origin:left center;
  transition:transform var(--duration-slow) var(--ease-draw)}
.mv-filete[data-vis]>*>.rotulo::before{transform:none}

.js-anima .mv-filete>*>h2{opacity:0}
.mv-filete>*>h2{transition:opacity var(--duration-slow) var(--ease-standard) 140ms}
.mv-filete[data-vis]>*>h2{opacity:1}

/* ---------- 7 · desenho anatômico (SVG) ---------- */
/* Contrato com o SVG — ver PEDIDOS-svg.md:
   · traço sólido (.fio-a, .fio-leve, .destaque) SÓ é desenhado se o path
     declarar pathLength="1" — o seletor [pathLength] é o próprio contrato:
     um SVG sem o atributo simplesmente não anima, em vez de virar pontilhado;
   · traço tracejado (.fantasma, .corte) é revelado por clip-path,
     porque o dasharray já está em uso pelo próprio tracejado;
   · .iris e .pupila entram em escala, com transform-box:fill-box;
   · rótulos ficam em HTML, fora do SVG.
   A ordem abaixo é a ordem do argumento: estrutura, contorno
   secundário, volume, olho e, por último, a incisão. */
.mv svg :is(.iris,.pupila,.marca-e){transform-box:fill-box;transform-origin:center}

.js-anima .mv svg :is(.fio-a,.fio-leve,.destaque)[pathLength]{stroke-dasharray:1;stroke-dashoffset:1}
.js-anima .mv svg :is(.fantasma,.corte){clip-path:inset(0 100% 0 0)}
.js-anima .mv svg .massa{opacity:0}
.js-anima .mv svg :is(.iris,.pupila,.marca-e){opacity:0;transform:scale(.6)}

.mv svg .fio-a[pathLength]{transition:stroke-dashoffset var(--duration-event) var(--ease-draw) var(--mv-d)}
.mv svg :is(.fio-leve,.destaque)[pathLength]{transition:stroke-dashoffset var(--duration-event) var(--ease-draw) calc(var(--mv-d) + var(--stagger))}
.mv svg .fantasma{transition:clip-path var(--duration-slow) var(--ease-draw) calc(var(--mv-d) + var(--stagger)*2)}
.mv svg .massa{transition:opacity var(--duration-slow) var(--ease-standard) calc(var(--mv-d) + var(--stagger)*3)}
.mv svg :is(.iris,.pupila,.marca-e){transition:
  opacity   var(--duration-base) var(--ease-standard) calc(var(--mv-d) + var(--stagger)*4),
  transform var(--duration-slow) var(--ease-emphasis) calc(var(--mv-d) + var(--stagger)*4)}
.mv svg .corte{transition:clip-path var(--duration-slow) var(--ease-draw) calc(var(--mv-d) + var(--stagger)*6)}

.mv[data-vis] svg :is(.fio-a,.fio-leve,.destaque)[pathLength]{stroke-dashoffset:0}
.mv[data-vis] svg :is(.fantasma,.corte){clip-path:inset(0 0 0 0)}
.mv[data-vis] svg .massa{opacity:1}
.mv[data-vis] svg :is(.iris,.pupila,.marca-e){opacity:1;transform:none}

/* ---------- 8 · hover de links ---------- */
/* Sem sublinhado que cresce, sem seta que aparece: o link
   muda de cor e o filete existente engrossa. Zero layout shift. */
a:not(.bt){transition:
  color var(--duration-fast) var(--ease-standard),
  opacity var(--duration-fast) var(--ease-standard),
  border-color var(--duration-fast) var(--ease-standard),
  background-color var(--duration-fast) var(--ease-standard),
  text-decoration-color var(--duration-fast) var(--ease-standard),
  text-decoration-thickness var(--duration-fast) var(--ease-standard)}
:where(p,li,dd,.fundo-c,.nota,.rodape) a:not(.bt){text-underline-offset:.2em}
:where(p,li,dd,.fundo-c,.nota,.rodape) a:not(.bt):hover{text-decoration-thickness:2px}

/* ---------- 9 · hover de botões ---------- */
/* Sem elevação (sombra é proibida), sem escala. Muda a
   superfície; o :active dá 1px de resposta física. */
.bt{transition:
  background-color var(--duration-fast) var(--ease-standard),
  border-color var(--duration-fast) var(--ease-standard),
  color var(--duration-fast) var(--ease-standard),
  transform var(--duration-fast) var(--ease-standard)}
.bt:active{transform:translateY(1px)}
/* dentro de um grupo de revelação o botão precisa da entrada E do hover */
.mv>.bt{transition:
  opacity   var(--mv-dur,var(--duration-slow)) var(--mv-ease,var(--ease-standard)) var(--mv-d),
  transform var(--mv-dur,var(--duration-slow)) var(--mv-ease,var(--ease-standard)) var(--mv-d),
  background-color var(--duration-fast) var(--ease-standard),
  border-color var(--duration-fast) var(--ease-standard),
  color var(--duration-fast) var(--ease-standard)}

/* ---------- 10 · abertura de accordions ---------- */
/* Altura real, sem JS e sem max-height inventado. Abre com a
   curva padrão, fecha mais rápido com a curva de saída. */
details::details-content{
  block-size:0;overflow:hidden;opacity:0;
  transition:
    block-size var(--duration-base) var(--ease-exit),
    content-visibility var(--duration-base) var(--ease-exit) allow-discrete,
    opacity var(--duration-fast) var(--ease-exit)}
details[open]::details-content{
  block-size:auto;opacity:1;
  transition:
    block-size var(--duration-base) var(--ease-standard),
    content-visibility var(--duration-base) var(--ease-standard) allow-discrete,
    opacity var(--duration-base) var(--ease-standard) 60ms}


/* ---------- 12 · transições entre estados ---------- */
/* Regra: mudança de estado usa --duration-fast e a curva
   padrão. Nada que sinalize foco é animado — nenhuma lista de
   transição desta folha inclui outline ou outline-color. */
[aria-current],[aria-expanded],[aria-selected]{transition:
  color var(--duration-fast) var(--ease-standard),
  background-color var(--duration-fast) var(--ease-standard),
  border-color var(--duration-fast) var(--ease-standard),
  opacity var(--duration-fast) var(--ease-standard)}

/* ---------- 13 · reduced motion ----------
   Estratégia em três faixas, não um interruptor:
   A · deslocamento, escala, traço e escalonamento → zerados.
       O estado final aparece imediatamente.
   B · opacidade e cor → preservadas, limitadas a 120ms.
       Um corte seco é mais desorientador que um dissolve curto,
       e opacidade não dispara resposta vestibular.
   C · foco, contraste e alvo → intocados; nunca dependeram
       de movimento para funcionar.
   Tudo é feito pelos tokens, para que não exista uma segunda
   verdade sobre o que a página faz. */
@media (prefers-reduced-motion:reduce){
  :root{
    --duration-fast:120ms;--duration-base:120ms;
    --duration-slow:120ms;--duration-event:120ms;
    --stagger:0ms;--travel:0px;--travel-lg:0px;--mv-scale:1;
    --ease-standard:linear;--ease-emphasis:linear;
    --ease-exit:linear;--ease-draw:linear;
  }
  .js-anima .mv svg :is(.fio-a,.fio-leve,.destaque)[pathLength]{stroke-dasharray:1;stroke-dashoffset:0}
  .js-anima .mv svg :is(.fantasma,.corte){clip-path:none}
  .js-anima .mv>hr{transform:none}
  .js-anima .mv>.rotulo::before{transform:none}
  .js-anima :is(.mv-abre,.mv-filete)>*>.rotulo::before{transform:none}
  .bt:active{transform:none}
  /* altura é deslocamento: o accordion abre seco, mas o conteúdo
     ainda dissolve, porque um corte seco desorienta mais. */
  details::details-content,
  details[open]::details-content{transition:opacity 120ms linear}
}

/* ---------- 14 · redes de segurança ---------- */
@media print{
  .js-anima .mv>*,.js-anima .mv :is(li,dl>div,dl>dt),
  .js-anima .mv svg *{opacity:1!important;transform:none!important;
    clip-path:none!important;stroke-dashoffset:0!important}
}


/* ==========================================================
   LINGUAGEM ANATÔMICA — a prancha
   ----------------------------------------------------------
   Namespace .atlas. A gramática antiga (.tracado sozinho)
   continua valendo para qualquer desenho que ainda não tenha
   sido refeito, então nada quebra no meio da migração.

   A diferença estrutural: aqui o traço afilado é um POLÍGONO
   PREENCHIDO, não um stroke de espessura fixa. É a única
   forma de ter um traço grosso no centro e fino nos cantos,
   que é o que o símbolo da marca faz. Consequência: não dá
   para desenhá-lo por stroke-dashoffset. O desenho é revelado
   por varredura, e a tinta parece correr pelo traço.
   ========================================================== */
.tracado.atlas{width:100%;height:auto;overflow:visible}

.tracado.atlas :is(.fio-a,.pupila,.osso){fill:var(--salvia-funda);stroke:none}
.tracado.atlas .foco{fill:var(--salvia-campo);stroke:none}
.tracado.atlas .musculo{fill:rgba(85,96,74,.22);stroke:none}
.tracado.atlas .massa{fill:rgba(85,96,74,.20);stroke:none}
.tracado.atlas .pele{fill:rgba(59,70,51,.055);stroke:none}
.tracado.atlas .orgao-f{fill:rgba(126,92,63,.45);stroke:none}

.tracado.atlas .fio-leve{fill:none;stroke:rgba(59,70,51,.42);stroke-width:1.3;stroke-linecap:round}
.tracado.atlas .fantasma{fill:none;stroke:rgba(59,70,51,.45);stroke-width:1.2;
  stroke-dasharray:4 5;stroke-linecap:round}
.tracado.atlas .destaque{fill:none;stroke:var(--salvia-campo);stroke-width:3.2;stroke-linecap:round}
.tracado.atlas .iris{fill:none;stroke:var(--salvia-funda);stroke-width:2.2}
.tracado.atlas .carn{fill:none;stroke:var(--salvia-funda);stroke-width:1.2}
.tracado.atlas .orgao{fill:none;stroke:var(--taupe-tinta);stroke-width:1.8}

/* estriação: é o que dá matéria ao traço e o que impede a figura
   de virar ícone. Cílios, pelo do supercílio, fibras da íris. */
.tracado.atlas .estria{fill:none;stroke:var(--salvia-funda);stroke-width:.85;stroke-linecap:round}
.tracado.atlas .estria-d{fill:none;stroke:var(--salvia-campo);stroke-width:.9;stroke-linecap:round}
.tracado.atlas .estria-m{fill:none;stroke:rgba(85,96,74,.55);stroke-width:.8;stroke-linecap:round}
.tracado.atlas .fibra{fill:none;stroke:var(--salvia-funda);stroke-width:.5;opacity:.40}

/* marcações técnicas: colchete de medida, seta de deslocamento, eixo,
   linha de chamada e ponto de âncora. Sempre em taupe, nunca em sálvia,
   para nunca serem confundidas com anatomia. */
.tracado.atlas .marca{fill:none;stroke:var(--taupe-tinta);stroke-width:1.1}
.tracado.atlas .seta{fill:none;stroke:var(--taupe-tinta);stroke-width:1.4;
  stroke-linecap:round;stroke-linejoin:round}
.tracado.atlas .eixo{fill:none;stroke:var(--taupe-tinta);stroke-width:1;stroke-dasharray:2 3}
.tracado.atlas .chamada{fill:none;stroke:var(--taupe-tinta);stroke-width:.7;opacity:.7}
.tracado.atlas .ponto{fill:var(--taupe-tinta);stroke:none}
/* o único traço interrompido grosso da página, e ele significa uma coisa só */
.tracado.atlas .corte{fill:none;stroke:var(--taupe-tinta);stroke-width:3;
  stroke-dasharray:7 6;stroke-linecap:round}

/* ---------- escala de atlas ----------
   A regra 10 da linguagem visual: anatomia aparece na escala em que a
   estriação é visível. Onze rem é escala de ícone; isto é uma prancha. */
.causas .causa .atlas{margin:0 0 1.4rem;max-width:none}
@media(min-width:640px){.causas .causa .atlas{margin-bottom:1.7rem}}
/* ==========================================================
   COREOGRAFIA DA PRANCHA
   ----------------------------------------------------------
   A ordem é o argumento: primeiro a estrutura, depois a matéria,
   depois o olho, depois o tecido, depois o título, depois o texto
   e só então a marcação técnica — o detalhe que fecha a leitura.
   Quem chega vê um especialista desenhando, não um enfeite entrando.
   ========================================================== */
.atlas{--dz:90ms;--tz:780ms;--xz:1220ms}

/* dentro do .atlas o desenho é por varredura; o stroke-dashoffset do
   sistema global é desligado, porque fita preenchida não se desenha */
.js-anima .mv .atlas :is(.fio-a,.fio-leve)[pathLength]{stroke-dasharray:none;stroke-dashoffset:0}

.js-anima .mv .atlas :is(.fio-leve,.osso,.carn,.fio-a,.foco,.pele,.massa,.musculo,
  .orgao,.orgao-f,.estria,.estria-d,.estria-m,.fantasma,.corte,
  .marca,.chamada,.seta,.eixo){clip-path:inset(0 100% 0 0)}
.js-anima .mv .atlas :is(.fibra,.ponto){opacity:0}
.js-anima .mv .atlas :is(.iris,.pupila){opacity:0;transform:scale(.62)}

.mv .atlas :is(.fio-leve,.osso,.carn,.fio-a,.foco,.pele,.massa,.musculo,
  .orgao,.orgao-f,.estria,.estria-d,.estria-m,.fantasma,.corte,
  .marca,.chamada,.seta,.eixo){
  transition:clip-path var(--duration-event) var(--ease-draw) var(--mv-a,0ms)}
.mv .atlas :is(.fibra,.ponto){transition:opacity var(--duration-slow) var(--ease-standard) var(--mv-a,0ms)}
.mv .atlas :is(.iris,.pupila){transform-box:fill-box;transform-origin:center;
  transition:opacity var(--duration-base) var(--ease-standard) var(--mv-a,0ms),
             transform var(--duration-slow) var(--ease-emphasis) var(--mv-a,0ms)}

/* 1 · planos de referência   2 · estrutura   3 · tecido
   4 · matéria (estriação)    5 · o olho      6 · a referência ausente
   7 · o detalhe destacado e a marcação técnica, depois do texto */
.mv .atlas :is(.fio-leve,.osso,.carn){--mv-a:calc(var(--mv-d) + var(--dz)*0)}
.mv .atlas :is(.fio-a,.foco){--mv-a:calc(var(--mv-d) + var(--dz)*1)}
.mv .atlas :is(.pele,.massa,.musculo,.orgao,.orgao-f){--mv-a:calc(var(--mv-d) + var(--dz)*3)}
.mv .atlas :is(.estria,.estria-d,.estria-m){--mv-a:calc(var(--mv-d) + var(--dz)*4)}
.mv .atlas :is(.fibra,.iris,.pupila){--mv-a:calc(var(--mv-d) + var(--dz)*5)}
.mv .atlas .fantasma{--mv-a:calc(var(--mv-d) + var(--dz)*6)}
.mv .atlas .corte{--mv-a:calc(var(--mv-d) + var(--xz))}
.mv .atlas :is(.marca,.chamada,.seta,.eixo,.ponto){--mv-a:calc(var(--mv-d) + var(--xz))}

/* o destaque é o único traço que ainda se DESENHA, e é o último a entrar:
   é a assinatura do argumento */
.js-anima .mv .atlas .destaque[pathLength]{stroke-dasharray:1;stroke-dashoffset:1}
.mv .atlas .destaque[pathLength]{
  transition:stroke-dashoffset var(--duration-event) var(--ease-draw)
             calc(var(--mv-d) + var(--xz))}

.mv[data-vis] .atlas :is(.fio-leve,.osso,.carn,.fio-a,.foco,.pele,.massa,.musculo,
  .orgao,.orgao-f,.estria,.estria-d,.estria-m,.fantasma,.corte,
  .marca,.chamada,.seta,.eixo){clip-path:inset(0 0 0 0)}
.mv[data-vis] .atlas :is(.fibra,.ponto,.iris,.pupila){opacity:1}
.mv[data-vis] .atlas :is(.iris,.pupila){transform:none}
.mv[data-vis] .atlas .destaque[pathLength]{stroke-dashoffset:0}

/* ---------- 07 · a palavra entra depois do desenho ---------- */
.causas.mv>.causa{opacity:1;transform:none}
.js-anima .causas.mv>.causa>:not(svg){opacity:0;transform:translateY(var(--travel))}
.causas.mv>.causa>:not(svg){
  transition:opacity var(--duration-slow) var(--ease-standard) var(--mv-t,0ms),
             transform var(--duration-slow) var(--ease-standard) var(--mv-t,0ms)}
.causas.mv>.causa>.onde{--mv-t:calc(var(--mv-d) + var(--tz))}
.causas.mv>.causa>h3{--mv-t:calc(var(--mv-d) + var(--tz) + 90ms)}
.causas.mv>.causa>.termo{--mv-t:calc(var(--mv-d) + var(--tz) + 170ms)}
.causas.mv>.causa>details{--mv-t:calc(var(--mv-d) + var(--tz) + 250ms)}
.causas.mv[data-vis]>.causa>:not(svg){opacity:1;transform:none}
.causas.mv>.causa{--dz:90ms;--tz:780ms;--xz:1220ms}

/* ---------- 07B · gatilho por cartão (só no celular) ----------
   No celular os três cartões ficam empilhados, e o grupo inteiro entrava
   com um único data-vis: as três pranchas começavam a varredura dentro
   de 140 ms, sendo que a segunda e a terceira ainda estavam fora da tela.
   Aqui o data-vis passa a ser do PRÓPRIO cartão. O JS marca o <ul> com
   data-mv-itens quando assume esse modo; nada abaixo muda de tempo,
   de ordem ou de valor — muda só QUEM recebe o estado de entrada.
   A coreografia interna (--dz, --tz, --xz) é lida exatamente igual,
   e --mv-d zera porque o escalonamento entre irmãos foi substituído
   pelo próprio scroll: cada cartão passa a ter a linha do tempo do
   primeiro, que já era a referência. */
.causas.mv[data-mv-itens]>.causa{--mv-d:0ms}

.js-anima .causas.mv>.causa[data-vis] .atlas :is(.fio-leve,.osso,.carn,.fio-a,.foco,
  .pele,.massa,.musculo,.orgao,.orgao-f,.estria,.estria-d,.estria-m,.fantasma,.corte,
  .marca,.chamada,.seta,.eixo){clip-path:inset(0 0 0 0)}
.js-anima .causas.mv>.causa[data-vis] .atlas :is(.fibra,.ponto,.iris,.pupila,.marca-e){opacity:1}
.js-anima .causas.mv>.causa[data-vis] .atlas :is(.iris,.pupila,.marca-e){transform:none}
.js-anima .causas.mv>.causa[data-vis] .atlas .massa{opacity:1}
.js-anima .causas.mv>.causa[data-vis] .atlas .destaque[pathLength]{stroke-dashoffset:0}
.js-anima .causas.mv>.causa[data-vis]>:not(svg){opacity:1;transform:none}


/* ---------- reduced motion: a prancha aparece pronta ---------- */
@media (prefers-reduced-motion:reduce){
  .atlas,.causas.mv>.causa{--dz:0ms;--tz:0ms;--xz:0ms}
  .js-anima .mv .atlas *{clip-path:none}
  .js-anima .mv .atlas .destaque[pathLength]{stroke-dasharray:none;stroke-dashoffset:0}
}
@media print{
  .js-anima .mv .atlas *{clip-path:none!important;opacity:1!important;transform:none!important}
  .js-anima .causas.mv>.causa>*{opacity:1!important;transform:none!important}
}


/* ==========================================================
   SEGUNDA CAMADA — COMPOSIÇÃO
   ----------------------------------------------------------
   Doze seções tinham a mesma partitura: rótulo, título,
   subtítulo, conteúdo, tudo numa coluna centrada. O conteúdo
   era bom e a página era previsível.

   Aqui cada seção editorial ganha uma composição própria, com
   os mesmos elementos e sem nenhum cartão novo. São cinco
   armações, e o ritmo que elas produzem é:

     03 Resultados  impacto      escuro, largo
     05 Dúvidas     explicação   espelho     · 01
     06 Queixas     respiro      silêncio
     07 Causas      impacto      pórtico     · 02
     08 Método      impacto      vão         · 03
     09 Oftalmo     explicação   sangria
     10 Curiosidade respiro      campo sálvia
     11 Percurso    interação    vão         · 04
     12 Laser       respiro      silêncio
     15 Prático     explicação   vão         · 05
     16 Perguntar   respiro      silêncio
     17 Perguntas   interação    espelho     · 06

   Os números marcam os seis movimentos argumentativos. Abertura,
   Resultados e Fecho não recebem número: são as capas, e capa
   não leva fólio.
   ========================================================== */

/* ---------- o fio que atravessa e o fólio ---------- */
body{counter-reset:movimento}
.numerada{position:relative;counter-increment:movimento}
.numerada::before{content:"";position:absolute;top:0;left:50%;width:100vw;
  transform:translateX(-50%);height:1px;background:var(--fio-suave);pointer-events:none}
.escuro.numerada::before{background:rgba(242,238,227,.16)}
.numerada>:is(.ampla,.media){position:relative}
.numerada>:is(.ampla,.media)::before{
  content:counter(movimento,decimal-leading-zero) / "";  /* barra vazia: leitor de tela ignora */
  position:absolute;left:var(--pad);top:calc(-1 * clamp(1.5rem,3.4vw,2.6rem));
  font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;
  color:var(--tinta-3);line-height:1}
.escuro.numerada>:is(.ampla,.media)::before{color:var(--musgo-rotulo)}


/* ==========================================================
   01 · ABERTURA — capa editorial
   Paleta da marca: creme / sálvia / taupe. Sem ouro, sem preto,
   sem sombra, sem gradiente. Profundidade por sangria,
   sobreposição, escala e textura.
   ========================================================== */
.abertura{position:relative;--campo:var(--branco);overflow:hidden}

.ab-topo{position:relative;
  padding-top:clamp(1.4rem,4.5vh,2.8rem);
  padding-bottom:clamp(2rem,5vh,3.2rem)}

.ab-grade{max-width:var(--ampla);margin-inline:auto;padding-inline:var(--pad)}

/* ---------- coluna de texto ---------- */
.ab-txt{position:relative;z-index:2}
.ab-txt>*{position:relative;z-index:2}
.abertura h1{position:relative;z-index:2}

/* ---------- BLOCO 3 · o olho em camada ----------
   Era um ícone de 70–96px ao lado de um h1 de até 102px, e por isso lia como
   bullet decorativo. Agora é camada: sai do fluxo, cresce até ~5x e o título
   passa a estar DENTRO do desenho, ancorado na altura da linha "em Sinop",
   que é onde a curva da pálpebra fecha.
   A regra que governa tudo aqui: a estrutura recua, a INCISÃO não. O traço
   taupe é a carga semântica do desenho e tem animação própria de
   stroke-dashoffset. Se ele virasse marca-d'água junto com o resto, a
   animação perderia o assunto. Por isso a opacidade é aplicada por grupo, e
   não no <svg> inteiro. */
/* O olho é ancorado no PRÓPRIO h1, não na coluna: assim ele acompanha a
   escala do título em qualquer largura, sem número mágico por breakpoint.
   translate(., 46%) põe o centro do desenho praticamente sobre a linha
   "em sinop", que é onde a curva da pálpebra fecha — foi o lugar que a
   cliente pediu, e é também o único ponto do herói onde o texto por baixo
   é grande o bastante para suportar uma camada. */
.ab-titulo{position:relative}
.ab-olho{position:absolute;z-index:0;pointer-events:none;
  width:82%;max-width:44rem;right:-6%;bottom:0;
  transform:translateY(46%);
  color:var(--salvia-campo);overflow:visible}
/* A estrutura emerge de baixo: transparente onde a primeira linha do h1
   passa, cheia onde o desenho tem o campo só para ele. A máscara vive no
   GRUPO, não no <svg>, para que a incisão continue fora dela. */
.ab-estrutura{
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.28) 30%,#000 62%);
          mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.28) 30%,#000 62%)}
.ab-olho .palpebra{fill:currentColor;opacity:.075}
.ab-olho .fibra{fill:none;stroke:currentColor;stroke-width:.55;opacity:.15;stroke-linecap:round}
.ab-olho .aro{fill:none;stroke:currentColor;stroke-width:.9;opacity:.17}
.ab-olho .nucleo{fill:currentColor;opacity:.10}
/* A estrutura recua, a INCISÃO não. O traço taupe é a carga semântica do
   desenho e tem animação própria de stroke-dashoffset; se ele virasse
   marca-d'água junto com o resto, a animação perderia o assunto. Por isso a
   opacidade é aplicada por grupo, e nunca no <svg> inteiro. */
.ab-olho .incisao{fill:none;stroke:var(--taupe-tinta);stroke-width:.85;stroke-linecap:round;
  stroke-dasharray:2.6 3.4;opacity:.52}
/* Abaixo de 1000px a coluna é única: o h1 fica largo e baixo, o desenho
   cresce com a LARGURA e desce sobre o lede, que é texto pequeno e tem
   portão mais exigente que o título. Medido, o lede caía para 4,16:1 a
   768px. A camada recua até passar, em vez de o desenho ser recortado —
   recortar mataria a curva da pálpebra, que é o assunto do desenho. */
@media(max-width:999px){
  .ab-olho{width:70%;right:-7%;transform:translateY(42%)}
  .ab-olho .palpebra{opacity:.05}
  .ab-olho .fibra{opacity:.13}
  .ab-olho .aro{opacity:.15}
  .ab-olho .nucleo{opacity:.08}
  .ab-olho .incisao{opacity:.42}
}
@media(max-width:639px){
  .ab-olho{width:92%;right:-9%;transform:translateY(42%)}
}
@media print{.ab-olho{display:none}}

.abertura .rotulo{font-family:var(--marca);font-weight:400;font-size:.78rem;letter-spacing:.24em;
  text-transform:lowercase;color:var(--salvia-campo);display:block;margin:0 0 clamp(.9rem,1.8vw,1.3rem)}
.abertura .rotulo::before{display:none}

.abertura h1{font-family:var(--marca);font-weight:200;color:var(--salvia-funda);
  margin:0 0 clamp(1.4rem,3vw,2.1rem)}
.abertura h1 span{display:block}
.abertura h1 span:first-child{font-size:var(--t-heroi);line-height:.9;
  letter-spacing:-.018em;text-transform:lowercase}
.abertura h1 .cidade{font-style:normal;font-weight:400;color:var(--salvia-funda);
  font-size:clamp(.82rem,1.5vw,1.05rem);letter-spacing:.4em;text-transform:lowercase;
  text-align:right;margin-top:clamp(.7rem,1.4vw,1.1rem);opacity:.82}
@media(min-width:1000px){.abertura h1 span:first-child{font-size:clamp(3.2rem,6.35vw,6.4rem)}}

.lede{font-family:var(--sans);font-size:clamp(1.06rem,1.35vw,1.2rem);line-height:1.55;
  color:rgba(59,70,51,.78);max-width:30rem;margin:0 0 clamp(1.6rem,3vw,2.1rem);
  padding-top:clamp(1rem,2vw,1.4rem);border-top:1px solid var(--fio-marca)}

.acoes{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem}
.abertura .bt{font-family:var(--marca);font-weight:400;letter-spacing:.05em;
  background:var(--salvia-funda);border-color:var(--salvia-funda);color:var(--creme);
  padding:1rem 1.5rem}
.abertura .bt:hover{background:var(--salvia-campo);border-color:var(--salvia-campo)}
.abertura .bt.claro{background:transparent;color:var(--salvia-funda);border-color:var(--fio-marca)}
.abertura .bt.claro:hover{background:var(--salvia-funda);border-color:var(--salvia-funda);color:var(--creme)}
@media(max-width:559px){
  .acoes .bt{width:100%}
  .acoes .bt.claro{width:auto;border:0;background:transparent;padding:.55rem 0;
    text-decoration:underline;text-underline-offset:.28em}
  .acoes .bt.claro:hover{background:transparent;color:var(--salvia-campo)}
}

/* ---------- fotografia + campo de sálvia ---------- */
.ab-media{position:relative;box-shadow:var(--alt-3);margin-top:clamp(2.2rem,5vw,3rem);
  margin-right:calc(var(--pad) * -1);padding:1.6rem 0 0 2.4rem}
.ab-campo{position:absolute;inset:0;background-color:var(--salvia-campo);z-index:0;
  background-image:var(--grao-escuro);background-size:220px 220px,760px 760px;
  background-blend-mode:soft-light,soft-light}
/* O ruído solto que existia aqui era a ÚNICA textura do arquivo, com
   mix-blend-mode:multiply — que escurece o campo em vez de preservá-lo.
   Foi absorvido por --grao-escuro acima, em soft-light, e agora a mesma
   textura serve a página inteira em vez de só a este campo. */
.retrato{position:relative;z-index:1;margin:0;aspect-ratio:4/5;
  width:auto;overflow:hidden;background:var(--linho)}
.retrato img{width:100%;height:100%;object-fit:cover}
.abertura .vaga{height:100%;background:rgba(242,238,227,.9);border-color:var(--fio-marca);
  color:var(--salvia-campo)}
.abertura .vaga b{color:var(--salvia-funda)}

/* ---------- cartão de local, sobre a foto ---------- */
.local-topo{display:flex;gap:.65rem;align-items:flex-start;
  font-size:.9375rem;line-height:1.55;color:rgba(59,70,51,.86);
  background:var(--papel);box-shadow:var(--alt-2);padding:.9rem 1.1rem;
  position:absolute;z-index:2;left:-.6rem;bottom:-3rem;margin:0;max-width:calc(100% - 3rem)}
.local-topo b{color:var(--salvia-funda);font-weight:600}
.local-topo a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
.local-topo .pino{flex:none;width:1rem;margin-top:.22rem;color:var(--taupe-tinta)}
.local-topo .cidade-nome{font-weight:600;color:var(--salvia-funda)}

/* ==========================================================
   ABERTURA — desktop
   ========================================================== */
@media(min-width:1000px){
  .abertura{min-height:100svh;display:flex;flex-direction:column}
  .ab-topo{flex:1;display:flex;align-items:stretch}
  .ab-grade{max-width:none;margin:0;width:100%;
    padding-left:max(var(--pad), calc((100% - var(--ampla))/2 + var(--pad)));
    padding-right:clamp(1.2rem,2.6vw,2.2rem);
    display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,40vw,600px);
    column-gap:clamp(2.2rem,3.6vw,3.4rem);align-items:stretch}
  .ab-txt{align-self:center;max-width:44rem}
  .ab-media{margin:0;height:100%;min-height:clamp(420px,64vh,660px);
    padding:clamp(2.2rem,3.4vw,3.2rem) 0 0 clamp(2.6rem,4vw,3.8rem)}
  .retrato{aspect-ratio:auto;height:100%;margin:0}
  .local-topo{position:absolute;left:-1.6rem;bottom:clamp(1.4rem,3vw,2.2rem);
    margin:0;max-width:19rem}
}
@media(min-width:1000px) and (max-width:1180px){
  .abertura h1 span:first-child{font-size:clamp(2.9rem,5.6vw,4.4rem)}
}

/* ==========================================================
   ABERTURA — entrada
   ========================================================== */
.js-anima .abertura .anima{opacity:0;transform:translateY(18px)}
.js-anima .abertura h1 span{opacity:0;transform:translateY(20px)}
.js-anima .abertura .ab-media{opacity:0}
.js-anima .abertura .retrato{transform:scale(1.05)}
.js-anima .abertura .ab-olho .palpebra,
.js-anima .abertura .ab-olho .fibra{clip-path:inset(0 100% 0 0)}
.js-anima .abertura .ab-olho .aro,
.js-anima .abertura .ab-olho .nucleo{opacity:0;transform:scale(.55);
  transform-box:fill-box;transform-origin:center}
/* A incisao e tracejada, entao o dasharray ja esta ocupado e nao pode
   desenhar o traco: o periodo e 6 e o offset de 120 caia em 120 mod 6 = 0,
   isto e, no proprio estado final. Ela nascia pronta enquanto todo o resto
   entrava. Revelada por varredura, como .fantasma e .corte no atlas. */
.js-anima .abertura .ab-olho .incisao{clip-path:inset(-6% 106% -6% -6%)}

.abertura .anima{transition:opacity .8s var(--entra),transform .8s var(--entra)}
.abertura h1 span{transition:opacity .9s var(--entra),transform .9s var(--entra)}
.abertura .ab-media{transition:opacity 1s var(--entra) 120ms}
.abertura .retrato{transition:transform 1.4s var(--entra) 120ms}
.abertura .ab-olho .palpebra,.abertura .ab-olho .fibra{transition:clip-path 1s var(--entra) 120ms}
.abertura .ab-olho .aro,.abertura .ab-olho .nucleo{
  transition:opacity .6s var(--entra) 620ms,transform .7s var(--entra) 620ms}
.abertura .ab-olho .incisao{transition:clip-path .85s var(--ease-draw) 700ms}

.abertura h1 span:first-child{transition-delay:230ms}
.abertura h1 .cidade{transition-delay:330ms}
.abertura .rotulo{transition-delay:150ms}
.abertura .lede{transition-delay:420ms}
.abertura .acoes{transition-delay:520ms}
.abertura .local-topo{transition-delay:600ms}

.abertura.entrou .anima,
.abertura.entrou h1 span{opacity:1;transform:none}
.abertura.entrou .ab-media{opacity:1}
.abertura.entrou .retrato{transform:none}
.abertura.entrou .ab-olho .palpebra,
.abertura.entrou .ab-olho .fibra{clip-path:inset(0 0 0 0)}
/* O estado final devolve a opacidade DA CAMADA, não 1: com o olho em
   marca-d'água, opacity:1 aqui reacendia aro e pupila em cima do h1. */
.abertura.entrou .ab-olho .aro{opacity:.22;transform:none}
.abertura.entrou .ab-olho .nucleo{opacity:.13;transform:none}
/* Depois que a incisao termina de ser varrida (700ms + 850ms), o tracejado
   passa a correr ao longo do traco. O dasharray tem periodo 6, entao animar
   o offset de 0 a -6 fecha o ciclo sem emenda. 2,6s por periodo: e deriva
   lenta, na direcao em que o traco foi desenhado, nao um pisca-pisca. */
@keyframes corre-incisao{to{stroke-dashoffset:-6}}
/* A corrida repinta o traco a cada quadro, e stroke-dashoffset nao tem
   caminho de compositor. Sem isolar, cada quadro refazia o grao com
   soft-light por baixo do desenho: medido, 362ms de raster a cada 3s.
   Com o SVG em camada propria o repinte nao alcanca o fundo: 194ms. */
.abertura.entrou .ab-olho{will-change:transform}
/* Fora da tela a corrida nao e vista e so custa: o JS marca .parado e ela
   pausa. O will-change NAO e removido junto de proposito — medido, criar e
   destruir a camada a cada entrada/saida custava 1460ms de raster numa
   rolagem completa, contra 120ms mantendo a camada fixa. */
.abertura.entrou .ab-olho.parado .incisao{animation-play-state:paused}
.abertura.entrou .ab-olho .incisao{clip-path:inset(-6% -6% -6% -6%);
  animation:corre-incisao 2.6s linear 1800ms infinite}

@media(prefers-reduced-motion:reduce){
  .js-anima .abertura .anima,
  .js-anima .abertura h1 span,
  .js-anima .abertura .ab-media,
  .js-anima .abertura .ab-olho .aro,
  .js-anima .abertura .ab-olho .nucleo{opacity:1;transform:none}
  .js-anima .abertura .retrato{transform:none}
  .js-anima .abertura .ab-olho .palpebra,
  .js-anima .abertura .ab-olho .fibra{clip-path:none}
  .js-anima .abertura .ab-olho .incisao{clip-path:none}
  .abertura *{transition:none !important;animation:none !important}
}

/* ==========================================================
   02 · VÍDEO
   ========================================================== */
.video-grade{display:grid;gap:1.8rem}
@media(min-width:880px){.video-grade{grid-template-columns:1.6fr 1fr;gap:2.6rem;align-items:center}}
.player{aspect-ratio:16/9;width:100%;position:relative;box-shadow:var(--alt-2)}
@media(max-width:520px){.player{aspect-ratio:3/2}}
.selos{margin:0;padding:0}
.selos>div{border-top:1px solid var(--fio);padding:.8rem 0}
.selos>div:last-child{border-bottom:1px solid var(--fio)}
.selos dt{font-size:.8125rem;color:var(--tinta-3);margin-bottom:.1rem}
.selos dd{margin:0;font-family:var(--marca);font-weight:400;font-size:1.06rem;line-height:1.32}

/* ==========================================================
   04 · ÍNDICE
   ========================================================== */
.indice h2{font-size:clamp(1.6rem,4vw,2.1rem);margin-bottom:.35rem}
.indice .diga{color:var(--tinta-2);margin:0 0 1.7rem}
.perguntas{display:grid;gap:.7rem;grid-template-columns:1fr;margin:0;padding:0;list-style:none}
@media(min-width:380px){.perguntas{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.perguntas{grid-template-columns:repeat(3,1fr)}}
/* BLOCO 1: o cartão do índice era #F2EEE3 sobre um campo #F2EEE3, ou seja
   contraste 1,000:1, e a única coisa que o definia era uma borda de 1,375:1 —
   abaixo dos 3:1 que a WCAG 1.4.11 exige de um limite clicável. Agora ele tem
   as três coisas ao mesmo tempo: preenchimento branco sobre campo creme
   (1,14:1), borda em --fio-forte (3,0:1) e altura 1. */
.perguntas a{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;height:100%;
  background:var(--branco);border:1px solid var(--fio-forte);padding:.85rem .9rem;text-decoration:none;
  box-shadow:var(--alt-1);
  font-size:.9375rem;line-height:1.3;font-weight:500;
  transition:border-color var(--duration-fast) var(--ease-standard),
             box-shadow var(--duration-base) var(--ease-standard),
             transform var(--duration-fast) var(--ease-standard)}
@media(min-width:700px){.perguntas a{padding:1rem 1.05rem;font-size:1rem;line-height:1.32;gap:.8rem}}
.perguntas a:hover{border-color:var(--tinta);box-shadow:var(--alt-2);transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.perguntas a:hover{transform:none}}
.perguntas .seta{flex:none;width:.6rem;height:.6rem;margin-top:.34rem;
  border-top:2px solid var(--musgo);border-right:2px solid var(--musgo);transform:rotate(45deg)}

/* destaque de alvo — só em blocos pequenos, nunca em seções inteiras */
.alvo{animation:pisca var(--duration-event) var(--ease-standard) 1;outline-offset:4px}
@keyframes pisca{0%,40%{outline:2px solid var(--musgo-claro)}100%{outline:2px solid rgba(140,160,127,0)}}
@media(prefers-reduced-motion:reduce){.alvo{animation:none}}


/* ==========================================================
   07 · AS TRÊS CAUSAS
   ========================================================== */
.causas{list-style:none;margin:0;padding:0;display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:760px){.causas{grid-template-columns:repeat(3,1fr);gap:1.7rem}}
.causa{background:var(--branco);border:1px solid var(--fio);box-shadow:var(--alt-1);contain:layout;
  padding:1.5rem 1.4rem;display:flex;flex-direction:column}
.causa .tracado{width:100%;max-width:11rem;margin:0 0 1.2rem}
.causa .onde{font-size:.8125rem;color:var(--musgo);font-weight:600;margin:0 0 .35rem}
.causa h3{margin:0 0 .2rem}
.causa .termo{font-family:var(--marca);font-weight:300;color:var(--tinta-3);font-size:.94rem;letter-spacing:.02em;margin:0 0 .9rem}

.tracado .fio-a{fill:none;stroke:var(--tinta);stroke-width:2.6;stroke-linecap:round}
.tracado .fio-leve{fill:none;stroke:var(--tinta-3);stroke-width:2;stroke-linecap:round}
.tracado .fantasma{fill:none;stroke:var(--tinta-3);stroke-width:1.8;stroke-dasharray:5 5;stroke-linecap:round}
.tracado .destaque{fill:none;stroke:var(--musgo);stroke-width:4;stroke-linecap:round}
.tracado .massa{fill:rgba(140,160,127,.45);stroke:none}
.tracado .iris{fill:none;stroke:var(--tinta);stroke-width:2.2}
.tracado .pupila{fill:var(--tinta);stroke:none}
.tracado .corte{fill:none;stroke:var(--barro);stroke-width:2.8;stroke-dasharray:7 6;stroke-linecap:round}


/* ==========================================================
   13 · RECUPERAÇÃO — a jornada
   ----------------------------------------------------------
   Era um calendário em tabela, três miniaturas e duas colunas
   de lista. Lia-se como prontuário. O conteúdo é o mesmo; o
   que muda é que agora ele tem a forma daquilo que descreve:
   uma travessia com começo intenso e fim tranquilo.

   O eixo afina da esquerda para a direita. Não é enfeite — é
   a mesma curva que a copy descreve, com o pico entre o
   segundo e o terceiro dia e o resto em desaceleração. O
   traço afilado da marca aplicado a tempo em vez de anatomia.
   ========================================================== */
.rec-topo{max-width:none}
.linha-tempo{display:block;width:100%;border-collapse:collapse;margin:0;text-align:left}
.linha-tempo caption{display:block;font-size:.9375rem;color:var(--tinta-3);text-align:left;padding-bottom:.8rem}

/* o thead vira legenda do eixo em vez de cabeçalho de coluna */
.linha-tempo thead{display:block}
.linha-tempo thead tr{display:flex;align-items:center;gap:.7rem}
.linha-tempo thead th{display:block;font-family:var(--sans);font-size:.72rem;font-weight:500;
  letter-spacing:.14em;text-transform:lowercase;color:var(--tinta-3);border:0;
  padding:0 0 1.1rem;white-space:nowrap;text-align:left}
.linha-tempo thead th+th::before{content:"";display:inline-block;width:1.4rem;height:1px;
  background:var(--fio);vertical-align:middle;margin-right:.7rem}

.linha-tempo td{border:0;padding:0;vertical-align:top}
.linha-tempo tbody th{display:block;font-family:var(--marca);font-weight:300;color:var(--tinta);
  white-space:normal;width:auto;padding:0;letter-spacing:-.01em}
.linha-tempo tbody td{display:block;color:var(--tinta-2)}

/* ---------- eixo e marcos ---------- */
.linha-tempo tbody{position:relative;display:grid}
.linha-tempo tbody::before{content:"";position:absolute;background:var(--musgo);opacity:.55}
.linha-tempo tbody tr{position:relative}
.linha-tempo tbody tr::before{content:"";position:absolute;width:9px;height:9px;
  border-radius:50%;background:var(--campo,var(--branco));border:1.5px solid var(--musgo)}
/* o primeiro marco é a fase que mais assusta, e é a única cheia */
.linha-tempo tbody tr:first-child::before{background:var(--musgo)}

/* ---------- celular: fluxo vertical, eixo à esquerda ---------- */
@media(max-width:899px){
  .linha-tempo tbody{padding-left:2.1rem}
  .linha-tempo tbody::before{left:3px;top:.9rem;bottom:1.8rem;width:5px;
    clip-path:polygon(0 0,100% 0,40% 100%,0 100%)}
  .linha-tempo tbody tr{display:block;padding:0 0 1.7rem}
  .linha-tempo tbody tr:last-child{padding-bottom:0}
  .linha-tempo tbody tr::before{left:-2.1rem;top:.5rem}
  .linha-tempo td{display:block}
  .linha-tempo tbody th{font-size:1.3rem;line-height:1.15;margin-bottom:.4rem}
  .linha-tempo tbody td{font-size:.9375rem;line-height:1.5}
}

/* ---------- desktop: travessia horizontal ---------- */
@media(min-width:900px){
  .linha-tempo tbody{grid-template-columns:repeat(3,minmax(0,1fr));
    column-gap:clamp(1.1rem,2.4vw,2.2rem)}
  .linha-tempo tbody::before{left:0;right:0;top:0;height:5px;
    /* cunha: cheia no primeiro dia, um fio no nonagésimo */
    clip-path:polygon(0 0,100% 40%,100% 60%,0 100%)}
  /* o recuo é da coluna, não do corpo: assim o marco nasce sobre o eixo */
  .linha-tempo tbody tr{display:flex;flex-direction:column;padding-top:2.1rem}
  .linha-tempo tbody tr::before{left:0;top:-2px}
  .linha-tempo td{display:block}
  .linha-tempo tbody th{font-size:clamp(1.24rem,2vw,1.72rem);line-height:1.06;
    margin-bottom:1rem;min-height:2.2em}
  .linha-tempo tbody td{font-size:.9rem;line-height:1.5;padding-top:.9rem;
    border-top:1px solid var(--fio-suave)}
}


/* ==========================================================
   17 · FAQ
   ----------------------------------------------------------
   Duas colunas de acordeão eram o problema de fundo: abrir uma
   pergunta à esquerda empurrava metade da lista e deixava a
   outra metade parada, e a ordem de leitura pulava de coluna.
   Agora é uma coluna só, com os quatro grupos marcados.

   Nenhum cartão, nenhuma sombra, nenhum fundo. O estado aberto
   é dito por cor, por rotação e por um filete — que é como uma
   página impressa diria.
   ========================================================== */
/* o respiro grande é só entre grupos de perguntas (blefaro, consultas); nas páginas sem grupos as perguntas ficam coladas */
.faq{display:grid;grid-template-columns:1fr;max-width:46rem}
.faq:has(>.faq-grupo){gap:clamp(2.6rem,5vw,3.6rem)}

/* ---------- o grupo ----------
   Rótulo curto e um filete que corre até a margem: separa sem
   desenhar uma caixa. */
.faq-grupo h3{display:flex;align-items:center;gap:1rem;
  font-family:var(--sans);font-size:.8125rem;font-weight:600;letter-spacing:.06em;
  color:var(--musgo);margin:0 0 .35rem}
.faq-grupo h3::after{content:"";flex:1;height:1px;background:var(--fio)}
/* o filete do grupo já é o divisor de cima: um segundo seria ruído */
.faq .fundo:first-of-type{border-top:0}

/* ---------- a pergunta ---------- */
.faq .fundo{position:relative;scroll-margin-top:calc(var(--barra) + 1.2rem);
  border-top:1px solid var(--fio-suave);
  transition:border-color var(--duration-fast) var(--ease-standard)}
.faq .fundo:last-of-type{border-bottom:1px solid var(--fio-suave)}

.faq .fundo>summary{display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;padding:1.15rem 0;font-size:1.05rem;font-weight:500;line-height:1.42;
  color:var(--tinta);
  transition:color var(--duration-fast) var(--ease-standard)}
.faq .fundo>summary:focus-visible{outline:2px solid var(--musgo);outline-offset:4px}

/* ---------- a seta ----------
   Marcador à direita, alinhado à margem da coluna: é onde a mão
   procura numa lista, e deixa a pergunta começar sempre no mesmo
   ponto. O ::before da gramática geral sai de cena. */
.faq .fundo>summary::before{display:none}
.faq .fundo>summary::after{content:"";flex:none;width:.6rem;height:.6rem;
  border-right:1.5px solid var(--tinta-3);border-bottom:1.5px solid var(--tinta-3);
  transform:translateY(-.16em) rotate(45deg);
  transition:transform var(--duration-base) var(--ease-standard),
             border-color var(--duration-fast) var(--ease-standard)}

/* ---------- estado aberto ----------
   Três sinais somados, e nenhum deles é uma caixa: a pergunta
   muda de cor, a seta gira, e o filete de cima e o de baixo
   escurecem — o bloco aberto fica entre colchetes. */
.faq .fundo[open]>summary{color:var(--musgo)}
.faq .fundo[open]>summary::after{transform:translateY(.08em) rotate(-135deg);
  border-color:var(--musgo)}
.faq .fundo[open]{border-top-color:rgba(85,96,74,.42)}
.faq .fundo[open]+.fundo{border-top-color:rgba(85,96,74,.42)}
.faq .fundo[open]:last-of-type{border-bottom-color:rgba(85,96,74,.42)}

/* ---------- hover ----------
   A seta dá um passo no sentido para onde aponta. Nada de
   deslocar o texto: linha de pergunta que se mexe é ruído. */
.faq .fundo>summary:hover{color:var(--musgo)}
.faq .fundo>summary:hover::after{border-color:var(--musgo);
  transform:translateY(0) rotate(45deg)}
.faq .fundo[open]>summary:hover::after{transform:translateY(-.06em) rotate(-135deg)}
@media(hover:none){
  .faq .fundo>summary:hover::after{transform:translateY(-.16em) rotate(45deg)}
  .faq .fundo[open]>summary:hover::after{transform:translateY(.08em) rotate(-135deg)}
}

/* ---------- a resposta ----------
   Filete à esquerda ligando a resposta à pergunta que a gerou.
   Continua em Newsreader: é o médico falando. */
.faq .fundo-c{font-size:1.06rem;line-height:1.62;max-width:36rem;
  padding:.15rem 0 1.5rem 1.35rem;border-left:2px solid var(--musgo);margin-left:0}

/* abre com a curva padrão, fecha mais rápido com a de saída;
   o texto entra logo depois da altura começar a crescer */
.faq details::details-content{
  transition:block-size var(--duration-base) var(--ease-exit),
             content-visibility var(--duration-base) var(--ease-exit) allow-discrete,
             opacity 140ms var(--ease-exit)}
.faq details[open]::details-content{
  transition:block-size 340ms var(--ease-standard),
             content-visibility 340ms var(--ease-standard) allow-discrete,
             opacity 260ms var(--ease-standard) 90ms}

/* ---------- celular ----------
   Alvo de toque de 48px de altura e a seta afastada da borda do
   texto, para o polegar não cobrir a pergunta ao tocar. */
@media(max-width:639px){
  .faq:has(>.faq-grupo){gap:2.4rem}
  .faq .fundo>summary{padding:1.25rem 0;font-size:1.02rem;gap:1.1rem}
  .faq .fundo-c{font-size:1.04rem;padding-left:1.15rem;padding-bottom:1.35rem}
}

@media (prefers-reduced-motion:reduce){
  .faq .fundo>summary::after{transition:border-color 120ms linear}
  .faq details::details-content,
  .faq details[open]::details-content{transition:opacity 120ms linear}
}

.mapa{aspect-ratio:16/10;width:100%;border:0;border-block:1px solid var(--fio);
  background:var(--linho)}
@media(min-width:700px){.mapa{aspect-ratio:21/9}}
@media(min-width:1400px){.mapa{aspect-ratio:24/9}}
.mapa iframe{width:100%;height:100%;border:0;display:block}


/* ==========================================================
   19 · FECHO — a assinatura
   ----------------------------------------------------------
   A seção estava centralizada, que era a única exceção numa
   página inteiramente alinhada à esquerda: lia como "seção de
   CTA" genérica, não como conclusão desta página.

   Agora ela rima com o herói, e a rima é literal:
     herói  →  marca · blefaroplastia · em sinop (pendurado)
     fecho  →  marca · a avaliação vem antes · da decisão (degrau)

   Mesma família, mesmo peso 200, mesma caixa baixa, mesma
   escala. São os dois únicos lugares da página nessa medida —
   é o que faz deles um par em vez de dois títulos grandes.

   A caixa baixa é tratamento tipográfico, não edição: o texto
   no HTML continua "A avaliação vem antes / da decisão".
   ========================================================== */
.fecho{text-align:left;padding-block:clamp(5rem,13vw,10rem)}

/* a marca fecha o documento como fecha um capítulo */
.fecho-marca{display:block;width:clamp(3.4rem,5.4vw,4.6rem);height:auto;
  color:var(--musgo-claro);margin:0 0 clamp(1.6rem,3.4vw,2.6rem)}
.fecho-marca .palpebra,.fecho-marca .nucleo{fill:currentColor}
.fecho-marca .fibra{fill:none;stroke:currentColor;stroke-width:.9;opacity:.6;stroke-linecap:round}
.fecho-marca .aro{fill:none;stroke:currentColor;stroke-width:1.5;opacity:.55}
/* aqui a incisão é assinatura, não marcação técnica: monocromática.
   O taupe daria 2,1:1 sobre a sálvia funda e sumiria. */
.fecho-marca .incisao{fill:none;stroke:currentColor;stroke-width:1.6;opacity:.75;
  stroke-linecap:round;stroke-dasharray:4 5}

/* Exceção declarada: o Fecho é o PAR do herói, não um h2 de seção. Os
   dois fecham a página como um par de colunas, e por isso o único h2 que
   ignora a escada de seções é este. Medido em tipo.py como nível próprio. */
.fecho h2{font-family:var(--marca);font-weight:200;
  font-size:var(--t-fecho);line-height:.92;letter-spacing:-.03em;
  text-transform:lowercase;margin:0 0 clamp(1.8rem,4vw,2.8rem)}
.fecho h2 span{display:block}
/* o degrau da segunda linha responde ao "em sinop" pendurado do herói */
.fecho h2 span+span{color:var(--musgo-claro);margin-left:clamp(1.1rem,6vw,5.4rem)}

.fecho .bt .seta{width:.85rem;height:1px;background:currentColor;position:relative;
  display:inline-block;margin-left:.7rem;vertical-align:middle;flex:none;
  transition:transform var(--duration-fast) var(--ease-standard)}
.fecho .bt .seta::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;
  border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.fecho .bt:hover .seta{transform:translateX(4px)}

.fecho .prazo{font-family:var(--serif);font-size:var(--t-voz);
  line-height:1.52;color:var(--papel-escuro);max-width:36rem;margin:0 0 clamp(2rem,4vw,2.8rem)}
.fecho .bt{padding:1.05rem 2.1rem;font-size:1.02rem}
.fecho .apos{margin:clamp(1.8rem,3.4vw,2.4rem) 0 0;font-size:.9375rem;
  line-height:1.6;color:var(--papel-escuro);max-width:30rem}

/* ---------- entrada ----------
   Marca, primeira linha, segunda linha, a voz do médico, o botão.
   Nada se sobrepõe e nada pisca: cada peça espera a anterior assentar. */
.fecho .mv>h2{opacity:1;transform:none}
.js-anima .fecho .mv>h2>span{opacity:0;transform:translateY(var(--travel-lg))}
.fecho .mv>h2>span{
  transition:opacity var(--duration-event) var(--ease-emphasis) var(--mv-l,0ms),
             transform var(--duration-event) var(--ease-emphasis) var(--mv-l,0ms)}
.fecho .mv>h2>span:first-child{--mv-l:180ms}
.fecho .mv>h2>span+span{--mv-l:620ms}
.fecho .mv[data-vis]>h2>span{opacity:1;transform:none}

.fecho .mv>.fecho-marca{--mv-d:0ms;--mv-dur:var(--duration-event);--mv-ease:var(--ease-emphasis)}
.fecho .mv>.prazo{--mv-d:980ms}
.fecho .mv>.bt{--mv-d:1300ms}
.fecho .mv>.apos{--mv-d:1520ms}

/* Os atrasos aqui são milissegundos literais, e literal não obedece token:
   sob reduced motion eles continuavam valendo e o botão só aparecia 1,3 s
   depois. A faixa A da estratégia diz escalonamento zero — então zero. */
@media (prefers-reduced-motion:reduce){
  .js-anima .fecho .mv>h2>span{transform:none}
  /* mesmos seletores dos originais: .fecho .mv>.bt é mais específico que
     .fecho .mv>* e vencia a primeira tentativa de zerar */
  .fecho .mv>h2>span:first-child,.fecho .mv>h2>span+span{--mv-l:0ms}
  .fecho .mv>.fecho-marca,.fecho .mv>.prazo,.fecho .mv>.bt,.fecho .mv>.apos{--mv-d:0ms}
}
@media print{
  .js-anima .fecho .mv>h2>span{opacity:1!important;transform:none!important}
}

/* ==========================================================
   20 · RODAPÉ
   ========================================================== */
.rodape{padding-block:var(--cena) 6.5rem;border-top:1px solid var(--fio)}
@media(min-width:700px){.rodape{padding-bottom:var(--cena)}}
.rodape-grade{display:grid;gap:2rem}
@media(min-width:760px){.rodape-grade{grid-template-columns:1fr 1fr auto;gap:3rem}}
.rodape .nome{font-family:var(--marca);font-weight:300;font-size:1.26rem;margin:0 0 .4rem}
.rodape p{font-size:.9375rem;line-height:1.6;color:var(--tinta-2)}
.rodape .reg{font-size:.8125rem;color:var(--tinta-3);margin-top:.5rem}
.rodape .links{list-style:none;margin:1rem 0 0;padding:0;font-size:.9375rem;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.rodape .links a{color:var(--tinta-2)}
.aviso{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--fio-suave);
  font-size:.8125rem;line-height:1.65;color:var(--tinta-3);max-width:52rem}

.folha{border:0;padding:0;max-width:32rem;width:calc(100% - 2rem);background:var(--salvia);
  box-shadow:var(--alt-3)}
.folha::backdrop{background:rgba(30,36,28,.55)}
.folha .folha-in{padding:1.6rem 1.4rem;position:relative}
.folha h2{font-size:1.4rem;margin-bottom:.3rem}
.folha .fechar{position:absolute;top:.6rem;right:.6rem;width:2.2rem;height:2.2rem;border:1px solid var(--fio);
  background:transparent;cursor:pointer;font-size:1.1rem;line-height:1}

/* blefarofinal: mídia real e o campo verde do índice. */
.indice.escuro{--campo:var(--campo-escuro);background-color:var(--campo-escuro);border-top:1px solid rgba(241,236,224,.2)}
.indice.escuro .diga{color:var(--papel-escuro)}
.indice.escuro .perguntas a{color:var(--papel);background:rgba(241,236,224,.05);border-color:var(--musgo-claro);box-shadow:none}
.indice.escuro .perguntas a:hover{background:rgba(241,236,224,.13);border-color:var(--papel)}
.indice.escuro .perguntas .seta{border-color:var(--musgo-rotulo)}
.indice.escuro a:focus-visible{outline:3px solid var(--papel);outline-offset:4px}
.retrato picture{display:block;width:100%;height:100%}
.retrato img{object-position:center 32%}
/* No recorte 4:5 do mobile a foto perde as mãos na mesa; um pouco mais
   pra baixo no enquadramento e elas aparecem por cima do cartão de local. */
@media(max-width:999px){.retrato img{object-position:center 42%}}
.video-principal{position:absolute;inset:0;display:block;overflow:hidden;background:var(--campo-escuro);color:var(--papel)}
.video-principal img{width:100%;height:100%;object-fit:cover}
.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:3.5rem;height:3.5rem;border-radius:50%;background:var(--papel);color:var(--tinta);box-shadow:var(--alt-2)}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.casos-explicados{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,4vw,3rem);max-width:45rem;margin:2rem auto 0;align-items:start}
@media(min-width:900px){.casos-explicados{grid-template-columns:repeat(3,minmax(0,1fr));max-width:64rem}}
.casos-explicados figure{margin:0;min-width:0}
.caso-video{position:relative}
.casos-explicados video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:#192017;object-fit:contain;box-shadow:var(--alt-2)}
.caso-acionar{display:none;position:absolute;inset:0 0 3.5rem;z-index:1;width:100%;border:0;background:transparent;cursor:pointer;align-items:center;justify-content:center;touch-action:auto}
.caso-video.interativo .caso-acionar{display:flex}
.caso-acionar::before{content:"";width:3.5rem;height:3.5rem;border-radius:50%;background:rgba(241,236,224,.94);box-shadow:var(--alt-2);transition:opacity var(--duration-fast) var(--ease-standard)}
.caso-acionar::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-42%,-50%);border-top:.55rem solid transparent;border-bottom:.55rem solid transparent;border-left:.8rem solid var(--campo-escuro);transition:opacity var(--duration-fast) var(--ease-standard)}
.caso-video.tocando .caso-acionar::after{width:.65rem;height:1rem;border:0;border-left:3px solid var(--campo-escuro);border-right:3px solid var(--campo-escuro);transform:translate(-50%,-50%)}
.caso-video.tocando .caso-acionar::before,.caso-video.tocando .caso-acionar::after{opacity:0}
@media(hover:hover){.caso-video.tocando .caso-acionar:hover::before,.caso-video.tocando .caso-acionar:hover::after{opacity:1}}
.caso-acionar:focus-visible{outline:3px solid var(--papel);outline-offset:-5px}
.caso-video.tocando .caso-acionar:focus-visible::before,.caso-video.tocando .caso-acionar:focus-visible::after{opacity:1}
.casos-explicados figcaption{padding-top:1.1rem}
.casos-explicados h3{font-size:1.25rem;line-height:1.25;margin:0 0 .65rem}
.casos-explicados p{font-size:.95rem;line-height:1.55;margin:0;color:var(--papel-escuro)}
.casos-nota{max-width:45rem;margin:2.6rem auto 0;font-size:.85rem;color:var(--papel-escuro)}
.casos-arraste{display:none}
.mapa-espera{margin:0;padding:2rem;text-align:center}
@media(max-width:599px){.casos-explicados{grid-template-columns:1fr;max-width:20rem;gap:2rem}}


/* Revisão geral: informação principal primeiro; complementos por interesse. */
.js-anima .abertura .anima,.js-anima .abertura h1 span,.js-anima .abertura .ab-media{opacity:1;transform:none;transition:none}
.js-anima .abertura .retrato{transform:none;transition:none}
.menu-topo{display:none}
.topo-in{gap:1rem}
.essenciais-cirurgia{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin:2rem 0;padding:0}
.essenciais-cirurgia li{border-top:1px solid var(--fio-forte);padding-top:1rem}
.essenciais-cirurgia h3{font-size:1.3rem;margin:0 0 .65rem}
.essenciais-cirurgia p{font-size:1rem;line-height:1.6;margin:0;color:var(--tinta-2)}
.resumo-cirurgia .sub{max-width:46rem}
/* título equilibrado: "CO₂" não fica sozinho na segunda linha */
.resumo-cirurgia>.ampla>h2{text-wrap:balance}
/* abertura do conteúdo: título maior e um passo mais firme que os outros
   capítulos, para vencer o parágrafo e o olho ao lado */
.resumo-cirurgia>.ampla>.titulo-capitulo{font-size:clamp(2.35rem,6.4vw,3.7rem);font-weight:300;
  line-height:1.02;letter-spacing:-.024em;color:var(--tinta);max-width:14ch;margin-bottom:1.5rem}
/* o "₂" não existe na fonte fina e caía numa fonte mais grossa */
.titulo-capitulo .ind{font-size:.56em;vertical-align:-.14em;letter-spacing:0;margin-left:.02em}
.resumo-cirurgia>.ampla>.fundo{max-width:46rem}
/* O olho da prancha anatômica é a imagem da seção. Sem as chamadas
   numeradas: aqui ele ilustra, não explica. No desktop fica ao lado do
   título e do parágrafo; no celular, entre o parágrafo e a lista. */
/* o termo que leva à pergunta do laser: marca-texto em sálvia, não um
   link azul solto no meio do parágrafo */
.termo-laser{color:var(--salvia-funda);font-weight:600;text-decoration:none;
  background-image:linear-gradient(to top,rgba(85,96,74,.18) .42em,transparent .42em);
  padding:0 .12em;margin:0 -.12em;border-radius:1px;
  transition:background-size var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}
.termo-laser:hover{background-image:linear-gradient(to top,rgba(85,96,74,.3) 100%,transparent 100%)}
.termo-laser:focus-visible{outline:2px solid var(--salvia-funda);outline-offset:3px}
.oque-olho{margin:.4rem 0 .6rem;max-width:14.5rem}
.oque-olho .atlas{display:block;width:100%;height:auto}
.oque-olho.mv>*{opacity:1;transform:none}
@media(min-width:900px){
  .resumo-cirurgia>.ampla{display:grid;grid-template-columns:minmax(0,1fr) minmax(15rem,19.5rem);
    column-gap:clamp(3rem,7vw,6.5rem)}
  .resumo-cirurgia>.ampla>*{grid-column:1/-1}
  /* o olho é mais alto que título + parágrafo: a sobra vai para fora do
     bloco de texto (h2 no fundo da linha 1, parágrafo no topo da 2), e o
     texto fica centrado na altura do olho, sem vão entre os dois */
  .resumo-cirurgia>.ampla>h2{grid-column:1;grid-row:1;align-self:end}
  .resumo-cirurgia>.ampla>.sub{grid-column:1;grid-row:2;align-self:start;margin-bottom:0}
  .resumo-cirurgia>.ampla>.oque-olho{grid-column:2;grid-row:1/3;align-self:center;
    justify-self:end;width:100%;max-width:none;margin:0}
  .resumo-cirurgia .essenciais-cirurgia{margin-top:clamp(2.6rem,4.5vw,3.4rem)}
}
/* Celular: a seção empilha título, parágrafo, olho, três cartões e o
   details. Com os espaços do desktop reduzidos ela ficava apertada;
   aqui cada bloco ganha ar próprio e o olho respira como imagem. */
@media(max-width:899px){
  /* mais ar no topo: a seção vem logo depois do cartão de endereço, que
     tem sombra e avança sobre a foto */
  .resumo-cirurgia{padding-block:clamp(5.75rem,22vw,7rem) clamp(4rem,12vw,5rem)}
  .resumo-cirurgia>.ampla>h2{margin-bottom:1.15rem}
  .resumo-cirurgia>.ampla>.sub{margin-bottom:0}
  /* sem via lacrimal e glândula o desenho fica compacto: centralizado */
  .oque-olho{margin:2.8rem auto 3rem;width:78%;max-width:17rem}
  .resumo-cirurgia .essenciais-cirurgia{margin:0 0 2.4rem}
}
@media(max-width:599px){
  .resumo-cirurgia .essenciais-cirurgia{gap:2rem}
  .resumo-cirurgia .essenciais-cirurgia li{padding-top:1.15rem}
  .resumo-cirurgia .essenciais-cirurgia h3{margin-bottom:.55rem}
}
.apresentacao-medico{font-size:1rem;line-height:1.65;color:var(--tinta-2);margin:0 0 1.4rem}
.calendario:not(.linha-tempo) tbody th{font:inherit;text-align:left;font-weight:500;padding:1rem 1.1rem;border-bottom:1px solid var(--fio);vertical-align:top}
.rec-topo{max-width:52rem;display:block}
.faq-revisada{max-width:52rem;margin-top:2rem}
.faq-revisada .faq-grupo{margin-top:1.8rem}
.faq-revisada .fundo-c{font-size:1.1rem;line-height:1.65;max-width:44rem}
.faq-revisada .resposta-ampla .fundo-c{max-width:none;border-left:0;padding-left:0}
.faq-revisada .causas{margin-top:1.5rem;gap:1.5rem}
.faq-revisada .causa h3{font-size:1.35rem}
.faq-revisada .causa-explicacao p{font-size:1rem;line-height:1.6}
.figura-incisao{max-width:25rem;margin:1rem 0}
.figura-incisao svg{width:100%;height:auto}
.video-faq{display:block;width:min(100%,18rem);height:auto;aspect-ratio:9/16;object-fit:contain;margin:1.25rem 0;background:#192017}
.menu .ativo{border-bottom-color:var(--tinta)}
@media(max-width:1199px){.topo .menu{display:none}.menu-topo{display:inline-flex;margin-left:auto}.topo .agendar-topo{margin-left:0}}
@media(min-width:1200px){.topo .menu{display:flex}}
@media(max-width:599px){
  .essenciais-cirurgia{grid-template-columns:1fr;gap:1.1rem;margin:1.5rem 0}
  .essenciais-cirurgia li{padding-top:.8rem}
  .essenciais-cirurgia h3{margin-bottom:.35rem}
  .faq-revisada .fundo-c{padding-left:.85rem;font-size:1.08rem}
  .casos-arraste{display:block;text-align:right;margin:1.3rem 0 .6rem;color:var(--papel-escuro);font-family:var(--marca);font-size:.9rem;letter-spacing:.04em}
  .casos-arraste span{font-size:1.2rem;vertical-align:-.08em;margin-left:.2rem}
  .casos-explicados{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;max-width:none;gap:1rem;margin-top:0;padding:0 .15rem 1rem;scrollbar-width:thin}
  .casos-explicados figure{flex:0 0 82%;scroll-snap-align:start}
  .topo-in{gap:.65rem}
  .menu-topo{padding:.65rem .75rem}
}
@media(max-width:399px){.agendar-topo{display:none}.marca small{font-size:.49rem}}

/* Clínica: composição do print salvo, com consultório em destaque. */
.clinica-referencia .rotulo{color:var(--taupe-tinta);font-weight:600;letter-spacing:.12em;text-transform:uppercase;gap:.75rem}
.clinica-referencia .rotulo::before{display:none}
.clinica-referencia .rotulo::after{content:"";width:4.5rem;height:1px;background:var(--taupe);opacity:.5}
.clinica-referencia h2{font-family:var(--serif);font-size:clamp(2rem,4.2vw,3rem);font-weight:400;line-height:1.12;letter-spacing:-.025em;margin-bottom:.45rem}
.clinica-intro{max-width:38rem;color:var(--tinta-2);line-height:1.65;margin-bottom:clamp(1.75rem,3.5vw,2.5rem)}
.clinica-galeria{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,2vw,1.5rem)}
.clinica-galeria figure{min-width:0;overflow:hidden;aspect-ratio:1;border-radius:2px;margin:0}
.clinica-galeria .clinica-foto-principal{grid-column:span 2;grid-row:span 2}
.clinica-galeria img{display:block;width:100%;height:100%;object-fit:cover}
.clinica-visita{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:start;margin-top:2rem}
.clinica-dados h3,.clinica-de-fora h3{font-family:var(--serif);font-size:1.55rem;font-weight:400;line-height:1.25;margin-bottom:.55rem}
.clinica-dados address{font-style:normal;color:var(--tinta-2);font-size:.98rem;line-height:1.65}
.clinica-horarios{font-size:.9375rem;line-height:1.5;margin:1rem 0 1.3rem;color:var(--tinta-2)}
.clinica-horarios>div{display:flex;flex-wrap:wrap;gap:.2rem 1rem;margin:.35rem 0}
.clinica-horarios dt{color:var(--tinta);min-width:8rem}
.clinica-horarios dd{margin:0}
.clinica-referencia .mapa{width:100%;height:210px;min-height:210px;aspect-ratio:auto;border:1px solid var(--fio);border-radius:2px;overflow:hidden}
.clinica-referencia .mapa iframe{display:block;width:100%;height:100%;border:0}
.clinica-referencia .mapa-espera{display:flex;align-items:center;justify-content:center;height:100%;padding:1rem;text-align:center;font-size:.9rem;color:var(--tinta-2);margin:0}
.clinica-maps{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;margin-top:.3rem;font-size:.9375rem;text-underline-offset:.25em}
.clinica-de-fora{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--fio)}
.clinica-de-fora p{max-width:42rem;color:var(--tinta-2);margin-bottom:.35rem}
.clinica-de-fora>a{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;font-size:.9375rem;text-underline-offset:.25em}
@media(max-width:639px){
  .clinica-galeria{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  .clinica-galeria figure{aspect-ratio:4/3}
  .clinica-galeria .clinica-foto-principal{grid-column:1/-1;grid-row:auto;aspect-ratio:4/3}
  .clinica-visita{grid-template-columns:minmax(0,1fr);gap:1.5rem;margin-top:1.5rem}
  .clinica-de-fora{margin-top:1.5rem}
}

/* Horários fora do cabeçalho fixo, como na outra versão do site. */
.horario{background:var(--salvia-funda);color:var(--branco);font-family:var(--sans);font-size:.79rem;line-height:1.4;padding:.55rem 0}
.horario .ampla{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.2rem 1.15rem;text-align:center}
/* No celular a frase inteira quebrava em duas linhas: entra a forma abreviada, e a inteira fica para o leitor de tela. */
.horario-curto{display:none}
@media(max-width:459px){
  .horario-longo{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .horario-curto{display:inline;white-space:nowrap}
}

/* A ilustração retoma o olho da abertura antes do conteúdo mais detalhado. */
.percurso-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:clamp(2rem,4vw,3rem)}
.percurso-cabecalho h2{font-size:var(--t-capitulo);font-weight:250;line-height:1.06;letter-spacing:-.018em;max-width:19ch;margin-bottom:0}
.titulo-capitulo{font-size:var(--t-capitulo);font-weight:250;line-height:1.06;letter-spacing:-.018em;max-width:19ch}
.percurso-cabecalho .rotulo{color:var(--tinta-2);font-weight:600}
.percurso-cabecalho .rotulo::before{width:2.4rem;background:var(--tinta-2)}

/* ---------- revisão de 09/10/2026: textos do Dr. Luigi ---------- */
/* símbolo oficial da marca (pincelada), que não é quadrado */
.marca .simbolo{width:2.3rem;height:1.66rem}
@media(max-width:479px){.marca .simbolo{width:1.95rem;height:1.41rem}}

/* rótulo da seção, acima do título, sem desalinhar o olho ao lado */
.resumo-cirurgia>.ampla>.rotulo{color:var(--tinta-2);font-weight:600;align-items:flex-start;line-height:1.45}
.resumo-cirurgia>.ampla>.rotulo::before{margin-top:.72em}
@media(min-width:900px){
  .resumo-cirurgia>.ampla{grid-template-rows:1fr auto auto 1fr}
  .resumo-cirurgia>.ampla>.rotulo{grid-column:1;grid-row:1;align-self:end}
  .resumo-cirurgia>.ampla>h2{grid-row:2;align-self:auto}
  .resumo-cirurgia>.ampla>.sub{grid-row:3}
  .resumo-cirurgia>.ampla>.oque-olho{grid-row:1/5}
}

/* blefaroplastia estruturada: abre ao clicar. A faixa verde e o círculo que pulsa
   devagar dão o destaque pedido pelo Dr. Luigi sem alongar a seção fechada. */
.resumo-cirurgia>.ampla>.fundo.conceito{max-width:none;margin-top:clamp(2.2rem,4.5vw,3rem);background:var(--salvia);
  border:0;border-left:3px solid var(--musgo);scroll-margin-top:calc(var(--barra) + 16px)}
.conceito>summary{align-items:center;gap:1.1rem;padding:1.15rem clamp(1.1rem,3vw,1.9rem);
  font-family:var(--marca);font-weight:400;font-size:clamp(1.2rem,2.4vw,1.5rem);line-height:1.2;color:var(--salvia-funda)}
.conceito>summary::before{display:none}
.conceito-pulso{position:relative;flex:none;width:2.7rem;height:2.7rem;border-radius:50%;background:var(--musgo);
  display:grid;place-items:center}
.conceito-pulso::before{content:"";width:.62rem;height:.62rem;margin-top:-.28rem;border-right:2px solid var(--branco);
  border-bottom:2px solid var(--branco);transform:rotate(45deg);transition:transform var(--duration-base) var(--ease-standard)}
.conceito-pulso::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--musgo);
  animation:conceito-pulso 2.8s ease-out infinite}
@keyframes conceito-pulso{0%{transform:scale(1);opacity:.55}70%,100%{transform:scale(1.75);opacity:0}}
.conceito[open] .conceito-pulso::before{transform:rotate(-135deg);margin-top:.28rem}
.conceito[open] .conceito-pulso::after{animation:none;opacity:0}
.conceito>summary:hover{color:var(--tinta)}
@media(prefers-reduced-motion:reduce){.conceito-pulso::after{animation:none;opacity:.35;transform:scale(1.3)}}
.conceito-texto{padding:.4rem clamp(1.1rem,3vw,1.9rem) 1.8rem}
.conceito-texto p{font-size:1.02rem;line-height:1.65;color:var(--tinta-2);max-width:46rem}
.conceito-texto .conceito-abre{font-size:1.17rem;line-height:1.5;color:var(--tinta)}
.conceito-lista{list-style:none;margin:.3rem 0 1.3rem;padding:0;max-width:46rem;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}
.conceito-lista li{position:relative;padding:.55rem 0 .55rem 1.25rem;border-top:1px solid var(--fio);
  font-size:1rem;line-height:1.4}
.conceito-lista li::before{content:"";position:absolute;left:0;top:1.22em;width:.6rem;height:1px;background:var(--musgo)}
.conceito-texto a{text-underline-offset:.22em}
@media(max-width:599px){.conceito-lista{grid-template-columns:1fr}
  .conceito-pulso{width:2.3rem;height:2.3rem}}

/* botão que leva a um texto completo (laser, complicações) */
.acesso-artigo{margin:1.7rem 0 0}
.bt-artigo{display:inline-flex;align-items:center;gap:.9rem;min-height:48px;padding:.8rem 1.3rem;
  border:1px solid var(--fio-forte);text-decoration:none;font-family:var(--marca);font-size:1rem;letter-spacing:.03em;
  color:var(--salvia-funda);transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}
.bt-artigo:hover{background:var(--salvia-funda);color:var(--papel)}
.seta-d{position:relative;flex:none;width:1.4rem;height:1px;background:currentColor;transition:transform var(--duration-fast) var(--ease-standard)}
.seta-d::after{content:"";position:absolute;right:0;top:-3.5px;width:7px;height:7px;border-top:1px solid currentColor;
  border-right:1px solid currentColor;transform:rotate(45deg)}
.bt-artigo:hover .seta-d{transform:translateX(4px)}
@media(min-width:900px){
  .resumo-cirurgia>.ampla{grid-template-rows:1fr auto auto auto 1fr}
  .resumo-cirurgia>.ampla>.acesso-artigo{grid-column:1;grid-row:4}
  .resumo-cirurgia>.ampla>.oque-olho{grid-row:1/6}
  .resumo-cirurgia .essenciais-cirurgia{margin-top:clamp(3.4rem,6vw,4.6rem)}
}
@media(max-width:899px){.resumo-cirurgia>.ampla>.acesso-artigo{margin-top:1.5rem}}

/* formação e registro abaixo do vídeo de apresentação */
#t-video{font-size:clamp(2.2rem,4.6vw,3.1rem);line-height:1.06;margin-bottom:.8rem}
.medico-titulo{font-size:1.1rem;letter-spacing:.15em;margin:0 0 1.3rem}
@media(min-width:880px){.video-grade{align-items:start}.video-grade>div:not(.video-col){margin-top:-1.6rem}}

/* ---------- antes e no dia da cirurgia: três blocos editoriais (v4) ---------- */
.percurso-cabecalho{align-items:flex-end}
.percurso-cabecalho h2{max-width:16ch;flex:1 1 auto}
.tracado.atlas.olho-proc{flex:none;width:clamp(13rem,25vw,19.5rem);max-width:none;height:auto;margin:0}
@media(max-width:639px){.percurso-cabecalho{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:1.4rem}
  .percurso-cabecalho>div{flex:1 1 auto;min-width:0}
  .tracado.atlas.olho-proc{width:8.2rem;margin:0;align-self:center}
  #procedimento .rotulo{font-size:.78rem;white-space:nowrap}}
.etapas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--fio-forte)}
.etapa{position:relative;padding:1.4rem 0 1.6rem;border-bottom:1px solid var(--fio)}
.etapa-num{display:block;font-family:var(--marca);font-weight:200;font-size:clamp(3.4rem,8vw,5.2rem);line-height:.9;
  letter-spacing:-.03em;color:var(--musgo);margin-bottom:.8rem}
.etapa h3{font-size:1.3rem;margin:0 0 .55rem}
.etapa p{margin:0;max-width:26rem;font-size:1rem;line-height:1.6;color:var(--tinta-2)}
.sr-etapa{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.etapa-liga{display:inline-block;margin-top:1rem;font-size:.9rem;color:var(--salvia-funda);text-underline-offset:.22em}
@media(min-width:1000px){
  .etapas{grid-template-columns:repeat(3,minmax(0,1fr))}
  .etapa{padding:1.6rem 2rem 1.8rem 0;border-bottom:0}
  .etapa+.etapa{padding-left:2rem;border-left:1px solid var(--fio)}
}
/* os dois blocos que abrem ficam ligados às etapas 02 e 03 pelo mesmo numeral */
#procedimento details.fundo{margin-top:0;border-top:0;border-bottom:1px solid var(--fio)}
#procedimento details.fundo+details.fundo{border-top:0}
#procedimento details.fundo>summary{align-items:center;gap:1.1rem;padding:1.1rem 0}
.etapa-tag{flex:none;font-family:var(--marca);font-weight:200;font-size:2.1rem;line-height:1;color:var(--musgo);letter-spacing:-.02em;min-width:2.6rem}
#procedimento details.fundo[open]>summary{color:var(--tinta)}

/* ---------- recuperação: fundo sálvia claro e linha do tempo mais presente (v4) ---------- */
#recuperacao{--campo:var(--salvia)}
.rec-topo{max-width:none}
#recuperacao .rec-topo{margin-bottom:clamp(2rem,4vw,3rem)}
#recuperacao .linha-tempo caption{font-family:var(--marca);font-size:1rem;letter-spacing:.04em;color:var(--tinta-2)}
#recuperacao .linha-tempo tbody th{font-weight:400;color:var(--tinta)}
#recuperacao .linha-tempo tbody td{color:var(--tinta-2)}
@media(max-width:899px){
  #recuperacao .linha-tempo tbody{padding-left:2.6rem}
  #recuperacao .linha-tempo tbody tr{padding-bottom:2.3rem}
  #recuperacao .linha-tempo tbody tr::before{left:-2.6rem;top:.45rem;width:13px;height:13px;margin-left:-2px}
  #recuperacao .linha-tempo tbody th{font-size:1.5rem;margin-bottom:.5rem}
  #recuperacao .linha-tempo tbody td{font-size:1rem;line-height:1.6}
  #recuperacao .linha-tempo tbody::before{left:3px}
}
@media(min-width:900px){
  #recuperacao .linha-tempo tbody{column-gap:clamp(1.5rem,3vw,3rem)}
  #recuperacao .linha-tempo tbody::before{height:7px}
  #recuperacao .linha-tempo tbody tr{padding-top:2.6rem}
  #recuperacao .linha-tempo tbody tr::before{width:15px;height:15px;top:-4px;border-width:2px}
  #recuperacao .linha-tempo tbody th{font-size:clamp(1.8rem,3.1vw,2.6rem);line-height:1.04;min-height:2.1em;margin-bottom:1.2rem}
  #recuperacao .linha-tempo tbody td{font-size:1.05rem;line-height:1.6;padding-top:1.1rem;border-top:1px solid var(--fio)}
}

/* faixa "Quando procurar ajuda": largura total, tom de barro do site, sem animação */
.faixa-ajuda{color:#fff;padding-block:clamp(2.6rem,6vw,4.2rem)}
.faixa-ajuda h2{font-family:var(--marca);font-weight:300;font-size:clamp(2rem,4.6vw,3.1rem);line-height:1.05;
  letter-spacing:-.02em;color:#fff;margin:0 0 1.3rem}
.faixa-ajuda p{max-width:44rem;font-size:1rem;line-height:1.65;color:rgba(255,255,255,.72)}
.faixa-ajuda .atencao{margin:1.8rem 0;padding:.4rem 0 .4rem 1.4rem;border-left:5px solid #fff;max-width:44rem;color:#fff}
.faixa-ajuda .atencao strong{display:block;font-family:var(--marca);font-weight:500;font-size:clamp(1.55rem,3.4vw,2.1rem);
  line-height:1.25;color:#fff}
.faixa-ajuda p:last-child{margin-bottom:0}
.faixa-saiba{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.3);max-width:44rem}
.faixa-ajuda .faixa-saiba-t{margin:0 0 .8rem;font-size:.95rem;letter-spacing:.04em;color:rgba(255,255,255,.85)}
.bt-faixa{display:inline-flex;align-items:center;gap:.9rem;min-height:48px;padding:.85rem 1.3rem;background:#fff;color:var(--campo-escuro);
  text-decoration:none;font-family:var(--marca);font-size:1rem;letter-spacing:.02em;line-height:1.3;transition:background-color .15s}
.bt-faixa:hover{background:var(--papel)}
.bt-faixa:focus-visible{outline:3px solid #fff;outline-offset:3px}
.bt-faixa .seta-d{flex:none}
.zap-flutuante{transition:transform .15s ease,box-shadow .15s ease,opacity .15s ease}
@media(max-width:899px){.faixa-ajuda{padding-bottom:5.5rem}.zap-flutuante.zap-oculto{opacity:0;pointer-events:none}}

/* títulos das seções Consulta/preparo e Recuperação: maiores e em negrito (v4) */
#t-percurso,#t-recuperacao{font-weight:500;font-size:clamp(2.1rem,6.4vw,3.5rem);line-height:1.06;letter-spacing:-.02em;color:var(--tinta);max-width:18ch}
@media(max-width:639px){#t-percurso{font-size:1.85rem}#t-recuperacao{font-size:2rem}}
#procedimento .rotulo,#recuperacao>.ampla>.rotulo{font-size:.85rem;font-weight:600}
#t-metodo{font-weight:400;letter-spacing:-.022em}
#t-faq{font-weight:500;font-size:clamp(2.1rem,6.4vw,3.5rem);line-height:1.06;letter-spacing:-.02em;color:var(--tinta);max-width:18ch;margin-bottom:.5rem}
#perguntas>.ampla>.rotulo{font-size:.85rem;font-weight:600}
#perguntas>.ampla>.sub{font-size:1.2rem;color:var(--tinta);margin-bottom:1.4rem}
@media(max-width:639px){#t-faq{font-size:2rem}}
.apresentacao-medico strong{font-weight:600;color:var(--tinta)}
.selos-video{margin-top:1.3rem}
@media(min-width:600px){.selos-video{display:grid;grid-template-columns:1.7fr 1fr;column-gap:2rem}
  .selos-video>div{border-bottom:1px solid var(--fio)}}
@media(max-width:879px){
  /* celular: nome e título, vídeo, texto, e só então formação e registro */
  .video-col,.video-grade>div:not(.video-col){display:contents}
  .video-grade{gap:0}
  .video-grade #t-video{order:1;margin:0 0 .4rem}
  .video-grade .medico-titulo{order:2;margin:0 0 1.4rem}
  .video-grade .player{order:3;margin-bottom:1.6rem}
  .video-grade .apresentacao-medico{order:4}
  .video-grade .selos-video{order:5;margin-top:1rem}
}
.clinica-de-fora>.bt{margin-top:.6rem;font-size:.9375rem}

/* "Referência em plástica ocular", logo abaixo do nome */
.medico-titulo{font-family:var(--marca);font-weight:400;font-size:.95rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--taupe-tinta);margin:-.35rem 0 1.15rem}
.fundo-c h4:not(:first-child){margin-top:1.4rem}

/* balão do WhatsApp, em todas as páginas */
.zap-flutuante{position:fixed;right:clamp(.9rem,2.5vw,1.6rem);bottom:clamp(.9rem,2.5vw,1.6rem);z-index:90;display:flex;align-items:center;gap:.6rem;
  height:3.6rem;min-width:3.6rem;padding:0 .95rem;border-radius:2rem;background:#25D366;color:#fff;text-decoration:none;
  font:500 .95rem/1 "Archivo",Arial,sans-serif;box-shadow:0 4px 14px rgba(0,0,0,.25);transition:transform .15s ease,box-shadow .15s ease}
.zap-flutuante svg{flex:none;width:2.1rem;height:2.1rem}
.zap-flutuante:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.3)}
.zap-flutuante:focus-visible{outline:3px solid var(--tinta,#2E3829);outline-offset:3px}
.zap-texto{display:none}
@media(min-width:900px){.zap-texto{display:inline}}
@media print{.zap-flutuante{display:none}}

/* ==========================================================
   PÁGINAS NOVAS · variações das peças da blefaro
   ----------------------------------------------------------
   Nada aqui muda a página de blefaroplastia: são as mesmas
   peças com o número de itens ou a mídia que cada cirurgia
   pede. Primeira a usar: pterígio (v9).
   ========================================================== */

/* cartões de essenciais em quatro (sintomas, sinais...) */
@media(min-width:600px) and (max-width:899px){.essenciais-cirurgia.quatro{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px){.essenciais-cirurgia.quatro{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.6rem}}
.escuro .essenciais-cirurgia li{border-top-color:rgba(241,236,224,.4)}
.escuro .essenciais-cirurgia p{color:var(--papel-escuro)}

/* seção com imagem ao lado do texto: o texto fica na coluna larga,
   a imagem na estreita, e os cartões voltam para a largura toda */
.figura-lateral{margin:clamp(1.8rem,4vw,2.4rem) 0 0;overflow:hidden;background:var(--linho);box-shadow:var(--alt-2)}
.figura-lateral img{width:100%;height:auto}
.escuro .figura-lateral{background:rgba(241,236,224,.06);box-shadow:none}
@media(min-width:900px){
  .com-figura>.ampla{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,27rem);
    column-gap:clamp(3rem,6vw,5.5rem);align-items:start}
  .com-figura>.ampla>*{grid-column:1}
  .com-figura>.ampla>.figura-lateral{grid-column:2;grid-row:1/span 4;margin:0;align-self:center}
  .com-figura>.ampla>.essenciais-cirurgia{grid-column:1/-1}
}

/* foto no lugar do desenho da seção "o que é" */
.oque-olho.foto{overflow:hidden;background:var(--linho);box-shadow:var(--alt-2)}
.oque-olho.foto img{width:100%;height:auto}
@media(max-width:899px){.oque-olho.foto{width:100%;max-width:none;margin:2.2rem 0 0}}

/* lista numerada: o numeral fino da marca, como nas etapas, em escala de lista */
.lista-numerada{list-style:none;margin:1.6rem 0 0;padding:0;counter-reset:item;border-top:1px solid var(--fio-forte)}
.lista-numerada>li{counter-increment:item;position:relative;padding:1.05rem 0 1.05rem 3.2rem;border-bottom:1px solid var(--fio)}
.lista-numerada>li::before{content:counter(item,decimal-leading-zero);position:absolute;left:0;top:.95rem;
  font-family:var(--marca);font-weight:200;font-size:1.9rem;line-height:1;letter-spacing:-.02em;color:var(--musgo)}
.lista-numerada h3{font-size:1.15rem;margin:0 0 .3rem}
.lista-numerada p{margin:0;font-size:1rem;line-height:1.55;color:var(--tinta-2)}

/* etapas em duas colunas, com lista dentro de cada etapa */
@media(min-width:1000px){.etapas.duas{grid-template-columns:repeat(2,minmax(0,1fr))}}
.etapas.duas .etapa p,.etapas.duas .etapa ul{max-width:32rem}
.etapa ul{list-style:none;margin:1.1rem 0 0;padding:0;max-width:26rem}
.etapa ul li{position:relative;padding:.55rem 0 .55rem 1.25rem;border-top:1px solid var(--fio);
  font-size:1rem;line-height:1.45;color:var(--tinta-2)}
.etapa ul li::before{content:"";position:absolute;left:0;top:1.2em;width:.6rem;height:1px;background:var(--musgo)}

/* linha do tempo com quatro marcos, e um título curto em cada marco */
@media(min-width:900px){.linha-tempo.quatro tbody{grid-template-columns:repeat(4,minmax(0,1fr))}}
.linha-tempo td strong{display:block;font-family:var(--marca);font-weight:400;font-size:1.1rem;
  line-height:1.3;color:var(--tinta);margin-bottom:.35rem}

/* vídeo do próprio site no player (o da blefaro é do YouTube) */
.player>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--campo-escuro)}
.player.formato-4x3{aspect-ratio:4/3}
.player-legenda{margin:.9rem 0 0;font-size:.9375rem;line-height:1.55;color:var(--tinta-3);max-width:40rem}
@media(max-width:879px){.video-grade .player-legenda{order:3;margin:-.7rem 0 1.6rem}}

/* título de capítulo em negrito (o pedido do Dr. Luigi para Consulta/preparo, Recuperação e Perguntas
   frequentes na blefaro), como peça: páginas novas usam a classe em vez do id */
.ampla>h2.titulo-forte{font-weight:500;font-size:clamp(2.1rem,6.4vw,3.5rem);line-height:1.06;letter-spacing:-.02em;color:var(--tinta);max-width:18ch}
@media(max-width:639px){.ampla>h2.titulo-forte{font-size:1.85rem}}

/* foto no lugar do vídeo, no mesmo quadro do player (consultas, v11) */
.player>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* serviços em grupos: rótulo curto com filete (o mesmo dos grupos do FAQ), uma frase e os cartões */
.grupo-servicos{margin-top:clamp(2.4rem,5vw,3.4rem)}
.grupo-servicos>h3{display:flex;align-items:center;gap:1rem;font-family:var(--sans);font-size:.8125rem;font-weight:600;
  letter-spacing:.06em;color:var(--musgo);margin:0 0 .5rem}
.grupo-servicos>h3::after{content:"";flex:1;height:1px;background:var(--fio)}
.grupo-servicos>.grupo-sub{font-family:var(--marca);font-weight:300;font-size:clamp(1.25rem,2.4vw,1.5rem);line-height:1.25;color:var(--tinta);margin:0}
.grupo-servicos .essenciais-cirurgia{margin:1.4rem 0 0}

/* cartão de essenciais com título de quarto nível, sobretítulo e link */
.essenciais-cirurgia h4{font-family:var(--marca);font-size:1.3rem;font-weight:500;line-height:1.26;letter-spacing:-.004em;margin:0 0 .65rem}
@media(max-width:599px){.essenciais-cirurgia h4{margin-bottom:.35rem}}
.essenciais-cirurgia .sobre{font-size:.78rem;font-weight:500;letter-spacing:.09em;text-transform:lowercase;color:var(--tinta-3);margin:0 0 .45rem}
.essenciais-cirurgia .liga{display:inline-block;margin-top:.75rem;font-size:.9375rem;color:var(--salvia-funda);text-underline-offset:.22em}
.escuro .essenciais-cirurgia .liga{color:var(--papel)}

/* "o que é" sem imagem: os cartões vêm logo depois do parágrafo e precisam do próprio respiro no celular */
@media(max-width:899px){.resumo-cirurgia>.ampla>.sub+.essenciais-cirurgia{margin-top:2.2rem}}

/* ==========================================================
   MENU DO SITE (v11) · igual em todas as páginas
   ----------------------------------------------------------
   No computador, as páginas do site no topo. No celular, um
   botão "Menu" abre a folha com as páginas e, logo abaixo, os
   assuntos da página aberta (o antigo "Índice").
   ========================================================== */
.topo .menu{display:none;margin-left:auto;gap:1.7rem}
.topo .menu-topo{display:inline-flex;margin-left:auto}
.topo .agendar-topo{margin-left:0}
@media(min-width:1040px){
  .topo .menu{display:flex}
  .topo .menu-topo{display:none}
  .topo .agendar-topo{margin-left:.6rem}
}
.menu a[aria-current="page"]{opacity:1;border-bottom-color:var(--salvia-marca)}
@media(max-width:399px){.topo .agendar-topo{display:none}}  /* em tela muito estreita ficam a marca e o Menu */
.folha{max-height:calc(100dvh - 2rem);overflow:auto}
.folha-rotulo{font-family:var(--sans);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
  color:var(--tinta-3);margin:0 0 .6rem}
.folha-site{list-style:none;margin:0 0 1.8rem;padding:0;border-top:1px solid var(--fio)}
.folha-site a{display:block;padding:.72rem 0;border-bottom:1px solid var(--fio);text-decoration:none;
  font-family:var(--marca);font-weight:300;font-size:1.35rem;line-height:1.2;color:var(--tinta)}
.folha-site a:hover{color:var(--musgo)}
.folha-pagina .perguntas{grid-template-columns:1fr 1fr}

/* rodapé com uma coluna própria de navegação */
.rodape-nav .links{flex-direction:column;gap:.1rem;margin-top:.6rem}
/* área de toque de pelo menos 28 px em cada link do rodapé */
.rodape .links a{display:inline-flex;align-items:center;min-height:1.75rem}
@media(min-width:760px) and (max-width:999px){.rodape .rodape-grade{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.rodape .rodape-grade{grid-template-columns:1.15fr 1fr 1fr auto}}


/* ==========================================================
   HOME (v11)
   ----------------------------------------------------------
   Quem chega aqui procura a pessoa, não uma cirurgia. A abertura
   é o nome dele num campo escuro, com o vídeo dos bastidores; a
   blefaroplastia é a porta maior; o mapa da plástica ocular leva
   quem não sabe o nome do problema; a história é contada por ele.
   Nada aqui repete a composição da página de blefaroplastia.
   ========================================================== */
.pagina-inicio .topo{background:rgba(253,251,240,.96)}

/* ---------- abertura ----------
   Computador: a abertura cabe na primeira tela, com o vídeo num quadro alto que acompanha a altura da janela.
   Celular: o vídeo ocupa a largura toda, sem moldura, e o nome fica sobre a parte de baixo dele;
   o texto, os botões e os números vêm logo abaixo. */
.inicio-abertura{position:relative;overflow:hidden}
.inicio-grade{display:grid;align-items:center}
.inicio-rotulo{font-family:var(--marca);font-weight:400;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--musgo-rotulo);margin:0 0 1rem}
.inicio-nome{font-family:var(--marca);font-weight:200;font-size:clamp(3.2rem,min(10vw,14svh),7.4rem);line-height:.92;
  letter-spacing:-.028em;color:var(--papel);margin:0}
.inicio-nome span{display:block}
.inicio-lede{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.6;color:var(--papel-escuro);max-width:34rem;
  margin:0 0 clamp(1.6rem,3vw,2.2rem)}
.inicio-acoes{display:flex;flex-wrap:wrap;gap:.8rem}
.inicio-acoes .bt{padding:1rem 1.5rem;font-family:var(--marca);font-weight:400;letter-spacing:.04em}
.inicio-fatos{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:.8rem clamp(1.4rem,3vw,2.6rem);
  margin:clamp(1.8rem,4svh,2.6rem) 0 0;padding-top:1.2rem;border-top:1px solid rgba(241,236,224,.22)}
.inicio-fatos dt{font-size:.75rem;letter-spacing:.08em;text-transform:lowercase;color:var(--musgo-rotulo)}
.inicio-fatos dd{margin:.2rem 0 0;font-family:var(--marca);font-size:1.02rem;color:var(--papel)}
.inicio-video{position:relative;background:#192017}
.inicio-video video{display:block;width:100%;height:100%;object-fit:cover}
/* O vídeo é mudo e curto; o botão de pausa só aparece para quem navega pelo teclado. */
.inicio-video-pausa{position:absolute;right:.7rem;bottom:.7rem;width:2.5rem;height:2.5rem;border-radius:50%;border:0;
  background:rgba(25,32,23,.62);cursor:pointer;display:grid;place-items:center;opacity:0;pointer-events:none}
.inicio-video-pausa:focus-visible{opacity:1;pointer-events:auto;outline:2px solid var(--papel);outline-offset:2px}
.inicio-video-pausa::before{content:"";width:.72rem;height:.85rem;border-left:3px solid var(--papel);border-right:3px solid var(--papel)}
.inicio-video-pausa.parado::before{width:0;height:0;border:0;border-left:.72rem solid var(--papel);
  border-top:.44rem solid transparent;border-bottom:.44rem solid transparent;margin-left:.22rem}

@media(min-width:900px){
  .inicio-abertura{padding-block:clamp(2rem,6svh,4rem)}
  .inicio-grade{grid-template-columns:minmax(0,1fr) auto;gap:clamp(3rem,6vw,5.5rem);
    min-height:calc(100svh - var(--barra) - 2 * clamp(2rem,6svh,4rem))}
  .inicio-titulo{margin-bottom:clamp(1.4rem,3.5svh,2.2rem)}
  /* o vídeo encosta na direita da tela e ocupa a altura toda da abertura, como no celular;
     só a borda que encontra o texto esvai no verde. O texto nunca passa por baixo dele. */
  .inicio-abertura{--video-l:min(calc((100svh - var(--barra)) * 9 / 16),44vw);--video-folga:clamp(2.5rem,5vw,4.5rem)}
  .inicio-grade{grid-template-columns:minmax(0,1fr)}
  .inicio-txt{max-width:min(46rem,calc(100vw - var(--video-l) - var(--video-folga) - max(0px,(100vw - var(--ampla)) / 2) - var(--pad)))}
  .inicio-video{position:absolute;top:0;right:0;bottom:0;width:var(--video-l);height:auto;background:none;
    -webkit-mask-image:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,.22) 6%,rgba(0,0,0,.58) 13%,rgba(0,0,0,.86) 20%,#000 27%);
    mask-image:linear-gradient(to right,rgba(0,0,0,0),rgba(0,0,0,.22) 6%,rgba(0,0,0,.58) 13%,rgba(0,0,0,.86) 20%,#000 27%)}
}

@media(max-width:899px){
  /* a barra do topo começa escondida e desce com a rolagem (site.js, --desce de 0 a 1);
     o vídeo começa no alto da tela */
  .js-anima .pagina-inicio .topo{position:fixed;left:0;right:0;transform:translateY(calc((var(--desce,0) - 1) * 100%))}
  .js-anima .pagina-inicio .inicio-video{height:min(calc(100vw * 16 / 9),calc(100svh - 3rem))}
  .inicio-abertura{padding-bottom:clamp(2.6rem,9vw,3.6rem)}
  .inicio-grade{grid-template-columns:minmax(0,1fr)}
  .inicio-txt{display:contents}
  /* vídeo e nome dividem a primeira linha da grade: o nome desce para a parte de baixo do vídeo */
  .inicio-video{grid-area:1/1;margin-inline:calc(var(--pad) * -1);
    height:min(calc((100vw) * 16 / 9),calc(100svh - var(--barra) - 3rem))}
  .inicio-video::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(to bottom,rgba(61,75,52,0) 52%,rgba(61,75,52,.72) 78%,var(--campo-escuro) 100%)}
  .inicio-titulo{grid-area:1/1;align-self:end;position:relative;z-index:1;padding-bottom:1.6rem}
  .inicio-lede{margin-top:.4rem}
  .inicio-video-pausa{z-index:2;top:.7rem;bottom:auto}
}
/* Tablet em pé: o vídeo seria cortado e a legenda dele bateria no nome; o nome vem logo abaixo. */
@media(min-width:560px) and (max-width:899px){
  .inicio-video{height:max(22rem,calc(100svh - var(--barra) - 17rem))}
  .js-anima .pagina-inicio .inicio-video{height:max(22rem,calc(100svh - 17rem))}
  .inicio-video video{object-position:50% 35%}
  .inicio-video::after{display:none}
  .inicio-titulo{grid-area:auto;padding:clamp(1.8rem,4vw,2.4rem) 0 1.4rem}
}
@media(max-width:559px){
  .inicio-rotulo{letter-spacing:.12em;font-size:.72rem;margin-bottom:.7rem}
  .inicio-fatos{grid-template-columns:1fr 1fr}.inicio-fatos>div:last-child{grid-column:1/-1}
  .inicio-acoes .bt{width:100%}
}

/* ---------- como posso te ajudar ----------
   Blefaroplastia e consultas lado a lado, as duas com imagem (a da blefaro maior e no campo verde).
   Embaixo, as outras cirurgias em cartões pequenos: imagem em cima, nome, descrição e seta,
   para cada uma ter peso próprio e ficar claro que abre uma página. */
.inicio-portas>.ampla>h2{font-size:var(--t-capitulo);font-weight:300;line-height:1.06;letter-spacing:-.018em;
  margin-bottom:clamp(2rem,4vw,2.8rem)}
.portas{display:grid;gap:clamp(1rem,2vw,1.5rem)}
@media(min-width:900px){.portas{grid-template-columns:7fr 5fr}}
.porta{--porta-pad:clamp(1.5rem,3vw,2.3rem);position:relative;display:flex;flex-direction:column;gap:.7rem;
  padding:var(--porta-pad);text-decoration:none;color:var(--tinta);background:var(--branco);
  border:1px solid var(--fio);box-shadow:var(--alt-1);
  transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}
a.porta:hover{border-color:var(--fio-forte);box-shadow:var(--alt-2)}
a.porta:hover .seta-d{transform:translateX(4px)}
.porta-rotulo{font-size:.78rem;font-weight:500;letter-spacing:.09em;text-transform:lowercase;color:var(--tinta-3);margin:0}
.porta-titulo{font-family:var(--marca);font-weight:300;font-size:clamp(1.6rem,3vw,2rem);line-height:1.1;color:var(--tinta)}
.porta-texto{font-size:1rem;line-height:1.6;color:var(--tinta-2)}
.porta-liga{display:inline-flex;align-items:center;gap:.8rem;margin-top:auto;padding-top:.6rem;
  font-family:var(--marca);font-size:1rem;letter-spacing:.03em;color:var(--salvia-funda)}
.porta-blefaro{background-color:var(--salvia-funda);background-image:var(--grao-escuro);background-size:220px 220px,760px 760px;
  background-blend-mode:soft-light,soft-light;border-color:var(--salvia-funda);color:var(--papel);overflow:hidden;box-shadow:var(--alt-2)}
a.porta-blefaro:hover{border-color:var(--salvia-funda)}
.porta-blefaro .porta-rotulo{color:var(--musgo-rotulo)}
.porta-blefaro .porta-titulo{font-weight:200;font-size:clamp(2.5rem,5.2vw,4rem);line-height:.95;letter-spacing:-.022em;
  text-transform:lowercase;color:var(--papel)}
.porta-blefaro .porta-texto{color:var(--papel-escuro);max-width:32rem}
.porta-blefaro .porta-liga{color:var(--papel)}
.porta-itens{display:flex;flex-wrap:wrap;gap:.45rem .5rem;margin-top:.2rem}
.porta-itens span{font-size:.82rem;padding:.32rem .65rem;border:1px solid rgba(241,236,224,.32);color:var(--papel-escuro)}
.porta-foto{display:block;margin:calc(-1*var(--porta-pad)) calc(-1*var(--porta-pad)) .5rem;aspect-ratio:16/9;overflow:hidden;background:var(--linho)}
.porta-blefaro .porta-foto{background:#192017;margin-bottom:.9rem}
@media(min-width:900px){.portas .porta-foto{aspect-ratio:auto;height:clamp(14rem,24vw,20rem)}}
.porta-foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-standard)}
a.porta:hover .porta-foto img{transform:scale(1.03)}

.outras{margin-top:clamp(2.4rem,5vw,3.4rem)}
.outras-titulo{display:flex;align-items:center;gap:1rem;font-family:var(--marca);font-weight:300;
  font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.15;color:var(--tinta);margin:0 0 clamp(1rem,2vw,1.4rem)}
.outras-titulo::after{content:"";flex:1;height:1px;background:var(--fio)}
.outras-grade{list-style:none;margin:0;padding:0;display:grid;gap:clamp(.75rem,1.6vw,1.1rem);
  grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:560px){.outras-grade{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.outras-grade{grid-template-columns:repeat(5,minmax(0,1fr))}
  .outras-grade>.outras-nota{grid-column:1/-1}}
.outra{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr;column-gap:.6rem;height:100%;
  text-decoration:none;color:var(--tinta);background:var(--branco);border:1px solid var(--fio);box-shadow:var(--alt-1);overflow:hidden;
  transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard)}
.outra:hover{border-color:var(--fio-forte);box-shadow:var(--alt-2)}
.outra-foto{grid-column:1/-1;display:block;aspect-ratio:16/9;overflow:hidden;background:var(--linho)}
.outra-foto img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-standard)}
.outra:hover .outra-foto img{transform:scale(1.04)}
.outra-txt{display:flex;flex-direction:column;gap:.2rem;padding:.8rem 0 .9rem clamp(.75rem,1.4vw,1rem)}
.outra-txt b{font-family:var(--marca);font-weight:400;font-size:clamp(1rem,1.3vw,1.1rem);line-height:1.2;color:var(--tinta)}
.outra-txt>span{font-size:.84rem;line-height:1.45;color:var(--tinta-3)}
.outra>.seta-d{align-self:center;width:1.1rem;margin-right:clamp(.75rem,1.4vw,1rem);color:var(--salvia-funda)}
.outra:hover>.seta-d{transform:translateX(3px)}
.outra:hover .outra-txt b{color:var(--musgo)}
.outras-nota{display:flex;align-items:center;padding:.9rem 1rem;border:1px dashed var(--fio-forte)}
.outras-nota p{margin:0;font-size:.9rem;line-height:1.55;color:var(--tinta-2)}
.outras-nota a{color:var(--salvia-funda);text-underline-offset:.22em}
@media(min-width:900px){.outras-nota{border:0;padding:.4rem 0 0}}
@media(prefers-reduced-motion:reduce){a.porta:hover .porta-foto img,.outra:hover .outra-foto img{transform:none}}

/* ---------- o que é plástica ocular: o texto e o mapa da região dos olhos ---------- */
.plastica-grade{display:grid;gap:clamp(2.4rem,5vw,4rem)}
@media(min-width:960px){.plastica-grade{grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center}}
.plastica-txt h2{font-size:var(--t-capitulo);font-weight:300;line-height:1.06;letter-spacing:-.018em}
.plastica-txt>p:not(.rotulo){color:var(--tinta-2);max-width:34rem}
.mapa-olho{background:var(--branco);border:1px solid var(--fio);box-shadow:var(--alt-1);padding:clamp(1.2rem,3vw,2rem)}
/* O desenho usa a linguagem da prancha da blefaro (.atlas), gerado por ferramentas/desenhar_mapa_olho.py.
   A aba escolhida acende a sua área e mostra os nomes; as outras áreas ficam claras, como fundo. */
.mapa-figura{position:relative;margin:0 calc(clamp(1.2rem,3vw,2rem) * -1) 1.2rem}
.mapa-desenho{display:block;width:100%;height:auto}
.mapa-desenho .zona{opacity:.26;transition:opacity var(--duration-base) var(--ease-standard);cursor:pointer}
.mapa-olho[data-zona="palpebras"] [data-zona-desenho="palpebras"],
.mapa-olho[data-zona="lacrimal"] [data-zona-desenho="lacrimal"],
.mapa-olho[data-zona="orbita"] [data-zona-desenho="orbita"]{opacity:1}
.mapa-desenho .alvo{fill:transparent;stroke:transparent;stroke-width:18;pointer-events:all}
.tracado.atlas .lobulo{fill:none;stroke:var(--taupe-tinta);stroke-width:.7;opacity:.6;stroke-linecap:round}
.tracado.atlas .duto{fill:none;stroke:var(--taupe-tinta);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tracado.atlas .duto-fino{fill:none;stroke:var(--taupe-tinta);stroke-width:.7;stroke-dasharray:1.5 2;opacity:.8}
.tracado.atlas .fluxo{fill:none;stroke:var(--taupe-tinta);stroke-width:1.1;stroke-dasharray:3 4;stroke-linecap:round}
.tracado.atlas .colarete{stroke-width:.8;opacity:.6}
.tracado.atlas .dobra{opacity:.5}
.tracado.atlas .brilho{fill:var(--branco);stroke:none}
.tracado.atlas .carn{fill:rgba(126,92,63,.18)}
.mapa-olho .mapa-desenho .chamada,.mapa-olho .mapa-desenho .ponto-nome{opacity:0;transition:opacity var(--duration-base) var(--ease-standard)}
.mapa-desenho .ponto-nome{fill:var(--taupe-tinta)}
.mapa-nomes{position:absolute;inset:0;pointer-events:none}
.mapa-nome{position:absolute;transform:translateY(-50%);max-width:7.5rem;font-size:.74rem;line-height:1.2;
  letter-spacing:.02em;color:var(--taupe-tinta);opacity:0;transition:opacity var(--duration-base) var(--ease-standard)}
.mapa-nome.esq{text-align:right;padding-right:.35rem}
.mapa-nome.dir{text-align:left;padding-left:.35rem}
.mapa-olho[data-zona="palpebras"] [data-nome="palpebras"],
.mapa-olho[data-zona="lacrimal"] [data-nome="lacrimal"],
.mapa-olho[data-zona="orbita"] [data-nome="orbita"]{opacity:1}
.mapa-olho[data-zona="palpebras"] .chamada[data-nome="palpebras"],
.mapa-olho[data-zona="lacrimal"] .chamada[data-nome="lacrimal"],
.mapa-olho[data-zona="orbita"] .chamada[data-nome="orbita"]{opacity:.7}
/* a lágrima corre devagar pelo tracejado quando a aba das vias lacrimais está aberta */
@media(prefers-reduced-motion:no-preference){
  .mapa-olho[data-zona="lacrimal"] .fluxo{animation:mapa-lagrima 1.6s linear infinite}
}
@keyframes mapa-lagrima{to{stroke-dashoffset:-14}}
/* no celular o cartão vai de ponta a ponta e o desenho ocupa a largura toda, para caber os nomes dos dois lados */
@media(max-width:559px){
  .mapa-olho{margin-inline:calc(var(--pad) * -1);border-inline:0}
  .mapa-nome{font-size:.66rem;max-width:4.4rem}
}
.mapa-abas{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.2rem}
.mapa-abas button{min-height:44px;padding:.55rem 1rem;border:1px solid var(--fio-forte);background:transparent;cursor:pointer;
  font-family:var(--marca);font-size:.98rem;letter-spacing:.03em;color:var(--tinta);
  transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}
.mapa-abas button:hover{border-color:var(--tinta)}
.mapa-abas button[aria-selected="true"]{background:var(--salvia-funda);border-color:var(--salvia-funda);color:var(--papel)}
.mapa-painel p{color:var(--tinta-2);margin:0 0 1rem;max-width:38rem}
.mapa-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.1rem 1.3rem}
.mapa-links a{display:inline-flex;align-items:center;min-height:1.85rem;font-size:.95rem;color:var(--salvia-funda);text-underline-offset:.22em}

/* ---------- minha história: o vídeo dele e o caminho até Sinop ---------- */
.historia-grade{display:grid;gap:clamp(2rem,5vw,4.5rem)}
@media(min-width:900px){.historia-grade{grid-template-columns:minmax(14rem,19rem) minmax(0,1fr);align-items:start}}
.historia-video{margin:0}
.historia-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#192017;box-shadow:var(--alt-2)}
.historia-video figcaption{margin-top:.8rem;font-size:.82rem;color:var(--tinta-3)}
.historia-txt h2{font-size:var(--t-capitulo);font-weight:300;line-height:1.06;letter-spacing:-.018em}
.historia-abre{font-family:var(--serif);font-size:var(--t-voz);line-height:1.5;color:var(--tinta-2);max-width:36rem}
.historia-p{color:var(--tinta-2);max-width:36rem}
.historia-txt>.historia-p:last-of-type{margin-bottom:clamp(1.4rem,3vw,1.8rem)}

/* minha formação: as quatro etapas lado a lado, com o mesmo peso (no celular, duas a duas) */
.formacao{margin-top:clamp(2.8rem,6vw,4.2rem)}
.formacao-titulo{display:flex;align-items:center;gap:1rem;font-family:var(--marca);font-weight:300;
  font-size:clamp(1.35rem,2.4vw,1.7rem);line-height:1.15;color:var(--tinta);margin:0 0 .5rem}
.formacao-titulo::after{content:"";flex:1;height:1px;background:var(--fio)}
.formacao-resumo{color:var(--tinta-2);max-width:40rem;margin:0 0 clamp(1.4rem,3vw,2rem)}
.formacao-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.6rem 1.2rem}
@media(min-width:760px){.formacao-lista{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
  .formacao-lista li{padding:0 clamp(1rem,2.4vw,1.8rem);border-left:1px solid var(--fio)}
  .formacao-lista li:first-child{padding-left:0;border-left:0}}
.formacao-lista li{display:flex;flex-direction:column;gap:.7rem}
.formacao-anos{display:flex;align-items:baseline;gap:.4rem;font-size:.95rem;color:var(--tinta-3)}
.formacao-anos b{font-family:var(--marca);font-weight:200;font-size:clamp(3rem,6vw,4.4rem);line-height:.9;letter-spacing:-.03em;color:var(--tinta)}
.formacao-etapa{padding-top:.75rem;border-top:1px solid var(--fio-forte)}
.formacao-etapa b{display:block;font-family:var(--marca);font-weight:400;font-size:1.08rem;line-height:1.25;color:var(--tinta)}
.formacao-etapa span{display:block;margin-top:.2rem;font-size:.9rem;line-height:1.45;color:var(--tinta-3)}
.formacao-pratica .formacao-anos b{color:var(--salvia-funda);font-weight:300}
.formacao-pratica .formacao-etapa{border-top-color:var(--salvia-funda)}
.historia-completa{max-width:38rem}
@media(max-width:899px){
  .historia-grade{display:flex;flex-direction:column;gap:0}
  .historia-txt{display:contents}
  .historia-txt>.rotulo{order:1}
  .historia-txt>h2{order:2}
  .historia-txt>.historia-abre{order:3}
  .historia-video{order:4;width:min(100%,17rem);margin:1.8rem auto 0}
  .historia-txt>.historia-p{order:3}
  .historia-completa{order:6}
}

/* ---------- por que um oftalmologista: a foto dele e os três motivos, no campo escuro ---------- */
.oftalmo-grade{display:grid;gap:clamp(2rem,5vw,4.5rem)}
@media(min-width:900px){.oftalmo-grade{grid-template-columns:minmax(16rem,25rem) minmax(0,1fr);align-items:center}}
.oftalmo-foto{margin:0}
.oftalmo-foto img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;
  outline:1px solid rgba(241,236,224,.28);outline-offset:.75rem}
.oftalmo-foto figcaption{margin-top:1.5rem;font-size:.8rem;letter-spacing:.06em;color:var(--musgo-rotulo)}
.oftalmo-txt h2{font-size:var(--t-capitulo);font-weight:300;line-height:1.06;letter-spacing:-.018em;max-width:20ch}
.oftalmo-abre{font-family:var(--serif);font-size:var(--t-voz);line-height:1.5;color:var(--papel-escuro);max-width:38rem}
.oftalmo-motivos{list-style:none;margin:clamp(1.8rem,4vw,2.6rem) 0 0;padding:0;counter-reset:motivo}
.oftalmo-motivos li{counter-increment:motivo;display:grid;grid-template-columns:3rem minmax(0,1fr);column-gap:1rem;
  padding:1.3rem 0;border-top:1px solid rgba(241,236,224,.22)}
.oftalmo-motivos li::before{content:"0" counter(motivo);grid-row:1/3;font-family:var(--marca);font-weight:200;
  font-size:1.9rem;line-height:1;color:var(--musgo-claro)}
.oftalmo-motivos h3{font-family:var(--marca);font-weight:400;font-size:clamp(1.1rem,1.7vw,1.25rem);line-height:1.3;margin:0 0 .45rem;color:var(--papel)}
.oftalmo-motivos p{margin:0;color:var(--papel-escuro);max-width:40rem}
.oftalmo-acao{margin:clamp(1.8rem,4vw,2.4rem) 0 0}
.oftalmo-acao .bt{padding:1rem 1.5rem;font-family:var(--marca);font-weight:400;letter-spacing:.04em}
@media(max-width:559px){.oftalmo-acao .bt{width:100%}}
@media(max-width:899px){.oftalmo-foto{width:min(100%,22rem)}}
@media(max-width:559px){
  .oftalmo-foto img{aspect-ratio:1/1;object-position:50% 34%}
  .oftalmo-foto figcaption{margin-top:1.3rem}
  .oftalmo-motivos li{grid-template-columns:2.3rem minmax(0,1fr);column-gap:.7rem;padding:1.1rem 0}
  .oftalmo-motivos li::before{font-size:1.5rem}
}

/* ---------- fecho da home ---------- */
.inicio-fecho{padding-block:clamp(4rem,9vw,7rem)}
.inicio-fecho-grade{display:grid;gap:2rem;align-items:center}
@media(min-width:800px){.inicio-fecho-grade{grid-template-columns:auto minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem)}}
.inicio-fecho-simbolo{display:block;width:clamp(5rem,14vw,10rem);height:auto;color:var(--musgo-claro)}
.inicio-fecho h2{font-family:var(--marca);font-weight:200;font-size:clamp(2.4rem,6vw,4.4rem);line-height:1;letter-spacing:-.02em;
  color:var(--papel);margin:0 0 1rem}
.inicio-fecho p{color:var(--papel-escuro);max-width:34rem;margin:0 0 1.8rem}

/* texto só para leitores de tela */
.oculto-visual{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}


/* ==========================================================
   CONSULTAS (v11) · "a clínica por dentro"
   ----------------------------------------------------------
   Quem chega quer cuidar da visão: precisa ver o lugar, saber
   como é a consulta, o que a clínica faz, quando voltar e se o
   que sente é motivo de consulta. Muita foto e informação
   prática; nenhuma composição repetida da blefaro ou da home.
   ========================================================== */

/* títulos das seções desta página */
.cons-consulta-txt>h2,.cons-servicos>.ampla>h2,.cons-fases-secao>.ampla>h2,.cons-queixas-secao>.ampla>h2{
  font-size:var(--t-capitulo);font-weight:300;line-height:1.06;letter-spacing:-.018em;max-width:22ch}

/* ---------- abertura: o consultório em tela cheia e o cartão prático ---------- */
.cons-abertura{position:relative;display:grid;min-height:clamp(34rem,82svh,52rem);overflow:hidden;background:var(--linho)}
.cons-foto{position:absolute;inset:0;margin:0}
.cons-foto img{width:100%;height:100%;object-fit:cover;object-position:center 62%;
  animation:cons-assenta 1.8s var(--ease-standard) both}
@keyframes cons-assenta{from{transform:scale(1.06)}to{transform:none}}
.cons-abertura-in{position:relative;align-self:end;width:100%;padding-block:clamp(2rem,6vw,4rem)}
.cons-cartao{max-width:35rem;padding:clamp(1.6rem,4vw,2.6rem);background:rgba(253,251,240,.97);box-shadow:var(--alt-3);
  animation:cons-sobe .9s var(--ease-emphasis) .35s both}
@keyframes cons-sobe{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.cons-cartao h1{font-family:var(--marca);font-weight:300;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.04;
  letter-spacing:-.02em;color:var(--tinta);margin:0 0 1rem}
.cons-lede{font-size:1.05rem;line-height:1.6;color:var(--tinta-2);margin:0 0 1.4rem}
.cons-acoes{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1.5rem}
.cons-acoes .bt{padding:.95rem 1.4rem;font-family:var(--marca);font-weight:400;letter-spacing:.04em}
.cons-info{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:.6rem 1.6rem;margin:0;
  padding-top:1.1rem;border-top:1px solid var(--fio)}
.cons-info dt{font-size:.72rem;letter-spacing:.08em;text-transform:lowercase;color:var(--tinta-3)}
.cons-info dd{margin:.15rem 0 0;font-size:.92rem;line-height:1.4;color:var(--tinta)}
.cons-info a{color:inherit;text-underline-offset:.2em}
@media(max-width:699px){
  .cons-abertura{display:block;min-height:0}
  .cons-foto{position:relative;display:block;aspect-ratio:4/3}
  .cons-abertura-in{margin-top:-2.6rem;padding-top:0}
  .cons-cartao{max-width:none}
  .cons-info{grid-template-columns:1fr 1fr}
  .cons-info>div:last-child{grid-column:1/-1}
  .cons-acoes .bt{width:100%}
}
@media(prefers-reduced-motion:reduce){.cons-foto img,.cons-cartao{animation:none}}

/* ---------- atalhos: os assuntos numa linha (rola para o lado no celular) ---------- */
.cons-atalhos{position:relative;background:var(--papel);border-bottom:1px solid var(--fio)}
.cons-atalhos .ampla{overflow-x:auto;scrollbar-width:none}
.cons-atalhos .ampla::-webkit-scrollbar{display:none}
.cons-atalhos .perguntas{display:flex;flex-wrap:nowrap;gap:.5rem;width:max-content;padding-block:.9rem}
.cons-atalhos .perguntas a{align-items:center;padding:.55rem .95rem;font-size:.9rem;white-space:nowrap;
  background:transparent;border-color:var(--fio-forte);box-shadow:none}
.cons-atalhos .perguntas a:hover{background:var(--branco);transform:none;box-shadow:none}
.cons-atalhos .perguntas .seta{display:none}

/* ---------- como é a consulta: a foto fica ao lado enquanto a lista passa ---------- */
.cons-consulta-grade{display:grid;gap:clamp(2rem,5vw,4.5rem)}
@media(min-width:960px){.cons-consulta-grade{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start}
  .cons-consulta-foto{position:sticky;top:calc(var(--barra) + 2rem)}}
.cons-consulta-foto{margin:0}
.cons-consulta-foto img{width:100%;aspect-ratio:4/5;object-fit:cover;box-shadow:var(--alt-2)}
@media(max-width:959px){.cons-consulta-foto img{aspect-ratio:4/3}}
.cons-consulta-foto figcaption{margin-top:.8rem;font-size:.82rem;color:var(--tinta-3)}
.cons-consulta-fim{color:var(--tinta-2);margin:1.6rem 0 0;max-width:40rem}
.cons-aviso{margin-top:1.6rem;padding:1.1rem 1.3rem;background:var(--papel);border-left:3px solid var(--taupe)}
.cons-aviso-t{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe-tinta);margin:0 0 .35rem}
.cons-aviso p:last-child{margin:0;color:var(--tinta-2)}
.cons-aviso a{color:var(--salvia-funda);text-underline-offset:.22em}

/* ---------- serviços: três cartões com imagem ---------- */
.cons-servicos>.ampla>h2{margin-bottom:clamp(2rem,4vw,2.8rem)}
.cons-grupos{display:grid;gap:clamp(1rem,2vw,1.5rem)}
@media(min-width:900px){.cons-grupos{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}
.cons-grupo{--grupo-pad:clamp(1.3rem,2.6vw,1.8rem);display:flex;flex-direction:column;overflow:hidden;
  background:var(--branco);border:1px solid var(--fio);box-shadow:var(--alt-1)}
.cons-grupo>:not(.cons-grupo-foto){margin-inline:var(--grupo-pad)}
.cons-grupo-foto{margin:0 0 1.3rem;aspect-ratio:16/10;overflow:hidden;background:var(--linho)}
.cons-grupo-foto img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-standard)}
.cons-grupo:hover .cons-grupo-foto img{transform:scale(1.035)}
.cons-grupo h3{font-size:1.45rem;font-weight:400;margin:0 0 .3rem}
.cons-grupo-sub{font-size:.95rem;color:var(--tinta-3);margin:0 0 1rem}
.cons-itens{list-style:none;margin:0 0 var(--grupo-pad);padding:0}
.cons-itens li{padding:.85rem 0;border-top:1px solid var(--fio)}
.cons-itens b{display:block;font-family:var(--marca);font-weight:500;font-size:1.05rem;color:var(--tinta);margin-bottom:.2rem}
.cons-itens span{display:block;font-size:.92rem;line-height:1.5;color:var(--tinta-2)}
.cons-itens a{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;text-decoration:none;color:inherit}
.cons-itens a>b,.cons-itens a>span{grid-column:1}
.cons-itens a>.seta-d{grid-column:2;grid-row:1/3;align-self:center;color:var(--salvia-funda)}
.cons-itens a:hover b{color:var(--musgo)}
.cons-itens a:hover .seta-d{transform:translateX(4px)}
.cons-servicos-cta{margin:2rem 0 0}
@media(prefers-reduced-motion:reduce){.cons-grupo:hover .cons-grupo-foto img{transform:none}}

/* ---------- compromisso: faixa escura curta ---------- */
.cons-pilares{list-style:none;margin:0;padding:0;display:grid;gap:1.6rem 2.4rem}
@media(min-width:860px){.cons-pilares{grid-template-columns:repeat(3,minmax(0,1fr))}}
.cons-pilares li{border-top:1px solid rgba(241,236,224,.3);padding-top:1rem}
.cons-pilar-sobre{font-size:.75rem;letter-spacing:.09em;text-transform:lowercase;color:var(--musgo-rotulo);margin:0 0 .5rem}
.cons-pilares h3{font-size:1.35rem;font-weight:300;line-height:1.2;color:var(--papel);margin:0 0 .5rem}
.cons-pilares p:last-child{font-size:.98rem;line-height:1.55;color:var(--papel-escuro);margin:0}

/* ---------- para cada fase da vida: a frequência em destaque ---------- */
.cons-fases{list-style:none;margin:clamp(1.8rem,4vw,2.6rem) 0 0;padding:0;display:grid;gap:1rem}
@media(min-width:640px){.cons-fases{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1040px){.cons-fases{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fase{display:flex;flex-direction:column;gap:.55rem;padding:clamp(1.3rem,2.6vw,1.7rem);border:1px solid var(--fio);background:var(--branco)}
.fase-crianca{background:var(--papel)}
.fase-adulto{background:var(--salvia)}
.fase-idoso{background:var(--linho)}
.fase-quem{font-size:.78rem;font-weight:500;letter-spacing:.09em;text-transform:lowercase;color:var(--tinta-3);margin:0}
.fase-quando{font-family:var(--marca);font-weight:200;font-size:clamp(1.9rem,3.2vw,2.5rem);line-height:1;letter-spacing:-.02em;
  color:var(--salvia-funda);margin:.2rem 0 .3rem}
.fase-quando small{display:block;margin-top:.45rem;font-family:var(--sans);font-weight:400;font-size:.85rem;letter-spacing:0;color:var(--tinta-3)}
.fase-texto{font-size:.95rem;line-height:1.55;color:var(--tinta-2);margin:0}
.fase-liga{font-size:.92rem;color:var(--salvia-funda);text-underline-offset:.22em}
.fase>.fase-liga:first-of-type{margin-top:auto;padding-top:.5rem}
.cons-fases-nota{margin:1.2rem 0 0;font-size:.9rem;color:var(--tinta-3)}

/* ---------- o que você está sentindo: botões e o painel da explicação ---------- */
.cons-queixas{display:grid;gap:1.4rem;margin-top:clamp(1.6rem,3vw,2.2rem)}
@media(min-width:960px){.cons-queixas{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}
  .cons-paineis{position:sticky;top:calc(var(--barra) + 1.5rem)}}
.cons-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.cons-chips button{min-height:44px;padding:.55rem .95rem;border:1px solid var(--fio-forte);background:var(--branco);cursor:pointer;
  font-family:var(--sans);font-size:.93rem;color:var(--tinta);text-align:left;
  transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
.cons-chips button:hover{border-color:var(--tinta)}
.cons-chips button[aria-selected="true"]{background:var(--salvia-funda);border-color:var(--salvia-funda);color:var(--papel)}
.cons-paineis{padding:clamp(1.4rem,3vw,2rem);background:var(--branco);border:1px solid var(--fio);box-shadow:var(--alt-2)}
.cons-painel+.cons-painel{margin-top:1.2rem}
.cons-painel h3{font-size:1.5rem;font-weight:300;margin:0 0 .6rem}
.cons-painel p{color:var(--tinta-2);margin:0 0 .8rem}
.cons-painel:not([hidden]){animation:cons-painel .35s var(--ease-standard)}
@keyframes cons-painel{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cons-painel-alerta{border-left:3px solid var(--barro);padding-left:1rem}
.cons-painel-alerta h3{color:var(--barro)}
.cons-paineis-cta{margin:1.2rem 0 0;padding-top:1rem;border-top:1px solid var(--fio)}
@media(prefers-reduced-motion:reduce){.cons-painel:not([hidden]){animation:none}}

/* ---------- o médico, em versão curta ---------- */
.cons-medico-grade{display:grid;gap:clamp(2.2rem,5vw,4.5rem)}
@media(min-width:860px){.cons-medico-grade{grid-template-columns:minmax(14rem,21rem) minmax(0,1fr);align-items:center}}
.cons-medico-foto{margin:0}
.cons-medico-foto img{width:100%;aspect-ratio:3/4;object-fit:cover;outline:1px solid var(--fio-forte);outline-offset:.8rem}
@media(max-width:859px){.cons-medico-foto{width:min(72%,18rem);margin:0 auto}}
.cons-medico-titulo{font-family:var(--marca);font-size:.92rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe-tinta);margin:-.2rem 0 1.3rem}
.cons-medico-voz{font-family:var(--serif);font-size:var(--t-voz);line-height:1.5;color:var(--tinta-2);
  padding-left:1.2rem;border-left:2px solid var(--musgo);max-width:38rem}
.cons-medico-txt>p:not(.rotulo):not(.cons-medico-titulo):not(.cons-medico-voz):not(.acesso-artigo){color:var(--tinta-2);max-width:38rem}

/* ---------- fecho prático: convite e horários ---------- */
.cons-fecho{padding-block:clamp(3.6rem,8vw,6rem)}
.cons-fecho-grade{display:grid;gap:2rem}
@media(min-width:900px){.cons-fecho-grade{grid-template-columns:minmax(0,1.2fr) minmax(18rem,1fr);gap:clamp(3rem,6vw,5rem);align-items:center}}
.cons-fecho h2{font-family:var(--marca);font-weight:200;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.02;letter-spacing:-.02em;
  color:var(--papel);margin:0 0 1.2rem;max-width:16ch}
.cons-fecho-grade>div:first-child p{font-family:var(--serif);font-size:var(--t-voz);line-height:1.5;color:var(--papel-escuro);max-width:36rem;margin:0}
.cons-fecho-agenda{display:flex;flex-wrap:wrap;gap:.7rem;padding:clamp(1.4rem,3vw,2rem);
  background:rgba(241,236,224,.06);border:1px solid rgba(241,236,224,.22)}
.cons-fecho-agenda dl{width:100%;margin:0 0 .8rem}
.cons-fecho-agenda dl>div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid rgba(241,236,224,.18)}
.cons-fecho-agenda dt{font-size:.85rem;color:var(--musgo-rotulo)}
.cons-fecho-agenda dd{margin:0;font-size:.95rem;color:var(--papel);text-align:right}
.cons-fecho-agenda .bt{font-family:var(--marca);font-weight:400;letter-spacing:.04em}

/* a seção da clínica nesta página: só a fachada e a recepção, porque o consultório, o aparelho e o espaço
   infantil já aparecem nas seções de cima */
.pagina-consultas .clinica-galeria{grid-template-columns:repeat(2,minmax(0,1fr))}
.pagina-consultas .clinica-galeria>figure:is(:nth-child(1),:nth-child(3),:nth-child(5)){display:none}
.pagina-consultas .clinica-galeria>figure{aspect-ratio:16/10}

/* ---- PTERÍGIO: foto anotada, vídeo da cirurgia e linha da recuperação (só .pagina-pterigio) ----
   O vídeo da cirurgia explica a técnica e as causas; por isso a página
   tem menos texto nessas seções. Tudo entra com o data-vis do sistema
   (.mv); sem JavaScript ou com menos movimento, tudo aparece pronto. */

/* o que é: foto anotada */
.pagina-pterigio .pt-anotado{overflow:visible;background:none;box-shadow:none}
.pt-anotado-foto{position:relative;overflow:hidden;background:var(--linho);box-shadow:var(--alt-2)}
.pt-anotado-foto img{display:block;width:100%;height:auto}
.pt-marcas{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.45))}
.pt-avanco{fill:none;stroke:var(--creme);stroke-width:4;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.pt-ponta{fill:none;stroke:var(--creme);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.pt-marca circle{fill:var(--musgo);stroke:var(--creme);stroke-width:3}
.pt-marca text{fill:var(--creme);font-family:var(--marca);font-size:24px;font-weight:500;text-anchor:middle}
.pt-marca{transform-box:fill-box;transform-origin:center}
.js-anima .pt-anotado:not([data-vis]) .pt-avanco{stroke-dashoffset:1}
.js-anima .pt-anotado:not([data-vis]) .pt-ponta{opacity:0}
.js-anima .pt-anotado:not([data-vis]) .pt-marca{opacity:0;transform:scale(.4)}
.pt-anotado[data-vis] .pt-avanco{stroke-dashoffset:0;transition:stroke-dashoffset 1.3s var(--ease-standard) 1.3s}
.pt-anotado[data-vis] .pt-ponta{opacity:1;transition:opacity .4s var(--ease-standard) 2.5s}
.pt-anotado[data-vis] .pt-marca{opacity:1;transform:none;transition:opacity .35s var(--ease-standard),transform .55s var(--ease-emphasis);transition-delay:calc(.45s + var(--i)*.28s)}
.pt-legenda{list-style:none;margin:1rem 0 0;padding:0;counter-reset:pt;display:flex;flex-wrap:wrap;gap:.55rem 1.5rem}
.pt-legenda li{counter-increment:pt;display:flex;align-items:center;gap:.55rem;font-size:.92rem;color:var(--tinta-2)}
.pt-legenda li::before{content:counter(pt);flex:none;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--musgo);color:var(--creme);font-family:var(--marca);font-size:.78rem;font-weight:500;display:grid;place-items:center}
@media(max-width:699px){.pt-marca{scale:1.65}.pt-avanco,.pt-ponta{stroke-width:6.5}}
@media(min-width:900px){
  .pagina-pterigio #o-que-e>.ampla{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-rows:1fr auto auto 1fr;column-gap:clamp(2.5rem,5vw,5rem)}
  .pagina-pterigio #o-que-e>.ampla>*{grid-column:1}
  .pagina-pterigio #o-que-e .pt-anotado{grid-column:2;grid-row:1/5;align-self:center;width:100%;max-width:none;margin:0}
}

/* fatores de risco: só os nomes */
.pt-fatores h3{margin:0}

/* técnica: o vídeo vertical da cirurgia ao lado do texto */
.pagina-pterigio .pt-video{overflow:visible;background:none;box-shadow:none;width:min(80%,18rem);margin:2rem auto 0}
.pt-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#192017;box-shadow:0 1.2rem 2.6rem rgba(0,0,0,.35)}
.pt-video figcaption{margin-top:.8rem;font-size:.82rem;color:var(--papel-escuro)}
@media(min-width:900px){
  .pagina-pterigio #tecnica>.ampla{grid-template-columns:minmax(0,1fr) minmax(16rem,19rem)}
  .pagina-pterigio #tecnica>.ampla>.figura-lateral{grid-row:1/span 4;align-self:start;width:100%;margin:0}
  .pagina-pterigio #tecnica>.ampla>.essenciais-cirurgia{grid-column:1;grid-template-columns:1fr;gap:1.4rem;margin-bottom:0}
}

/* recuperação: a linha se preenche quando aparece */
.js-anima .pt-linha:not([data-vis]) .linha-tempo tbody::before{transform:scaleY(0);transform-origin:top}
.js-anima .pt-linha:not([data-vis]) .linha-tempo tbody tr::before{transform:scale(0)}
.pt-linha[data-vis] .linha-tempo tbody::before{transform:none;transition:transform 1.6s var(--ease-standard) .3s}
.pt-linha[data-vis] .linha-tempo tbody tr::before{transform:none;transition:transform .45s var(--ease-emphasis) .3s}
.pt-linha[data-vis] .linha-tempo tbody tr:nth-child(2)::before{transition-delay:.75s}
.pt-linha[data-vis] .linha-tempo tbody tr:nth-child(3)::before{transition-delay:1.2s}
.pt-linha[data-vis] .linha-tempo tbody tr:nth-child(4)::before{transition-delay:1.65s}
@media(min-width:900px){
  .js-anima .pt-linha:not([data-vis]) .linha-tempo tbody::before{transform:scaleX(0);transform-origin:left}
}

@media (prefers-reduced-motion:reduce){
  .pagina-pterigio :is(.pt-anotado,.pt-linha) *,
  .pagina-pterigio .pt-linha .linha-tempo tbody::before,
  .pagina-pterigio .pt-linha .linha-tempo tbody tr::before{transition-duration:1ms!important;transition-delay:0s!important}
}

/* ---- CONSULTAS: vídeo da consulta no lugar da foto do refrator ---- */
.cons-consulta-video{width:min(80%,18rem);justify-self:center;margin-inline:auto}
.cons-consulta-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;background:#192017;box-shadow:var(--alt-2)}
@media(min-width:900px){.cons-consulta-video{width:min(100%,20rem)}}

/* ==========================================================
   PTOSE (v11) · "é ptose, excesso de pele ou sobrancelha?"
   ----------------------------------------------------------
   Quem chega acha que a pálpebra está caída e não sabe a causa.
   A página responde isso primeiro, com os desenhos da blefaro e
   um caso real, e deixa os vídeos do Dr. Luigi explicarem o
   resto. Pouco texto, só o que o vídeo não mostra.
   ========================================================== */

/* as três causas: a da ptose em destaque, as outras levam à blefaro */
.pto-causas{margin-top:clamp(1.8rem,3.5vw,2.6rem)}
.pto-causas .pto-destaque{border-color:var(--musgo);box-shadow:inset 0 0 0 1px var(--musgo),var(--alt-2)}
.pto-aqui{display:block;width:max-content;max-width:100%;margin:.9rem 0 0;padding:.3rem .7rem;background:var(--musgo);color:var(--creme);font-family:var(--marca);font-size:.78rem;letter-spacing:.06em}
.pto-vai{display:inline-flex;align-items:center;gap:.45rem;margin-top:.9rem;font-size:.92rem;color:var(--tinta);text-underline-offset:.22em}
.pto-vai::after{content:"→";text-decoration:none;transition:transform var(--duration-fast) var(--ease-standard)}
.pto-vai:hover::after{transform:translateX(3px)}

/* o caso real em vídeo, logo abaixo dos desenhos */
.pto-caso{display:grid;grid-template-columns:minmax(0,19rem) minmax(0,28rem);gap:clamp(1.2rem,3vw,2.2rem);align-items:center;margin:clamp(2.2rem,4vw,3rem) 0 0;padding-top:clamp(1.6rem,3vw,2.2rem);border-top:1px solid var(--fio)}
.pto-caso video,.pto-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:#192017;object-fit:contain;box-shadow:var(--alt-2)}
.pto-caso h3{font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:300;line-height:1.15;margin:0 0 .7rem}
.pto-caso p{margin:0;color:var(--tinta-2);line-height:1.6;font-size:1.05rem}

/* o médico, com o vídeo vertical */
.pto-video{margin:0}
.pto-medico .selos{margin-top:1.8rem;max-width:34rem}
.pto-video figcaption{margin-top:.8rem;font-size:.82rem;color:var(--tinta-3)}
@media(min-width:900px){
  .pto-medico{grid-template-columns:minmax(0,19rem) minmax(0,1fr);gap:clamp(2.6rem,6vw,5rem);align-items:center}
  .pto-medico>div:not(.video-col){margin-top:0}
  .pto-medico .apresentacao-medico{max-width:34rem}
}
@media(max-width:899px){
  .pto-video{width:min(78%,19rem);margin-inline:auto}
  .pto-medico .video-col{margin-bottom:2rem}
}

/* sinais: quatro frases grandes, sem explicação a mais */
.pto-sinais{list-style:none;margin:clamp(1.6rem,3vw,2.2rem) 0 0;padding:0;counter-reset:sinal;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.8rem,1.8vw,1.3rem)}
.pto-sinais>li{counter-increment:sinal;background:var(--papel);border-top:2px solid var(--musgo);padding:1.1rem 1.2rem 1.4rem;font-family:var(--marca);font-size:clamp(1.1rem,1.6vw,1.3rem);font-weight:300;line-height:1.3;color:var(--tinta)}
.pto-sinais>li::before{content:counter(sinal,decimal-leading-zero);display:block;font-weight:200;font-size:2.4rem;line-height:1;color:var(--taupe);margin-bottom:1rem}
.pto-eixo{font-family:var(--serif);font-size:clamp(1.25rem,2.2vw,1.6rem);line-height:1.35;margin:clamp(1.8rem,3.5vw,2.6rem) 0 0;max-width:34ch;color:var(--tinta)}
.pto-eixo strong{font-weight:500}
.pto-alerta{margin-top:1.6rem;padding:1.1rem 1.3rem;background:var(--papel);border-left:3px solid var(--taupe);max-width:46rem}
.pto-alerta p{margin:0;color:var(--tinta-2);line-height:1.6}
.pto-alerta strong{color:var(--tinta)}
@media(max-width:899px){.pto-sinais{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:479px){
  .pto-sinais>li{padding:.9rem 1rem 1.1rem}
  .pto-sinais>li::before{font-size:1.9rem;margin-bottom:.7rem}
}

/* a cirurgia: a foto dele operando e a frase dele */
.pto-cirurgia{display:grid;gap:clamp(1.8rem,4vw,2.4rem)}
.pto-cirurgia-foto{margin:0;overflow:hidden;box-shadow:0 1.2rem 2.6rem rgba(0,0,0,.35)}
.pto-cirurgia-foto img{display:block;width:100%;height:auto;aspect-ratio:720/770;object-fit:cover}
.pto-cirurgia-txt>h2{font-size:var(--t-capitulo);font-weight:300;line-height:1.08;margin:0 0 1.2rem;max-width:18ch}
.pto-cirurgia-txt>p:not(.rotulo){color:var(--papel-escuro);max-width:34rem;line-height:1.65;margin:0 0 .9rem}
.pto-cirurgia-txt a{color:var(--creme);text-underline-offset:.22em}
.pto-citacao{margin:clamp(1.8rem,3.5vw,2.4rem) 0 0;padding:clamp(1.3rem,2.5vw,1.6rem) 0 0;border-top:1px solid rgba(241,236,224,.3)}
.pto-citacao p{font-family:var(--serif);font-style:italic;font-size:clamp(1.3rem,2.3vw,1.7rem);line-height:1.35;color:var(--creme);margin:0;max-width:30ch}
.pto-citacao footer{margin-top:.9rem;font-family:var(--marca);font-size:.85rem;letter-spacing:.08em;color:var(--papel-escuro)}
@media(min-width:900px){
  .pto-cirurgia{grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(3rem,6vw,5.5rem);align-items:center}
}
@media(max-width:899px){.pto-cirurgia-foto{width:min(100%,24rem)}}
@media(max-width:699px){
  .pto-caso{grid-template-columns:1fr}
  .pto-caso .caso-video{width:min(78%,19rem);margin-inline:auto}
}

/* segunda rodada: sinais com a foto, botão na cirurgia, perguntas curtas */
.pto-sinais-grade{display:grid;gap:clamp(1.8rem,4vw,2.6rem)}
.pto-foto{margin:0}
.pto-foto img{display:block;width:100%;height:auto;box-shadow:var(--alt-2)}
.pto-foto figcaption{margin-top:.8rem;font-size:.82rem;color:var(--tinta-3)}
.pto-sinais-txt>h2{margin-bottom:0}
.pto-sinais-txt .pto-sinais{grid-template-columns:repeat(2,minmax(0,1fr))}
.pto-sinais-txt .pto-eixo{margin-top:clamp(1.4rem,2.6vw,1.9rem)}
@media(min-width:900px){
  .pto-sinais-grade{grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:clamp(2.6rem,5vw,4.5rem);align-items:center}
}
.pto-agendar{margin-top:clamp(1.6rem,3vw,2.2rem)}
.pto-faq .faq{max-width:48rem}

/* ==========================================================
   ECTRÓPIO E ENTRÓPIO (v11) · "qual é o seu caso?"
   ----------------------------------------------------------
   Quem chega sente o olho lacrimejar ou arranhar e não sabe que
   é a pálpebra. Dois cartões grandes (para fora e para dentro) e
   uma faixa para o cílio encravado separam os casos; o vídeo da
   consulta mostra como é o diagnóstico. Usa as peças da ptose.
   ========================================================== */
.epe-casos{display:grid;gap:clamp(1rem,2.4vw,1.6rem);margin-top:clamp(1.6rem,3vw,2.2rem)}
.epe-caso{background:rgba(255,255,255,.55);border:1px solid var(--fio);padding-bottom:clamp(1.2rem,2.4vw,1.6rem);box-shadow:var(--alt-1)}
.epe-caso>:not(figure){margin-inline:clamp(1.1rem,2.4vw,1.6rem)}
.epe-img{margin:0}
.epe-img .pt-anotado-foto{box-shadow:none}
.epe-img picture img{display:block;width:100%;height:auto;aspect-ratio:1}
.pagina-ectropio-entropio .epe-img.pt-anotado{overflow:visible;background:none;box-shadow:none}
.epe-img .pt-marca text{font-size:14px}
.epe-img .pt-marca circle{stroke-width:2}
.epe-corte{position:relative;aspect-ratio:1;background:#fff;overflow:hidden}
.epe-corte img{position:absolute;inset:5%;width:90%;height:90%;object-fit:contain}
.epe-lado{margin-top:clamp(1rem,2vw,1.3rem);margin-bottom:.2rem;font-family:var(--marca);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe)}
.epe-caso h3,.epe-triquiase h3{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:300;line-height:1.1;margin-top:0;margin-bottom:.8rem}
.epe-caso p{color:var(--tinta-2);line-height:1.6;margin-bottom:0}
.epe-caso .ect-legenda{margin-top:0}
.epe-sinais{margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--fio)}
.epe-sinais b,.epe-triquiase b{color:var(--tinta);font-weight:500}
.epe-triquiase{margin-top:clamp(1rem,2.4vw,1.6rem);padding:1.1rem clamp(1.1rem,2.4vw,1.6rem) 1.3rem;background:rgba(255,255,255,.55);border-left:3px solid var(--musgo)}
.epe-triquiase .epe-lado{margin-top:0}
.epe-triquiase h3{font-size:clamp(1.3rem,2.2vw,1.6rem)}
.epe-triquiase p{margin:0;color:var(--tinta-2);line-height:1.6;max-width:52rem}
.ect-legenda{flex-direction:column;gap:.7rem}
.ect-legenda li{align-items:flex-start}
.ect-legenda li::before{margin-top:.1rem}
.ect-legenda strong{font-weight:500;color:var(--tinta)}
@media(min-width:760px){.epe-casos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:699px){.epe-img .pt-marca{scale:1.25}}

/* causas: o vídeo da consulta ao lado da lista */
.ect-causas{display:grid;gap:clamp(1.8rem,4vw,2.6rem)}
.ect-causas-txt>h2{margin-bottom:0}
.ect-lista{list-style:none;margin:clamp(1.4rem,3vw,2rem) 0 0;padding:0;counter-reset:causa;border-top:1px solid var(--fio-forte)}
.ect-lista>li{counter-increment:causa;position:relative;padding:1.1rem 0 1.15rem 3.4rem;border-bottom:1px solid var(--fio)}
.ect-lista>li::before{content:counter(causa,decimal-leading-zero);position:absolute;left:0;top:.95rem;font-family:var(--marca);font-weight:200;font-size:1.9rem;line-height:1;color:var(--taupe)}
.ect-lista h3{font-size:1.2rem;margin:0 0 .3rem}
.ect-lista p{margin:0;color:var(--tinta-2);line-height:1.55}
.ect-irma{margin:1.5rem 0 0;color:var(--tinta-2);line-height:1.6;max-width:38rem}
@media(min-width:900px){
  .ect-causas{grid-template-columns:minmax(0,19rem) minmax(0,1fr);column-gap:clamp(2.6rem,6vw,5rem);align-items:center}
}
@media(max-width:899px){.ect-causas-txt{order:-1}}

/* ==========================================================
   TUMOR DE PÁLPEBRA (v11) · "nem sempre é tumor"
   ----------------------------------------------------------
   Quem chega está assustado com um caroço. A página acalma
   primeiro (o que pode ser), depois mostra os sinais de alerta
   numa faixa escura e a cirurgia em três passos. Usa as peças
   da ptose (vídeo do médico, sinais, perguntas).
   ========================================================== */
.tum-grade{display:grid;gap:clamp(1.8rem,4vw,2.6rem)}
.pagina-tumor .tum-ilustracao{margin:0;overflow:visible;background:none;box-shadow:none}
.tum-ilustracao picture img{display:block;width:100%;height:auto}
.tum-ilustracao figcaption{margin-top:.8rem;font-size:.82rem;color:var(--tinta-3)}
.tum-aro{fill:none;stroke:var(--creme);stroke-width:3;stroke-dasharray:6 5;transform-box:fill-box;transform-origin:center}
.js-anima .tum-ilustracao:not([data-vis]) .tum-aro{opacity:0;transform:scale(1.6)}
.tum-ilustracao[data-vis] .tum-aro{opacity:1;transform:none;transition:opacity .5s var(--ease-standard) .5s,transform .8s var(--ease-emphasis) .5s}
.tum-txt>h2{margin-bottom:0}
.tum-tipos{list-style:none;margin:clamp(1.4rem,3vw,2rem) 0 0;padding:0;display:grid;gap:.8rem}
.tum-tipos>li{background:rgba(255,255,255,.55);border-left:3px solid var(--musgo-claro);padding:.95rem 1.15rem 1.05rem}
.tum-tipos>li.tum-maligno{border-left-color:var(--taupe)}
.tum-tipos h3{font-size:1.2rem;margin:0 0 .3rem}
.tum-tipos p{margin:0;color:var(--tinta-2);line-height:1.55}
.tum-tipos a{color:var(--tinta);text-underline-offset:.22em;white-space:nowrap}
@media(min-width:900px){
  .tum-grade{grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:clamp(2.6rem,5vw,4.5rem);align-items:center}
}

/* sinais de alerta: faixa escura */
#sinais.escuro>.ampla>h2{color:var(--creme)}
.tum-sinais{grid-template-columns:repeat(4,minmax(0,1fr))}
.escuro .tum-sinais>li{background:rgba(241,236,224,.07);border-top-color:var(--taupe);color:var(--creme)}
.tum-sol{margin:clamp(1.6rem,3vw,2.2rem) 0 0;font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.4;color:var(--creme);max-width:38ch}
@media(max-width:899px){.tum-sinais{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* a cirurgia em três passos, em fundo claro */
.tum-cirurgia .pto-cirurgia-txt>p:not(.rotulo){color:var(--tinta-2)}
.tum-cirurgia .pto-cirurgia-foto{box-shadow:var(--alt-3)}
.tum-passos{list-style:none;margin:0;padding:0;counter-reset:passo;border-top:1px solid var(--fio-forte)}
.tum-passos>li{counter-increment:passo;position:relative;padding:.95rem 0 1rem 3.2rem;border-bottom:1px solid var(--fio)}
.tum-passos>li::before{content:counter(passo,decimal-leading-zero);position:absolute;left:0;top:.8rem;font-family:var(--marca);font-weight:200;font-size:1.8rem;line-height:1;color:var(--taupe)}
.tum-passos h3{font-size:1.2rem;margin:0 0 .25rem}
.tum-passos p{margin:0;color:var(--tinta-2);line-height:1.55}
.tum-nota{margin-top:1.3rem!important;font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,1.9vw,1.4rem);line-height:1.4;color:var(--tinta)!important}

/* ==========================================================
   PÁGINA DE CALÁZIO
   ========================================================== */
/* o que é: o texto e a pálpebra em corte (desenho de ferramentas/desenhar_calazio.py) */
.cal-grade{display:grid;gap:clamp(2.2rem,5vw,4rem)}
@media(min-width:960px){.cal-grade{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center}}
.cal-txt>p:not(.rotulo){color:var(--tinta-2);max-width:34rem}
.cal-txt>.cal-abre{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.42rem);line-height:1.4;color:var(--tinta)}
.cal-prancha{margin:0;background:var(--branco);border:1px solid var(--fio);box-shadow:var(--alt-1);padding:clamp(1.2rem,3vw,2rem)}
.cal-prancha .mapa-figura{margin-bottom:1rem}
.cal-prancha figcaption{font-size:.82rem;line-height:1.5;color:var(--tinta-3);max-width:36rem}
.cal-prancha .mapa-nome{opacity:1}
.js-anima .cal-prancha .mv:not([data-vis]) .mapa-nome{opacity:0}
.cal-prancha .mv[data-vis] .mapa-nome{transition-delay:1.1s}
.cal-desenho .contexto{opacity:.5}
/* na escala da pálpebra em corte, o tracejado do corte fica mais miúdo para caber no tamanho real dele */
.tracado.atlas.cal-desenho .corte{stroke-width:2.4;stroke-dasharray:3.6 3}
.tracado.atlas .tarso{fill:rgba(85,96,74,.09);stroke:rgba(59,70,51,.42);stroke-width:.9}
.tracado.atlas .acino{fill:rgba(85,96,74,.34);stroke:none}
.tracado.atlas .tampa{fill:var(--taupe-tinta);stroke:none}
.js-anima .mv .atlas :is(.tarso,.acino,.tampa,.lobulo,.duto-fino){clip-path:inset(0 100% 0 0)}
.mv .atlas :is(.tarso,.acino,.tampa,.lobulo,.duto-fino){transition:clip-path var(--duration-event) var(--ease-draw) calc(var(--mv-d) + var(--dz)*3)}
.mv[data-vis] .atlas :is(.tarso,.acino,.tampa,.lobulo,.duto-fino){clip-path:inset(0 0 0 0)}
@media(max-width:559px){.cal-prancha{margin-inline:calc(var(--pad) * -1);border-inline:0}}

/* calázio ou terçol: as duas fotos lado a lado, também no celular */
.cal-compara{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(.8rem,3vw,2.2rem);max-width:58rem;margin-top:clamp(.4rem,1.5vw,1rem)}
.cal-lado{margin:0;display:flex;flex-direction:column;background:var(--branco);border:1px solid var(--fio);box-shadow:var(--alt-1)}
.cal-lado img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.cal-lado-txt{padding:clamp(.9rem,2.4vw,1.5rem) clamp(.8rem,2.4vw,1.6rem) clamp(1rem,2.4vw,1.6rem)}
.cal-lado h3{font-size:clamp(1.3rem,2.4vw,1.65rem);margin:0 0 .9rem}
.cal-lado dl{margin:0;display:grid;gap:.8rem}
.cal-lado dt{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe-tinta);margin:0 0 .2rem}
.cal-lado dd{margin:0;font-size:.98rem;line-height:1.45;color:var(--tinta-2)}
.cal-este{border-color:var(--salvia-campo);box-shadow:inset 0 3px 0 var(--salvia-campo),var(--alt-1)}
.cal-ilustrativa{margin:.9rem 0 0;font-size:.78rem;color:var(--tinta-3)}
@media(max-width:559px){
  .cal-lado dt{font-size:.62rem;letter-spacing:.1em}
  .cal-lado dd{font-size:.86rem}
}

/* o caminho do tratamento: três marcos ligados por uma linha, o último leva à cirurgia */
.cal-trat{display:grid;gap:clamp(1.8rem,4vw,2.6rem)}
@media(min-width:900px){.cal-trat{grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(2.6rem,5vw,4.5rem);align-items:center}}
.cal-trat-foto{margin:0}
.cal-trat-foto img{display:block;width:100%;height:auto;box-shadow:var(--alt-2)}
.cal-trat-foto figcaption{margin-top:.8rem;font-size:.82rem;color:var(--tinta-3)}
.cal-trat-txt>h2{margin-bottom:.6rem}
.cal-caminho{list-style:none;margin:clamp(1.4rem,3vw,2rem) 0 0;padding:0;max-width:38rem}
.cal-caminho>li{position:relative;padding:0 0 clamp(1.5rem,3vw,2rem) 2.6rem}
.cal-caminho>li::before{content:"";position:absolute;left:0;top:.2rem;width:1.05rem;height:1.05rem;border-radius:50%;
  border:2px solid var(--musgo);background:var(--branco);box-sizing:border-box}
.cal-caminho>li::after{content:"";position:absolute;left:calc(.525rem - .5px);top:1.45rem;bottom:.25rem;width:1px;background:var(--fio-forte)}
.cal-caminho>li:last-child{padding-bottom:0}
.cal-caminho>li:last-child::after{content:none}
.cal-caminho>.cal-caminho-fim::before{background:var(--taupe-tinta);border-color:var(--taupe-tinta)}
.cal-quando{margin:0 0 .3rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe-tinta)}
.cal-caminho h3{margin:0 0 .35rem;font-size:clamp(1.2rem,2vw,1.4rem)}
.cal-caminho p:not(.cal-quando){margin:0;color:var(--tinta-2);line-height:1.6}
.cal-caminho .pto-vai{margin-top:.7rem}

/* a cirurgia: a mesma prancha, agora com o corte por dentro, num cartão claro sobre o fundo escuro */
.cal-cirurgia .cal-prancha{border:0;box-shadow:0 1.2rem 2.6rem rgba(0,0,0,.35)}
@media(min-width:900px){.pto-cirurgia.cal-cirurgia{grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:clamp(2.6rem,5vw,4.5rem)}}
.cal-fatos{list-style:none;margin:clamp(1.4rem,3vw,1.8rem) 0 0;padding:clamp(1.1rem,2.4vw,1.4rem) 0 0;border-top:1px solid rgba(241,236,224,.3);display:grid;gap:.6rem;max-width:34rem}
.cal-fatos>li{position:relative;padding-left:1.35rem;font-family:var(--marca);font-size:clamp(1.02rem,1.6vw,1.15rem);letter-spacing:.01em;line-height:1.35;color:var(--creme)}
.cal-fatos>li::before{content:"";position:absolute;left:0;top:.5em;width:.45rem;height:.45rem;border-radius:50%;background:var(--taupe)}

/* por que operar com um especialista: o texto e a dica à esquerda, os três motivos numerados à direita */
.cal-esp{display:grid;gap:clamp(1.8rem,4vw,2.6rem)}
@media(min-width:900px){.cal-esp{grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(2.6rem,5vw,4.5rem);row-gap:1.6rem;align-items:start}
  .cal-esp-lista{grid-column:2;grid-row:1 / span 2}.cal-esp-fim{grid-column:1;grid-row:2}}
.cal-esp-txt>h2{margin-bottom:.6rem}
.cal-esp-fim .pto-alerta{margin-top:0}
.cal-esp-lista h3{font-size:clamp(1.2rem,2vw,1.4rem)}
.cal-esp-lista a{color:var(--salvia-funda);text-underline-offset:.22em}

/* vídeos que ganharam o botão de play na v14: a moldura ocupa o lugar do vídeo */
.player>.caso-video{position:absolute;inset:0}
.player>.caso-video>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--campo-escuro)}
.caso-video:has(>.video-faq){width:min(100%,18rem);margin:1.25rem 0}
.caso-video>.video-faq{margin:0}
/* sem tela cheia: o controlslist desliga o botão, e esta regra o esconde onde o navegador só o deixaria apagado */
video::-webkit-media-controls-fullscreen-button{display:none}

/* cartões que parecem clicáveis (v14): o cartão inteiro sobe ao passar o mouse e afunda no toque;
   a seta vira um botão redondo, cheio no celular (onde não há mouse para mostrar que é clicável) */
.outra{transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-base) var(--ease-standard),transform var(--duration-base) var(--ease-standard)}
.outra-ir{grid-column:2;grid-row:2;align-self:end;display:grid;place-items:center;width:2.1rem;height:2.1rem;
  margin:0 clamp(.7rem,1.3vw,.9rem) .85rem 0;border-radius:50%;border:1px solid var(--fio-forte);color:var(--salvia-funda);
  transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}
.outra-ir .seta-d{width:.8rem}
@media(hover:hover){
  .outra:hover,a.porta:hover{transform:translateY(-4px);box-shadow:var(--alt-3)}
  .outra:hover .outra-ir{background:var(--salvia-funda);border-color:var(--salvia-funda);color:var(--papel)}
}
@media(hover:none){.outra-ir{background:var(--salvia-funda);border-color:var(--salvia-funda);color:var(--papel)}}
.outra:active,a.porta:active{transform:translateY(1px) scale(.985);box-shadow:var(--alt-1)}
@media(prefers-reduced-motion:reduce){.outra:hover,a.porta:hover,.outra:active,a.porta:active{transform:none}}
