/* =========================================================================
   Duo Image — direção editorial
   Cores sólidas, linhas finas, serifa grande, movimento mínimo.
   ========================================================================= */
:root {
  --vinho: #5a0f2d;
  --vinho-fundo: #3a0a1d;
  --pessego: #fea67d;
  --papel: #f7f3ee;
  --areia: #efe9e2;
  --tinta: #2a1d22;
  --suave: #6f6266;
  --apagado: #9a8e91;
  --linha: rgba(42, 29, 34, .14);
  --linha-clara: rgba(246, 236, 228, .18);
  --creme: #f6ece4;
  --larg: 1240px;
  --gut: clamp(20px, 4vw, 48px);
  --sec: clamp(96px, 12vw, 168px);
  --ease: cubic-bezier(.2, .7, .1, 1);
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --serif: "Fraunces", Georgia, serif;
  --livro: "EB Garamond", Georgia, serif;
  --peso-titulo: 300;
  --peso-texto: 400;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; overflow-x: clip; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body {
  margin: 0; background: var(--papel); color: var(--tinta); overflow-x: clip;
  font: var(--peso-texto) 16px/1.75 var(--sans); font-feature-settings: "cv11", "ss01"; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; height: auto; }
a { color: inherit; }
p { margin: 0 0 1.1em; }
figure { margin: 0; }
h1, h2, h3 { margin: 0; font-family: var(--serif); font-weight: var(--peso-titulo); font-optical-sizing: auto; font-variation-settings: "SOFT" 0, "WONK" 0; letter-spacing: -.015em; color: var(--vinho); line-height: 1.02; }
h2 { font-size: clamp(2.3rem, 4.6vw, 3.9rem); line-height: 1.06; }
h3 { font-size: clamp(1.45rem, 2vw, 1.75rem); line-height: 1.15; }
em { font-style: italic; }
::selection { background: var(--vinho); color: var(--creme); }
:focus-visible { outline: 1px solid var(--vinho); outline-offset: 4px; }

.pular { position: absolute; left: 12px; top: -60px; background: var(--vinho); color: var(--creme); padding: 10px 16px; z-index: 200; }
.pular:focus { top: 12px; }

/* Rótulos e links */
.rotulo { font: 500 .7rem/1.4 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--suave); margin-bottom: 28px; display: flex; align-items: center; gap: 14px; }
.rotulo .num { font-family: var(--livro); font-style: italic; font-size: 1.2rem; letter-spacing: 0; color: var(--vinho); text-transform: none; }
.rotulo .num::after { content: ""; display: inline-block; width: 36px; height: 1px; background: var(--linha); vertical-align: middle; margin-left: 14px; }
.rotulo--mini { margin-bottom: 16px; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .6em;
  font: 500 .74rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; text-decoration: none;
  padding: 1.35em 2.2em; background: var(--vinho); color: var(--creme); border: 1px solid var(--vinho);
  transition: background .4s var(--ease), color .4s var(--ease);
}
.btn:hover { background: transparent; color: var(--vinho); }
.btn--claro { background: var(--creme); color: var(--vinho-fundo); border-color: var(--creme); }
.btn--claro:hover { background: transparent; color: var(--creme); }

.link-fino {
  font: 500 .74rem/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; text-decoration: none; color: var(--vinho);
  background: none; border: 0; padding: .6em 0; cursor: pointer; position: relative;
}
.link-fino::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform-origin: right; transition: transform .5s var(--ease); }
.link-fino:hover::after { transform: scaleX(0); }
.link-fino--claro { color: var(--creme); }

/* Topo */
.topo { position: fixed; inset: 0 0 auto; z-index: 100; transition: background .5s, border-color .5s, transform .5s var(--ease); border-bottom: 1px solid transparent; }
.topo.rolou { background: var(--papel); border-color: var(--linha); }
.topo.escondido { transform: translateY(-100%); }
.topo__in { max-width: calc(var(--larg) + 2 * var(--gut)); margin: 0 auto; padding: 22px var(--gut); display: flex; align-items: center; gap: 40px; transition: padding .5s var(--ease); }
.topo.rolou .topo__in { padding-top: 14px; padding-bottom: 14px; }
.topo__marca img { height: 40px; width: auto; }
.topo__nav { display: flex; gap: 34px; margin: 0 auto; }
.topo__nav a { font-size: .74rem; font-weight: 500; letter-spacing: .16em; text-transform: uppercase; text-decoration: none; color: var(--tinta); position: relative; padding: 6px 0; }
.topo__nav a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: var(--vinho); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.topo__nav a:hover::after, .topo__nav a.ativo::after { transform: scaleX(1); }
.topo__so-movel { display: none; }
.topo__acoes { display: flex; align-items: center; gap: 28px; }
.topo__acoes .btn { padding: 1.1em 1.6em; }
.topo__menu { display: none; }

