/* Interior sections share the cover's type hierarchy and horizontal axes. */
:root {
  --section-title: clamp(25px, 2.15vw, 34px);
  --section-display: clamp(38px, 3.2vw, 51px);
  --section-body: 14px;
  --section-gap: clamp(40px, 6.25vw, 100px);
  --section-space: clamp(80px, 7.5vw, 120px);
}
.container {
  width: calc(100% - clamp(40px, 6.25vw, 120px));
  max-width: 1680px;
}
main > section:not(.hero) h2 {
  margin: 0;
  font: 400 var(--section-title)/1.3 var(--sans);
  letter-spacing: -.035em;
}
main > section:not(.hero) h2 em {
  display: block;
  margin-top: 8px;
  font: italic 400 var(--section-display)/1.08 var(--serif);
  letter-spacing: -.035em;
  color: #697557;
}
main > section:not(.hero) h2 br { display: none; }
.section-pad { padding-block: var(--section-space); }
.section-heading,
.care-layout,
.about-grid,
.journey-grid,
.contact-grid,
.faq-grid,
.manifesto > .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: var(--section-gap);
}
.section-heading { align-items: end; }
.section-heading > p,
.manifesto-copy,
.about-copy > p:not(.eyebrow):not(.doctor-name):not(.doctor-credentials),
.journey-time > p:not(.time-caption),
.journey-steps p,
.contact-place address,
.contact-online > p:not(.eyebrow),
.faq-grid > div:first-child > p:not(.eyebrow) {
  margin: 0;
  max-width: 48ch;
  padding: 0;
  font: 400 var(--section-body)/1.9 var(--sans);
  letter-spacing: 0;
  color: #68705e;
}
.section-heading > p { padding-bottom: 3px; }
main > section:not(.hero) .button {
  min-height: 51px;
  padding: 7px 7px 7px 23px;
  gap: 28px;
  font-size: 12px;
  font-weight: 400;
  box-shadow: none;
}
main > section:not(.hero) .button-icon { width: 35px; height: 35px; }
main > section:not(.hero) .text-link {
  font: 400 12px/1.6 var(--sans);
  padding-bottom: 7px;
  gap: 18px;
}
.manifesto { padding-block: 92px 104px; }
.manifesto > .container { align-items: center; }
main > section.manifesto h2 em { color: #d9c8ac; }
.manifesto-copy { color: #d4d8c8; max-width: 44ch; }

/* Image and care list begin on the same horizontal line. */
.care { background: var(--paper); }
.care-layout { align-items: start; margin-top: 48px; }
.care-photograph {
  min-height: 0;
  aspect-ratio: 5 / 4;
  align-self: start;
  border-radius: 4px;
}
.care-photograph > img { object-position: center; filter: saturate(.78); }
.care-deck { margin: 0; min-height: 0; }
.care-card,
.care-card.is-active,
.care-card:nth-child(2),
.care-card:nth-child(3),
.care-card:first-child {
  padding: 24px 0;
  min-height: 0;
  border-color: #3f442b2b;
}
.care-choice {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) 18px;
  gap: 16px;
  align-items: center;
  padding: 0 4px 0 0;
}
.card-index { font: 400 10px/1.5 var(--sans); color: #7e8a75; }
.care-title,
.care-card.is-active .care-title {
  font: 400 18px/1.5 var(--sans);
  letter-spacing: -.025em;
  padding: 0;
}
.care-title em { font: italic 400 29px/1.2 var(--serif); margin-left: 3px; }
.care-choice > svg { width: 17px; height: 17px; transform: rotate(-45deg); }
.is-active .care-choice > svg { transform: rotate(90deg); }
.care-detail { margin: 18px 32px 0 40px; font: 400 14px/1.85 var(--sans); color: #68705e; }
.care-detail > p { max-width: 48ch; }
.care-detail .text-link { margin-top: 20px; color: var(--olive); }

/* The biography carries the physician's identity once, in the text column. */
.about { padding-top: 16px; }
.about-grid { align-items: center; }
.about-image {
  height: auto;
  aspect-ratio: 1 / 1.02;
  min-height: 440px;
  max-height: 650px;
  width: 100%;
  border-radius: 4px;
  background: radial-gradient(ellipse at 42% 25%, #b4bea2, #8f9c7e 65%, #718063);
}
.about-image > img { height: 108%; bottom: -38px; }
.about-copy { max-width: 550px; }
.about-copy > p.doctor-credentials:not(.doctor-name) {
  margin: 24px 0 28px;
  font: 400 12px/1.6 var(--sans);
  letter-spacing: 0;
  color: #697557;
}
.about-copy > p:not(.eyebrow):not(.doctor-name):not(.doctor-credentials) + p { margin-top: 16px; }
.about-copy .text-link { margin-top: 28px; }

/* Duration, explanatory copy and steps follow the same two-column grid. */
.consultation { background: linear-gradient(120deg, #eeeadd, #e4e7db); }
.journey-grid { margin-top: 48px; align-items: start; }
.journey-time { padding: 0; }
.time-display { margin: 0; line-height: .9; }
.time-display > span { font-size: clamp(116px, 10vw, 160px); letter-spacing: -.06em; }
.time-display > em { font-size: clamp(68px, 6vw, 95px); margin-left: 12px; }
.journey-time > .time-caption {
  margin: 22px 0 12px;
  font: 400 16px/1.5 var(--sans);
  color: var(--ink);
}
.journey-time > .button { margin-top: 28px; }
.journey-steps > article,
.journey-steps > article:first-child {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 16px;
  padding: 24px 0;
  border-top: 1px solid var(--line);
}
.journey-steps > article > span { font: 400 10px/1.7 var(--sans); padding-top: 3px; }
.journey-steps h3 { font: 400 18px/1.45 var(--sans); letter-spacing: -.025em; }
.journey-steps p { margin-top: 10px; }

/* Contact headings, addresses and links share top and bottom baselines. */
.contact-grid { margin-top: 48px; align-items: stretch; }
.contact-grid article {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 28px 0 0;
  min-height: 284px;
  border-top: 1px solid var(--line);
  background: none;
}
.contact-grid h3 {
  margin: 0;
  min-height: 78px;
  font: 400 20px/1.35 var(--sans);
  letter-spacing: -.025em;
}
.contact-grid h3 br { display: none; }
.contact-grid h3 em {
  display: block;
  margin-top: 5px;
  font: italic 400 32px/1.15 var(--serif);
  color: #697557;
}
.contact-place address,
.contact-online > p:not(.eyebrow) { margin-top: 22px; }
.contact-grid article > .text-link { margin-top: auto; padding-top: 26px; }
.social-strip { margin-top: 38px; padding: 28px 0; }
.social-strip > p { font: italic 400 28px/1.2 var(--serif); }
.social-strip > div { gap: 30px; }
.social-strip a { font: 400 12px/1.6 var(--sans); }

/* Questions remain quiet and easy to scan. */
.faq { padding-top: 12px; }
.faq-grid { align-items: start; }
.faq-grid > div:first-child > p:not(.eyebrow) { margin-top: 24px; }
.faq .text-link { margin-top: 26px; }
.faq-items { border-top: 1px solid var(--line); }
.faq summary { padding: 23px 0; font: 400 14px/1.7 var(--sans); gap: 22px; }
.faq summary svg { width: 17px; height: 17px; }
.faq details > div { padding: 0 34px 24px 0; font: 400 13px/1.85 var(--sans); color: #68705e; }

/* A compact final invitation, followed by practical footer information. */
.closing { padding-block: 80px; }
.closing-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--section-gap); align-items: center; }
main > section.closing h2 { text-align: left; }
main > section.closing h2 > span { display: block; font: 400 var(--section-title)/1.3 var(--sans); }
main > section.closing h2 > em { font-size: clamp(55px, 5.4vw, 82px); color: #d9c8ac; margin-top: 8px; line-height: 1.05; }
.closing-bottom { display: flex; flex-direction: column; align-items: flex-start; gap: 24px; margin: 0; padding: 0; border: 0; }
.closing-bottom > p { font: 400 14px/1.8 var(--sans); }
.site-footer { padding: 38px 0 26px; }
.footer-main { gap: 32px; }
.footer-identification p { font-size: 11px; }
.footer-identification > span { font-size: 10px; }
.footer-bottom { font-size: 10px; }
.medical-note { font-size: 9px; max-width: 80ch; }

@media (max-width: 1000px) and (min-width: 701px) {
  :root { --section-body: 13px; --section-gap: 40px; }
  .about-image { min-height: 410px; }
  .care-title, .care-card.is-active .care-title { font-size: 16px; }
  .care-title em { font-size: 26px; }
  .care-detail { margin-left: 36px; margin-right: 0; font-size: 13px; }
  .care-choice { grid-template-columns: 22px minmax(0, 1fr) 16px; gap: 14px; }
  .contact-grid h3 { font-size: 18px; }
  .contact-grid h3 em { font-size: 29px; }
}
@media (max-width: 700px) {
  :root { --section-title: 24px; --section-display: 37px; --section-body: 13px; --section-gap: 32px; --section-space: 66px; }
  .container { width: calc(100% - 40px); }
  .section-heading, .care-layout, .about-grid, .journey-grid, .contact-grid, .faq-grid, .manifesto > .container, .closing-inner { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .section-heading { gap: 22px; }
  .section-heading > p { max-width: 42ch; padding: 0; }
  .manifesto { padding-block: 66px 72px; }
  .manifesto-copy { margin: 0; }
  .care-layout, .journey-grid, .contact-grid { margin-top: 32px; }
  .care-photograph { aspect-ratio: 4 / 3; }
  .care-title, .care-card.is-active .care-title { font-size: 17px; }
  .care-title em { font-size: 27px; }
  .care-choice { grid-template-columns: 20px minmax(0, 1fr) 16px; gap: 14px; }
  .care-detail { margin-left: 34px; margin-right: 0; font-size: 13px; }
  .care-card, .care-card.is-active, .care-card:nth-child(2), .care-card:nth-child(3), .care-card:first-child { padding-block: 22px; }
  .about { padding-top: 4px; }
  .about-image { min-height: 0; max-height: none; aspect-ratio: 4 / 4.3; }
  .about-image > img { height: 109%; bottom: -28px; }
  .about-copy > p.doctor-credentials:not(.doctor-name) { margin-block: 20px 22px; }
  .journey-grid { gap: 38px; }
  .time-display > span { font-size: 118px; }
  .time-display > em { font-size: 70px; }
  .journey-time > .time-caption { font-size: 15px; }
  .journey-steps h3 { font-size: 17px; }
  .journey-steps > article, .journey-steps > article:first-child { padding-block: 22px; }
  .contact-grid { gap: 32px; }
  .contact-grid article { min-height: 0; padding-top: 24px; }
  .contact-grid h3 { min-height: 0; font-size: 19px; }
  .contact-grid h3 em { font-size: 30px; }
  .contact-grid article > .text-link { margin-top: 24px; padding-top: 0; }
  .social-strip { margin-top: 28px; padding-block: 25px; }
  .social-strip > div { margin-top: 18px; gap: 22px; }
  .faq { padding-top: 4px; }
  .faq-grid { gap: 32px; }
  .faq summary { font-size: 13px; padding-block: 21px; }
  .closing { padding-block: 60px; }
  main > section.closing h2 > em { font-size: clamp(52px, 15vw, 72px); }
  .closing-bottom { gap: 22px; }
  .footer-main { gap: 24px; }
  .footer-identification p { font-size: 10px; }
  .footer-identification > span, .footer-bottom { font-size: 9px; }
  .medical-note { font-size: 8px; }
}
@media (max-width: 370px) {
  :root { --section-title: 22px; --section-display: 33px; }
  .care-title, .care-card.is-active .care-title { font-size: 16px; }
  .care-title em { font-size: 25px; }
}

/* Photographic compositions: environmental depth and a freestanding portrait. */
.care-layout { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); }
.care-photograph {
  aspect-ratio: 1.24;
  overflow: visible;
  isolation: isolate;
  margin: 0 28px 26px 0;
  border-radius: 0;
}
.care-photograph:before {
  content: '';
  position: absolute;
  inset: 32px -28px -26px 36px;
  z-index: -1;
  background: #dfe3d5;
}
.care-photograph > img { border-radius: 2px; object-position: 38% center; }

.about {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-block: 64px 0;
  background: #303923;
  color: #f5f1e7;
}
.about:before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(90deg, #303923 0%, #303923d9 28%, #30392355 64%, #30392380), url('fundo-capa-natural-v2.webp') 70% center / cover;
  opacity: .5;
}
.about:after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: radial-gradient(ellipse at 76% 33%, #a3af8a40, transparent 58%), linear-gradient(0deg, #303923 0%, #30392300 40%);
}
.about-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 60px; align-items: center; }
.about-copy { grid-column: 1; grid-row: 1; padding-block: 48px 90px; z-index: 2; }
.about-image {
  grid-column: 2;
  grid-row: 1;
  position: relative;
  height: clamp(580px, 47vw, 770px);
  min-height: 0;
  max-height: none;
  aspect-ratio: auto;
  overflow: visible;
  background: none;
  border-radius: 0;
}
.about-image > img {
  height: 109%;
  bottom: -56px;
  left: 49%;
  filter: drop-shadow(-15px 10px 35px #18211324);
  mask-image: linear-gradient(#000 0%, #000 73%, #000a 86%, transparent 98%);
}
.about-image:after { display: none; }
main > section.about h2 { color: #f5f1e7; }
main > section.about h2 em { color: #e5d8bd; font-size: clamp(48px, 4.3vw, 68px); }
.about-copy > p.doctor-credentials:not(.doctor-name) { color: #d3d8c5; }
.about-copy > p:not(.eyebrow):not(.doctor-name):not(.doctor-credentials) { color: #e0e3d8; }
.about-copy .text-link { color: #e9dfca; border-color: #e9dfca66; }

.consultation { padding-top: 104px; background: linear-gradient(125deg, #f1ecdf, #e6e8dc); }
.journey-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.consultation-visual {
  position: relative;
  isolation: isolate;
  height: clamp(240px, 23vw, 330px);
  overflow: hidden;
  margin-right: 28px;
  background: #d9dfcf;
}
.consultation-visual > img { width: 100%; height: 100%; object-fit: cover; object-position: left 55%; opacity: .75; filter: saturate(.6); }
.consultation-visual:after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #ede8d89e, #ede8d800 80%); }
.consultation-visual .time-display { position: absolute; left: 30px; bottom: 20px; z-index: 2; }
.consultation-visual .time-display > span { font-size: clamp(120px, 12vw, 185px); }
.consultation-visual .time-display > em { font-size: clamp(70px, 7vw, 110px); }
.journey-time > .time-caption { margin-top: 24px; }
.journey-steps { padding-top: 0; }

@media (min-width: 701px) and (max-width: 1000px) {
  .about-grid { gap: 32px; grid-template-columns: 1fr 1fr; }
  .about-image { height: 630px; }
  .about-image > img { height: 98%; bottom: -20px; }
  .about-copy { padding-block: 32px 70px; }
}
@media (max-width: 700px) {
  .care-layout, .about-grid, .journey-grid { grid-template-columns: minmax(0, 1fr); }
  .care-photograph { aspect-ratio: 4 / 3; margin: 0 16px 18px 0; }
  .care-photograph:before { inset: 18px -16px -18px 22px; }
  .about { padding-top: 0; }
  .about-grid { gap: 0; }
  .about-copy { grid-column: 1; grid-row: 2; padding: 12px 0 66px; }
  .about-image { grid-column: 1; grid-row: 1; height: 460px; margin-top: 25px; }
  .about-image > img { height: 110%; bottom: -28px; left: 50%; }
  .about:before {
    background: linear-gradient(to bottom, #30392300 0px, #303923 620px), linear-gradient(90deg, #30392399, #30392322), url('fundo-capa-natural-v2.webp');
    background-position: center, center, 68% top;
    background-size: 100% 100%, 100% 100%, auto 650px;
    background-repeat: no-repeat;
    opacity: .4;
  }
  main > section.about h2 em { font-size: 46px; }
  .consultation { padding-top: 66px; }
  .consultation-visual { height: 240px; margin-right: 0; }
  .consultation-visual .time-display { left: 22px; bottom: 18px; }
  .consultation-visual .time-display > span { font-size: 130px; }
  .consultation-visual .time-display > em { font-size: 80px; }
}
@media (max-width: 370px) {
  .about-image { height: 400px; }
  main > section.about h2 em { font-size: 42px; }
}

/* The clinical narrative: life stages, individual resources, then the encounter. */
.care-paths {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1fr);
  gap: var(--section-gap);
  align-items: center;
  margin-top: 48px;
}
.care-illustration { margin: 0; }
.care-illustration img { width: 100%; height: auto; max-height: 520px; object-fit: contain; }
.audience-panel { border-top: 1px solid #3f442b2b; padding: 28px 0; }
.audience-panel:last-child { border-bottom: 1px solid #3f442b2b; }
.audience-panel h3 { font: 400 21px/1.35 var(--sans); letter-spacing: -.03em; }
.audience-panel h3 em { font: italic 400 34px/1.2 var(--serif); color: #697557; margin-left: 4px; }
.audience-panel p { font: 400 14px/1.9 var(--sans); color: #68705e; max-width: 49ch; margin-top: 16px; }
.audience-panel .text-link { margin-top: 22px; }

.approach { background: linear-gradient(120deg, #e8ecdf, #eff0e7); }
.resource-composition { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); gap: 28px; margin-top: 48px; }
.resource-feature { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: center; padding: 24px; min-height: 420px; background: #f8f5ed; border-radius: 4px; }
.resource-feature .resource-drawing img { width: 100%; height: auto; }
.resource-copy { padding: 14px; }
.resource-copy h3 { font: 400 20px/1.4 var(--sans); letter-spacing: -.025em; }
.resource-copy h3 em { display: block; font: italic 400 36px/1.12 var(--serif); letter-spacing: -.035em; color: #566347; }
.resource-copy p { font: 400 13px/1.85 var(--sans); color: #68705e; margin-top: 18px; max-width: 42ch; }
.resource-copy .text-link { margin-top: 24px; color: var(--olive); }
.resource-secondary { padding: 14px 26px 26px; border: 1px solid #3f442b25; border-radius: 4px; display: flex; flex-direction: column; }
.resource-secondary .resource-drawing { height: 180px; margin: 0 auto 12px; }
.resource-secondary .resource-drawing img { width: auto; height: 100%; }
.resource-secondary .resource-copy { padding: 0; }
.resource-secondary .resource-copy h3 em { font-size: 32px; }
.routine-context { display: grid; grid-template-columns: 1fr 1.5fr; align-items: center; gap: var(--section-gap); margin-top: 48px; padding-top: 30px; border-top: 1px solid #3f442b26; }
.routine-context p { font: 400 18px/1.4 var(--sans); letter-spacing: -.025em; }
.routine-context p em { font: italic 400 29px/1.2 var(--serif); color: #697557; }
.routine-context ul { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 32px; list-style: none; margin: 0; padding: 0; }
.routine-context li { display: flex; align-items: center; gap: 10px; font: 400 13px/1.6 var(--sans); color: #566347; }
.routine-context li:before { content: ''; width: 5px; height: 5px; border: 1px solid #8d9b7c; border-radius: 50%; flex-shrink: 0; }

/* Brand linework supports the real portrait rather than suggesting a stock room. */
.about:before { background: url('simbolo.svg') 88% 35% / min(53vw, 700px) auto no-repeat; opacity: .055; }
.consultation { background: #f5f1e7; }
.journey-time { position: relative; isolation: isolate; overflow: hidden; min-height: 412px; padding: 32px; border-radius: 4px; background: linear-gradient(125deg, #465238, #303923); }
.journey-time > :not(.consultation-symbol) { position: relative; z-index: 1; }
.journey-time .time-display { color: #e9dfca; }
.journey-time .time-display > span { font-size: clamp(120px, 11vw, 165px); }
.journey-time .time-display > em { font-size: clamp(70px, 6.5vw, 98px); }
.consultation .journey-time > .time-caption { margin: 24px 0 14px; font: 400 17px/1.5 var(--sans); color: #f5f1e7; }
.consultation .journey-time > p:not(.time-caption) { color: #d4dacb; font-size: 14px; max-width: 38ch; }
.journey-time > .button { margin-top: 28px; }
.consultation-symbol { position: absolute; right: -50px; bottom: -20px; width: 290px; height: 290px; opacity: .065; pointer-events: none; }

@media (min-width: 701px) and (max-width: 1100px) {
  .resource-composition { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 24px; }
  .resource-feature { display: flex; flex-direction: column; align-items: stretch; padding: 18px 24px 28px; }
  .resource-feature .resource-drawing { height: 220px; margin: auto; }
  .resource-feature .resource-drawing img { height: 100%; width: auto; }
  .resource-feature .resource-copy { padding: 0; }
  .resource-secondary .resource-drawing { height: 220px; margin-bottom: 0; }
  .resource-secondary .resource-copy h3 em { font-size: 34px; }
  .routine-context { gap: 36px; }
  .journey-time { padding: 28px; }
}
@media (max-width: 700px) {
  .care-paths { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 24px; }
  .care-illustration { margin-inline: 4px; }
  .care-illustration img { max-height: 340px; }
  .audience-panel { padding-block: 25px; }
  .audience-panel h3 { font-size: 19px; }
  .audience-panel h3 em { font-size: 31px; }
  .audience-panel p { font-size: 13px; margin-top: 14px; }
  .audience-panel .text-link { margin-top: 20px; }
  .resource-composition { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 30px; }
  .resource-feature { display: block; padding: 20px 24px 28px; min-height: 0; }
  .resource-feature .resource-drawing { max-width: 330px; margin: 0 auto 18px; }
  .resource-copy { padding: 0; }
  .resource-copy h3 { font-size: 19px; }
  .resource-copy h3 em { font-size: 34px; }
  .resource-secondary { padding: 12px 24px 28px; }
  .resource-secondary .resource-drawing { height: 190px; margin-bottom: 12px; }
  .routine-context { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-top: 32px; padding-top: 28px; }
  .routine-context p { font-size: 17px; }
  .routine-context p em { font-size: 27px; }
  .routine-context ul { gap: 16px; }
  .routine-context li { font-size: 12px; }
  .about:before { background: url('simbolo.svg') center 100px / 110% auto no-repeat; opacity: .055; }
  .journey-time { padding: 28px 24px; min-height: 0; }
  .journey-time .time-display > span { font-size: 128px; }
  .journey-time .time-display > em { font-size: 76px; }
  .consultation .journey-time > .time-caption { font-size: 16px; }
  .consultation .journey-time > p:not(.time-caption) { font-size: 13px; }
}
