/* NaturalMED shared treatment-page system */
body:has(.nm-treatment-page) { overflow-x: clip; }
body:has(.nm-treatment-page) #main-content > .container { max-width: none; padding-top: 0; width: 100%; }
body:has(.nm-treatment-page) #main-content .container::before { display: none; }
body:has(.nm-treatment-page) #left-area { float: none; padding-bottom: 0; width: 100%; }
body:has(.nm-treatment-page) article > .entry-title { display: none; }
body:has(.nm-treatment-page) article, body:has(.nm-treatment-page) .entry-content { margin: 0; padding: 0; }

.nm-treatment-page {
  --nm-ink: #173b3d;
  --nm-text: #425758;
  --nm-teal: #2f7473;
  --nm-teal-dark: #1f595a;
  --nm-sage: #dfe9df;
  --nm-cream: #f7f3ea;
  --nm-white: #fff;
  color: var(--nm-text);
  font-size: 18px;
  line-height: 1.75;
}

.nm-treatment-page *, .nm-treatment-page *::before, .nm-treatment-page *::after { box-sizing: border-box; }
.nm-treatment-page h1, .nm-treatment-page h2, .nm-treatment-page h3 { color: var(--nm-ink); line-height: 1.15; margin-top: 0; }
.nm-treatment-page h1 { font-size: clamp(2.75rem, 6vw, 5.3rem); letter-spacing: -.035em; margin-bottom: .3em; }
.nm-treatment-page h2 { font-size: clamp(2rem, 4vw, 3.25rem); letter-spacing: -.025em; margin-bottom: .55em; }
.nm-treatment-page h3 { font-size: 1.3rem; margin-bottom: .45em; }
.nm-treatment-page p { margin: 0 0 1.1em; }
.nm-treatment-page a { color: var(--nm-teal-dark); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.nm-treatment-page img { display: block; max-width: 100%; }
.nm-container { width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.nm-section { padding: clamp(70px, 9vw, 120px) 0; }
.nm-section--cream { background: var(--nm-cream); }
.nm-section--sage { background: #edf3ec; }
.nm-eyebrow { color: var(--nm-teal); font-size: .78rem; font-weight: 700; letter-spacing: .15em; margin-bottom: 1rem !important; text-transform: uppercase; }
.nm-lead { color: #345153; font-size: clamp(1.15rem, 2vw, 1.4rem); line-height: 1.6; max-width: 690px; }
.nm-narrow { max-width: 780px; }
/*
.nm-breadcrumbs { background: #f8faf7; border-bottom: 1px solid #e4ebe2; color: #627171; font-size: .88rem; padding: 13px 0; }
.nm-breadcrumbs a { color: #526666; text-decoration: none; }
.nm-breadcrumbs span { margin: 0 .55em; opacity: .55; }
*/
.nm-treatment-hero { background: linear-gradient(135deg, #edf3ec 0%, #f7f3ea 100%); overflow: hidden; }
.nm-treatment-hero__grid { align-items: center; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); min-height: 660px; }
.nm-treatment-hero__copy { padding: 70px clamp(32px, 6vw, 88px) 70px max(20px, calc((100vw - 1160px)/2)); }
.nm-treatment-hero__media { align-self: stretch; min-height: 620px; position: relative; }
.nm-treatment-hero__media img { height: 100%; inset: 0; object-fit: cover; object-position: 57% center; position: absolute; width: 100%; }
.nm-treatment-hero__media::after { background: linear-gradient(90deg, rgba(247,243,234,.3), transparent 22%); content: ""; inset: 0; pointer-events: none; position: absolute; }
.nm-button { background: var(--nm-teal-dark); border: 2px solid var(--nm-teal-dark); border-radius: 999px; color: #fff !important; display: inline-block; font-size: .95rem; font-weight: 700; letter-spacing: .02em; margin-top: .4rem; padding: .78rem 1.45rem; text-decoration: none !important; transition: background .2s ease, color .2s ease, transform .2s ease; }
.nm-button:hover, .nm-button:focus { background: transparent; color: var(--nm-teal-dark) !important; transform: translateY(-2px); }
.nm-button--light { background: #fff; border-color: #fff; color: var(--nm-teal-dark) !important; }

.nm-trust-strip { background: var(--nm-ink); color: #fff; }
.nm-trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.nm-trust-item { padding: 30px 26px; text-align: center; }
.nm-trust-item + .nm-trust-item { border-left: 1px solid rgba(255,255,255,.18); }
.nm-trust-item strong { display: block; font-size: 1.02rem; letter-spacing: .02em; }
.nm-trust-item span { color: rgba(255,255,255,.72); display: block; font-size: .82rem; margin-top: .25rem; }

.nm-two-col { align-items: start; display: grid; gap: clamp(45px, 7vw, 90px); grid-template-columns: 1fr 1fr; }
.nm-callout { background: #fff; border-left: 5px solid var(--nm-teal); box-shadow: 0 18px 48px rgba(26,59,60,.09); padding: clamp(28px, 4vw, 48px); }
.nm-callout p:last-child { margin-bottom: 0; }

.nm-card-grid { display: grid; gap: 22px; grid-template-columns: repeat(4, 1fr); margin-top: 42px; }
.nm-card { background: #fff; border: 1px solid #e3e9e2; border-radius: 4px; box-shadow: 0 12px 35px rgba(24,58,59,.06); padding: 30px; }
.nm-step { color: var(--nm-teal); font-size: .75rem; font-weight: 800; letter-spacing: .14em; margin-bottom: .8rem; text-transform: uppercase; }
.nm-card p:last-child { margin-bottom: 0; }

.nm-pill-list { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; padding: 0; }
.nm-pill-list li { background: #fff; border: 1px solid #dce6dc; border-radius: 999px; color: var(--nm-ink); list-style: none; padding: .52rem 1rem; }

.nm-related-grid { display: grid; gap: 24px; grid-template-columns: repeat(2, 1fr); margin-top: 36px; }
.nm-related-card { background: #fff; border-top: 4px solid var(--nm-teal); padding: 34px; }
.nm-related-card a { font-weight: 700; }

.nm-safety { background: var(--nm-ink); color: rgba(255,255,255,.84); }
.nm-safety h2, .nm-safety h3 { color: #fff; }
.nm-safety a { color: #dcebdd; }
.nm-safety__grid { display: grid; gap: 60px; grid-template-columns: .85fr 1.15fr; }
.nm-safety ul { margin: 0; padding-left: 1.2em; }
.nm-safety li { margin-bottom: .75em; }

.nm-faq { border-top: 1px solid #dfe6df; }
.nm-faq details { border-bottom: 1px solid #dfe6df; padding: 0; }
.nm-faq summary { color: var(--nm-ink); cursor: pointer; font-size: 1.12rem; font-weight: 700; list-style: none; padding: 23px 44px 23px 0; position: relative; }
.nm-faq summary::-webkit-details-marker { display: none; }
.nm-faq summary::after { content: "+"; font-size: 1.55rem; font-weight: 400; position: absolute; right: 5px; top: 17px; }
.nm-faq details[open] summary::after { content: "−"; }
.nm-faq details p { max-width: 820px; padding: 0 0 22px; }

.nm-final-cta { background: var(--nm-teal); color: rgba(255,255,255,.86); text-align: center; }
.nm-final-cta h2 { color: #fff; }
.nm-final-cta .nm-narrow { margin-inline: auto; }

@media (max-width: 980px) {
  .nm-treatment-hero__grid { grid-template-columns: 1fr; }
  .nm-treatment-hero__copy { padding: 72px max(24px, calc((100vw - 720px)/2)); }
  .nm-treatment-hero__media { min-height: 520px; }
  .nm-card-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px) {
  .nm-treatment-page { font-size: 17px; }
  .nm-container { width: min(100% - 30px, 1160px); }
  .nm-section { padding: 62px 0; }
  .nm-treatment-hero__grid { min-height: 0; }
  .nm-treatment-hero__copy { padding: 56px 22px 50px; }
  .nm-treatment-hero__media { min-height: 390px; }
  .nm-treatment-hero__media img { object-position: 60% center; }
  .nm-trust-grid, .nm-two-col, .nm-card-grid, .nm-related-grid, .nm-safety__grid { grid-template-columns: 1fr; }
  .nm-trust-item { padding: 20px 16px; }
  .nm-trust-item + .nm-trust-item { border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }
  .nm-callout, .nm-card, .nm-related-card { padding: 26px 24px; }
}