/* Hero */
.hero {
  max-width: calc(var(--larg) + 2 * var(--gut)); margin: 0 auto; padding: 150px var(--gut) 0;
  display: grid; grid-template-columns: 1.2fr .8fr; column-gap: clamp(40px, 6vw, 96px); align-items: end;
}
.hero__titulo { font-size: clamp(2.3rem, 4.5vw, 4.1rem); line-height: 1.04; letter-spacing: -.025em; margin-bottom: 40px; }
.hero__titulo .linha { display: block; overflow: hidden; padding-bottom: .06em; }
.hero__titulo .linha > span { display: inline-block; }
.hero__lead { font-size: 1.12rem; color: var(--suave); max-width: 30em; margin-bottom: 44px; }
.hero__acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 36px; margin-bottom: 8px; }
.hero__foto { aspect-ratio: 4 / 5; overflow: hidden; background: var(--areia); }
.hero__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.hero__fatos { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); margin: 72px 0 0; border-top: 1px solid var(--linha); }
.hero__fatos div { padding: 28px 0; }
.hero__fatos div + div { padding-left: 32px; border-left: 1px solid var(--linha); }
.hero__fatos dt { font-size: .72rem; letter-spacing: .24em; text-transform: uppercase; color: var(--apagado); margin-bottom: 8px; }
.hero__fatos dd { margin: 0; font-family: var(--serif); font-size: clamp(1.4rem, 2.2vw, 1.9rem); color: var(--vinho); line-height: 1.1;  font-weight: 300;}
.hero__fatos dd span { font-style: italic; }

/* Manifesto */
.manifesto { padding: var(--sec) var(--gut); text-align: center; }
.manifesto__simbolo { width: 54px; height: 54px; margin: 0 auto 48px; }
.manifesto p { max-width: 980px; margin: 0 auto; font-family: var(--livro); font-size: clamp(1.8rem, 3.5vw, 2.9rem); line-height: 1.3; color: var(--vinho); }
.manifesto .p { transition: opacity .4s; }
.manifesto .p.em { font-style: italic; }

/* Seções */
.secao { padding: var(--sec) var(--gut); }
.secao > * { max-width: var(--larg); margin-left: auto; margin-right: auto; }
.secao--areia { background: var(--areia); }
.secao--vinho { background: var(--vinho-fundo); color: var(--creme); }
.secao--vinho h2, .secao--vinho .rotulo .num { color: var(--creme); }
.secao--vinho .rotulo { color: rgba(246, 236, 228, .6); }
.secao--vinho .rotulo .num::after { background: var(--linha-clara); }
.cabeca { margin-bottom: clamp(56px, 7vw, 96px); display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; align-items: end; }
.cabeca .rotulo { grid-column: 1 / -1; }
.cabeca__lead { color: var(--suave); font-size: 1.08rem; max-width: 30em; margin: 0; }
.cabeca--centro { grid-template-columns: 1fr; text-align: center; justify-items: center; }
.cabeca--centro .rotulo { justify-content: center; }

