:root {
  --oliva: #5E6B3B;
  --oliva-escuro: #3A4226;
  --oliva-claro: #DDE0CB;
  --terracota: #B8603F;
  --terracota-claro: #E8D2C2;
  --areia: #F5F0E6;
  --branco: #FBF9F4;
  --texto: #3A4226;
  --texto-suave: #6B705A;

  --cursiva: "Dancing Script", cursive;
  --cursiva-escala: .84;
  --reta: "Jost", system-ui, sans-serif;

  --margem: clamp(20px, 5vw, 72px);
}

* { box-sizing: border-box; margin: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--areia);
  color: var(--texto);
  font-family: var(--reta);
  font-weight: 300;
  font-size: 18px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
.cursiva { font-family: var(--cursiva); font-weight: 400; }

/* ---------- Topo ---------- */
.topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 22px max(var(--margem), calc((100vw - 1320px) / 2 + var(--margem)));
}
.marca { display: flex; align-items: center; gap: 10px; color: var(--oliva); }
.marca-texto { display: flex; flex-direction: column; line-height: 1; white-space: nowrap; }
.marca-assinatura { font-size: calc(38px * var(--cursiva-escala)); color: var(--oliva-escuro); }
.marca-sobrenome {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .46em;
  text-transform: uppercase;
  margin-top: 2px;
  padding-left: 2px;
}
.menu { display: flex; gap: clamp(16px, 2.4vw, 36px); font-size: 15px; font-weight: 400; letter-spacing: .02em; }
.menu a { padding: 6px 0; border-bottom: 1px solid transparent; transition: border-color .2s, color .2s; }
.menu a:hover, .menu a.atual { color: var(--terracota); border-color: var(--terracota); }

/* ---------- Botões ---------- */
.botao {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-radius: 999px;
  font-family: var(--reta);
  font-weight: 500;
  font-size: 15px;
  letter-spacing: .03em;
  padding: 13px 26px;
  transition: background .2s, color .2s, transform .2s;
  white-space: nowrap;
}
.titulo-cursivo { white-space: nowrap; }
.botao svg { width: 20px; height: 20px; }
.botao-cheio { background: var(--oliva); color: var(--branco); }
.botao-cheio:hover { background: var(--oliva-escuro); transform: translateY(-1px); }
.botao-contorno { border: 1px solid var(--oliva); color: var(--oliva); padding: 10px 24px; }
.botao-contorno:hover { background: var(--oliva); color: var(--branco); }
:focus-visible { outline: 2px solid var(--terracota); outline-offset: 3px; }

/* ---------- Abertura ---------- */
.abertura {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  align-items: center;
  gap: clamp(24px, 5vw, 80px);
  padding: clamp(16px, 3vw, 40px) var(--margem) clamp(48px, 7vw, 96px);
  max-width: 1320px;
  margin: 0 auto;
}
.sobretitulo {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--terracota);
  margin-bottom: 18px;
}
h1 { font-weight: 300; line-height: 1; color: var(--oliva-escuro); }
.abertura h1 span { display: block; }
.titulo-cursivo {
  font-size: calc(min(clamp(52px, 6.6vw, 96px), 14.5vw) * var(--cursiva-escala));
  color: var(--oliva);
  line-height: .95;
}
.titulo-reto {
  font-size: clamp(30px, 4vw, 54px);
  letter-spacing: -.01em;
  margin-top: 6px;
}
.chamada { max-width: 34em; margin-top: 26px; color: var(--texto-suave); font-size: clamp(17px, 1.4vw, 19px); }
.acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; margin-top: 34px; }
.link-seta { font-weight: 400; font-size: 16px; border-bottom: 1px solid var(--terracota); padding-bottom: 2px; }
.link-seta::after { content: " →"; color: var(--terracota); }
.link-seta:hover { color: var(--terracota); }

.fatos {
  list-style: none;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 18px clamp(24px, 4vw, 56px);
  margin-top: clamp(36px, 5vw, 64px);
  padding-top: 26px;
  border-top: 1px solid var(--oliva-claro);
}
.fatos li { display: flex; flex-direction: column; line-height: 1.3; }
.fatos strong { font-weight: 500; font-size: 19px; color: var(--oliva-escuro); }
.fatos span { font-size: 14px; color: var(--texto-suave); letter-spacing: .02em; }

