.detail-main { margin: 0 auto; max-width: 1180px; padding: 120px 40px 88px; }
.breadcrumbs { color: var(--ink-soft); display: flex; flex-wrap: wrap; font-size: 13px; gap: 10px; margin-bottom: 38px; }
.breadcrumbs a:hover { color: var(--ochre-dark); text-decoration: underline; text-underline-offset: 4px; }
.detail-heading { max-width: 850px; }
.detail-heading h1 { font-family: var(--serif); font-size: clamp(32px, 4vw, 56px); font-weight: 600; letter-spacing: .04em; line-height: 1.35; margin: 0 0 24px; }
.detail-lead { color: var(--ink-soft); font-size: 17px; line-height: 1.9; max-width: 720px; }
.detail-section { border-top: 1px solid var(--line); margin-top: 52px; padding-top: 32px; }
.detail-section h2 { font-size: clamp(25px, 3vw, 34px); margin-bottom: 24px; }
.detail-location-grid { align-items: start; display: grid; gap: 40px; grid-template-columns: 1fr 1fr; }
.detail-location-grid figure { margin: 0; }
.detail-location-grid img { aspect-ratio: 1672 / 941; height: auto; object-fit: contain; }
.detail-location-grid figcaption { color: var(--ink-soft); font-size: 12px; margin-top: 10px; }
.detail-address { font-family: var(--serif); font-size: 21px; font-style: normal; line-height: 1.8; }
.detail-facts { display: grid; gap: 10px 20px; grid-template-columns: auto minmax(0, 1fr); margin: 24px 0; }
.detail-facts dt { color: var(--ink-soft); }
.detail-facts dd { margin: 0; }
.detail-link { color: var(--ochre-dark); display: inline-block; padding-block: 10px; text-decoration: underline; text-decoration-color: var(--line); text-underline-offset: 6px; }
.detail-link:hover { text-decoration-color: currentColor; }
.detail-note { color: var(--ink-soft); font-size: 14px; line-height: 1.85; }
.detail-questions { display: grid; gap: 26px; }
.detail-questions h3 { font-family: var(--serif); font-size: 21px; font-weight: 600; line-height: 1.5; margin: 0 0 8px; }
.detail-questions p { color: var(--ink-soft); margin: 0; max-width: 800px; }
.detail-checklist { color: var(--ink-soft); margin: 0; max-width: 760px; padding-left: 1.55em; }
.detail-checklist li { margin: 12px 0; padding-left: .25em; }
.detail-course { align-items: start; display: grid; gap: 32px; grid-template-columns: 180px 1fr; padding: 28px 0; scroll-margin-top: 90px; }
.detail-course + .detail-course { border-top: 1px solid var(--line); }
.detail-course img { aspect-ratio: 1.25; object-fit: cover; }
.detail-course h3 { font-family: var(--serif); font-size: 25px; margin: 0 0 10px; }
.detail-course p { color: var(--ink-soft); margin: 6px 0; }
.detail-related { display: flex; flex-wrap: wrap; gap: 12px 32px; }
.detail-contact { align-items: center; display: flex; gap: 24px; }
.detail-contact img { background: white; flex: 0 0 112px; height: 112px; object-fit: contain; width: 112px; }
@media (max-width: 700px) {
  .detail-main { padding: 100px 24px 64px; }
  .breadcrumbs { margin-bottom: 28px; }
  .detail-lead { font-size: 15px; }
  .detail-location-grid { gap: 24px; grid-template-columns: 1fr; }
  .detail-section { margin-top: 36px; padding-top: 28px; }
  .detail-course { gap: 18px; grid-template-columns: 100px minmax(0, 1fr); }
  .detail-course h3 { font-size: 22px; }
  .detail-course p { font-size: 14px; }
}
@media (max-width: 360px) {
  .detail-course { grid-template-columns: 1fr; }
  .detail-course img { width: 140px; }
  .detail-contact { align-items: start; flex-direction: column; }
}
