/* Exclusivo de /sobre/. Reutiliza os tokens e componentes da identidade atual. */
.about-page .about-hero .intro-copy { max-width: 620px; margin-bottom: 18px; }
.about-page .about-hero + .section { padding-top: calc(var(--space-section) * .85); }
.about-page .about-crm { margin: 0; font-size: 13px; }
.about-page .about-trajectory { display: grid; grid-template-columns: .85fr 1.15fr; gap: 80px; align-items: start; }
.about-page .about-photo { margin: 0; position: relative; aspect-ratio: 4 / 5; background: var(--color-tint); border-radius: var(--radius); overflow: hidden; }
.about-page .about-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.about-page .photo-placeholder { display: flex; flex-direction: column; justify-content: flex-end; padding: 36px; }
.about-page .photo-placeholder::before { content: ""; position: absolute; top: 36px; left: 36px; width: 32px; height: 1px; background: var(--color-ink); }
.about-page .photo-placeholder .eyebrow { margin-bottom: 12px; }
.about-page .photo-placeholder p:last-child { font-size: 13px; max-width: 260px; margin: 0; }
.about-page .trajectory-copy h2 { font-size: clamp(32px, 3.2vw, 44px); margin-bottom: 28px; }
.about-page .trajectory-copy p:not(.eyebrow) { font-size: 16px; margin-block: 0 20px; }
.about-page .trajectory-copy p:last-child { margin-bottom: 0; }
.about-page .experience-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.about-page .experience-grid article { border-top: 1px solid var(--color-line); padding-top: 28px; }
.about-page .experience-grid h3 { font-size: 20px; margin-bottom: 20px; }
.about-page .experience-grid p { font-size: 14px; margin: 0; }
.about-page .formation-line { display: flex; flex-wrap: wrap; column-gap: 35px; row-gap: 10px; border-top: 1px solid var(--color-line); margin-top: 42px; padding-top: 24px; }
.about-page .formation-line p { font-size: 12px; margin: 0; }
.about-page .publication-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--color-line); }
.about-page .publication-row { display: grid; grid-template-columns: 55px 140px minmax(0, 1fr) 28px; gap: 28px; padding: 27px 0; border-bottom: 1px solid var(--color-line); }
.about-page .publication-year { font-size: 13px; color: var(--color-body); padding-top: 3px; }
.about-page .publication-type { font-size: 10px; letter-spacing: .09em; line-height: 1.7; text-transform: uppercase; padding-top: 5px; }
.about-page .publication-title { display: block; font-size: 18px; line-height: 1.5; letter-spacing: -.015em; font-weight: 500; margin: 0; text-wrap: pretty; }
.about-page .publication-title a:hover { text-decoration: underline; text-underline-offset: 5px; }
.about-page .publication-meta { font-size: 12px; line-height: 1.8; margin: 10px 0 0; color: var(--color-body); overflow-wrap: anywhere; }
.about-page .publication-meta span { display: block; }
.about-page .publication-link { font-size: 24px; align-self: start; text-align: center; }
.about-page .publication-link:hover { transform: translate(2px, -2px); }
.about-page .about-principle { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.about-page .about-principle .section-heading { margin: 0; }
.about-page .about-principle > p { font-size: 19px; line-height: 1.75; margin: 0; }
.about-page .about-cta .cta-inner { align-items: flex-start; }
.about-page .about-cta .cta-inner > div:first-child { max-width: 670px; }
.about-page .about-cta-actions { display: flex; flex-direction: column; gap: 12px; flex-shrink: 0; }
.about-page .about-cta-actions .button { justify-content: space-between; }
.about-page .about-cta-actions .button-secondary { border-color: var(--color-line); }
@media (max-width: 1150px) {
  .about-page .about-trajectory, .about-page .about-principle { gap: 50px; }
  .about-page .publication-row { grid-template-columns: 45px 120px minmax(0, 1fr) 25px; gap: 20px; }
}
@media (max-width: 960px) {
  .about-page .about-trajectory { grid-template-columns: .8fr 1.2fr; gap: 35px; }
  .about-page .photo-placeholder { padding: 25px; }
  .about-page .photo-placeholder::before { top: 25px; left: 25px; }
  .about-page .experience-grid { gap: 24px; }
  .about-page .publication-row { grid-template-columns: 45px minmax(0, 1fr) 25px; gap: 12px 22px; }
  .about-page .publication-type { grid-column: 2; }
  .about-page .publication-content { grid-column: 2; grid-row: 2; }
  .about-page .publication-link { grid-column: 3; grid-row: 1 / 3; }
  .about-page .about-principle { gap: 35px; }
}
@media (max-width: 700px) {
  .about-page .about-trajectory, .about-page .about-principle { grid-template-columns: 1fr; gap: 35px; }
  .about-page .about-photo { width: 100%; max-width: 430px; aspect-ratio: 4 / 5; }
  .about-page .experience-grid { grid-template-columns: 1fr; gap: 30px; }
  .about-page .experience-grid article { padding-top: 23px; }
  .about-page .formation-line { flex-direction: column; gap: 10px; }
  .about-page .publication-row { gap: 10px 16px; padding-block: 24px; }
  .about-page .publication-title { font-size: 17px; }
  .about-page .publication-link { font-size: 22px; }
  .about-page .about-principle > p { font-size: 17px; }
  .about-page .about-cta-actions { width: 100%; max-width: 350px; }
}
@media (prefers-reduced-motion: reduce) {
  .about-page .publication-link:hover { transform: none; }
}

/* Retrato profissional de Sobre: enquadramento CSS; arquivo original intacto.
   Exclui a fotografia pessoal e o placeholder da página Para pacientes. */
.about-page:not(.patients-page) .about-photo { aspect-ratio: 3 / 4; }

/* Fotografia pessoal inteira, com proporção natural em todos os tamanhos. */
.patients-page .about-photo { aspect-ratio: auto; }
.patients-page .about-photo img { height: auto; object-fit: contain; }

/* História pessoal: centraliza o texto mais curto junto à foto inteira. */
.patients-page .about-trajectory { align-items: center; }
@media (max-width: 700px) {
  .patients-page .about-trajectory { gap: 28px; }
}

/* Fotografias temporariamente ocultas: seção de texto sem coluna reservada. */
.about-page .about-trajectory.text-only { display: block; }
.about-page .about-trajectory.text-only .trajectory-copy { max-width: 760px; margin-inline: auto; }
