/* Corlina — Clínica Médica (projeto conceito da Adflix)
   Assinatura: a "linha de cuidado" (cor + linha) — um traço contínuo com um pulso.
   Paleta: noite #0E1A1F · marfim #F6F3EE · névoa #E8EDEB · celeste #9CC7DD / #2C6683 · CTA coral #C84B32 (só para clique)
   Tipos: Newsreader (títulos, serifa de leitura com itálico suave) + DM Sans (texto). Movimento: ver corlina.js; tudo desliga com prefers-reduced-motion. */

:root {
  --noite: #0E1A1F; --noite-2: #142329; --noite-3: #1D3139;
  --marfim: #F6F3EE; --nevoa: #E8EDEB; --branco: #fff;
  --tinta: #18232A; --suave: #56636B; --linha: #D9DDD8;
  --celeste: #9CC7DD; --celeste-esc: #2C6683;
  --coral: #C84B32; --coral-h: #A93C26;
  --serif: "Newsreader", Georgia, "Times New Roman", serif;
  --sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --ease: cubic-bezier(.22, 1, .36, 1);
  --ease-io: cubic-bezier(.65, 0, .35, 1);
  --mola: cubic-bezier(.3, 1.45, .5, 1);
  --topo-h: 76px;
  --g: clamp(16px, 4vw, 56px);
  --max: 1320px;
  --raio: 22px;
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--topo-h) + 16px); }
body { margin: 0; background: var(--marfim); color: var(--tinta); font: 400 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; color: inherit; }
button { cursor: pointer; }
h1, h2, h3 { margin: 0; font-weight: 400; }
.tit, .hero__titulo, .capa__tit, .final__tit, .manifesto__txt, .marca__nome, .abertura__nome { font-optical-sizing: auto; font-variation-settings: "opsz" 72; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
figure { margin: 0; }
em { font-style: italic; }
[hidden] { display: none !important; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
::selection { background: var(--celeste); color: var(--noite); }
:focus-visible { outline: 2px solid var(--celeste-esc); outline-offset: 3px; border-radius: 6px; }
[data-tema="noite"] :focus-visible, .menu :focus-visible, .topo[data-sobre="noite"] :focus-visible { outline-color: var(--celeste); }

.wrap { width: 100%; max-width: var(--max); margin-inline: auto; padding-inline: var(--g); }
.wrap > *, [class*="__grid"] > *, [class*="__in"] > * { min-width: 0; }

.pular { position: fixed; left: 12px; top: -60px; z-index: 200; background: var(--noite); color: var(--marfim); padding: 12px 18px; border-radius: 10px; text-decoration: none; transition: top .2s; }
.pular:focus { top: 12px; }

/* ------------------------------------------------------------ direção de imagem: tons quentes, contraste suave, grão */
main img:not(.mono):not(.r3d), .menu img:not(.r3d) { filter: saturate(.8) sepia(.07) contrast(1.04) brightness(1.01) !important; }
body::after { content: ""; position: fixed; inset: 0; z-index: 150; pointer-events: none; opacity: .045; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }

/* ------------------------------------------------------------ temas de seção */
[data-tema="noite"] { background: var(--noite); color: var(--marfim); }
[data-tema="marfim"] { background: var(--marfim); color: var(--tinta); }
[data-tema="nevoa"] { background: var(--nevoa); color: var(--tinta); }

/* ------------------------------------------------------------ tipografia */
.kicker { display: inline-flex; align-items: center; gap: 12px; font: 600 12.5px/1.2 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--celeste-esc); }
.kicker::before { content: ""; width: 28px; height: 1.5px; background: currentColor; transform-origin: left; transition: transform .9s var(--ease) .1s; }
[data-tema="noite"] .kicker, .kicker--claro { color: var(--celeste); }
.tit { font: 350 clamp(34px, 4.1vw, 60px)/1.06 var(--serif); letter-spacing: -.02em; margin-top: 18px; text-wrap: balance; }
.tit em, .capa__tit em, .final__tit em { color: var(--celeste-esc); }
[data-tema="noite"] .tit em, [data-tema="noite"] .capa__tit em, .final__tit em { color: var(--celeste); }
.suave { color: var(--suave); }
[data-tema="noite"] .suave { color: rgba(246, 243, 238, .7); }
.marcador { display: inline; padding: .05em .4em; border-radius: 6px; background: rgba(200, 75, 50, .09); color: #8A3320; font-size: .92em; font-weight: 500; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
[data-tema="noite"] .marcador, .menu .marcador, .rt .marcador, .contato__agenda .marcador { background: rgba(240, 138, 111, .14); color: #F4B3A0; }
.nota { font-size: 14px; color: var(--suave); margin-top: 28px; max-width: 70ch; }
.nota--clara { color: rgba(246, 243, 238, .66); }

/* ------------------------------------------------------------ botões e links */
.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 26px; border-radius: 999px; border: 0; font: 600 15.5px/1.1 var(--sans); text-decoration: none; overflow: hidden; isolation: isolate; white-space: nowrap; transition: transform .5s var(--mola), box-shadow .4s var(--ease), color .35s var(--ease); -webkit-tap-highlight-color: transparent; }
.btn::before { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; transform: scaleX(0); transform-origin: right; transition: transform .55s var(--ease); }
.btn:hover::before, .btn:focus-visible::before { transform: scaleX(1); transform-origin: left; }
.btn:active { transform: scale(.97); }
.btn .seta { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .45s var(--ease); }
.btn:hover .seta { transform: translateX(4px); }
.btn--cta { background: var(--coral); color: #fff; box-shadow: 0 10px 28px -14px rgba(200, 75, 50, .9); }
.btn--cta::before { background: var(--coral-h); }
.btn--cta:hover { box-shadow: 0 16px 34px -14px rgba(200, 75, 50, .95); }
.btn--linha { background: transparent; color: var(--tinta); box-shadow: inset 0 0 0 1.5px currentColor; }
.btn--linha::before { background: var(--tinta); }
.btn--linha:hover, .btn--linha:focus-visible { color: var(--marfim); }
[data-tema="noite"] .btn--linha, .btn--claro { color: var(--marfim); }
[data-tema="noite"] .btn--linha::before, .btn--claro::before { background: var(--marfim); }
[data-tema="noite"] .btn--linha:hover, .btn--claro:hover, [data-tema="noite"] .btn--linha:focus-visible { color: var(--noite); }
.btn--p { min-height: 44px; padding: 0 20px; font-size: 14.5px; }
.btn[data-respira]::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; box-shadow: 0 0 0 0 rgba(200, 75, 50, .55); animation: respira 2.6s var(--ease) infinite; pointer-events: none; }
@keyframes respira { 0% { box-shadow: 0 0 0 0 rgba(200, 75, 50, .5); } 70%, 100% { box-shadow: 0 0 0 16px rgba(200, 75, 50, 0); } }

.link-seta { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; font-size: 15.5px; text-decoration: none; padding: 10px 0; position: relative; }
.link-seta::after { content: ""; position: absolute; left: 0; right: 28px; bottom: 6px; height: 1.5px; background: currentColor; transform: scaleX(.25); transform-origin: left; transition: transform .6s var(--ease); }
.link-seta:hover::after, .link-seta:focus-visible::after { transform: scaleX(1); }
.link-seta .seta { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .45s var(--ease); }
.link-seta:hover .seta { transform: translateX(5px); }

/* ------------------------------------------------------------ marca (monograma: C + pulso) */
.mono { width: 34px; height: 34px; flex: none; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.mono__c { stroke: currentColor; stroke-width: 2.4; }
.mono__p { stroke: var(--coral); stroke-width: 2.4; }
[data-tema="noite"] .mono__p, .topo[data-sobre="noite"] .mono__p, .menu-aberto .topo .mono__p, .abertura .mono__p { stroke: #F08A6F; }
.marca { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; text-decoration: none; color: inherit; }
.marca__nome { font: 400 29px/1 var(--serif); letter-spacing: -.03em; margin-top: -3px; }
.marca__desc { font: 600 10px/1.15 var(--sans); letter-spacing: .16em; text-transform: uppercase; opacity: .7; max-width: 70px; padding-left: 10px; border-left: 1px solid currentColor; margin-left: 2px; }
.marca:hover .mono__p { stroke-dasharray: 60; animation: traca 1.1s var(--ease); }
@keyframes traca { from { stroke-dashoffset: 60; } to { stroke-dashoffset: 0; } }

/* ------------------------------------------------------------ cabeçalho */
.topo { position: fixed; inset: 0 0 auto; z-index: 70; height: var(--topo-h); color: var(--tinta); transition: transform .55s var(--ease), background-color .45s var(--ease), color .45s var(--ease), box-shadow .45s; view-transition-name: topo; }
.topo[data-sobre="noite"] { color: var(--marfim); }
.topo--solido { background: rgba(246, 243, 238, .86); -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px); box-shadow: 0 1px 0 rgba(24, 35, 42, .08); }
.topo--solido[data-sobre="noite"] { background: rgba(14, 26, 31, .78); box-shadow: 0 1px 0 rgba(246, 243, 238, .08); }
.topo--oculto { transform: translateY(-105%); }
.topo__in { height: 100%; max-width: var(--max); margin: auto; padding-inline: var(--g); display: flex; align-items: center; gap: 24px; }
.nav { display: flex; gap: clamp(14px, 2vw, 30px); margin-left: auto; }
.nav a { position: relative; font-size: 15px; font-weight: 500; text-decoration: none; padding: 12px 0; }
.nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 6px; height: 1.5px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform .45s var(--ease); }
.nav a:hover::after, .nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.nav a[aria-current="page"]::after { transform: scaleX(1); background: var(--coral); }
.topo__acoes { display: flex; align-items: center; gap: 10px; margin-left: clamp(8px, 2vw, 28px); }
.menu-btn { display: none; align-items: center; gap: 10px; min-height: 44px; padding: 0 6px 0 14px; border: 0; border-radius: 999px; background: transparent; font-weight: 600; font-size: 14.5px; }
.menu-btn__ic { position: relative; width: 22px; height: 12px; }
.menu-btn__ic i { position: absolute; left: 0; right: 0; height: 1.6px; background: currentColor; border-radius: 2px; transition: transform .5s var(--ease), top .5s var(--ease); }
.menu-btn__ic i:first-child { top: 1px; } .menu-btn__ic i:last-child { top: 9px; }
.menu-aberto .menu-btn__ic i:first-child { top: 5px; transform: rotate(45deg); }
.menu-aberto .menu-btn__ic i:last-child { top: 5px; transform: rotate(-45deg); }
.menu-aberto .topo { color: var(--marfim); background: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; transform: none; }

/* menu em tela cheia (celular e tablet) */
.menu { position: fixed; inset: 0; z-index: 65; background: var(--noite); color: var(--marfim); overflow-y: auto; clip-path: inset(0 0 100% 0); transition: clip-path .75s var(--ease-io); }
.menu.aberto { clip-path: inset(0 0 0 0); }
.menu__in { min-height: 100%; padding: calc(var(--topo-h) + 24px) var(--g) 32px; display: grid; grid-template-columns: 1.3fr 1fr; grid-template-rows: auto auto; gap: 28px 40px; align-content: start; }
.menu__nav { grid-row: span 2; display: flex; flex-direction: column; }
.menu__nav a { display: flex; align-items: baseline; gap: 16px; font: 400 clamp(38px, 7vw, 64px)/1.08 var(--serif); text-decoration: none; padding: 6px 0; border-bottom: 1px solid rgba(246, 243, 238, .1); overflow: hidden; }
.menu__nav a span { font: 500 12px/1 var(--sans); letter-spacing: .12em; color: var(--celeste); min-width: 22px; }
.menu__nav a[aria-current="page"] { color: var(--celeste); }
.menu__nav a > * , .menu__nav a { transition: color .3s; }
.menu .menu__nav a, .menu .menu__foto, .menu .menu__info { opacity: 0; transform: translateY(40px); transition: opacity .6s var(--ease), transform .8s var(--ease); }
.menu.aberto .menu__nav a, .menu.aberto .menu__foto, .menu.aberto .menu__info { opacity: 1; transform: none; transition-delay: calc(.18s + var(--i, 0) * 55ms); }
.menu__foto { position: relative; border-radius: var(--raio); overflow: hidden; aspect-ratio: 4 / 3; }
.menu__foto img { width: 100%; height: 100%; object-fit: cover; }
.menu__foto figcaption, .hero__quadro figcaption, .clinica__foto figcaption, .esp-item__foto figcaption { position: absolute; z-index: 3; left: 12px; bottom: 12px; padding: 5px 10px; border-radius: 999px; font-size: 11.5px; letter-spacing: .02em; color: #fff; background: rgba(14, 26, 31, .55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.menu__info { display: grid; gap: 10px; align-content: start; color: rgba(246, 243, 238, .82); }
.menu__info .btn { justify-self: start; margin-top: 10px; }
.menu__rot { font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--celeste); }

/* ------------------------------------------------------------ abertura (primeira visita da sessão) */
.abertura { display: none; }
.com-abertura .abertura { display: grid; place-items: center; position: fixed; inset: 0; z-index: 120; background: var(--noite); color: var(--marfim); animation: abertura-sai .9s var(--ease-io) 1.55s forwards; }
.abertura__mono { display: flex; align-items: center; gap: 14px; }
.abertura .mono { width: 64px; height: 64px; }
.abertura .mono__c { stroke-dasharray: 80; stroke-dashoffset: 80; animation: traca-c .8s var(--ease) .1s forwards; }
.abertura .mono__p { stroke-dasharray: 60; stroke-dashoffset: 60; animation: traca-p .6s var(--ease) .6s forwards; }
.abertura__nome { font: 400 54px/1 var(--serif); opacity: 0; transform: translateY(12px); animation: aparece .7s var(--ease) .75s forwards; }
.abertura__linha { position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; background: var(--celeste); transform: scaleX(0); animation: linha-abre .7s var(--ease-io) 1.1s forwards; opacity: .8; }
@keyframes traca-c { to { stroke-dashoffset: 0; } }
@keyframes traca-p { to { stroke-dashoffset: 0; } }
@keyframes aparece { to { opacity: 1; transform: none; } }
@keyframes linha-abre { to { transform: scaleX(1); } }
@keyframes abertura-sai { to { clip-path: inset(0 0 100% 0); visibility: hidden; } }

/* ------------------------------------------------------------ revelações (só com JS) */
.js [data-entra] { opacity: 0; transform: translateY(26px); transition: opacity .9s var(--ease), transform 1.1s var(--ease); transition-delay: calc(var(--i, 0) * 90ms); }
.js [data-entra].vis { opacity: 1; transform: none; }
.js .kicker[data-entra]::before { transform: scaleX(0); }
.js .kicker[data-entra].vis::before { transform: scaleX(1); }
.js [data-cascata] > * { opacity: 0; transform: translateY(30px); transition: opacity .8s var(--ease), transform 1s var(--ease); transition-delay: calc(var(--i, 0) * 90ms); }
.js [data-cascata].vis > * { opacity: 1; transform: none; }
.w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.w > span { display: inline-block; transform: translateY(108%); transition: transform 1.05s var(--ease); transition-delay: calc(var(--i, 0) * 34ms); }
.vis .w > span, .w.vis > span { transform: none; }
.js [data-revela] { clip-path: inset(10% 8% 10% 8% round var(--raio)); transition: clip-path 1.3s var(--ease); }
.js [data-revela].vis { clip-path: inset(0 0 0 0 round var(--raio)); }

/* ------------------------------------------------------------ HERO */
.hero { position: relative; min-height: max(100svh, 680px); padding-top: var(--topo-h); display: flex; flex-direction: column; overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(60% 50% at 78% 30%, rgba(156, 199, 221, .12), transparent 70%), radial-gradient(50% 40% at 0% 100%, rgba(240, 138, 111, .08), transparent 70%); pointer-events: none; }
.hero__in { position: relative; flex: 1; display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(28px, 5vw, 80px); align-items: center; padding-block: clamp(24px, 4vh, 56px) 110px; }
.hero__titulo { font: 350 clamp(44px, 5.6vw, 84px)/1.02 var(--serif); letter-spacing: -.03em; margin: 22px 0 26px; }
.hl { display: block; overflow: hidden; padding-bottom: .09em; margin-bottom: -.09em; }
.hl > span { display: inline-block; transform: translateY(110%); transition: transform 1.25s var(--ease); }
.hl:nth-child(2) > span { transition-delay: .12s; }
.pronto .hl > span { transform: none; }
.troca { display: inline-block; font-style: italic; color: var(--celeste); white-space: nowrap; }
.troca__l { display: inline-block; will-change: transform, opacity, filter; }
.troca__l.sai { animation: letra-sai .42s var(--ease) both; animation-delay: calc(var(--i) * 18ms); }
.troca__l.entra { animation: letra-entra .7s var(--ease) both; animation-delay: calc(var(--i) * 26ms); }
@keyframes letra-sai { to { opacity: 0; transform: translateY(-.35em); filter: blur(6px); } }
@keyframes letra-entra { from { opacity: 0; transform: translateY(.45em); filter: blur(8px); } }
.hero__sub { max-width: 52ch; font-size: clamp(17px, 1.3vw, 19px); color: rgba(246, 243, 238, .78); }
.hero [data-entra] { filter: blur(8px); transition: opacity 1s var(--ease), transform 1.2s var(--ease), filter 1s var(--ease); }
.hero [data-entra].vis { filter: none; }
.hero__acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }

/* busca com sugestões */
.busca { position: relative; margin-top: 30px; max-width: 520px; }
.busca__rot { display: flex; align-items: flex-end; min-height: 40px; padding-bottom: 8px; font-size: 13.5px; font-weight: 500; margin-bottom: 2px; color: rgba(246, 243, 238, .7); }
.busca__campo { position: relative; }
.busca input { width: 100%; height: 60px; padding: 0 66px 0 24px; border-radius: 999px; border: 1px solid rgba(246, 243, 238, .2); background: rgba(246, 243, 238, .06); color: var(--marfim); font-size: 16.5px; outline: none; transition: border-color .3s, background-color .3s, box-shadow .3s; -webkit-appearance: none; appearance: none; }
.busca input::placeholder { color: rgba(246, 243, 238, .5); }
.busca input:focus { border-color: var(--celeste); background: rgba(246, 243, 238, .1); box-shadow: 0 0 0 4px rgba(156, 199, 221, .18); }
.busca input::-webkit-search-cancel-button { -webkit-appearance: none; }
.busca__ir { position: absolute; right: 6px; top: 6px; width: 48px; height: 48px; border-radius: 50%; border: 0; display: grid; place-items: center; background: var(--marfim); color: var(--noite); transition: transform .45s var(--mola); }
.busca__ir:hover { transform: scale(1.06) rotate(-8deg); }
.busca__ir .seta { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.busca__lista { position: absolute; left: 0; right: 0; top: calc(100% + 8px); z-index: 30; background: var(--marfim); color: var(--tinta); border-radius: 20px; padding: 8px; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .5); max-height: 340px; overflow-y: auto; transform-origin: top; animation: lista-abre .35s var(--ease); }
@keyframes lista-abre { from { opacity: 0; transform: translateY(-6px) scale(.98); } }
.busca__lista li { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 12px 14px; border-radius: 12px; cursor: pointer; }
.busca__lista li[aria-selected="true"], .busca__lista li:hover { background: var(--nevoa); }
.busca__lista b { font-weight: 500; }
.busca__lista small { font-size: 12px; color: var(--suave); letter-spacing: .04em; text-transform: uppercase; }
.busca__lista .sem { cursor: default; color: var(--suave); }
.busca--clara .busca__rot { color: var(--suave); }
.busca--clara input { background: #fff; border-color: var(--linha); color: var(--tinta); }
.busca--clara input::placeholder { color: #8A949A; }
.busca--clara input:focus { border-color: var(--celeste-esc); box-shadow: 0 0 0 4px rgba(44, 102, 131, .14); background: #fff; }
.busca--clara .busca__ir { background: var(--noite); color: var(--marfim); }

/* mídia do topo */
.hero__midia { position: relative; align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: 18px; }
/* topo: retrato da fundadora em arco + medalhão com o 3D ao vivo, sobreposto */
.hero__palco { position: relative; width: 100%; max-width: 560px; margin-left: auto; aspect-ratio: 5 / 6; max-height: calc(100svh - var(--topo-h) - 170px); min-height: 440px; }
.hero__palco::before { content: ""; position: absolute; top: -14px; right: -14px; bottom: 14px; width: 76%; border: 1px solid rgba(156, 199, 221, .3); border-radius: 999px 999px 28px 28px; pointer-events: none; opacity: 0; transform: translate(-10px, 10px); transition: opacity 1.2s var(--ease) .9s, transform 1.6s var(--ease) .9s; }
.pronto .hero__palco::before { opacity: 1; transform: none; }
.hero__retrato { position: absolute; top: 0; right: 0; bottom: 0; width: 76%; margin: 0; border-radius: 999px 999px 26px 26px; overflow: hidden; background: #2A3A40; isolation: isolate; }
.hero__retrato img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; clip-path: inset(100% 0 0 0); transform: scale(1.1); transition: clip-path 1.3s var(--ease-io) .1s, transform 2.6s var(--ease) .1s; }
.pronto .hero__retrato img { clip-path: inset(0 0 0 0); transform: none; }
.hero__retrato::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(14, 26, 31, .82) 0%, rgba(14, 26, 31, .25) 30%, rgba(14, 26, 31, 0) 48%); pointer-events: none; }
.hero__assina { position: absolute; z-index: 2; left: 14px; right: 14px; bottom: 14px; justify-content: space-between; display: flex; align-items: center; gap: 14px; padding: 12px 14px 12px 18px; border-radius: 18px; text-decoration: none; color: var(--marfim); background: rgba(14, 26, 31, .5); -webkit-backdrop-filter: blur(12px) saturate(1.2); backdrop-filter: blur(12px) saturate(1.2); box-shadow: inset 0 0 0 1px rgba(246, 243, 238, .16); transition: background-color .35s, box-shadow .35s; opacity: 0; transform: translateY(10px); transition: opacity .9s var(--ease) 1.2s, transform .9s var(--ease) 1.2s, background-color .35s, box-shadow .35s; }
.pronto .hero__assina { opacity: 1; transform: none; }
.hero__assina:hover { background: rgba(14, 26, 31, .72); box-shadow: inset 0 0 0 1px rgba(246, 243, 238, .34); }
.hero__assina b { display: block; font: 400 18px/1.15 var(--serif); letter-spacing: -.01em; margin-bottom: 4px; }
.hero__assina small { display: block; font-size: 12px; line-height: 1.4; color: rgba(246, 243, 238, .72); }
.hero__assina .seta { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .45s var(--ease); }
.hero__assina:hover .seta { transform: translateX(4px); }
/* modo "equipe" (teste de 06/10/2026): os três médicos se alternam no arco, sem o medalhão 3D */
.hero--equipe .hero__palco { aspect-ratio: 4 / 5; max-width: 470px; }
.hero--equipe .hero__palco::before, .hero--equipe .hero__retrato { width: 100%; }
.hero__medico { text-decoration: none; color: var(--marfim); display: block; }
.hero__medico .hero__assina { pointer-events: none; }
.hero__medico:hover .hero__assina { background: rgba(14, 26, 31, .72); box-shadow: inset 0 0 0 1px rgba(246, 243, 238, .34); }
.hero__medico:hover .seta { transform: translateX(4px); }
.hero--equipe .hero__img { clip-path: none; opacity: 0; transform: scale(1.04); transition: opacity 1.1s var(--ease), transform 6s var(--ease); }
.hero--equipe .hero__img.on { opacity: 1; transform: none; z-index: 2; }
.hero--equipe .hero__img.sai { opacity: 1; z-index: 1; }
.hero--equipe .hero__passos { --dur: 5200ms; }
.hero__quadro { position: absolute; left: 0; bottom: 24%; z-index: 3; width: 44%; aspect-ratio: 1; margin: 0; background: radial-gradient(70% 60% at 50% 38%, #2C4953 0%, #1A2E35 58%, #13242A 100%) !important; border-radius: 24px; overflow: hidden; box-shadow: 0 34px 60px -22px rgba(0, 0, 0, .75), inset 0 0 0 1px rgba(246, 243, 238, .1); clip-path: inset(100% 0 0 0 round 24px); transition: clip-path 1.2s var(--ease) .65s; }
.pronto .hero__quadro { clip-path: inset(0 0 0 0 round 24px); }
.hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.86) contrast(1.02); clip-path: inset(100% 0 0 0); transform: scale(1.12); transition: clip-path 1.1s var(--ease-io), transform 6s var(--ease); }
.hero__img.on { clip-path: inset(0 0 0 0); transform: scale(1); z-index: 2; }
.hero__img.sai { clip-path: inset(0 0 0 0); z-index: 1; transform: scale(1.04); }
.hero__passos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.hero__passos li { font-size: 13px; font-weight: 500; color: rgba(246, 243, 238, .5); transition: color .4s; }
.hero__passos li.on { color: var(--marfim); }
.hero__passos i { display: block; height: 2px; margin-top: 10px; background: rgba(246, 243, 238, .14); border-radius: 2px; overflow: hidden; }
.hero__passos i::after { content: ""; display: block; height: 100%; background: var(--celeste); transform: scaleX(0); transform-origin: left; }
.hero__passos li.feito i::after { transform: scaleX(1); }
.pronto .hero__passos li.on i::after { animation: enche var(--dur, 3800ms) linear forwards; }
@keyframes enche { to { transform: scaleX(1); } }
.hero.pausado .hero__passos li.on i::after { animation-play-state: paused; }

/* 3D do topo e ilustrações 3D */
.r3d { object-fit: contain !important; }
.hero__img.r3d { filter: none; }
.hero__3d { position: absolute; inset: 0; width: 100% !important; height: 100% !important; z-index: 3; opacity: 0; transition: opacity .9s var(--ease); cursor: grab; touch-action: pan-y; }
.hero__3d:active { cursor: grabbing; }
.hero--3d .hero__3d { opacity: 1; }
.hero--3d .hero__img { opacity: 0; transition: opacity .6s; }
.hero__quadro figcaption { z-index: 4; left: 50% !important; bottom: 10px !important; transform: translateX(-50%); white-space: nowrap; font-size: 10.5px !important; padding: 4px 9px !important; }
.so-3d { display: none; }
.hero--3d .so-3d { display: inline; }
.hero--3d .sem-3d { display: none; }
.hero__quadro::after { content: ""; position: absolute; left: 12%; right: 12%; bottom: 8%; height: 18%; z-index: 0; background: radial-gradient(50% 50% at 50% 50%, rgba(156, 199, 221, .14), transparent 70%); pointer-events: none; }
.etapa__foto--3d { background: radial-gradient(70% 60% at 50% 40%, #2C4953 0%, #1A2E35 70%); }
.etapa__foto--3d img { transform: none !important; }
.manifesto__fotos { background: radial-gradient(70% 55% at 50% 38%, #FFFFFF 0%, #EEF1F0 55%, #E3E9E7 100%); }
.mf.r3d { padding: 6% 8% 3%; box-sizing: border-box; clip-path: none; opacity: 0; transform: translateY(18px) scale(.9) rotate(-3deg); transition: opacity .55s var(--ease), transform 1s var(--mola); }
.mf.r3d.on { opacity: 1; transform: none; }
.clinica__foto { background: radial-gradient(70% 55% at 50% 40%, #FFFFFF 0%, #EEF1F0 55%, #E1E8E6 100%); }
.menu__foto--3d { background: radial-gradient(70% 60% at 50% 40%, #2C4953 0%, #1A2E35 70%); aspect-ratio: 4 / 5; max-height: 52vh; }

/* linha de pulso */
.pulso { position: absolute; left: 0; right: 0; bottom: 28px; height: 80px; pointer-events: none; }
.pulso svg { width: 100%; height: 100%; overflow: visible; }
.pulso path { fill: none; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.pulso__base { stroke: rgba(156, 199, 221, .28); stroke-width: 1.5; stroke-dasharray: 2000; stroke-dashoffset: 2000; transition: stroke-dashoffset 2.2s var(--ease) .5s; }
.pronto .pulso__base { stroke-dashoffset: 0; }
.pulso__brilho { stroke: var(--celeste); stroke-width: 2.4; stroke-dasharray: .07 .93; stroke-dashoffset: 1; filter: drop-shadow(0 0 6px rgba(156, 199, 221, .9)); opacity: 0; }
.pronto .pulso__brilho { opacity: 1; animation: corre 5.5s linear 1.6s infinite; }
@keyframes corre { from { stroke-dashoffset: 1; } to { stroke-dashoffset: -.07; } }

/* cartão com o rosto da fundadora no topo */

/* ------------------------------------------------------------ faixa corrida */
.faixa { padding: 34px 0; overflow: hidden; border-bottom: 1px solid var(--linha); display: grid; gap: 10px; }
.faixa__trilho { display: flex; width: max-content; animation: rola 46s linear infinite; }
.faixa__trilho--volta { animation-direction: reverse; animation-duration: 52s; }
.faixa:hover .faixa__trilho, .faixa:focus-within .faixa__trilho { animation-play-state: paused; }
.faixa__grupo { display: flex; align-items: center; }
.faixa a { font: 400 clamp(30px, 3.6vw, 52px)/1.2 var(--serif); text-decoration: none; padding: 4px 6px; color: var(--tinta); transition: color .3s; white-space: nowrap; }
.faixa__trilho--volta a { font-style: italic; color: var(--suave); }
.faixa a:hover, .faixa a:focus-visible { color: var(--coral); }
.faixa__sep { width: 54px; height: 20px; margin: 0 18px; flex: none; background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 20' fill='none' stroke='%239CC7DD' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 10h18l3-7 5 14 3-7h23'/%3E%3C/svg%3E"); }
@keyframes rola { to { transform: translateX(-50%); } }

/* ------------------------------------------------------------ manifesto (palavra por palavra) */
.manifesto__pista { height: 230vh; }
.manifesto__palco { position: sticky; top: 0; height: 100svh; display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: clamp(32px, 6vw, 96px); align-items: center; padding-top: calc(var(--topo-h) * .5); }
.manifesto__col { display: grid; gap: 28px; align-content: center; }
.manifesto__txt { font: 350 clamp(30px, 3.9vw, 64px)/1.12 var(--serif); letter-spacing: -.02em; max-width: 20ch; }
.manifesto__txt .pl { opacity: .14; transition: opacity .35s linear, color .5s var(--ease); }
.manifesto__txt .pl.on { opacity: 1; }
.manifesto__txt .pl--chave.on { color: var(--celeste-esc); font-style: italic; }
/* arco de fotos que acompanha as palavras-chave */
.manifesto__arco { position: relative; display: grid; gap: 22px; justify-items: center; }
.manifesto__fotos { position: relative; width: min(100%, 440px); aspect-ratio: 4 / 5; max-height: 66svh; border-radius: 999px 999px 26px 26px; overflow: hidden; background: var(--nevoa); box-shadow: 0 40px 80px -50px rgba(14, 26, 31, .55); }
.mf { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; clip-path: inset(100% 0 0 0); transform: scale(1.16); transition: clip-path 1.1s var(--ease-io), transform 2.4s var(--ease); }
.mf.on { clip-path: inset(0 0 0 0); transform: scale(1); }
.manifesto__n { position: absolute; z-index: 5; right: 18px; bottom: 16px; padding: 6px 12px; border-radius: 999px; font: 500 12.5px/1 var(--sans); letter-spacing: .1em; color: #fff; background: rgba(14, 26, 31, .5); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.manifesto__marcos { position: relative; width: min(100%, 440px); display: grid; grid-template-columns: repeat(4, 1fr); font-size: 13px; font-weight: 500; color: var(--suave); }
.manifesto__marcos li { position: relative; padding-top: 22px; text-align: center; transition: color .4s; }
.manifesto__marcos li::before { content: ""; position: absolute; left: 50%; top: 0; width: 11px; height: 11px; margin-left: -5.5px; border-radius: 50%; background: var(--marfim); box-shadow: inset 0 0 0 1.5px #A9B2B6; z-index: 1; transition: background-color .4s, box-shadow .4s, transform .5s var(--mola); }
.manifesto__marcos li.on { color: var(--tinta); }
.manifesto__marcos li.on::before { background: var(--coral); box-shadow: 0 0 0 4px rgba(200, 75, 50, .15); transform: scale(1.15); }
.manifesto__marcos::before, .manifesto__trilho { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 5px; height: 1.5px; background: var(--linha); }
.manifesto__trilho { display: block; background: var(--coral); transform-origin: left; transform: scaleX(var(--pm, 0)); transition: transform .6s var(--ease); }

/* ------------------------------------------------------------ etapas (seção fixa com arco) */
.etapas { position: relative; }
.etapas__pista { height: 440vh; }
.etapas__palco { position: sticky; top: 0; height: 100svh; display: grid; grid-template-rows: auto minmax(180px, 31vh) 1fr; padding-top: calc(var(--topo-h) + 8px); overflow: hidden; }
.etapas__cab .tit { font-size: clamp(30px, 3.2vw, 48px); margin-top: 12px; }
.etapas__arco { position: relative; width: min(1000px, 92vw); margin: 22px auto 0; }
.etapas__arco svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.arco__base { fill: none; stroke: rgba(246, 243, 238, .16); stroke-width: 1.5; stroke-dasharray: 3 7; vector-effect: non-scaling-stroke; }
.arco__prog { fill: none; stroke: #F08A6F; stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--p, 0)); vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 5px rgba(240, 138, 111, .7)); }
.arco__n { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%) scale(var(--s, .5)); font: 300 clamp(50px, 5.4vw, 84px)/1 var(--serif); color: var(--marfim); opacity: var(--o, .2); will-change: transform, opacity; pointer-events: none; }
.etapas__lista { position: relative; display: grid; align-items: center; padding-bottom: 40px; }
.etapa { grid-area: 1 / 1; display: grid; grid-template-columns: 1fr minmax(0, .8fr); gap: clamp(24px, 5vw, 80px); align-items: center; opacity: 0; transform: translateY(26px); transition: opacity .55s var(--ease), transform .8s var(--ease); pointer-events: none; }
.etapa.on { opacity: 1; transform: none; pointer-events: auto; }
.etapa__n { display: none; }
.etapa__txt h3 { font: 400 clamp(30px, 3vw, 46px)/1.05 var(--serif); }
.etapa__txt p { margin-top: 16px; max-width: 46ch; font-size: 18px; color: rgba(246, 243, 238, .76); }
.etapa__foto { border-radius: var(--raio); overflow: hidden; aspect-ratio: 16 / 10; max-height: 38vh; justify-self: end; width: 100%; }
.etapa__foto img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85); transform: scale(1.08); transition: transform 1.6s var(--ease); }
.etapa.on .etapa__foto img { transform: scale(1); }

/* ------------------------------------------------------------ especialidades (lista editorial + foto que segue o cursor) */
.esp { padding: clamp(90px, 12vw, 170px) 0 clamp(80px, 10vw, 140px); position: relative; }
.esp__cab { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px 40px; margin-bottom: 48px; }
.esp__cab .kicker { grid-column: 1 / -1; }
.esp__cab .tit { margin-top: 0; max-width: 18ch; }
.lista-esp { counter-reset: e; }
.lista-esp li { border-top: 1px solid var(--linha); }
.lista-esp li:last-child { border-bottom: 1px solid var(--linha); }
.lista-esp__item { position: relative; display: grid; grid-template-columns: 70px minmax(0, 1.1fr) minmax(0, 1fr) 40px; align-items: center; gap: 24px; padding: 26px 10px; text-decoration: none; isolation: isolate; }
.lista-esp__item::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--nevoa); transform: scaleY(0); transform-origin: bottom; transition: transform .55s var(--ease); }
.lista-esp__item:hover::before, .lista-esp__item:focus-visible::before { transform: scaleY(1); transform-origin: top; }
.lista-esp__n { font: 500 13px/1 var(--sans); letter-spacing: .1em; color: var(--suave); }
.lista-esp__nome { font: 400 clamp(30px, 3.2vw, 48px)/1.05 var(--serif); transition: transform .55s var(--ease), color .3s; }
.lista-esp__item:hover .lista-esp__nome { transform: translateX(14px); }
.lista-esp__res { color: var(--suave); font-size: 15.5px; }
.lista-esp__item .seta { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; justify-self: end; transition: transform .55s var(--ease), stroke .3s; }
.lista-esp__item:hover .seta { transform: rotate(-45deg); stroke: var(--coral); }
.seguidor { position: fixed; left: 0; top: 0; z-index: 40; width: 260px; aspect-ratio: 4 / 5; border-radius: 18px; overflow: hidden; pointer-events: none; opacity: 0; transform: translate3d(-999px, -999px, 0); transition: opacity .35s var(--ease); will-change: transform; box-shadow: 0 30px 60px -20px rgba(14, 26, 31, .45); }
.seguidor.on { opacity: 1; }
.seguidor img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.86); }

/* ------------------------------------------------------------ exames (cartões claros sobre noite) */
.ex { padding: clamp(90px, 12vw, 170px) 0; position: relative; overflow: hidden; }
.ex::before { content: ""; position: absolute; inset: 0; background: radial-gradient(50% 50% at 90% 0%, rgba(156, 199, 221, .12), transparent 70%); pointer-events: none; }
.ex__cab { position: relative; display: grid; grid-template-columns: 1fr minmax(0, 420px); gap: 12px 60px; align-items: end; margin-bottom: 56px; }
.ex__cab .kicker { grid-column: 1 / -1; }
.ex__cab .tit { margin-top: 0; }
.ex__intro { color: rgba(246, 243, 238, .74); }
.cartoes { position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.cartao { position: relative; display: flex; flex-direction: column; gap: 12px; min-height: 420px; padding: 26px 26px 24px; border-radius: 26px; text-decoration: none; color: var(--tinta); background: linear-gradient(165deg, #FBFAF7 0%, #EEF1EF 60%, #E2E9E8 100%); box-shadow: inset 0 1px 0 #fff, 0 40px 70px -40px rgba(0, 0, 0, .8); transition: transform .7s var(--mola), box-shadow .5s var(--ease); }
.cartao:hover, .cartao:focus-visible { transform: translateY(-10px); box-shadow: inset 0 1px 0 #fff, 0 50px 80px -36px rgba(0, 0, 0, .9); }
.traco { width: 100%; height: 86px; margin: -4px 0 6px; fill: none; stroke: var(--celeste-esc); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.traco path, .traco circle { stroke-dasharray: 420; stroke-dashoffset: 420; transition: stroke-dashoffset 1.8s var(--ease); }
.vis .traco path, .vis .traco circle { stroke-dashoffset: 0; transition-delay: calc(.3s + var(--i, 0) * 120ms); }
.cartao:hover .traco path { animation: retraca 1.4s var(--ease); }
@keyframes retraca { 0% { stroke-dashoffset: 0; } 45% { stroke-dashoffset: 420; } 46% { stroke-dashoffset: -420; } 100% { stroke-dashoffset: 0; } }
.cartao h3 { font: 400 34px/1.05 var(--serif); }
.cartao p { color: var(--suave); font-size: 15px; }
.cartao ul { margin-top: auto; font-size: 14.5px; }
.cartao li { padding: 9px 0; border-top: 1px solid rgba(24, 35, 42, .1); }
.cartao__ir { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 14.5px; margin-top: 8px; color: var(--celeste-esc); }
.cartao__ir .seta { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .45s var(--ease); }
.cartao:hover .cartao__ir .seta { transform: translateX(5px); }

/* ------------------------------------------------------------ a clínica (foto atravessando a divisa) */
.clinica { position: relative; padding: 0 0 clamp(90px, 11vw, 160px); }
.clinica::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: clamp(140px, 18vw, 260px); background: var(--noite); }
.clinica__grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 100px); align-items: end; }
.clinica__foto { position: relative; border-radius: var(--raio); overflow: hidden; aspect-ratio: 4 / 5; }
.clinica__img { position: absolute; inset: -10% 0; transform: translate3d(0, var(--py, 0px), 0); }
.clinica__img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.86); }
.clinica__txt { padding-top: clamp(30px, 18vw, 280px); }
.clinica__txt .tit { max-width: 14ch; }
.principios { margin: 36px 0 22px; }
.principios li { display: grid; grid-template-columns: 52px 1fr; gap: 12px; padding: 20px 0; border-top: 1px solid var(--linha); }
.principios li > span { font: italic 400 22px/1.2 var(--serif); color: var(--celeste-esc); }
.principios h3 { font: 600 17px/1.3 var(--sans); }
.principios p { color: var(--suave); margin-top: 4px; font-size: 15.5px; }
.principios--grande li { grid-template-columns: 70px 1fr; padding: 28px 0; }
.principios--grande li > span { font-size: 30px; }
.principios--grande h3 { font: 400 clamp(26px, 2.4vw, 34px)/1.1 var(--serif); }
.principios--grande p { font-size: 16.5px; margin-top: 8px; max-width: 56ch; }

/* ------------------------------------------------------------ fundadora */
.fundadora { padding: clamp(90px, 11vw, 160px) 0; overflow: hidden; }
.fundadora__grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(36px, 7vw, 120px); align-items: center; }
.fundadora__fotos { position: relative; padding: 0 12% 14% 0; }
.fundadora__principal { position: relative; border-radius: 240px 240px var(--raio) var(--raio); overflow: hidden; aspect-ratio: 4 / 5; }
.fundadora__img { position: absolute; inset: -8% 0; transform: translate3d(0, var(--py, 0px), 0); }
.fundadora__img img { width: 100%; height: 100%; object-fit: cover; }
.fundadora__pb { position: absolute; right: 0; bottom: 0; width: 42%; aspect-ratio: 3 / 4; border-radius: 18px; overflow: hidden; box-shadow: 0 0 0 6px var(--noite), 0 30px 60px -30px rgba(0, 0, 0, .7); }
.fundadora--pag .fundadora__pb { box-shadow: 0 0 0 6px var(--marfim), 0 30px 60px -30px rgba(14, 26, 31, .5); }
.fundadora__pb img { width: 100%; height: 100%; object-fit: cover; }
.fundadora__txt .tit { margin-top: 16px; }
.fundadora__papel { margin-top: 16px; font-size: 15px; color: var(--suave); }
[data-tema="noite"] .fundadora__papel { color: rgba(246, 243, 238, .7); }
.fundadora__cit { margin: 30px 0 0; padding: 0; font: italic 350 clamp(22px, 2vw, 30px)/1.35 var(--serif); letter-spacing: -.01em; max-width: 30ch; }
.fundadora__cit--p { font-size: clamp(20px, 1.6vw, 24px); color: var(--celeste-esc); margin-top: 34px; }
.fundadora__assina { position: relative; display: inline-block; margin: 26px 0 18px; font: italic 400 28px/1 var(--serif); color: var(--celeste); }
.fundadora__assina svg { position: absolute; left: -4px; right: -10px; bottom: -14px; width: calc(100% + 14px); height: 20px; overflow: visible; }
.fundadora__assina path { fill: none; stroke: #F08A6F; stroke-width: 1.6; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.6s var(--ease) .5s; }
.fundadora__assina.vis path { stroke-dashoffset: 0; }
.fundadora .link-seta { display: flex; width: fit-content; }
.fundadora__hist { margin-top: 18px; max-width: 58ch; color: var(--suave); font-size: 17px; }
.fundadora__rot { font: 600 12.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--celeste-esc); margin: 32px 0 6px; }
.fundadora__form { margin-top: 18px; font-size: 15px; color: var(--suave); }
.fundadora--pag { padding-top: clamp(80px, 9vw, 130px); }
/* cartão pequeno de médico (equipe na seção da fundadora e "quem atende") */
.fundadora__equipe { margin-top: 30px; padding-top: 22px; border-top: 1px solid rgba(246, 243, 238, .14); display: flex; flex-wrap: wrap; gap: 12px 26px; }
.fundadora__equipe-rot { flex-basis: 100%; font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--celeste); }
.mini-med { display: inline-flex; align-items: center; gap: 12px; min-height: 52px; text-decoration: none; }
.mini-med__foto { width: 46px; height: 46px; flex: none; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 2px rgba(240, 138, 111, .55); transition: transform .5s var(--mola); }
.mini-med__foto img { width: 100%; height: 100%; object-fit: cover; }
.mini-med:hover .mini-med__foto { transform: scale(1.08); }
.mini-med b { display: block; font-weight: 600; font-size: 15px; }
.mini-med small { display: block; font-size: 13px; opacity: .72; }
.mini-med--claro .mini-med__foto { box-shadow: 0 0 0 2px rgba(200, 75, 50, .35); }
/* corpo clínico */
.cc__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 32px); margin-top: 44px; }
.perfil { display: flex; flex-direction: column; }
.perfil__foto { border-radius: 200px 200px var(--raio) var(--raio); overflow: hidden; aspect-ratio: 4 / 5; margin-bottom: 20px; }
.perfil__foto img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.perfil:hover .perfil__foto img { transform: scale(1.04); }
.perfil__esp { font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--celeste-esc); }
.perfil__nome { font: 350 clamp(26px, 2.2vw, 32px)/1.1 var(--serif); letter-spacing: -.02em; margin-top: 10px; }
.perfil__papel { font-size: 14.5px; color: var(--suave); margin-top: 4px; }
.perfil__bio { margin-top: 14px; font-size: 15.5px; }
.perfil__reg { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--linha); font-size: 13.5px; color: var(--suave); }
.perfil .link-seta { margin-top: auto; padding-top: 16px; width: fit-content; }
.cc__foto--img { overflow: hidden; }
.cc__foto--img img { width: 100%; height: 100%; object-fit: cover; }

/* ------------------------------------------------------------ antes de marcar, dúvidas */
.antes { padding: clamp(80px, 10vw, 140px) 0; }
.antes__cab .tit { max-width: 18ch; }
.antes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 44px); margin-top: 48px; }
.antes__col h3 { font: 400 28px/1.1 var(--serif); padding-bottom: 14px; border-bottom: 1.5px solid var(--tinta); margin-bottom: 12px; }
.antes__col p + p { margin-top: 10px; }
.lista-fina li { position: relative; padding: 11px 0 11px 26px; border-bottom: 1px solid var(--linha); }
.lista-fina li::before { content: ""; position: absolute; left: 0; top: 22px; width: 14px; height: 1.5px; background: var(--celeste-esc); }
[data-tema="noite"] .lista-fina li { border-color: rgba(246, 243, 238, .12); }
.lista-fina--grande li { font-size: 18px; padding-block: 16px; }
.lista-fina--grande li::before { top: 29px; }
.urgencia { margin-top: 44px; padding: 20px 24px; border-left: 3px solid var(--coral); background: rgba(255, 255, 255, .6); border-radius: 0 14px 14px 0; max-width: 820px; }
.duv { padding: clamp(80px, 10vw, 140px) 0; }
.duv__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 100px); align-items: start; }
.duv__cab { position: sticky; top: calc(var(--topo-h) + 24px); display: grid; gap: 18px; justify-items: start; }
.duv__cab .tit { margin-top: 0; }
.duv__tema { font: 600 12.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--celeste-esc); margin: 40px 0 10px; }
.duv__tema:first-child { margin-top: 0; }
.acord { border-top: 1px solid var(--linha); }
.acordeao .acord:last-child { border-bottom: 1px solid var(--linha); }
.acord button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; text-align: left; padding: 22px 0; border: 0; background: none; font-size: 18px; font-weight: 500; line-height: 1.35; min-height: 56px; }
.acord button i { position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--linha); transition: background-color .3s, box-shadow .3s; }
.acord button i::before, .acord button i::after { content: ""; position: absolute; left: 11px; right: 11px; top: 16.25px; height: 1.5px; background: currentColor; transition: transform .45s var(--ease); }
.acord button i::after { transform: rotate(90deg); }
.acord button[aria-expanded="true"] i { background: var(--tinta); color: var(--marfim); box-shadow: none; }
.acord button[aria-expanded="true"] i::after { transform: rotate(0); }
.acord button:hover i { box-shadow: inset 0 0 0 1px var(--tinta); }
.acord__p { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .55s var(--ease); }
.acord__p > div { overflow: hidden; }
.acord__p p { padding: 0 60px 24px 0; color: var(--suave); }
.acord.aberto .acord__p { grid-template-rows: 1fr; }

