/* Treatment directory: scoped to preserve all other pages. */
.internal-page .treatments-index { max-width: 1150px; margin: auto; padding: 0 1.5rem; }
.internal-page .treatments-index > section { max-width: none; padding: 0; margin: 0; }
.internal-page .treatments-index .treatments-intro { padding: 4.5rem 0 3rem; max-width: 780px; }
.internal-page .treatments-index h1 { font-size: clamp(2.25rem,4vw,3.5rem); line-height: 1.15; max-width: 700px; letter-spacing: -.025em; }
.internal-page .treatments-index .page-lead { max-width: 660px; margin: 0; }
.internal-page .treatments-index .treatments-heading { margin-bottom: 1.75rem; }
.internal-page .treatments-index .treatments-heading h2 { margin: 0 0 .5rem; }
.internal-page .treatments-index .treatments-heading p { color: #62595c; margin: 0; }
.treatments-featured-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; }
.treatment-feature { display: flex; flex-direction: column; padding: 2rem 1.75rem; border: 1px solid #e5dccc; border-top: 3px solid var(--dourado); border-radius: 10px; background: #fff; }
.internal-page .treatments-index .treatment-category { font-size: .7rem; line-height: 1.5; letter-spacing: .13em; font-weight: 700; color: #76602e; margin: 0 0 1.25rem; }
.internal-page .treatments-index .treatment-feature h3 { font: 400 1.65rem/1.25 Georgia,serif; margin: 0 0 1rem; }
.internal-page .treatments-index .treatment-feature > p:not(.treatment-category) { font-size: 1rem; color: #554e50; margin-bottom: 1.75rem; }
.treatment-feature > a { display: inline-flex; gap: 1.25rem; align-items: center; align-self: flex-start; min-height: 44px; margin-top: auto; font-size: .9375rem; font-weight: 700; color: var(--marsala); text-underline-offset: 5px; }
.treatment-feature > a span { font-size: 1.25rem; }
.internal-page .treatments-index .treatments-more { margin-top: 4rem; padding-top: 3rem; border-top: 1px solid #e0d7c8; }
.treatments-more-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 3rem; }
.treatment-option { min-width: 0; padding: 1.5rem 0; border-top: 1px solid #ded6c9; }
.internal-page .treatments-index .treatment-option h3 { font: 400 1.3rem/1.4 Georgia,serif; margin: 0 0 .5rem; }
.treatment-option h3 a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 44px; color: var(--marsala); text-decoration: none; }
.treatment-option h3 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.treatment-option h3 a span { font: 1.25rem Arial,sans-serif; flex-shrink: 0; }
.internal-page .treatments-index .treatment-option p { font-size: .975rem; color: #62595c; margin: 0; max-width: 48ch; }
.internal-page .treatments-index .treatments-invitation { margin: 3.5rem 0 1rem; padding: 2.75rem; background: #f0ebe3; border-radius: 12px; border-left: 3px solid var(--dourado); }
.internal-page .treatments-index .treatments-invitation h2 { max-width: 650px; margin: 0 0 1rem; font-size: clamp(1.75rem,3vw,2.3rem); }
.internal-page .treatments-index .treatments-invitation > p:not(.page-eyebrow) { max-width: 720px; color: #554e50; }
@media (max-width:900px) {
 .treatments-featured-grid { grid-template-columns: 1fr; }
 .treatment-feature { padding: 1.75rem; }
 .internal-page .treatments-index .treatment-feature > p:not(.treatment-category) { max-width: 65ch; margin-bottom: .75rem; }
}
@media (max-width:600px) {
 .internal-page .treatments-index { padding: 0 1.25rem; }
 .internal-page .treatments-index .treatments-intro { padding: 2.75rem 0 2.5rem; }
 .internal-page .treatments-index h1 { font-size: 2.25rem; }
 .treatments-more-grid { grid-template-columns: 1fr; }
 .internal-page .treatments-index .treatments-more { margin-top: 2.75rem; padding-top: 2.5rem; }
 .internal-page .treatments-index .treatments-invitation { margin-top: 2.5rem; padding: 1.75rem 1.25rem; }
}