/* Foto */
.abertura-foto { position: relative; justify-self: center; width: min(100%, 460px); }
.arco {
  background: var(--terracota-claro);
  border-radius: 999px 999px 28px 28px;
  overflow: hidden;
  aspect-ratio: 4 / 5.2;
  display: flex;
  align-items: flex-end;
}
.arco img { width: 100%; height: auto; }
.cartao-nome {
  position: absolute;
  left: -28px;
  bottom: 34px;
  background: var(--branco);
  border-radius: 18px;
  padding: 12px 22px 14px;
  box-shadow: 0 14px 40px rgba(58, 66, 38, .12);
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}
.cartao-nome .cursiva { font-size: calc(38px * var(--cursiva-escala)); color: var(--oliva); }
.cartao-nome small { font-size: 12.5px; font-weight: 400; letter-spacing: .06em; color: var(--texto-suave); }
.ponto-terracota {
  position: absolute;
  top: 9%;
  right: -14px;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--terracota);
  opacity: .9;
}

/* ---------- Topo: ações e menu do celular ---------- */
.topo { position: sticky; top: 0; z-index: 40; background: rgba(245, 240, 230, .92); backdrop-filter: blur(10px); }
.topo-acoes { display: flex; align-items: center; gap: 12px; }
.marca-mono { width: 50px; height: 50px; flex: none; }
.abre-menu { display: none; width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; padding: 15px 9px; flex-direction: column; justify-content: space-between; }
.abre-menu span { display: block; height: 1.5px; background: var(--oliva-escuro); border-radius: 2px; }
.abre-menu span:last-child { width: 70%; margin-left: auto; }

/* ---------- Seções ---------- */
.secao { padding: clamp(64px, 9vw, 120px) var(--margem); }
.secao > * { max-width: 1160px; margin-left: auto; margin-right: auto; }
.secao-clara { background: var(--branco); }
section[id] { scroll-margin-top: 84px; }
h2, .como-h2 { font-weight: 300; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.12; letter-spacing: -.01em; color: var(--oliva-escuro); }
h2 .cursiva, .como-h2 .cursiva { font-size: calc(1.55em * var(--cursiva-escala)); color: var(--oliva); line-height: .9; white-space: nowrap; }
h3 { font-weight: 500; font-size: 19px; color: var(--oliva-escuro); }
.texto p + p { margin-top: 1em; }
.texto p { color: var(--texto-suave); }
.texto p.destaque { font-size: clamp(20px, 2vw, 24px); line-height: 1.45; color: var(--oliva-escuro); }
.cabeca-centro { text-align: center; margin-bottom: clamp(32px, 5vw, 56px); }
.duas-colunas { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 6vw, 96px); align-items: start; }