/* ------------------------------------------------------------ chamada final */
.final { position: relative; padding: clamp(110px, 14vw, 200px) 0 clamp(150px, 16vw, 230px); text-align: center; overflow: hidden; }
.final__in { display: grid; justify-items: center; }
.final__tit { font: 350 clamp(38px, 5vw, 84px)/1.04 var(--serif); letter-spacing: -.03em; max-width: 16ch; margin: 22px 0 40px; text-wrap: balance; }
.final__acoes { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }
.final__linha { position: absolute; left: 0; right: 0; bottom: 40px; width: 100%; height: 120px; }
.final__linha path { fill: none; stroke: rgba(156, 199, 221, .5); stroke-width: 1.5; stroke-dasharray: 1; stroke-dashoffset: 1; vector-effect: non-scaling-stroke; transition: stroke-dashoffset 2.4s var(--ease); }
.final.vis .final__linha path { stroke-dashoffset: 0; }

/* ------------------------------------------------------------ rodapé */
.rodape { position: relative; background: #0A1418; padding: 110px 0 32px; font-size: 15px; color: rgba(246, 243, 238, .74); }
.rodape__aba { position: absolute; left: 50%; top: 0; transform: translate(-50%, -50%); display: inline-flex; align-items: center; gap: 12px; min-height: 64px; padding: 0 34px; border-radius: 999px; background: var(--coral); color: #fff; font: 400 26px/1 var(--serif); text-decoration: none; box-shadow: 0 20px 40px -18px rgba(200, 75, 50, .9); transition: transform .6s var(--mola), background-color .3s; }
.rodape__aba:hover { transform: translate(-50%, -58%); background: var(--coral-h); }
.rodape__aba .seta { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rodape__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.1fr 1.2fr; gap: 32px; padding-bottom: 40px; border-bottom: 1px solid rgba(246, 243, 238, .1); }
.rodape__marca p { margin-top: 18px; max-width: 34ch; }
.marca--clara { color: var(--marfim); }
.rodape__col { display: grid; gap: 10px; align-content: start; }
.rodape__col a { text-decoration: none; padding: 3px 0; width: fit-content; transition: color .3s; }
.rodape__col a:hover { color: var(--celeste); }
.rodape__rot { font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--celeste); margin-bottom: 6px; }
.rodape__base { display: grid; gap: 8px; padding-top: 24px; font-size: 13.5px; color: rgba(246, 243, 238, .6); }
.rodape__urg strong { color: var(--marfim); font-weight: 600; }
.rodape__adflix { color: rgba(246, 243, 238, .82); }

/* ------------------------------------------------------------ pílula flutuante */
.pilula { position: fixed; left: 50%; bottom: max(16px, env(safe-area-inset-bottom)); z-index: 55; display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 24px 0 18px; border-radius: 999px; background: var(--coral); color: #fff; font-weight: 600; font-size: 15.5px; text-decoration: none; box-shadow: 0 18px 40px -16px rgba(200, 75, 50, .85), 0 0 0 1px rgba(255, 255, 255, .12) inset; transform: translate(-50%, 160%); transition: transform .65s var(--mola), background-color .3s; }
.pilula.on { transform: translate(-50%, 0); }
.pilula:hover { background: var(--coral-h); }
.pilula__ponto { position: relative; width: 9px; height: 9px; border-radius: 50%; background: #fff; }
.pilula__ponto::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .8); animation: ponto 2.2s var(--ease) infinite; }
@keyframes ponto { 0% { transform: scale(.5); opacity: 1; } 100% { transform: scale(1.6); opacity: 0; } }

/* ------------------------------------------------------------ painel de agendamento (demonstração) */
.agenda, .gaveta { position: fixed; inset: 0; z-index: 90; display: flex; justify-content: flex-end; }
.gaveta { z-index: 85; }
.agenda__fundo, .gaveta__fundo { position: absolute; inset: 0; background: rgba(8, 14, 17, .5); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); opacity: 0; transition: opacity .5s var(--ease); }
.agenda__painel, .gaveta__painel { position: relative; width: min(580px, 100%); height: 100%; background: var(--marfim); color: var(--tinta); display: flex; flex-direction: column; transform: translateX(100%); transition: transform .7s var(--ease); outline: none; overflow: hidden; }
.agenda.aberto .agenda__fundo, .gaveta.aberto .gaveta__fundo { opacity: 1; }
.agenda.aberto .agenda__painel, .gaveta.aberto .gaveta__painel { transform: none; }
.agenda__cab { padding: 24px 28px 18px; border-bottom: 1px solid var(--linha); position: relative; }
.agenda__demo { color: var(--coral); }
.agenda__fechar, .gaveta__fechar { position: absolute; right: 18px; top: 14px; width: 46px; height: 46px; border-radius: 50%; border: 0; background: transparent; display: grid; place-items: center; transition: background-color .3s, transform .5s var(--mola); }
.agenda__fechar:hover, .gaveta__fechar:hover { background: var(--nevoa); transform: rotate(90deg); }
.agenda__fechar svg, .gaveta__fechar svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.agenda__prog { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 20px; font-size: 12px; color: var(--suave); }
.agenda__prog li { position: relative; padding-top: 12px; }
.agenda__prog li::before, .agenda__prog li::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; border-radius: 3px; background: var(--linha); }
.agenda__prog li::after { background: var(--tinta); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease); }
.agenda__prog li.on, .agenda__prog li.feito { color: var(--tinta); }
.agenda__prog li.on::after, .agenda__prog li.feito::after { transform: scaleX(1); }
.agenda__form { flex: 1; display: flex; flex-direction: column; min-height: 0; }
.passo { border: 0; margin: 0; padding: 26px 28px; min-width: 0; flex: 1; overflow-y: auto; display: none; }
.passo.on { display: block; animation: passo-entra .55s var(--ease); }
.passo.volta { animation-name: passo-volta; }
@keyframes passo-entra { from { opacity: 0; transform: translateX(28px); } }
@keyframes passo-volta { from { opacity: 0; transform: translateX(-28px); } }
.passo legend, .resumo__tit { font: 400 clamp(30px, 4vw, 40px)/1.05 var(--serif); padding: 0; margin-bottom: 18px; }
.passo__dica { color: var(--suave); margin: -6px 0 14px; font-size: 15px; }
.grupo-rot { font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--suave); margin: 22px 0 10px; }
.opcoes { display: grid; gap: 10px; }
.opcoes--linha { display: flex; flex-wrap: wrap; gap: 8px; }
.opcoes--lista { max-height: none; }
.opcao { position: relative; display: block; cursor: pointer; }
.opcao input { position: absolute; opacity: 0; pointer-events: none; }
.opcao > span { display: flex; flex-direction: column; gap: 2px; padding: 16px 52px 16px 18px; border-radius: 16px; background: #fff; box-shadow: inset 0 0 0 1px var(--linha); transition: box-shadow .3s, background-color .3s, transform .45s var(--mola); position: relative; min-height: 56px; justify-content: center; }
.opcao > span::after { content: ""; position: absolute; right: 18px; top: 50%; width: 20px; height: 20px; margin-top: -10px; border-radius: 50%; box-shadow: inset 0 0 0 1.5px #A9B2B6; transition: box-shadow .3s, background-color .3s; }
.opcao b { font-weight: 600; font-size: 17px; }
.opcao small { font-size: 14px; color: var(--suave); }
.opcao:hover > span { box-shadow: inset 0 0 0 1.5px var(--tinta); }
.opcao input:checked + span { box-shadow: inset 0 0 0 2px var(--tinta); background: #fff; }
.opcao input:checked + span::after { background: var(--tinta); box-shadow: inset 0 0 0 5px #fff, 0 0 0 1.5px var(--tinta); }
.opcao input:focus-visible + span { outline: 2px solid var(--celeste-esc); outline-offset: 2px; }
.opcao input:checked + span { animation: escolhe .45s var(--mola); }
@keyframes escolhe { 40% { transform: scale(.98); } }
.opcao--chip > span { padding: 0 18px; min-height: 46px; border-radius: 999px; flex-direction: row; align-items: center; font-weight: 500; }
.opcao--chip > span::after { display: none; }
.opcao--chip input:checked + span { background: var(--tinta); color: var(--marfim); box-shadow: none; }
.opcao--item > span { padding-block: 12px; min-height: 52px; }
.filtro input { width: 100%; height: 50px; padding: 0 18px; border-radius: 14px; border: 1px solid var(--linha); background: #fff; font-size: 16px; margin-bottom: 12px; outline: none; }
.filtro input:focus { border-color: var(--celeste-esc); box-shadow: 0 0 0 4px rgba(44, 102, 131, .14); }
.erro { margin-top: 14px; color: #A3321C; font-weight: 500; font-size: 15px; }
.agenda__nav { display: flex; justify-content: space-between; gap: 10px; padding: 16px 28px; border-top: 1px solid var(--linha); background: var(--marfim); }
.agenda__nav [data-avancar] { margin-left: auto; }
.agenda__aviso { padding: 0 28px 18px; font-size: 13px; color: var(--suave); background: var(--marfim); }
.passo--resumo { padding-top: 30px; }
.passo--resumo:focus { outline: none; }
.cadeado { width: 64px; height: 64px; border-radius: 50%; background: var(--noite); color: var(--celeste); display: grid; place-items: center; margin-bottom: 18px; }
.cadeado svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.cadeado__arco { transform: translateY(-5px) rotate(-22deg); transform-origin: 32px 22px; transition: transform .7s var(--mola) .35s; }
.passo--resumo.on .cadeado__arco { transform: none; }
.passo--resumo.on .cadeado { animation: fecha .9s var(--ease) .3s; }
@keyframes fecha { 50% { box-shadow: 0 0 0 10px rgba(156, 199, 221, .25); } }
.resumo__dl { display: grid; margin: 4px 0 20px; }
.resumo__dl div { display: grid; grid-template-columns: 130px 1fr; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--linha); }
.resumo__dl dt { color: var(--suave); font-size: 14px; }
.resumo__dl dd { margin: 0; font-weight: 500; }
.resumo__demo { padding: 16px 18px; border-radius: 14px; background: var(--nevoa); border-left: 3px solid var(--celeste-esc); display: grid; gap: 8px; font-size: 15px; }
.resumo__acoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px; }

/* ------------------------------------------------------------ capas das páginas internas */
.capa { padding: calc(var(--topo-h) + clamp(56px, 9vw, 130px)) 0 clamp(48px, 6vw, 80px); position: relative; overflow: hidden; }
.capa__tit { font: 350 clamp(40px, 5.6vw, 88px)/1.04 var(--serif); letter-spacing: -.03em; margin: 20px 0 22px; max-width: 16ch; text-wrap: balance; }
.capa__sub { max-width: 60ch; font-size: clamp(17px, 1.3vw, 19px); color: var(--suave); }
[data-tema="noite"] .capa__sub { color: rgba(246, 243, 238, .8); }
.capa .busca { margin-top: 34px; }
.capa--foto { min-height: max(86svh, 600px); display: flex; align-items: flex-end; }
.capa__fundo { position: absolute; inset: -8% 0; transform: translate3d(0, var(--py, 0px), 0); }
.capa__fundo img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.8); }
.capa--foto::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 26, 31, .55) 0%, rgba(14, 26, 31, .25) 35%, rgba(14, 26, 31, .9) 100%); }
.capa--foto .capa__in { position: relative; z-index: 2; }
.capa__leg { margin-top: 26px; font-size: 12px; color: rgba(246, 243, 238, .6); }

