/* Client review, September 2026: familiar editorial design, clearer conversion. */
.hero { background: radial-gradient(ellipse at 84% 18%, #e2d9ed 0%, transparent 54%), linear-gradient(135deg, #faf8fc, #eee8f4 62%, #e6ece5); }
.hero__meta { border-color: rgba(89, 50, 143, .24); }
.hero .button--dark, .service-story--weight .button--dark { background: var(--violet); }
.service-story--weight { background: #eee8f4; }
.page-weight .service-hero { background: var(--violet); }
.page-weight .care-program { background: #f0eaf6; }
.page-weight .care-program__pillar > span { color: var(--violet-bright); }
.page-weight .page-section--dark, .page-weight .next-care { background: var(--violet-deep); }
.mega-menu__grid { grid-template-columns: 1fr; }
.mega-menu__item { min-height: 88px; }
.mega-menu__directory { align-content: center; }
.professional-card__actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.professional-card__instagram { grid-column: 1 / -1; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.professional-card__actions .button, .professional-card__contact { font-size: .82rem; }
.professional-card__contact, .button--whatsapp {
  justify-content: center; min-height: 48px; padding: 12px 17px;
  color: #fff; background: #166344; border: 1px solid #166344; border-radius: 8px;
}
.professional-card__contact:hover, .button--whatsapp:hover { background: #104c34; color: #fff; }
.professional-card__booking { width: 100%; min-height: 48px; border-radius: 8px; }
.professional-card__contact { width: 100%; text-align: center; }
.service-hero__actions a[href*="wa.me"], .next-care__actions a[href*="wa.me"] { background: #166344; color: #fff; border-color: #78af94; }
.hero__actions a[href*="wa.me"], .contact__actions a[href*="wa.me"] { background: #166344; color: #fff; border-color: #78af94; padding: 16px 24px; border-radius: 999px; }
.area-team .professional-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.area-team .professional-card__portrait { min-height: 0; aspect-ratio: 1; }
.area-team .professional-card__identity h2 { font-size: clamp(1.6rem, 2vw, 2.2rem); }
.area-team .professional-card__body { padding: 26px; }
.area-team .professional-card { min-width: 0; }
.area-team .professional-grid:has(> :only-child) { max-width: 480px; grid-template-columns: 1fr; }
.weight-manifesto { margin-bottom: 76px; padding: clamp(28px, 5vw, 64px); border-left: 4px solid var(--violet-bright); background: #eee8f4; }
.weight-manifesto h2 { max-width: 850px; margin: 0 0 20px; color: var(--violet); font-size: clamp(2rem, 4vw, 4rem); line-height: 1.05; letter-spacing: -.04em; font-weight: 500; }
.weight-manifesto > p:last-child { max-width: 720px; color: var(--ink-soft); font-size: .94rem; }
.coordinated-care { margin-top: 36px; border-block: 1px solid var(--line); }
.coordinated-care summary { padding: 24px 0; cursor: pointer; font-weight: 650; }
.coordinated-care > div { padding: 0 0 28px; max-width: 780px; }
.coordinated-care .button { margin: 8px 12px 0 0; }
.clinic-purpose__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.clinic-purpose__grid > article { padding: clamp(28px, 4vw, 54px); background: #eee8f4; }
.clinic-purpose__grid > article:nth-child(2) { background: #e5ebe2; }
.clinic-purpose__grid article > span, .clinic-values__grid article > span { color: var(--violet-bright); font-size: .75rem; font-weight: 700; letter-spacing: .06em; }
.clinic-purpose__grid h3 { margin: 24px 0; font-size: 3rem; font-weight: 450; letter-spacing: -.04em; }
.clinic-purpose__grid p { color: #45404a; }
.clinic-values { padding-top: 80px; }
.clinic-values > h2 { max-width: 720px; font-size: clamp(2rem,4vw,3.5rem); line-height: 1.08; font-weight: 450; letter-spacing: -.035em; }
.clinic-values__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px; }
.clinic-values__grid article { padding-top: 26px; border-top: 1px solid var(--line); }
.clinic-values__grid h3 { font-size: 1.18rem; line-height: 1.25; }
.clinic-values__grid p { font-size: .94rem; color: var(--ink-soft); }
.is-booking-open { overflow: hidden; }
.booking-dialog { width: min(720px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 0; color: var(--ink); background: #fff; border: 0; border-radius: 18px; box-shadow: 0 25px 120px #180d3155; overscroll-behavior: contain; }
.booking-dialog::backdrop { background: rgba(24,13,49,.65); backdrop-filter: blur(5px); }
.booking-dialog__header { position: sticky; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 22px 28px; color: white; background: var(--violet); }
.booking-dialog__header p { margin: 0 0 7px; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: #ded1ef; }
.booking-dialog__header h2 { margin: 0; font-size: 1.5rem; line-height: 1.2; font-weight: 500; }
.booking-dialog__close { flex: 0 0 44px; height: 44px; padding: 0; border: 1px solid #ffffff66; border-radius: 50%; color: white; background: transparent; font-size: 1.8rem; cursor: pointer; }
.booking-dialog__intro, .booking-dialog__fallback { margin: 0; padding: 18px 28px; font-size: .87rem; background: #f4f0f8; }
.booking-dialog__fallback a { text-decoration: underline; font-weight: 600; }
.booking-dialog__content { min-height: 250px; padding: 8px; }
.booking-dialog__content iframe { display: block; width: 100%; height: 680px; min-height: 628px; border: 0; border-radius: 3px; }
.booking-dialog__loading { padding: 12px 20px; color: var(--ink-soft); }
.booking-dialog a:focus-visible, .booking-dialog button:focus-visible { outline: 3px solid #b8a5d6; outline-offset: 4px; }
@media (max-width: 1020px) {
  .area-team .professional-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .clinic-values__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 650px) {
  .area-team .professional-grid, .clinic-purpose__grid { grid-template-columns: 1fr; }
  .clinic-values__grid { gap: 26px 20px; }
  .clinic-values__grid h3 { font-size: 1.05rem; }
  .weight-manifesto { margin-bottom: 44px; }
  .booking-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); border-radius: 12px; }
  .booking-dialog__header { padding: 18px; }
  .booking-dialog__header h2 { font-size: 1.22rem; }
  .booking-dialog__intro, .booking-dialog__fallback { padding: 16px 18px; }
}