/* Exames — lista editorial */
.exames { list-style: none; padding: 0; margin-block: 0; border-top: 1px solid var(--linha); counter-reset: ex; }
.exame { display: grid; grid-template-columns: 80px 1fr 1.2fr 220px; gap: 32px; padding: 44px 0; border-bottom: 1px solid var(--linha); align-items: start; }
.exame__n { font-family: var(--livro); font-style: italic; font-size: 1.3rem; color: var(--apagado); padding-top: 6px; }
.exame h3 { margin-bottom: 10px; }
.exame__sub { font-size: .95rem; color: var(--suave); margin: 0; }
.exame__txt { margin: 0 0 12px; }
.exame__extra { font-size: .93rem; color: var(--suave); margin: 0; }
.exame__meta { margin: 0; display: grid; gap: 18px; padding-top: 8px; }
.exame__meta dt { font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; color: var(--apagado); margin-bottom: 4px; }
.exame__meta dd { margin: 0; font-size: .98rem; color: var(--tinta); }
.exame__meta a { color: var(--vinho); text-underline-offset: 4px; text-decoration-thickness: 1px; }
.nota { margin-top: 40px; font-size: .95rem; color: var(--suave); padding-right: min(40%, 480px); }
.nota a { color: var(--vinho); text-underline-offset: 4px; text-decoration-thickness: 1px; }

/* Como funciona */
.passos { list-style: none; padding: 0; margin-block: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--linha); }
.passo { padding: 36px 32px 8px 0; }
.passo + .passo { padding-left: 32px; border-left: 1px solid var(--linha); }
.passo__n { display: block; font-family: var(--serif); font-size: 3.4rem; line-height: 1; color: var(--vinho); margin-bottom: 28px;  font-weight: 300;}
.passo h3 { font-size: 1.5rem; margin-bottom: 10px; }
.passo p { color: var(--suave); font-size: .96rem; margin: 0; }

/* Preparo */
.preparo { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(48px, 7vw, 112px); align-items: start; }
.preparo__lado { position: sticky; top: 120px; }
.preparo__lado h2 { margin-bottom: 28px; }
.horarios { margin: 48px 0 28px; padding-top: 28px; border-top: 1px solid var(--linha); }
.horarios dl { margin: 0; }
.horarios dl div { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0; border-bottom: 1px solid var(--linha); }
.horarios dt { color: var(--suave); }
.horarios dd { margin: 0; font-family: var(--serif); font-size: 1.45rem; color: var(--vinho);  font-weight: 300;}
.horarios__obs { font-size: .9rem; color: var(--apagado); margin: 16px 0 0; }

.acordeao { border-top: 1px solid var(--linha); }
.item { border-bottom: 1px solid var(--linha); }
.item__btn {
  width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 0;
  background: none; border: 0; text-align: left; cursor: pointer; color: var(--vinho);
}
.item__btn > span:first-child { font-family: var(--serif); font-size: clamp(1.4rem, 2.1vw, 1.75rem); line-height: 1.15; }
.item__btn small { display: block; font: 400 .8rem/1.4 var(--sans); letter-spacing: .04em; color: var(--apagado); margin-top: 6px; }
.item__mais { width: 18px; height: 18px; position: relative; flex: none; }
.item__mais::before, .item__mais::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--vinho); transition: transform .5s var(--ease); }
.item__mais::after { transform: rotate(90deg); }
.item.aberto .item__mais::after { transform: rotate(0); }
.item__corpo { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .6s var(--ease); }
.item.aberto .item__corpo { grid-template-rows: 1fr; }
.item__corpo > div { overflow: hidden; }
.item__conteudo { padding: 0 0 34px; max-width: 40em; }
.tabela { width: 100%; border-collapse: collapse; font-size: .95rem; margin: 4px 0 20px; }
.tabela th, .tabela td { text-align: left; padding: 14px 16px 14px 0; vertical-align: top; border-bottom: 1px solid var(--linha); }
.tabela thead th { font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; color: var(--apagado); font-weight: 400; }
.tabela tbody th { font-weight: 400; color: var(--vinho); width: 24%; }
.notas { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.notas li { font-size: .93rem; color: var(--suave); padding-left: 22px; position: relative; }
.notas li::before { content: "—"; position: absolute; left: 0; color: var(--apagado); }

/* Clínica */
.clinica { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(48px, 7vw, 112px); align-items: center; margin-bottom: clamp(72px, 9vw, 128px); }
.clinica__foto { aspect-ratio: 4 / 5; overflow: hidden; }
.clinica__foto img { width: 100%; height: 100%; object-fit: cover; }
.clinica__texto h2 { margin-bottom: 32px; }
.clinica__texto > p { color: var(--suave); font-size: 1.05rem; }
.difs { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--linha); }
.difs li { padding: 22px 24px 22px 0; border-bottom: 1px solid var(--linha); }
.difs li:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--linha); }
.difs strong { display: block; font-family: var(--serif); font-weight: 300; font-size: 1.35rem; color: var(--vinho); line-height: 1.2; margin-bottom: 4px; }
.difs span { font-size: .92rem; color: var(--suave); }

