.guide-heading { position: relative; padding: 38px 0 30px; border-bottom: 1px solid #ceded1; }
.guide-heading h1 { margin: 8px 0 20px; font-size: 42px; font-weight: 900; line-height: 1.45; color: var(--green-dark); }
.guide-heading .guide-intro { max-width: 850px; font-size: 18px; line-height: 1.85; }
.guide-heading .guide-intro strong { font-weight: 700; }
.guide-heading .page-jump { justify-content: flex-start; flex-wrap: wrap; gap: 10px 30px; margin-top: 24px; }
.guide-photo-strip { width: min(1120px, 100%); height: 290px; margin: 0 auto; overflow: hidden; }
.guide-photo-strip picture,
.guide-photo-strip img { display: block; width: 100%; height: 100%; object-fit: cover; }
.consultation-strip { width: min(760px, 100%); height: auto; }
.consultation-strip img { height: auto; object-fit: contain; }
.treatment-strip img { object-position: center 60%; }
.guide-columns { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr); gap: 64px; align-items: start; }
.guide-page h2 { font-size: 32px; line-height: 1.6; margin: 0 0 24px; color: var(--green-dark); }
.guide-page h3 { font-size: 23px; line-height: 1.6; margin: 0 0 12px; color: var(--green-dark); }
.guide-page p { font-size: 18px; line-height: 1.9; }
.guide-section-label > p:not(.kicker) { margin-bottom: 20px; }
.guide-section-heading { margin-bottom: 38px; }
.guide-section-heading p { margin-block: 12px; }
.editorial-number { color: #a9671d; font-size: 22px; font-weight: 700; line-height: 1.5; }
.preparation-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid #aec6b7; }
.preparation-list li { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 16px; padding: 26px 0; border-bottom: 1px solid #aec6b7; }
.preparation-list p { margin: 0; }
.visit-timeline { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 48px; list-style: none; margin: 0; padding: 0; }
.visit-timeline li { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 14px; border-top: 1px solid #aec6b7; padding: 28px 0; }
.visit-timeline p { margin: 0 0 10px; }
.faq-list { border-top: 2px solid #16775d; }
.faq-list details { border-bottom: 1px solid #aec6b7; }
.faq-list summary { padding: 22px 4px; cursor: pointer; font-size: 19px; font-weight: 700; line-height: 1.7; color: #0d4638; }
.faq-list summary::marker { color: #a86920; }
.faq-list details > div { padding: 0 8px 24px 22px; }
.faq-list p { margin: 0 0 10px; }
.faq-list summary:hover { color: #a1471b; }
.movement-list { margin: 0; border-top: 1px solid #aec6b7; }
.movement-list > div { padding: 24px 0; border-bottom: 1px solid #aec6b7; }
.movement-list dt { margin: 0 0 9px; font-size: 21px; font-weight: 700; color: var(--green-dark); }
.movement-list dd { margin: 0; font-size: 18px; line-height: 1.9; }
.assessment-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 54px; align-items: center; padding: 42px 0; border-top: 1px solid #b9cdbd; }
.assessment-row picture { display: block; }
.assessment-row img { display: block; width: 100%; height: auto; }
.assessment-row#movement-check picture { width: 290px; max-width: 100%; justify-self: center; }
.assessment-row#movement-check img { max-height: 400px; object-fit: contain; }
.assessment-row-reverse picture { order: 2; }
.assessment-row .step-eyebrow { margin: 0 0 18px; font-size: 16px; color: #94601f; font-weight: 700; }
.assessment-row p { margin-bottom: 18px; }
.guide-page .guide-caution { margin: 26px 0 0; padding: 20px 0 0; border-top: 1px solid #c3d3c5; color: #435b4d; font-size: 15px; line-height: 1.8; }
.next-link-list { border-top: 2px solid #16775d; }
.next-link-list a { display: grid; gap: 8px; padding: 22px 4px; border-bottom: 1px solid #c0d1c4; }
.next-link-list strong { color: var(--green-dark); font-size: 22px; }
.next-link-list span { color: #9b481e; font-size: 16px; font-weight: 700; }
.next-link-list a:hover { background: #fff; }
.guide-next { position: relative; padding: 46px 0; border-top: 1px solid #c5d8c9; }
.guide-next > .section-inner { display: grid; grid-template-columns: 1.1fr 1fr; gap: 30px; align-items: center; }
.guide-next h2 { margin-bottom: 12px; font-size: 27px; }
.guide-next p { margin: 0; }
.guide-next .inline-actions { margin: 0; justify-content: flex-end; align-items: center; }
.support-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 54px; align-items: center; }
.support-layout picture,
.support-layout img { display: block; width: 100%; height: auto; }
.support-points { display: grid; gap: 10px; margin: 22px 0 0; padding-left: 24px; color: #0d4638; font-size: 18px; font-weight: 700; }
.document-descriptions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 30px; }
.document-descriptions > div { border-top: 1px solid #b1c8b8; padding-top: 20px; }
.document-descriptions h3 { font-size: 21px; margin: 10px 0; }
.document-descriptions p { margin: 0; font-size: 17px; }
.guide-page .aftercare-gallery { align-items: start; }
@media (max-width: 980px) {
  .guide-columns { gap: 32px; grid-template-columns: .9fr 1.1fr; }
  .guide-page h2 { font-size: 28px; }
  .assessment-row,
  .support-layout { gap: 32px; }
}
@media (max-width: 720px) {
  .guide-heading { padding: 26px 0 22px; }
  .guide-heading h1 { margin: 8px 0 16px; font-size: 30px; }
  .guide-heading .guide-intro { font-size: 17px; }
  .guide-heading .page-jump { gap: 0 18px; margin-top: 16px; }
  .guide-heading .page-jump a { font-size: 15px; }
  .guide-photo-strip { height: 230px; }
  .consultation-strip { height: auto; }
  .guide-columns,
  .guide-next > .section-inner { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .guide-page h2 { font-size: 27px; margin-bottom: 18px; }
  .guide-page h3 { font-size: 21px; }
  .guide-page p,
  .movement-list dd { font-size: 17px; }
  .guide-section-heading { margin-bottom: 24px; }
  .preparation-list li { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; padding: 22px 0; }
  .visit-timeline { grid-template-columns: minmax(0, 1fr); }
  .visit-timeline li { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; }
  .faq-list summary { font-size: 18px; padding-block: 18px; }
  .faq-list details > div { padding-left: 12px; }
  .movement-list dt { font-size: 20px; }
  .assessment-row { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 30px 0; }
  .assessment-row-reverse picture { order: 0; }
  .assessment-row#movement-check picture { width: 235px; }
  .assessment-row .step-eyebrow { font-size: 15px; margin-bottom: 10px; }
  .guide-next { padding: 32px 0; }
  .guide-next h2 { font-size: 25px; }
  .guide-next .inline-actions { justify-content: flex-start; }
  .support-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .support-points { font-size: 17px; }
  .document-descriptions { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .document-descriptions > div { display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; }
  .document-descriptions h3 { margin: 0 0 8px; font-size: 20px; }
  .document-descriptions p { grid-column: 2; }
  .guide-page .aftercare-gallery { grid-template-columns: minmax(0, 1fr); gap: 26px; max-width: 420px; margin: 0 auto; }
  .guide-page .aftercare-sheet { grid-column: auto; }
  .guide-page .aftercare-paper { height: 280px; }
  .guide-page .aftercare-caption strong { font-size: 19px; }
  .guide-page .aftercare-caption small,
  .guide-page .aftercare-caption em { font-size: 15px; }
}