/* Quando procurar */
.sinais { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.sinais li { background: var(--areia); border-radius: 20px; padding: 22px 20px 24px; font-weight: 400; line-height: 1.35; min-height: 132px; display: flex; flex-direction: column; gap: 14px; }
.sinais span { font-size: 13px; font-weight: 500; letter-spacing: .14em; color: var(--terracota); }
.nota-centro { text-align: center; margin-top: 36px; color: var(--texto-suave); font-style: italic; }

/* Oncologia */
.secao-oncologia { position: relative; overflow: hidden; background: var(--terracota); color: var(--branco); padding: clamp(64px, 9vw, 120px) var(--margem); }
.secao-oncologia .sobretitulo { color: #F3D9CB; }
.secao-oncologia h2, .secao-oncologia h2 .cursiva, .secao-oncologia .como-h2, .secao-oncologia .como-h2 .cursiva { color: var(--branco); }
.oncologia-grade { position: relative; max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 6vw, 80px); align-items: center; }
.texto-claro { margin-top: 22px; max-width: 36em; color: #FBEDE5; }
.texto-claro.pequeno { font-size: 15px; opacity: .9; }
.fases { list-style: none; padding: 0; margin-top: 30px; display: grid; border-top: 1px solid rgba(255,255,255,.3); }
.fases li { display: grid; grid-template-columns: 110px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid rgba(255,255,255,.3); align-items: center; }
.fases strong { font-family: var(--cursiva); font-weight: 400; font-size: calc(36px * var(--cursiva-escala)); line-height: 1; }
.fases p { color: #FBEDE5; font-size: 16.5px; }
.marca-dagua { position: absolute; right: -6%; top: -12%; width: min(60vw, 640px); aspect-ratio: 1; color: #fff; opacity: .1; pointer-events: none; }
.foto-legenda img { border-radius: 28px; width: 100%; height: auto; }
.foto-legenda figcaption { font-size: 13.5px; margin-top: 10px; opacity: .85; }

/* Atendimentos */
.atendimentos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.atendimentos article { background: var(--branco); border-radius: 22px; padding: 26px 24px 28px; border: 1px solid transparent; transition: border-color .2s, transform .2s; }
.atendimentos article:hover { border-color: var(--oliva-claro); transform: translateY(-2px); }
.atendimentos h3::before { content: ""; display: block; width: 26px; height: 1.5px; background: var(--terracota); margin-bottom: 16px; }
.atendimentos p { margin-top: 8px; color: var(--texto-suave); font-size: 16.5px; }
.atendimentos .atendimento-largo { grid-column: 1 / -1; background: var(--oliva); }
.atendimento-largo h3, .atendimentos .atendimento-largo p { color: var(--branco); }
.atendimento-largo h3::before { background: var(--terracota-claro); }

/* Consulta */
.consulta-grade { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: clamp(28px, 6vw, 88px); align-items: center; }
.foto-duotone img { border-radius: 999px 999px 28px 28px; width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; }
.passos { list-style: none; padding: 0; margin-top: 32px; display: grid; gap: 22px; }
.passos li { display: grid; grid-template-columns: 46px 1fr; gap: 18px; align-items: start; }
.passos span { width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--oliva); color: var(--oliva); display: grid; place-items: center; font-weight: 400; }
.passos strong { font-weight: 500; font-size: 19px; }
.passos p { color: var(--texto-suave); margin-top: 2px; }

/* Sobre */
.sobre-grade { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 6vw, 88px); align-items: start; }
.foto-sobre { position: sticky; top: 104px; }
.foto-sobre figcaption { color: var(--texto-suave); }
.cro { font-size: 13px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--terracota); margin: 6px 0 22px; }
.subtitulo { margin-top: 34px; font-size: 13px; letter-spacing: .24em; text-transform: uppercase; color: var(--oliva); }
.formacao { list-style: none; padding: 0; margin-top: 14px; }
.formacao li { position: relative; padding: 13px 0 13px 26px; border-bottom: 1px solid var(--oliva-claro); line-height: 1.4; }
.formacao li::before { content: ""; position: absolute; left: 2px; top: 22px; width: 8px; height: 8px; background: var(--terracota); transform: rotate(45deg); }
.livro { display: grid; grid-template-columns: 92px 1fr; gap: 20px; align-items: center; margin-top: 34px; background: var(--branco); border-radius: 22px; padding: 18px; transition: transform .2s; }
.livro:hover { transform: translateY(-2px); }
.livro img { width: 100%; height: auto; border-radius: 6px; box-shadow: 0 8px 22px rgba(58,66,38,.18); }
.livro span { display: flex; flex-direction: column; gap: 4px; line-height: 1.3; }
.livro small { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; color: var(--terracota); font-weight: 500; }
.livro strong { font-weight: 500; font-size: 18px; }
.livro em { font-style: normal; font-size: 14px; color: var(--texto-suave); }
.livro b { font-weight: 500; font-size: 14.5px; color: var(--oliva); margin-top: 4px; }
.links-sobre { margin-top: 24px; display: flex; gap: 24px; font-weight: 400; font-size: 15.5px; }
.links-sobre a { border-bottom: 1px solid var(--terracota); padding-bottom: 2px; }
.links-sobre a:hover { color: var(--terracota); }

/* Perguntas */
.secao > .faq { max-width: 820px; }
.faq details { border-bottom: 1px solid var(--oliva-claro); }
.faq summary { list-style: none; cursor: pointer; padding: 20px 44px 20px 0; position: relative; font-weight: 400; font-size: 19px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 6px; top: 14px; font-size: 28px; font-weight: 300; color: var(--terracota); transition: transform .2s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 44px 22px 0; color: var(--texto-suave); }

/* Contato */
.contato-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: stretch; }
.dados { margin-top: 30px; display: grid; gap: 22px; }
.dados dt { font-size: 12.5px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--terracota); margin-bottom: 4px; }
.dados dd { margin: 0; font-weight: 400; line-height: 1.5; }
.dados small { font-weight: 300; color: var(--texto-suave); font-size: 15px; }
.mapa { border-radius: 28px; overflow: hidden; min-height: 380px; background: var(--oliva-claro); }
.mapa iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; filter: saturate(.75); }