.linha-tempo { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--linha); margin-bottom: clamp(72px, 9vw, 128px) !important; }
.linha-tempo li { padding: 32px 32px 0 0; color: var(--suave); font-size: .96rem; }
.linha-tempo li + li { padding-left: 32px; border-left: 1px solid var(--linha); }
.linha-tempo strong { display: block; font-family: var(--serif); font-weight: 300; font-size: 3.2rem; line-height: 1; color: var(--vinho); margin-bottom: 18px; }

.galeria { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 2vw, 28px); }
.galeria figure img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.galeria figcaption { font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: var(--suave); padding-top: 16px; }

/* Equipe */
.destaque { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(48px, 7vw, 112px); align-items: center; margin-bottom: clamp(72px, 9vw, 120px); }
.destaque__foto { aspect-ratio: 4 / 5; overflow: hidden; }
.destaque__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.destaque h3 { font-size: clamp(2.2rem, 4vw, 3.4rem); margin-bottom: 14px; }
.cargo { font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: var(--apagado); margin-bottom: 28px; }
.destaque p { color: var(--suave); font-size: 1.05rem; }
.formacao { list-style: none; padding: 0; margin: 32px 0 0; border-top: 1px solid var(--linha); }
.formacao li { padding: 14px 0; border-bottom: 1px solid var(--linha); font-size: .95rem; }
.time { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--linha); }
.membro { padding: 40px 36px 0 0; }
.membro + .membro { padding-left: 36px; border-left: 1px solid var(--linha); }
.membro h3 { margin-bottom: 10px; }
.membro .cargo { margin-bottom: 20px; }
.membro p { color: var(--suave); font-size: .96rem; }
.membro .formacao { margin-top: 20px; }
.membro .formacao li { font-size: .88rem; padding: 10px 0; }

/* Depoimentos */
.depo { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--linha-clara); }
.depo blockquote { margin: 0; padding: 48px 40px 48px 0; display: flex; flex-direction: column; }
.depo blockquote + blockquote { padding-left: 40px; border-left: 1px solid var(--linha-clara); }
.depo blockquote p { font-family: var(--livro); font-style: italic; font-size: clamp(1.3rem, 1.8vw, 1.55rem); line-height: 1.4; color: var(--creme); flex: 1; margin-bottom: 32px; }
.depo blockquote p::before { content: "“"; display: block; font-style: normal; font-size: 3.4rem; line-height: .6; color: var(--pessego); margin-bottom: 18px; }
.depo footer { font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(246, 236, 228, .6); }
.depo__mais { text-align: center; margin-top: 48px !important; }

/* Contato */
.contato { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(48px, 6vw, 96px); align-items: start; }
.unidades { display: grid; grid-template-columns: 1fr; gap: clamp(24px, 3vw, 40px); }
.unidade__foto { aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 28px; background: var(--areia); }
.unidade__foto img { width: 100%; height: 100%; object-fit: cover; }
.unidade small { display: block; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: var(--apagado); margin-bottom: 10px; }
.unidade h3 { margin-bottom: 14px; }
.unidade address { font-style: normal; color: var(--suave); margin-bottom: 22px; }
.canais { margin: 0; border-top: 1px solid var(--linha); }
.canais div { padding: 20px 0; border-bottom: 1px solid var(--linha); }
.canais dt { font-size: .7rem; letter-spacing: .24em; text-transform: uppercase; color: var(--apagado); margin-bottom: 6px; }
.canais dd { margin: 0; font-family: var(--serif); font-size: 1.35rem; color: var(--vinho); line-height: 1.3; word-break: break-word;  font-weight: 300;}
.canais a { text-decoration: none; }
.canais a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }

/* Chamada final */
.chamada { background: var(--vinho); color: var(--creme); text-align: center; padding: var(--sec) var(--gut); }
.chamada__in { max-width: 760px; margin: 0 auto; }
.chamada__simbolo { width: 64px; height: 64px; margin: 0 auto 48px; }
.chamada h2 { color: var(--creme); font-size: clamp(3rem, 6.4vw, 5.6rem); margin-bottom: 28px; }
.chamada p { color: rgba(246, 236, 228, .72); font-size: 1.08rem; margin-bottom: 48px; }

/* Rodapé */
.rodape { background: var(--vinho-fundo); color: rgba(246, 236, 228, .62); padding: 80px var(--gut) 36px; font-size: .9rem; }
.rodape__in { max-width: var(--larg); margin: 0 auto; display: grid; grid-template-columns: auto 1fr auto; gap: 56px; align-items: center; padding-bottom: 48px; border-bottom: 1px solid var(--linha-clara); }
.rodape__logo { height: 44px; width: auto; }
.rodape p { margin: 0; }
.rodape nav { display: flex; flex-wrap: wrap; gap: 28px; }
.rodape nav a { text-decoration: none; font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; }
.rodape nav a:hover { color: var(--creme); }
.rodape__base { max-width: var(--larg); margin: 28px auto 0 !important; font-size: .8rem; }

/* Revelação discreta */
.js [data-r] { opacity: 0; transform: translateY(24px); transition: opacity 1.2s var(--ease) var(--d, 0s), transform 1.2s var(--ease) var(--d, 0s); }
.js [data-r].in { opacity: 1; transform: none; }
.js .hero__titulo .linha > span { transform: translateY(105%); transition: transform 1.3s var(--ease); }
.js .hero__titulo .linha:nth-child(2) > span { transition-delay: .08s; }
.js .hero__titulo .linha:nth-child(3) > span { transition-delay: .16s; }
.js .hero .rotulo, .js .hero__lead, .js .hero__acoes, .js .hero__fatos { opacity: 0; transition: opacity 1.4s var(--ease) .5s; }
.js .hero__foto img { transform: scale(1.08); opacity: 0; transition: transform 2.4s var(--ease), opacity 1.6s var(--ease); }
.pronto .hero__titulo .linha > span, .pronto .hero__foto img { transform: none; }
.pronto .hero .rotulo, .pronto .hero__lead, .pronto .hero__acoes, .pronto .hero__fatos, .pronto .hero__foto img { opacity: 1; }

body.travado { overflow: hidden; }