/* chips com indicador deslizante */
.chips { position: relative; display: inline-flex; flex-wrap: wrap; gap: 4px; margin-top: 34px; padding: 5px; border-radius: 28px; box-shadow: inset 0 0 0 1px var(--linha); background: rgba(255, 255, 255, .5); }
.chip { position: relative; z-index: 1; min-height: 44px; padding: 0 18px; border: 0; border-radius: 999px; background: transparent; font-weight: 500; font-size: 15px; transition: color .35s; }
.chip[aria-pressed="true"] { color: var(--marfim); }
.chips__ind { position: absolute; z-index: 0; left: 0; top: 0; height: 44px; border-radius: 999px; background: var(--tinta); transform: translate(var(--x, 5px), var(--y, 5px)); width: var(--w, 0); transition: transform .55s var(--ease), width .55s var(--ease); }

/* página de especialidades */
.esp-pag { padding: 10px 0 clamp(80px, 10vw, 140px); }
.esp-item { border-top: 1px solid var(--linha); scroll-margin-top: calc(var(--topo-h) + 10px); }
.esp-item:last-child { border-bottom: 1px solid var(--linha); }
.esp-item__h button { width: 100%; display: grid; grid-template-columns: 64px minmax(0, 1fr) minmax(0, 1fr) 44px; gap: 24px; align-items: center; padding: 28px 0; border: 0; background: none; text-align: left; }
.esp-item__n { font: 500 13px/1 var(--sans); letter-spacing: .1em; color: var(--suave); }
.esp-item__nome { font: 400 clamp(32px, 3.6vw, 54px)/1.04 var(--serif); transition: transform .55s var(--ease); }
.esp-item__h button:hover .esp-item__nome { transform: translateX(10px); }
.esp-item__res { color: var(--suave); font-size: 15.5px; }
.mais { position: relative; width: 44px; height: 44px; border-radius: 50%; box-shadow: inset 0 0 0 1px var(--linha); justify-self: end; transition: background-color .35s, box-shadow .35s, transform .6s var(--mola); }
.mais::before, .mais::after { content: ""; position: absolute; left: 14px; right: 14px; top: 21.25px; height: 1.5px; background: currentColor; transition: transform .45s var(--ease); }
.mais::after { transform: rotate(90deg); }
.esp-item__h button:hover .mais { box-shadow: inset 0 0 0 1px var(--tinta); }
.esp-item.aberto .mais { background: var(--tinta); color: var(--marfim); box-shadow: none; transform: rotate(180deg); }
.esp-item.aberto .mais::after { transform: rotate(0); }
.esp-item__p { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .7s var(--ease); }
.esp-item__p > div { overflow: hidden; }
.esp-item.aberto .esp-item__p { grid-template-rows: 1fr; }
.esp-item__det { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1fr) minmax(0, 1fr); gap: clamp(20px, 3vw, 48px); padding: 4px 0 40px 88px; }
.esp-item__det > * { opacity: 0; transform: translateY(18px); transition: opacity .5s var(--ease), transform .7s var(--ease); }
.esp-item.aberto .esp-item__det > * { opacity: 1; transform: none; }
.esp-item.aberto .esp-item__det > :nth-child(2) { transition-delay: .08s; }
.esp-item.aberto .esp-item__det > :nth-child(3) { transition-delay: .16s; }
.esp-item__foto { position: relative; border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 5; clip-path: inset(0 0 100% 0 round 18px); transition: clip-path 1s var(--ease) .1s; }
.esp-item.aberto .esp-item__foto { clip-path: inset(0 0 0 0 round 18px); }
.esp-item__foto img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.86); }
/* médico da especialidade (06/10/2026): retrato em arco + legenda com nome e registro */
.esp-item__medico { border-radius: 999px 999px 18px 18px; clip-path: inset(0 0 100% 0 round 999px 999px 18px 18px); background: var(--nevoa); }
.esp-item.aberto .esp-item__medico { clip-path: inset(0 0 0 0 round 999px 999px 18px 18px); }
.esp-item__medico img { transition: transform 1.4s var(--ease); }
.esp-item__medico:hover img { transform: scale(1.03); }
.esp-item__medico::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(14, 26, 31, .72) 0%, rgba(14, 26, 31, 0) 42%); pointer-events: none; }
.esp-item__foto figcaption.esp-item__assina { left: 10px; right: 10px; bottom: 10px; padding: 0; border-radius: 14px; background: rgba(14, 26, 31, .5); box-shadow: inset 0 0 0 1px rgba(246, 243, 238, .16); }
.esp-item__assina a { display: block; padding: 10px 14px; color: var(--marfim); text-decoration: none; }
.esp-item__assina b { display: block; font: 400 17px/1.15 var(--serif); letter-spacing: -.01em; margin-bottom: 3px; }
.esp-item__assina small { display: block; font-size: 11.5px; line-height: 1.4; color: rgba(246, 243, 238, .74); letter-spacing: 0; }
/* traçados das especialidades (teste de 06/10/2026): o desenho varre da esquerda para a direita ao abrir */
.esp-item__tracado { background: var(--noite); }
.esp-item__tracado svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; overflow: visible; }
.esp-item__tracado .lin-g { clip-path: inset(0 100% 0 0); transition: clip-path 1.9s var(--ease-io) .5s; }
.esp-item.aberto .esp-item__tracado .lin-g { clip-path: inset(0 0 0 0); }
main .seguidor img[src$=".svg"] { filter: none !important; }
.esp-item__col h3 { font: 600 13px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--celeste-esc); margin: 0 0 6px; }
.esp-item__col h3:not(:first-child) { margin-top: 26px; }
.esp-item__col .btn { margin-top: 24px; }
.esp-item__nota { margin-top: 18px; font-weight: 500; }
.esp-item__aviso { margin-top: 18px; font-size: 13.5px; color: var(--suave); }
.tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.tag { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 999px; background: #fff; box-shadow: inset 0 0 0 1px var(--linha); text-decoration: none; font-size: 14.5px; transition: box-shadow .3s, transform .45s var(--mola); }
.tag:hover { box-shadow: inset 0 0 0 1.5px var(--tinta); transform: translateY(-2px); }
.esp-item.some { display: none; }
.vazio { padding: 40px 0; color: var(--suave); }
.nao-sabe { padding: clamp(80px, 10vw, 140px) 0; }
.nao-sabe__in { display: grid; grid-template-columns: 1fr 1fr; gap: 24px clamp(32px, 6vw, 100px); align-items: end; }
.nao-sabe p { color: rgba(246, 243, 238, .8); max-width: 48ch; font-size: 18px; }
.nao-sabe__acoes { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }

/* página de exames */
.ex-pag { padding: 0 0 clamp(80px, 10vw, 140px); }
.abas { position: relative; display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--linha); }
.abas::-webkit-scrollbar { display: none; }
.abas button { flex: none; min-height: 52px; padding: 0 18px; border: 0; background: none; font-weight: 500; font-size: 15.5px; color: var(--suave); transition: color .3s; scroll-margin-top: 120px; }
.abas button[aria-selected="true"] { color: var(--tinta); }
.abas__ind { position: absolute; left: 0; bottom: -1px; height: 2px; background: var(--coral); width: var(--w, 0); transform: translateX(var(--x, 0)); transition: transform .55s var(--ease), width .55s var(--ease); }
.ex-grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 30px; }
.ex-item { scroll-margin-top: 120px; }
.ex-item.some { display: none; }
.ex-item__a { height: 100%; display: flex; flex-direction: column; gap: 8px; padding: 24px; border-radius: 20px; background: rgba(255, 255, 255, .6); box-shadow: inset 0 0 0 1px var(--linha); text-decoration: none; transition: transform .6s var(--mola), box-shadow .35s, background-color .35s; }
.ex-item__a:hover, .ex-item__a:focus-visible { transform: translateY(-5px); background: #fff; box-shadow: inset 0 0 0 1.5px var(--tinta), 0 24px 40px -28px rgba(14, 26, 31, .5); }
.ex-item__tipo { font: 600 11.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--celeste-esc); }
.ex-item__nome { font: 400 28px/1.08 var(--serif); }
.ex-item__oque { color: var(--suave); font-size: 15px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ex-item__ir { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 10px; font-weight: 600; font-size: 14.5px; }
.ex-item__ir .seta { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .45s var(--ease); }
.ex-item__a:hover .seta { transform: translateX(5px); }
.ex-grade.filtrando .ex-item { animation: filtra .55s var(--ease) both; animation-delay: calc(var(--j, 0) * 40ms); }
@keyframes filtra { from { opacity: 0; transform: translateY(14px) scale(.98); } }
.gaveta__painel { overflow-y: auto; padding: 30px 32px 0; }
.gaveta__tit { font: 400 clamp(36px, 5vw, 52px)/1.02 var(--serif); margin: 16px 0 10px; padding-right: 40px; }
.gaveta__corpo h3 { font: 600 12.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--celeste-esc); margin: 26px 0 8px; }
.gaveta__corpo > * { opacity: 0; transform: translateY(14px); transition: opacity .5s var(--ease), transform .7s var(--ease); transition-delay: calc(.2s + var(--i, 0) * 35ms); }
.gaveta.aberto .gaveta__corpo > * { opacity: 1; transform: none; }
.gaveta__aviso { margin-top: 24px; padding: 14px 16px; border-radius: 12px; background: var(--nevoa); font-size: 14.5px; }
.gaveta__acoes { position: sticky; bottom: 0; margin: 26px -32px 0; padding: 16px 32px max(16px, env(safe-area-inset-bottom)); background: linear-gradient(180deg, rgba(246, 243, 238, 0), var(--marfim) 30%); }

