.nl-perimenopause-intro { background: linear-gradient(115deg, #f3f5ef, #fffaf6); }
.nl-perimenopause-intro .nl-gynecology-subtitle { margin-top: 0; }
.nl-perimenopause-intro h1 { margin-bottom: 24px; }
.nl-perimenopause-story { margin-bottom: 28px; }
.nl-perimenopause-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.nl-perimenopause-grid > a { grid-column: span 2; }
.nl-perimenopause-grid > a:nth-child(n + 4) { grid-column: span 3; }
.nl-coming-soon-label { display: inline-block; align-self: flex-start; margin: 0 0 22px; padding: 7px 12px; border: 1px solid #d4bdb2; border-radius: 999px; background: #fff8f1; color: #805345; font-size: 13px; line-height: 1.4; font-weight: 600; }
.nl-gynecology-content > .nl-coming-soon-label { font-size: 13px; }
.nl-perimenopause .nl-specialists { margin-top: 30px; }
.nl-perimenopause .nl-specialist-card:nth-child(3n + 1) { background: #f3f5ef; }
.nl-perimenopause .nl-specialist-card:nth-child(3n + 2) { background: #fbf1ef; }
.nl-perimenopause .nl-specialist-card:nth-child(3n) { background: #fff8ed; }
.nl-perimenopause .nl-specialist-card > .nl-specialist-portrait { aspect-ratio: 1; }
.nl-perimenopause .nl-specialist-card h3 { overflow-wrap: anywhere; }
.nl-faq { max-width: 860px; margin: 30px auto; }
.nl-faq details { margin: 0 0 14px; border: 1px solid var(--nl-line); border-radius: 14px; background: #fffdfb; overflow: hidden; }
.nl-faq summary { padding: 23px 26px; color: var(--nl-ink); cursor: pointer; font-size: 18px; font-weight: 600; line-height: 1.5; }
.nl-faq summary::marker { color: var(--nl-rose-dark); }
.nl-faq summary:hover, .nl-faq details[open] > summary { background: #f3f5ef; }
.nl-faq summary:focus-visible { outline: 3px solid var(--nl-rose-dark); outline-offset: -4px; }
.nl-faq-answer { padding: 22px 26px; }
.nl-faq-answer p { margin: 0 0 16px; font-size: 16px; line-height: 1.8; }
.nl-faq-answer p:last-child { margin-bottom: 0; }
.nl-faq-answer a { color: var(--nl-rose-dark); text-underline-offset: 3px; }
.nl-program-copy { max-width: 860px; margin-inline: auto; }
.nl-program-section { margin-bottom: 38px; }
.nl-program-section h2 { margin: 0 0 24px; font-size: clamp(28px, 3.5vw, 38px); line-height: 1.2; }
.nl-program-copy p, .nl-program-copy li { font-size: 17px; line-height: 1.8; }
.nl-program-copy p { margin: 0 0 22px; }
.nl-program-copy .nl-program-lead { font-size: 19px; color: var(--nl-ink); }
.nl-program-compass { padding: 32px; border-radius: 18px; background: #f3f5ef; }
.nl-program-copy .nl-program-emphasis { margin-block: 26px; padding-left: 22px; border-left: 3px solid #68745d; color: var(--nl-ink); }
.nl-program-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 0; margin: 24px 0; list-style: none; }
.nl-program-options li { padding: 26px; border: 1px solid var(--nl-line); border-radius: 16px; background: #fff8ed; }
.nl-program-options li:nth-child(2) { background: #fbf1ef; }
.nl-program-closing { padding: 28px 32px; border-radius: 16px; background: #fbf1ef; color: var(--nl-rose-dark); }
.nl-program-closing p:first-child { font-size: 20px; }
.nl-program-closing p:last-child, .nl-program-compass > :last-child { margin-bottom: 0; }
.nl-program-copy + .nl-actions { max-width: 860px; margin-inline: auto; }
@media (max-width: 900px) {
  .nl-perimenopause-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nl-perimenopause-grid > a, .nl-perimenopause-grid > a:nth-child(n + 4) { grid-column: auto; }
  .nl-perimenopause-grid > a:last-child { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .nl-program-compass, .nl-program-closing { padding: 22px; }
  .nl-program-copy p, .nl-program-copy li { font-size: 16px; line-height: 1.75; }
  .nl-program-copy .nl-program-lead { font-size: 17px; }
  .nl-program-options { grid-template-columns: minmax(0, 1fr); }
  .nl-program-options li { padding: 22px; }
  .nl-perimenopause-grid { grid-template-columns: minmax(0, 1fr); }
  .nl-perimenopause-grid > a:last-child { grid-column: auto; }
  .nl-faq summary { padding: 20px; font-size: 16px; }
  .nl-faq-answer { padding: 20px; }
}