/* Rodapé */
.rodape { background: var(--oliva-escuro); color: #E9E6D8; padding: clamp(40px, 6vw, 72px) var(--margem) 28px; }
.rodape-grade { max-width: 1160px; margin: 0 auto; display: grid; grid-template-columns: 1.2fr 1fr 1.2fr; gap: 32px; align-items: start; }
.rodape-marca { display: flex; align-items: center; gap: 14px; }
.rodape-marca svg { width: 84px; height: 84px; color: #E9E6D8; flex: none; }
.rodape-marca div { display: flex; flex-direction: column; line-height: 1.15; }
.rodape-marca .cursiva { font-size: calc(40px * var(--cursiva-escala)); color: #fff; }
.rodape-marca small { font-size: 12.5px; letter-spacing: .08em; opacity: .8; }
.rodape nav, .rodape-contato { display: flex; flex-direction: column; gap: 8px; font-size: 15.5px; }
.rodape a:hover { color: var(--terracota-claro); }
.rodape-fim { max-width: 1160px; margin: 36px auto 0; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.14); font-size: 13px; opacity: .7; }

/* WhatsApp flutuante */
.zap-flutuante { position: fixed; right: 18px; bottom: 18px; z-index: 45; width: 58px; height: 58px; border-radius: 50%; background: var(--oliva); color: #fff; display: grid; place-items: center; box-shadow: 0 10px 28px rgba(58,66,38,.3); transition: transform .2s, background .2s; }
.zap-flutuante:hover { transform: scale(1.06); background: var(--oliva-escuro); }
.zap-flutuante svg { width: 30px; height: 30px; }

@media (max-width: 1000px) {
  .sinais { grid-template-columns: repeat(2, 1fr); }
  .atendimentos { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- Celular ---------- */
@media (max-width: 860px) {
  .abre-menu { display: flex; }
  .menu { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; gap: 0; background: var(--areia); padding: 8px var(--margem) 20px; box-shadow: 0 18px 30px rgba(58,66,38,.1); font-size: 18px; }
  .menu.aberto { display: flex; }
  .menu a { padding: 14px 0; border-bottom: 1px solid var(--oliva-claro); }
  .topo { padding-top: 12px; padding-bottom: 10px; }
  .topo .botao-contorno { padding: 9px 18px; }
  .marca-assinatura { font-size: calc(30px * var(--cursiva-escala)); }
  .topo { gap: 10px; }
  .marca-mono { width: 42px; height: 42px; }
  .duas-colunas, .oncologia-grade, .consulta-grade, .sobre-grade, .contato-grade, .rodape-grade { grid-template-columns: 1fr; }
  .foto-sobre { position: static; max-width: 420px; }
  .foto-duotone { max-width: 320px; }
  .fases li { grid-template-columns: 1fr; gap: 4px; }
  .sinais li { min-height: 0; }
  .livro { grid-template-columns: 72px 1fr; }
  h2 .cursiva, .como-h2 .cursiva { white-space: normal; }
  .abertura { grid-template-columns: 1fr; padding-top: 20px; }
  .abertura-foto { width: min(84%, 380px); margin-top: 8px; }
  .cartao-nome { left: -18px; bottom: 24px; }
  .botao-cheio { width: 100%; justify-content: center; }
  .fatos { gap: 16px 28px; }
}
@media (max-width: 560px) {
  .sinais, .atendimentos { grid-template-columns: 1fr; }
}
@media (max-width: 359px) {
  .topo .botao-contorno { display: none; }
  .cartao-nome { left: -10px; padding: 10px 16px 12px; }
  .cartao-nome .cursiva { font-size: calc(32px * var(--cursiva-escala)); }
}

/* ---------- Páginas separadas ---------- */
main { min-height: 60vh; }
.caminhos { max-width: 1320px; margin: 0 auto; padding: 0 var(--margem) clamp(56px, 8vw, 96px); display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.caminhos a { background: var(--branco); border-radius: 24px; padding: 26px 26px 28px; display: flex; flex-direction: column; gap: 10px; border: 1px solid transparent; transition: transform .2s, border-color .2s; }
.caminhos a:hover { transform: translateY(-3px); border-color: var(--oliva-claro); }
.caminhos small { font-size: 12.5px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--terracota); }
.caminhos strong { font-weight: 400; font-size: clamp(20px, 1.9vw, 24px); line-height: 1.25; color: var(--oliva-escuro); }
.caminhos span { font-size: 15.5px; color: var(--texto-suave); margin-top: auto; padding-top: 8px; }
.caminhos .caminho-terracota { background: var(--terracota); }
.caminhos .caminho-terracota small { color: #F3D9CB; }
.caminhos .caminho-terracota strong { color: #fff; }
.caminhos .caminho-terracota span { color: #FBEDE5; }
.faixa-cta { background: var(--oliva-claro); padding: clamp(40px, 6vw, 72px) var(--margem); display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px clamp(24px, 5vw, 64px); text-align: center; }
.faixa-cta .cursiva { font-size: calc(clamp(44px, 5vw, 64px) * var(--cursiva-escala)); color: var(--oliva-escuro); line-height: 1; }
.faixa-cta .acoes { margin-top: 0; justify-content: center; }
@media (max-width: 860px) {
  .caminhos { grid-template-columns: 1fr; }
  .faixa-cta .botao-cheio { width: auto; }
}
/* Com seis itens, o menu vira botão mais cedo */
@media (max-width: 1080px) {
  .abre-menu { display: flex; }
  .menu { display: none; position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; gap: 0; background: var(--areia); padding: 8px var(--margem) 20px; box-shadow: 0 18px 30px rgba(58,66,38,.1); font-size: 18px; }
  .menu.aberto { display: flex; }
  .menu a { padding: 14px 0; border-bottom: 1px solid var(--oliva-claro); }
}

/* ---------- Fotos integradas ao fundo ---------- */
.foto-integrada { position: relative; margin: clamp(-72px, -6vw, -24px) 0; }
.foto-integrada img {
  width: 100%; height: auto; display: block; border-radius: 36px;
  -webkit-mask-image: radial-gradient(ellipse 72% 70% at 50% 46%, #000 58%, transparent 100%);
          mask-image: radial-gradient(ellipse 72% 70% at 50% 46%, #000 58%, transparent 100%);
}
.foto-integrada figcaption { text-align: center; font-size: 13.5px; opacity: .85; margin-top: -4%; position: relative; }
.arco-oliva { background: var(--oliva-claro); }
.foto-sobre .arco { aspect-ratio: 4 / 5; }
@media (max-width: 860px) {
  .foto-integrada { margin: 0 -8px; }
  .foto-sobre { margin-left: auto; margin-right: auto; }
}
.moldura-arco { border-radius: 999px 999px 28px 28px; overflow: hidden; background: var(--terracota-claro); }
.moldura-arco img { width: 100%; height: auto; display: block; }
.foto-sobre { max-width: 440px; }

/* ---------- Fotos sem moldura, incorporadas à página (13/11/2026) ---------- */
.abertura { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; padding-bottom: 0; }
.abertura-texto { padding-bottom: clamp(40px, 6vw, 88px); }
.abertura-foto { width: min(100%, 600px); justify-self: center; }
.arco { background: none; border-radius: 0; overflow: visible; aspect-ratio: auto; display: block; position: relative; }
.arco::before { content: ""; position: absolute; left: -12%; right: -12%; top: 6%; bottom: -4%; background: radial-gradient(closest-side, var(--terracota-claro) 30%, rgba(232, 210, 194, 0) 100%); }
.arco-oliva::before { background: radial-gradient(closest-side, var(--oliva-claro) 30%, rgba(221, 224, 203, 0) 100%); }
.arco img { position: relative; width: 100%; height: auto; -webkit-mask-image: linear-gradient(to bottom, #000 80%, transparent 100%); mask-image: linear-gradient(to bottom, #000 80%, transparent 100%); }
.cartao-nome { left: 0; bottom: 12%; }
.foto-sobre { max-width: 560px; }
.foto-sobre .arco { aspect-ratio: auto; }
.sobre-grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); }
.consulta-grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.foto-duotone img { border-radius: 36px; aspect-ratio: auto; -webkit-mask-image: radial-gradient(ellipse 74% 72% at 50% 50%, #000 58%, transparent 100%); mask-image: radial-gradient(ellipse 74% 72% at 50% 50%, #000 58%, transparent 100%); }
.fato-formacao span { order: -1; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--terracota); font-weight: 500; }
.fato-formacao strong { font-size: 21px; }
.fatos .fato-formacao { flex-basis: 100%; }
@media (max-width: 860px) {
  .abertura, .sobre-grade, .consulta-grade { grid-template-columns: 1fr; }
  .abertura-texto { padding-bottom: 8px; }
  .abertura-foto { width: min(100%, 460px); }
  .foto-duotone { max-width: 460px; margin: 0 auto; }
  .foto-sobre { max-width: 460px; }
  .cartao-nome { left: 0; bottom: 10%; }
}
main { overflow-x: clip; }
/* Sobre sem foto (provisório, até chegar uma foto real nova) */
.secao > .sobre-sem-foto { grid-template-columns: 1fr; max-width: 820px; }
/* Arco de volta só na foto da abertura, em tom mais fraco */
.abertura .arco::before { left: 5%; right: 5%; top: 5%; bottom: 0; background: #EFE4D9; border-radius: 999px 999px 0 0; }
.abertura .arco img { -webkit-mask-image: none; mask-image: none; }
.abertura { margin-bottom: clamp(28px, 4vw, 56px); }

/* ---------- Home care ---------- */
.homecare-grade { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
.foto-homecare img { width: 100%; height: auto; display: block; border-radius: 36px; -webkit-mask-image: radial-gradient(ellipse 76% 76% at 50% 50%, #000 62%, transparent 100%); mask-image: radial-gradient(ellipse 76% 76% at 50% 50%, #000 62%, transparent 100%); }
.destaque-homecare { margin: 22px 0 30px; font-size: clamp(18px, 1.6vw, 21px); color: var(--texto-suave); }
.homecare-colunas { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 56px); margin-top: clamp(40px, 6vw, 72px); }
.homecare-colunas .subtitulo { margin-top: 0; }
.passos-compactos { margin-top: 18px; gap: 16px; }
.passos-compactos li { grid-template-columns: 38px 1fr; gap: 14px; }
.passos-compactos span { width: 38px; height: 38px; font-size: 15px; }
.passos-compactos strong { font-size: 17.5px; }
a.atendimento-largo { display: block; border-radius: 22px; padding: 26px 24px 28px; transition: transform .2s; }
a.atendimento-largo:hover { transform: translateY(-2px); }
.atendimento-largo b { font-weight: 500; white-space: nowrap; }
.faixa-foto { background: var(--oliva); color: var(--branco); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
.faixa-foto img { width: 100%; height: 100%; min-height: 340px; max-height: 520px; object-fit: cover; object-position: 35% 45%; -webkit-mask-image: linear-gradient(to right, #000 62%, transparent 100%); mask-image: linear-gradient(to right, #000 62%, transparent 100%); }
.faixa-foto > div { padding: clamp(36px, 6vw, 88px) var(--margem) clamp(36px, 6vw, 88px) clamp(20px, 3vw, 48px); align-self: center; max-width: 620px; }
.faixa-foto .sobretitulo { color: var(--terracota-claro); }
.faixa-foto h2, .faixa-foto h2 .cursiva { color: var(--branco); }
.faixa-foto p:not(.sobretitulo) { margin: 18px 0 28px; color: #E9E6D8; }
.botao-claro { background: var(--branco); color: var(--oliva-escuro); }
.botao-claro:hover { background: var(--terracota-claro); }
@media (max-width: 860px) {
  .homecare-grade, .homecare-colunas, .faixa-foto { grid-template-columns: 1fr; }
  .faixa-foto img { min-height: 0; max-height: 300px; -webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent 100%); mask-image: linear-gradient(to bottom, #000 62%, transparent 100%); }
  .faixa-foto > div { padding: 8px var(--margem) 48px; }
}
/* Sobre: foto de jaleco, grande e incorporada */
.foto-jaleco { max-width: none; }
.foto-jaleco img { width: 100%; height: auto; display: block; border-radius: 36px; -webkit-mask-image: linear-gradient(to bottom, #000 82%, transparent 100%); mask-image: linear-gradient(to bottom, #000 82%, transparent 100%); }
@media (max-width: 860px) { .foto-jaleco { max-width: 480px; } }

/* ---------- Faixas com foto (home care, laserterapia) ---------- */
.faixa-foto .botao svg { width: 20px; height: 20px; }
.faixa-terracota { background: var(--terracota); }
.faixa-terracota .sobretitulo { color: #F3D9CB; }
.faixa-terracota p:not(.sobretitulo) { color: #FBEDE5; }
.faixa-foto .foto-laser { object-position: 50% 3%; min-height: 440px; max-height: 600px; }
.secao-colunas { padding-top: clamp(40px, 6vw, 72px); }
.secao-colunas .homecare-colunas { margin-top: 0; }
a.atendimento-destaque { display: block; background: var(--terracota); border-radius: 22px; padding: 26px 24px 28px; transition: transform .2s; }
a.atendimento-destaque:hover { transform: translateY(-2px); }
.atendimentos .atendimento-destaque h3, .atendimentos .atendimento-destaque p { color: var(--branco); }
.atendimentos .atendimento-destaque h3::before { background: var(--terracota-claro); }
.atendimento-destaque b { font-weight: 500; white-space: nowrap; }

/* ---------- Abertura com a foto de jaleco ---------- */
.foto-inicio img { width: 100%; height: auto; display: block; border-radius: 36px 36px 0 0; -webkit-mask-image: linear-gradient(to bottom, #000 84%, transparent 100%); mask-image: linear-gradient(to bottom, #000 84%, transparent 100%); }
.abertura-foto { width: min(100%, 520px); }
@media (max-width: 420px) {
  .faixa-foto .botao { white-space: normal; text-align: left; max-width: 100%; padding: 12px 20px; }
  .faixa-foto .botao svg { flex: none; }
}

/* ---------- Vídeo da laserterapia ---------- */
.video-grade { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: clamp(28px, 6vw, 88px); align-items: center; max-width: 980px; }
.video-grade video { width: 100%; height: auto; display: block; border-radius: 32px; background: var(--oliva-claro); box-shadow: 0 18px 44px rgba(58, 66, 38, .16); }
.secao-video + .secao-colunas { padding-top: clamp(56px, 8vw, 96px); }
@media (max-width: 860px) {
  .video-grade { grid-template-columns: 1fr; }
  .video-grade video { max-width: 300px; margin: 0 auto; }
}
.faixa-foto .como-h2, .faixa-foto .como-h2 .cursiva { color: var(--branco); }

/* ---------- Formação na página inicial ---------- */
.faixa-formacao { background: var(--oliva); color: var(--branco); padding: clamp(56px, 8vw, 104px) max(var(--margem), calc((100vw - 1320px) / 2 + var(--margem))); }
.faixa-formacao .sobretitulo { color: var(--terracota-claro); }
.faixa-formacao h2, .faixa-formacao h2 .cursiva { color: var(--branco); }
.formacao-itens { list-style: none; padding: 0; margin: clamp(28px, 4vw, 48px) 0 clamp(28px, 4vw, 44px); display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid rgba(255, 255, 255, .28); }
.formacao-itens li { padding: 24px 24px 6px 0; display: flex; flex-direction: column; gap: 8px; }
.formacao-itens li + li { padding-left: 24px; border-left: 1px solid rgba(255, 255, 255, .28); }
.formacao-itens strong { font-weight: 400; font-size: clamp(19px, 1.6vw, 22px); line-height: 1.25; }
.formacao-itens span { font-size: 15.5px; color: #E9E6D8; line-height: 1.45; }
@media (max-width: 1000px) {
  .formacao-itens { grid-template-columns: repeat(2, 1fr); }
  .formacao-itens li:nth-child(3) { padding-left: 0; border-left: 0; }
  .formacao-itens li:nth-child(n+3) { border-top: 1px solid rgba(255, 255, 255, .28); margin-top: 18px; }
}
@media (max-width: 560px) {
  .formacao-itens { grid-template-columns: 1fr; }
  .formacao-itens li, .formacao-itens li + li { padding: 20px 0 4px; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .28); margin-top: 0; }
  .formacao-itens li:first-child { border-top: 0; }
}

/* Vídeo da laserterapia: maior e incorporado à página (13/11/2026) */
.video-grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: 1080px; }
.video-grade video { max-width: 480px; margin: 0 auto; border-radius: 44px; box-shadow: none; background: none; -webkit-mask-image: radial-gradient(ellipse 78% 74% at 50% 50%, #000 62%, transparent 100%); mask-image: radial-gradient(ellipse 78% 74% at 50% 50%, #000 62%, transparent 100%); }
.secao-video { padding-top: clamp(32px, 5vw, 64px); padding-bottom: clamp(24px, 4vw, 48px); }
.video-texto p { font-size: clamp(19px, 1.7vw, 23px); line-height: 1.55; color: var(--oliva-escuro); }
.video-texto p + p { margin-top: 1em; }
.video-texto .video-selo { margin-top: 28px; font-family: var(--cursiva); font-size: calc(clamp(40px, 4.4vw, 58px) * var(--cursiva-escala)); line-height: 1; color: var(--terracota); }
@media (max-width: 860px) {
  .video-grade { grid-template-columns: 1fr; }
  .video-grade video { max-width: 380px; }
}
/* Abertura volta ao retrato recortado com arco (13/11/2026) */
.abertura-foto { width: min(100%, 600px); }
@media (max-width: 860px) { .abertura-foto { width: min(100%, 460px); } }

/* Como é a consulta: foto grande, ocupando a metade esquerda até a borda (14/11/2026) */
#consulta { padding: 0; }
#consulta > .consulta-grade { max-width: none; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; gap: 0; }
#consulta .foto-duotone { margin: 0; max-width: none; }
#consulta .foto-duotone img { width: 100%; height: 100%; min-height: 560px; max-height: 760px; object-fit: cover; object-position: 50% 45%; border-radius: 0; aspect-ratio: auto; -webkit-mask-image: linear-gradient(to right, #000 68%, transparent 100%); mask-image: linear-gradient(to right, #000 68%, transparent 100%); }
#consulta .consulta-grade > div { align-self: center; max-width: 620px; padding: clamp(48px, 7vw, 96px) var(--margem) clamp(48px, 7vw, 96px) clamp(20px, 4vw, 64px); }
@media (max-width: 860px) {
  #consulta > .consulta-grade { grid-template-columns: 1fr; }
  #consulta .foto-duotone img { min-height: 0; max-height: 380px; -webkit-mask-image: linear-gradient(to bottom, #000 68%, transparent 100%); mask-image: linear-gradient(to bottom, #000 68%, transparent 100%); }
  #consulta .consulta-grade > div { padding: 8px var(--margem) 56px; }
}

/* Menu aberto nunca passa da altura da tela (celular deitado) */
@media (max-width: 1080px) {
  .menu { max-height: calc(100vh - 72px); max-height: calc(100dvh - 72px); overflow-y: auto; overscroll-behavior: contain; }
}
@media (max-width: 1080px) and (max-height: 480px) {
  .menu a { padding: 9px 0; }
}

/* Ajustes vistos no celular real (14/11/2026) */
@media (max-width: 860px) {
  .zap-flutuante { width: 52px; height: 52px; right: 14px; bottom: 14px; }
  .zap-flutuante svg { width: 27px; height: 27px; }
  .rodape { padding-bottom: 84px; }
  .foto-integrada figcaption { margin-top: 10px; }
}
.zap-flutuante { border: 1.5px solid rgba(255, 255, 255, .6); }

/* ---------- Versão resumida e versão completa (14/11/2026) ---------- */
html.resumido .so-completo, html:not(.resumido) .so-resumido { display: none !important; }
.faixa-versao { background: var(--oliva-escuro); color: #E9E6D8; font-size: 13px; letter-spacing: .04em; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 5px var(--margem); min-height: 40px; }
.troca-versao { font: 500 13px var(--reta); letter-spacing: .04em; color: var(--oliva-escuro); background: #E9E6D8; border: 0; border-radius: 999px; padding: 6px 14px; min-height: 30px; cursor: pointer; transition: background .2s; }
.troca-versao:hover { background: var(--terracota-claro); }

/* O que sai na versão resumida */
html.resumido .abertura .link-seta,
html.resumido .fatos li:not(.fato-formacao),
html.resumido .caminhos span,
html.resumido .formacao-itens span,
html.resumido .texto p:not(.destaque),
html.resumido .nota-centro,
html.resumido .texto-claro.pequeno,
html.resumido .fases p,
html.resumido .atendimentos p,
html.resumido .passos p,
html.resumido .video-texto p:not(.video-selo),
html.resumido .secao-colunas .homecare-colunas > div:not(:first-child),
html.resumido .livro,
html.resumido .dados small,
html.resumido .foto-integrada figcaption,
html.resumido .rodape nav,
html.resumido .rodape-fim { display: none; }

/* E o que fica mais compacto */
html.resumido .secao { padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(40px, 6vw, 72px); }
html.resumido .fatos { margin-top: 28px; padding-top: 20px; }
html.resumido .caminhos a { padding: 18px 22px; }
html.resumido .caminhos strong { font-size: 19px; }
html.resumido .formacao-itens li { padding-top: 16px; padding-bottom: 2px; }
html.resumido .sinais { gap: 8px; }
html.resumido .sinais li { min-height: 0; padding: 14px 16px; flex-direction: row; align-items: baseline; gap: 12px; border-radius: 14px; }
html.resumido .fases li { grid-template-columns: 1fr; padding: 10px 0; }
html.resumido .atendimentos { gap: 8px; }
html.resumido .atendimentos article, html.resumido .atendimentos a { padding: 16px 20px; border-radius: 16px; }
html.resumido .atendimentos h3::before { display: none; }
html.resumido .passos { gap: 12px; margin-top: 22px; }
html.resumido .passos li { align-items: center; }
html.resumido .secao-colunas .homecare-colunas { grid-template-columns: 1fr; max-width: 640px; }
html.resumido .video-grade { gap: 20px; }
html.resumido .video-texto .video-selo { margin-top: 0; text-align: center; }
html.resumido .sobre-grade .texto { display: none; }
html.resumido .faixa-cta { padding-top: 32px; padding-bottom: 32px; }
html.resumido .rodape { padding-top: 32px; }

/* Seletor de versão: duas opções lado a lado, a ativa preenchida (14/11/2026) */
.faixa-versao { background: var(--branco); color: var(--texto-suave); border-bottom: 1px solid var(--oliva-claro); gap: 12px; padding: 7px var(--margem); min-height: 48px; }
.versao-rotulo { font-size: 11.5px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; }
.versao-seletor { display: inline-flex; padding: 3px; border-radius: 999px; background: var(--oliva-claro); }
.versao-op { font: 400 14px var(--reta); letter-spacing: .02em; color: var(--oliva-escuro); background: transparent; border: 0; border-radius: 999px; padding: 6px 18px; min-height: 34px; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; transition: background .2s, color .2s; }
.versao-op:hover { background: rgba(255, 255, 255, .55); }
html.resumido .versao-op[data-versao="resumida"],
html:not(.resumido) .versao-op[data-versao="completa"] { background: var(--oliva); color: var(--branco); font-weight: 500; cursor: default; }
html.resumido .versao-op[data-versao="resumida"]::before,
html:not(.resumido) .versao-op[data-versao="completa"]::before { content: ""; width: 11px; height: 6px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(-45deg); }