/* atendimento */
.jornada { padding: 10px 0 clamp(70px, 9vw, 120px); position: relative; }
.jornada__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 48px); position: relative; z-index: 1; }
.jornada__n { display: block; font: italic 400 clamp(46px, 5vw, 74px)/1 var(--serif); color: var(--celeste-esc); margin-bottom: 18px; }
.jornada h2 { font: 600 19px/1.3 var(--sans); margin-bottom: 10px; }
.jornada__linha { position: absolute; left: var(--g); right: var(--g); top: 46px; width: calc(100% - 2 * var(--g)); height: 40px; max-width: var(--max); z-index: 0; display: none; }
.pratico { padding: clamp(70px, 9vw, 120px) 0; }
.pratico__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 48px); }
.pratico__tit { font: 400 34px/1.05 var(--serif); padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1.5px solid var(--tinta); }
.pratico__grid p + p { margin-top: 10px; }
.duv--pag .duv__cab .suave { max-width: 40ch; }

/* a clínica */
.conceito { padding: clamp(80px, 10vw, 150px) 0; }
.conceito__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 100px); align-items: start; }
.conceito__grid > div:first-child { position: sticky; top: calc(var(--topo-h) + 30px); }
.conceito .principios { margin-top: 0; }
.espacos { padding: clamp(80px, 10vw, 140px) 0; overflow: hidden; }
.espacos__cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 40px; }
.trilho-ctrl { display: flex; gap: 10px; }
.trilho-btn { width: 54px; height: 54px; border-radius: 50%; border: 0; display: grid; place-items: center; background: transparent; color: var(--marfim); box-shadow: inset 0 0 0 1px rgba(246, 243, 238, .3); transition: background-color .3s, color .3s, transform .5s var(--mola); }
.trilho-btn:hover { background: var(--marfim); color: var(--noite); transform: scale(1.05); }
.trilho-btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.trilho { display: flex; gap: clamp(14px, 2vw, 24px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-inline: max(var(--g), calc((100vw - var(--max)) / 2 + var(--g))); scroll-padding-inline: max(var(--g), calc((100vw - var(--max)) / 2 + var(--g))); outline: none; }
.trilho::-webkit-scrollbar { display: none; }
.trilho:focus-visible { box-shadow: inset 0 0 0 2px var(--celeste); }
.trilho__item { flex: none; width: min(44vw, 620px); scroll-snap-align: start; }
.trilho__img { border-radius: var(--raio); overflow: hidden; aspect-ratio: 4 / 3; }
.trilho__img img { width: 112%; max-width: none; height: 100%; object-fit: cover; filter: saturate(.85); transform: translate3d(var(--tx, -5%), 0, 0); }
.trilho__item figcaption { display: flex; gap: 12px; align-items: baseline; margin-top: 16px; font-size: 16px; }
.trilho__item figcaption span { font-size: 12.5px; color: var(--celeste); letter-spacing: .1em; }
.trilho__item figcaption em { font-style: normal; color: rgba(246, 243, 238, .55); font-size: 13.5px; }
.trilho-pontos { display: flex; gap: 0; margin-top: 22px; margin-left: -12px; }
.trilho-pontos button { width: 40px; height: 40px; border: 0; background: none; padding: 0; display: grid; place-items: center; }
.trilho-pontos button::before { content: ""; width: 8px; height: 8px; border-radius: 8px; background: rgba(246, 243, 238, .3); transition: width .45s var(--ease), background-color .3s; }
.trilho-pontos button.on::before { width: 26px; background: var(--celeste); }
.corpo-clinico { padding: clamp(80px, 10vw, 140px) 0; }
.cc__cab { max-width: 760px; }
.cc__cab .suave { margin-top: 18px; }
.cc__lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 44px 22px; margin-top: 40px; }
@media (min-width: 1180px) { .cc__lista { grid-template-columns: repeat(4, minmax(0, 1fr)); } .perfil__nome { font-size: 26px; } .perfil__bio { font-size: 14.5px; } }
.cc__item { display: flex; gap: 16px; align-items: center; padding: 18px; border-radius: 18px; box-shadow: inset 0 0 0 1px var(--linha); background: rgba(255, 255, 255, .5); font-size: 14.5px; }
.cc__foto { width: 60px; height: 60px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--nevoa); color: #9AA5AA; }
.cc__foto .mono { width: 28px; height: 28px; }
.cc__foto .mono__p { stroke: #C6CED1; }
.cc__nome { font-weight: 600; margin-bottom: 4px; }
.rt { margin-top: 40px; padding: 26px 28px; border-radius: 20px; background: var(--noite); color: var(--marfim); display: grid; gap: 6px; max-width: 720px; }
.rt__rot { font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--celeste); margin-bottom: 4px; }
.rt__nome { font: 400 30px/1.1 var(--serif); }
.compromisso { padding: clamp(80px, 10vw, 140px) 0; }
.compromisso__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 6vw, 100px); align-items: start; }

