.visit-preparation { background: #e8e7de; }
.visit-preparation .prepare-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(28px, 5vw, 80px); }
.visit-preparation h2 { font-size: clamp(30px, 3.8vw, 54px); line-height: 1.08; letter-spacing: -.04em; max-width: 18ch; }
.visit-preparation ol { margin: 0; padding-left: 1.4em; }
.visit-preparation li { padding: 0 0 16px 8px; line-height: 1.65; }
.visit-preparation li::marker { color: #b73d00; font-family: "IBM Plex Mono", monospace; }
.visit-preparation .prepare-note { border-top: 1px solid #cbcbc2; margin: 8px 0 22px; padding-top: 18px; line-height: 1.7; }
.visit-preparation .prepare-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 26px; }
.service-reading { margin-top: 40px; padding-top: 24px; border-top: 1px solid #cbcbc2; }
.service-reading h3 { font-size: 19px; margin-bottom: 14px; }
.service-reading ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 30px; }
.service-reading a { display: block; border-bottom: 1px solid #cbcbc2; padding: 13px 0; line-height: 1.45; text-decoration: none; }
.service-reading a:hover { color: #ac3b00; }
.profile-feedback { border-top: 1px solid #cbcbc2; }
.profile-feedback .feedback-copy { max-width: 690px; line-height: 1.7; }
.profile-feedback .feedback-links { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 30px; margin-top: 24px; }
.profile-feedback h2 { font-size: clamp(30px, 4vw, 56px); letter-spacing: -.04em; line-height: 1.1; margin-bottom: 20px; }
@media (max-width: 767px) {
  .visit-preparation .prepare-grid { grid-template-columns: 1fr; }
  .service-reading ul { grid-template-columns: 1fr; }
  .visit-preparation .prepare-actions, .profile-feedback .feedback-links { align-items: flex-start; }
  .visit-preparation .button { max-width: 100%; white-space: normal; text-align: center; }
}