/* Responsivo */
@media (max-width: 1100px) {
  .topo__nav { gap: 24px; }
  .topo__acoes .link-fino { display: none; }
  .exame { grid-template-columns: 56px 1fr 1fr; }
  .exame__meta { grid-column: 2 / -1; grid-template-columns: 1fr 1fr; padding-top: 0; }
  .depo { grid-template-columns: 1fr; }
  .depo blockquote { padding: 40px 0; }
  .depo blockquote + blockquote { padding-left: 0; border-left: 0; border-top: 1px solid var(--linha-clara); }
}
@media (max-width: 900px) {
  .topo__menu { display: grid; place-content: center; gap: 7px; width: 44px; height: 44px; border: 0; background: none; margin-left: auto; cursor: pointer; }
  .topo__menu span { width: 24px; height: 1px; background: var(--vinho); transition: transform .4s var(--ease); }
  .topo__menu[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
  .topo__menu[aria-expanded="true"] span:last-child { transform: translateY(-4px) rotate(-45deg); }
  .topo__acoes { display: none; }
  .topo__nav {
    position: fixed; inset: 0; background: var(--papel); flex-direction: column; justify-content: center; align-items: flex-start;
    gap: 6px; padding: 0 var(--gut); z-index: -1; opacity: 0; visibility: hidden; transition: opacity .5s var(--ease), visibility .5s;
  }
  .topo__nav a { font-family: var(--serif); font-weight: 300; font-size: 2.2rem; letter-spacing: 0; text-transform: none; color: var(--vinho); }
  .topo__nav a::after { display: none; }
  .topo__so-movel { display: block; font-family: var(--sans) !important; font-size: .74rem !important; letter-spacing: .16em !important; text-transform: uppercase !important; margin-top: 18px; }
  .topo__so-movel + .topo__so-movel { margin-top: 4px; }
  .topo.menu-aberto { background: var(--papel); }
  .topo.menu-aberto .topo__nav { opacity: 1; visibility: visible; }
  .hero { grid-template-columns: 1fr; padding-top: 120px; }
  .hero__foto { order: 2; margin-top: 56px; aspect-ratio: 4 / 3; }
  .hero__fatos { order: 3; margin-top: 0; border-top: 0; }
  .cabeca { grid-template-columns: 1fr; row-gap: 24px; }
  .passos { grid-template-columns: 1fr 1fr; }
  .passo:nth-child(3) { padding-left: 0; border-left: 0; }
  .passo:nth-child(n+3) { border-top: 1px solid var(--linha); margin-top: 32px; }
  .preparo, .clinica, .destaque, .contato { grid-template-columns: 1fr; }
  .preparo__lado { position: static; }
  .linha-tempo, .time { grid-template-columns: 1fr; }
  .linha-tempo li, .membro { padding: 32px 0 !important; border-left: 0 !important; }
  .linha-tempo li + li, .membro + .membro { border-top: 1px solid var(--linha); }
  .galeria { grid-template-columns: 1fr 1fr; }
  .rodape__in { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 600px) {
  body { font-size: 16px; }
  .topo__marca img { height: 34px; }
  .hero__fatos { grid-template-columns: 1fr; }
  .hero__fatos div { padding: 20px 0 !important; border-left: 0 !important; border-top: 1px solid var(--linha); }
  .hero__acoes { flex-direction: column; align-items: stretch; gap: 20px; }
  .hero__acoes .link-fino { align-self: center; }
  .exame { grid-template-columns: 1fr; gap: 14px; padding: 36px 0; }
  .exame__meta { grid-column: auto; }
  .passos { grid-template-columns: 1fr; }
  .passo, .passo + .passo { padding: 32px 0 !important; border-left: 0; margin-top: 0 !important; }
  .passo + .passo { border-top: 1px solid var(--linha); }
  .passo__n { font-size: 2.6rem; margin-bottom: 16px; }
  .difs { grid-template-columns: 1fr; }
  .difs li { padding: 20px 0 !important; border-left: 0 !important; }
  .galeria { grid-template-columns: 1fr; }
  .unidades { grid-template-columns: 1fr; gap: 56px; }
  .tabela, .tabela tbody, .tabela tr, .tabela th, .tabela td { display: block; width: 100% !important; }
  .tabela thead { display: none; }
  .tabela tr { padding: 12px 0; border-bottom: 1px solid var(--linha); }
  .tabela th, .tabela td { border: 0; padding: 3px 0; }
  .tabela td::before { content: attr(data-rot) " — "; color: var(--apagado); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; }
  .js [data-r], .js .hero * { opacity: 1 !important; transform: none !important; }
}

/* Impressão: só as orientações de preparo */
@media print {
  body > *:not(main), main > *:not(#preparo), #btnImprimir, .item__mais { display: none !important; }
  .secao { padding: 0; }
  .preparo { grid-template-columns: 1fr; gap: 16px; }
  .item__corpo { grid-template-rows: 1fr !important; }
  .preparo__lado { position: static; }
  .js [data-r] { opacity: 1 !important; transform: none !important; }
}

/* =========================================================================
   Aprimoramento: mais vida com a identidade da marca (arcos, cor, arco nas fotos)
   ========================================================================= */
:root { --terracota: #b5583a; --pessego-claro: #f5dccb; }
h1 em, h2 em { color: var(--terracota); }
.secao--vinho h2 em, .chamada h2 em, .manifesto .p.em { color: var(--pessego); }

/* Hero: foto em arco, arcos que se desenham e selo circular */
.hero__visual { position: relative; padding: 6% 6% 0; }
.hero__arcos { position: absolute; inset: -2% -4% auto; width: 108%; height: auto; overflow: visible; pointer-events: none; }
.hero__arcos * { fill: none; stroke: var(--vinho); stroke-width: 1; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 0; }
.hero__arcos path:nth-of-type(1) { stroke: var(--terracota); }
.js .hero__arcos * { stroke-dashoffset: 1; transition: stroke-dashoffset 2.6s var(--ease) .4s; }
.js .hero__arcos path:nth-of-type(1) { transition-delay: .7s; }
.js .hero__arcos path:nth-of-type(2) { transition-delay: 1s; }
.pronto .hero__arcos * { stroke-dashoffset: 0; }
.hero__foto { position: relative; border-radius: 999px 999px 0 0; }
.selo-giro { position: absolute; left: -2%; bottom: 7%; width: clamp(110px, 11vw, 150px); height: auto; overflow: visible; }
.selo-giro__fundo { fill: var(--papel); }
.selo-giro text { font: 500 11.5px var(--sans); letter-spacing: .14em; fill: var(--vinho); }
.js .selo-giro { opacity: 0; transform: scale(.85); transition: opacity 1s var(--ease) 1.2s, transform 1.2s var(--ease) 1.2s; }
.pronto .selo-giro { opacity: 1; transform: none; }

/* Manifesto em bordô */
.manifesto { background: var(--vinho); position: relative; overflow: hidden; }
.manifesto p { color: var(--creme); position: relative; }
.manifesto__simbolo { position: relative; }
.manifesto__marca { position: absolute; width: min(720px, 120vw); height: auto; left: 50%; top: 50%; translate: -50% -50%; opacity: .06; pointer-events: none; }

/* Exames: vitrine fixa + lista em foco */
.exames-wrap { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(40px, 6vw, 96px); align-items: start; }
.exames__vitrine { position: sticky; top: 110px; }
.exames__quadro { position: relative; aspect-ratio: 4 / 5; border-radius: 999px 999px 0 0; overflow: hidden; background: var(--areia); }
.exames__quadro img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity 1s var(--ease), transform 1.6s var(--ease); }
.exames__quadro img.on { opacity: 1; transform: none; }
.exames__legenda { margin: 18px 0 0; font: 500 .7rem/1.4 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--suave); }
.exame { grid-template-columns: 64px 1fr; gap: 0 24px; padding: 40px 0; position: relative; transition: opacity .6s var(--ease); }
.exame > :not(.exame__n) { grid-column: 2; }
.exame__n { grid-row: 1 / span 3; transition: color .6s; }
.exame > div:nth-of-type(1) { margin-bottom: 18px; }
.exame__meta { grid-template-columns: auto auto; justify-content: start; gap: 48px; margin-top: 20px; padding-top: 0; }
.exame__foto-movel { display: none; }
.exame::before { content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px; background: var(--vinho); transform: scaleX(0); transform-origin: left; transition: transform 1s var(--ease); }
.exame.foco::before { transform: scaleX(1); }
.exame.foco .exame__n { color: var(--terracota); }
@media (min-width: 901px) { .exame:not(.foco) { opacity: .5; } }

/* Como funciona em pêssego claro */
#passos { background: var(--pessego-claro); }
#passos .passos, #passos .passo + .passo { border-color: rgba(90, 15, 45, .16); }
.passo__n { font-family: var(--livro); font-style: italic; font-weight: 400; color: var(--terracota); font-size: 4rem; }

/* Fotos em arco e revelação em cortina */
.clinica__foto, .destaque__foto { border-radius: 999px 999px 0 0; }
.js .revela { opacity: 1; transform: none; clip-path: inset(100% 0 0 0); transition: clip-path 1.6s var(--ease) var(--d, 0s); }
.js .revela.in { clip-path: inset(0 0 0 0); }
.galeria figure:nth-child(2) { margin-top: 96px; }
.galeria figure:nth-child(3) { margin-top: 32px; }
.galeria figure { overflow: hidden; }

/* Chamada final com arcos */
.chamada { position: relative; overflow: hidden; }
.chamada__in { position: relative; }
.chamada__arcos { position: absolute; width: min(980px, 160vw); height: auto; left: 50%; top: 50%; translate: -50% -50%; pointer-events: none; }
.chamada__arcos * { fill: none; stroke: var(--pessego); stroke-width: 1; vector-effect: non-scaling-stroke; opacity: .35; }

@media (max-width: 900px) {
  .hero__visual { order: 2; margin-top: 48px; padding: 8% 10% 0; }
  .hero__foto { margin-top: 0; aspect-ratio: 4 / 5; }
  .selo-giro { left: 0; }
  .exames-wrap { grid-template-columns: 1fr; }
  .exames__vitrine { display: none; }
  .galeria figure:nth-child(n) { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .js .revela { clip-path: none !important; }
  .js .hero__arcos * { stroke-dashoffset: 0 !important; }
}

/* Hero: foto redonda dentro dos aros coloridos */
.hero__visual { aspect-ratio: 1; padding: 0; width: 100%; max-width: 560px; justify-self: end; }
.hero__arcos { inset: 0; width: 100%; height: 100%; }
.hero__arcos * { stroke-width: 2; stroke-linecap: round; }
.hero__arcos circle { stroke: var(--vinho); stroke-width: 1.25; }
.hero__arcos path:nth-of-type(1) { stroke: var(--terracota); }
.hero__arcos path:nth-of-type(2) { stroke: var(--pessego); }
.hero__foto { position: absolute; inset: 16%; aspect-ratio: auto; border-radius: 50%; }
.selo-giro { left: 0; bottom: 4%; }
@media (max-width: 900px) {
  .hero__visual { justify-self: center; max-width: 440px; padding: 0; }
  .hero__foto { aspect-ratio: auto; }
}

/* ---------- vida: aros girando e anéis nas seções bordô (11/11) ---------- */
@keyframes gira { to { rotate: 360deg; } }
@keyframes gira-r { to { rotate: -360deg; } }
.hero__arcos path, .hero__arcos circle { transform-box: view-box; transform-origin: 50% 50%; }
.hero__arcos path:nth-of-type(1) { animation: gira 60s linear infinite; }
.hero__arcos path:nth-of-type(2) { animation: gira-r 44s linear infinite; }

.aros { position: absolute; pointer-events: none; overflow: visible; }
.aros * { fill: none; stroke-width: 1.5; stroke-linecap: round; vector-effect: non-scaling-stroke; transform-box: view-box; transform-origin: 50% 50%; }
.aros circle:first-child { stroke: rgba(246, 236, 228, .2); }
.aros path:nth-of-type(1) { stroke: var(--pessego); opacity: .7; animation: gira 70s linear infinite; }
.aros path:nth-of-type(2) { stroke: var(--terracota); opacity: .9; animation: gira-r 52s linear infinite; }
.aros circle:last-child { stroke: rgba(246, 236, 228, .18); }
.aros--a { width: 340px; left: -110px; top: -90px; }
.aros--b { width: 240px; right: -60px; bottom: -70px; }
.aros--b path:nth-of-type(1) { animation-duration: 55s; }
#depoimentos { position: relative; overflow: hidden; }
#depoimentos > :not(.aros) { position: relative; }
.aros--c { width: 300px; right: -90px; top: -80px; }
.aros--d { width: 380px; left: -150px; bottom: -160px; }
.manifesto > * { z-index: 1; }
.manifesto .aros { z-index: 0; }

.rodape__base { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 32px; }
.rodape__base p { margin: 0; margin-right: auto; }
.rodape__insta, .rodape__cred { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; font-size: .8rem; }
.rodape__insta svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.rodape__insta:hover, .rodape__cred:hover { color: var(--creme); }
.rodape__cred img { height: 10px; width: auto; opacity: .8; transition: opacity .3s; }
.rodape__cred:hover img { opacity: 1; }
@media (max-width: 900px) {
  .aros--a { width: 220px; left: -90px; top: -70px; }
  .aros--b { width: 160px; right: -50px; bottom: -50px; }
  .aros--c { width: 200px; right: -80px; top: -60px; }
  .aros--d { width: 240px; left: -110px; bottom: -110px; }
  .rodape__base p { margin-right: 0; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .hero__arcos *, .aros * { animation: none !important; } }

/* contato: botão do WhatsApp (sem flutuante) */
.canais .canais__whats { padding: 32px 0 0; border-bottom: 0; }
.canais__whats .btn { gap: 12px; }
.canais__whats svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; }
.canais .canais__whats a:hover { text-decoration: none; }
/* crédito igual ao sistema: logo + WhatsApp + Instagram da Maximiza */
.rodape__cred a { display: inline-flex; color: inherit; opacity: .8; transition: opacity .3s; }
.rodape__cred a:first-of-type { margin-left: 6px; }
.rodape__cred a:hover { opacity: 1; color: var(--creme); }
.rodape__cred svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; }