/* contato */
.contato { padding: 0 0 clamp(80px, 10vw, 140px); }
.contato__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.contato__dados { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; margin: 0; }
.contato__dados div { padding: 20px 0; border-top: 1px solid var(--linha); }
.contato__dados dt { font: 600 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--celeste-esc); margin-bottom: 10px; }
.contato__dados dd { margin: 0; font-size: 16.5px; }
.mapa { position: relative; aspect-ratio: 4 / 3; border-radius: var(--raio); overflow: hidden; background: var(--nevoa); box-shadow: inset 0 0 0 1px var(--linha); }
.mapa__ruas { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; stroke: #fff; stroke-width: 14; stroke-linecap: round; }
.mapa__ruas .fino { stroke-width: 5; stroke: rgba(255, 255, 255, .8); }
.mapa__pino { position: absolute; left: 47%; top: 46%; width: 18px; height: 18px; border-radius: 50%; background: var(--coral); box-shadow: 0 0 0 5px rgba(200, 75, 50, .2); }
.mapa__pino::before, .mapa__pino::after { content: ""; position: absolute; inset: -12px; border-radius: 50%; border: 1.5px solid rgba(200, 75, 50, .5); animation: ponto 2.6s var(--ease) infinite; }
.mapa__pino::after { animation-delay: 1.3s; }
.mapa__txt { position: absolute; left: 16px; bottom: 16px; right: 16px; padding: 14px 16px; border-radius: 14px; background: rgba(246, 243, 238, .92); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-size: 14.5px; display: grid; gap: 4px; }
.contato__agenda { display: flex; flex-wrap: wrap; gap: 18px 28px; align-items: center; justify-content: space-between; margin-top: 56px; padding: 28px 32px; border-radius: 24px; background: var(--noite); color: var(--marfim); }
.contato__agenda p { font: 400 clamp(24px, 2.4vw, 32px)/1.15 var(--serif); max-width: 30ch; }
.aviso-demo { margin-top: 28px; font-size: 14.5px; color: var(--suave); max-width: 70ch; }

/* textos simples */
.texto { padding: 0 0 clamp(80px, 10vw, 140px); }
.texto__col { max-width: 760px; }
.texto h2 { font: 400 34px/1.1 var(--serif); margin: 34px 0 12px; }
.texto p + p { margin-top: 12px; }

/* ------------------------------------------------------------ transição entre páginas (navegadores com suporte) */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: vt-sai .32s var(--ease-io) both; }
::view-transition-new(root) { animation: vt-entra .6s var(--ease) both; }
@keyframes vt-sai { to { opacity: 0; transform: translateY(-18px); } }
@keyframes vt-entra { from { opacity: 0; transform: translateY(28px); } }

/* ------------------------------------------------------------ responsivo */
@media (min-width: 1680px) { :root { --max: 1480px; } .hero__titulo { font-size: 96px; } }
@media (max-width: 1180px) {
  .marca__desc { display: none; }
  .cartoes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cartao { min-height: 360px; }
  .rodape__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 1020px) {
  .nav { display: none; }
  .menu-btn { display: inline-flex; }
  .topo__acoes { margin-left: auto; }
  .esp-item__det { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); padding-left: 0; }
  .esp-item__foto { grid-row: span 2; }
  .ex-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  :root { --topo-h: 66px; }
  .hero { min-height: auto; }
  .hero__in { grid-template-columns: 1fr; padding-bottom: 96px; gap: 34px; }
  .hero__midia { order: -1; }
  .hero__midia { width: 100%; max-width: 640px; margin-inline: auto; }
  .hero__palco { aspect-ratio: 4 / 3; max-width: none; max-height: none; min-height: 0; }
  .hero__palco::before, .hero__retrato { width: 62%; }
  .hero__quadro { width: 44%; bottom: 27%; }
  .hero--equipe .hero__palco { aspect-ratio: 4 / 5; max-width: 420px; margin-inline: auto; }
  .hero--equipe .hero__palco::before, .hero--equipe .hero__retrato { width: 100%; }
  .hero__titulo { margin-top: 16px; }
  /* etapas: linha do tempo vertical, sem fixar a tela */
  .etapas__pista { height: auto; }
  .etapas__palco { position: static; height: auto; display: block; padding: clamp(80px, 12vw, 120px) 0; }
  .etapas__arco { display: none; }
  .etapas__lista { display: block; margin-top: 40px; padding-left: calc(var(--g) + 56px); }
  .etapas__lista::before, .etapas__lista::after { content: ""; position: absolute; left: calc(var(--g) + 20px); top: 8px; bottom: 40px; width: 1.5px; background: rgba(246, 243, 238, .14); }
  .etapas__lista::after { background: #F08A6F; transform-origin: top; transform: scaleY(var(--p, 0)); box-shadow: 0 0 8px rgba(240, 138, 111, .6); }
  .etapa { display: block; position: relative; opacity: 1; transform: none; pointer-events: auto; padding-bottom: 48px; }
  .etapa__n { display: grid; place-items: center; position: absolute; left: -56px; top: -4px; width: 42px; height: 42px; border-radius: 50%; background: var(--noite); box-shadow: inset 0 0 0 1.5px rgba(246, 243, 238, .25); font: 400 18px/1 var(--serif); transition: box-shadow .5s, color .5s; }
  .etapa.passou .etapa__n { box-shadow: inset 0 0 0 1.5px #F08A6F; color: #F08A6F; }
  .etapa__txt p { font-size: 16.5px; }
  .etapa__foto { margin-top: 20px; max-height: none; aspect-ratio: 16 / 10; }
  .js .etapa { opacity: 0; transform: translateY(30px); transition: opacity .8s var(--ease), transform 1s var(--ease); }
  .js .etapa.vis { opacity: 1; transform: none; }
  .esp__cab { grid-template-columns: 1fr; }
  .lista-esp__item { grid-template-columns: 40px minmax(0, 1fr) 28px; gap: 6px 14px; padding: 22px 4px; }
  .lista-esp__res { grid-column: 2; grid-row: 2; font-size: 14.5px; }
  .lista-esp__item .seta { grid-column: 3; grid-row: 1 / span 2; }
  .ex__cab { grid-template-columns: 1fr; }
  .clinica::before { height: 120px; }
  .clinica__grid { grid-template-columns: 1fr; }
  .clinica__foto { aspect-ratio: 4 / 3.4; }
  .clinica__txt { padding-top: 0; }
  .antes__grid, .pratico__grid, .jornada__lista { grid-template-columns: 1fr; gap: 36px; }
  .duv__grid, .conceito__grid, .compromisso__grid, .nao-sabe__in, .contato__grid { grid-template-columns: 1fr; }
  .duv__cab, .conceito__grid > div:first-child { position: static; }
  .menu__in { grid-template-columns: 1fr; }
  .fundadora__grid { grid-template-columns: 1fr; }
  .fundadora__fotos { max-width: 460px; }
  .manifesto__palco { grid-template-columns: 1fr; align-content: center; gap: 22px; padding-top: var(--topo-h); }
  .manifesto__col { gap: 16px; }
  .manifesto__fotos { width: 100%; aspect-ratio: auto; height: min(30svh, 300px); border-radius: 180px 180px 20px 20px; }
  .manifesto__marcos { width: 100%; font-size: 12px; }
  .manifesto__arco { gap: 14px; }
  .menu__nav { grid-row: auto; }
  .menu__foto { aspect-ratio: 16 / 9; }
  .cc__lista { grid-template-columns: 1fr; gap: 44px; }
  .perfil__foto { max-width: 420px; }
  .trilho__item { width: 80vw; }
  .esp-item__h button { grid-template-columns: 40px minmax(0, 1fr) 44px; gap: 6px 14px; padding: 22px 0; }
  .esp-item__res { grid-column: 2; grid-row: 2; font-size: 14.5px; }
  .mais { grid-column: 3; grid-row: 1 / span 2; }
}
@media (max-width: 640px) {
  body { font-size: 16px; }
  .btn { min-height: 50px; padding: 0 22px; }
  .topo .btn--p { min-height: 44px; padding: 0 16px; }
  .marca__nome { font-size: 27px; }
  .mono { width: 30px; height: 30px; }
  .hero__titulo { font-size: clamp(38px, 10.6vw, 54px); }
  .hero__acoes .btn { flex: 1 1 100%; }
  .hero__passos li { font-size: 12px; }
  .hero__palco { aspect-ratio: 5 / 4; }
  .hero__palco::before { top: -8px; right: -8px; bottom: 8px; }
  .hero__palco::before, .hero__retrato { width: 60%; border-radius: 999px 999px 20px 20px; }
  .hero--equipe .hero__palco { aspect-ratio: 5 / 4; max-width: none; }
  .hero--equipe .hero__palco::before, .hero--equipe .hero__retrato { width: 100%; }
  .hero__quadro { width: 44%; bottom: 31%; border-radius: 18px; clip-path: inset(100% 0 0 0 round 18px); }
  .pronto .hero__quadro { clip-path: inset(0 0 0 0 round 18px); }
  .hero__assina { right: 8px; bottom: 8px; left: 8px; padding: 8px 10px 8px 12px; gap: 8px; border-radius: 14px; }
  .hero__assina b { font-size: 15px; margin-bottom: 2px; }
  .hero__assina small { font-size: 10.5px; }
  .hero__assina .seta { width: 15px; height: 15px; }
  .hero__in { padding-top: 14px; gap: 22px; }
  .hero__titulo { margin: 12px 0 16px; }
  .pulso { bottom: 18px; height: 56px; }
  .faixa { padding: 22px 0; }
  .manifesto__pista { height: 210vh; }
  .manifesto__txt { font-size: clamp(25px, 6.8vw, 34px); }
  .cartoes { grid-template-columns: 1fr; }
  .cartao { min-height: 0; }
  .ex-grade { grid-template-columns: 1fr; }
  .esp-item__det { grid-template-columns: 1fr; }
  .esp-item__foto { grid-row: auto; aspect-ratio: 16 / 10; }
  .esp-item__tracado { aspect-ratio: 1 / 1; }
  .esp-item__medico { aspect-ratio: 4 / 5; max-width: 420px; }
  .contato__dados { grid-template-columns: 1fr; }
  .rodape__grid { grid-template-columns: 1fr; }
  .rodape__aba { font-size: 22px; min-height: 58px; padding: 0 28px; }
  .chips { border-radius: 22px; }
  .chip { padding: 0 14px; font-size: 14.5px; }
  .agenda, .gaveta { align-items: flex-end; }
  .agenda__painel, .gaveta__painel { height: min(94svh, 100%); border-radius: 24px 24px 0 0; transform: translateY(100%); }
  .agenda__cab { padding: 20px 20px 16px; }
  .passo { padding: 22px 20px; }
  .agenda__nav { padding: 14px 20px max(14px, env(safe-area-inset-bottom)); }
  .agenda__aviso { padding: 0 20px 14px; }
  .gaveta__painel { padding: 26px 22px 0; }
  .gaveta__acoes { margin-inline: -22px; padding-inline: 22px; }
  .resumo__dl div { grid-template-columns: 1fr; gap: 2px; }
  .acord button { font-size: 17px; }
  .acord__p p { padding-right: 0; }
  .contato__agenda { padding: 24px; }
  .contato__agenda .btn { width: 100%; }
}
@media (max-width: 420px) {
  .hero__assina small:first-of-type { display: none; }
  .hero__assina small { font-size: 10px; }
  .hero__assina b { font-size: 14px; }
  .hero__palco::before, .hero__retrato { width: 62%; }
}
@media (max-width: 380px) {
  .topo__acoes { gap: 4px; }
  .menu-btn__txt { display: none; }
  .menu-btn { padding: 0 10px; }
  .marca__nome { font-size: 25px; }
}

/* ------------------------------------------------------------ movimento reduzido */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
  .com-abertura .abertura { display: none; }
  .js [data-entra], .js [data-cascata] > *, .js .etapa { opacity: 1 !important; transform: none !important; filter: none !important; }
  .w > span, .hl > span { transform: none !important; }
  .js [data-revela] { clip-path: none !important; }
  .hero__quadro { clip-path: none !important; }
  .hero__retrato img { clip-path: none !important; transform: none !important; }
  .esp-item__tracado .lin-g { clip-path: none !important; }
  .hero__palco::before, .hero__assina { opacity: 1 !important; transform: none !important; }
  .hero__img { transform: none !important; }
  .pulso__base { stroke-dashoffset: 0 !important; }
  .pulso__brilho { display: none; }
  .faixa__trilho { animation: none !important; flex-wrap: wrap; width: auto; padding-inline: var(--g); }
  .faixa__grupo[aria-hidden="true"] { display: none; }
  .manifesto__pista { height: auto; }
  .manifesto__palco { position: static; height: auto; padding: 110px var(--g); }
  .manifesto__txt .pl { opacity: 1; }
  .manifesto__palco { grid-template-columns: 1fr 1fr; }
  .mf { transform: none !important; }
  .etapas__pista { height: auto; }
  .etapas__palco { position: static; height: auto; display: block; padding: 100px 0; }
  .etapas__arco { display: none; }
  .etapas__lista { display: grid; gap: 56px; margin-top: 40px; }
  .etapa { grid-area: auto; opacity: 1; transform: none; pointer-events: auto; }
  .etapa__n { display: block; font: 400 40px/1 var(--serif); color: #F08A6F; margin-bottom: 8px; }
  .seguidor { display: none; }
  .clinica__img, .capa__fundo, .fundadora__img { transform: none !important; inset: 0; }
  .fundadora__assina path { stroke-dashoffset: 0 !important; }
  .trilho__img img { transform: none !important; width: 100%; }
  .final__linha path, .traco path, .traco circle { stroke-dashoffset: 0 !important; }
  .btn[data-respira]::after, .pilula__ponto::after, .mapa__pino::before, .mapa__pino::after { display: none; }
  .cartao:hover, .ex-item__a:hover, .rodape__aba:hover { transform: none; }
  .rodape__aba:hover { transform: translate(-50%, -50%); }
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 900px) {
  .etapa__n { position: static; display: block; width: auto; height: auto; box-shadow: none; background: none; }
  .etapas__lista { padding-left: var(--g); }
  .etapas__lista::before, .etapas__lista::after { display: none; }
}

/* Celular (07/10/2026): alvos de toque de pelo menos 44 px e registro dos médicos legível */
.trilho-btn { flex: none; }
@media (max-width: 760px) {
  .rodape__col { gap: 0; }
  .rodape__col a { display: flex; align-items: center; min-height: 44px; padding: 0; }
  .contato__dados dd a, .mapa__txt a { display: inline-flex; align-items: center; min-height: 44px; }
  .hero__assina small, .mini-med small { font-size: 11px; }
}
@media (max-width: 380px) {
  .topo__in { gap: 10px; }
  .topo .btn--p { padding: 0 14px; }
}
/* nomes longos (Otorrinolaringologia) não empurram a página para o lado no celular */
@media (max-width: 420px) {
  .esp-item__nome { font-size: clamp(25px, 7.6vw, 32px); hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
}
