/* Vertical fallback; the scroll enhancement has no bottom toolbar. */
.journey-region { background: #fff; overflow-anchor: none; }
.journey-stage { background: #fff; }
.journey-panel-inner { padding-block: 48px; }
.journey-panel-inner .container { width: 100%; max-width: none; }
.journey-panel .practice-section { padding-bottom: 0; }
.journey-panel .case-chapter, .journey-panel .case-director, .journey-panel .case-daily { border-top: 0; padding-block: 0; }
.journey-panel .case-onboarding { margin-top: 0; padding: 36px; border-radius: 16px; }
.journey-panel .case-closing { padding-bottom: 0; }
/* Full-panel colours travel with the story, including the vertical fallback. */
.journey-panel-intro { background: #fff; }
.journey-panel-beginning { background: #e8f4f1; }
.journey-panel-quote { background: var(--navy); }
.journey-panel-daily { background: #edf4fc; }
.journey-panel-development { background: #f8f3ea; }
.journey-panel-onboarding { background: #e3f1ea; }
.journey-panel-onboarding .case-onboarding { background: transparent; }
.journey-panel-quote p, .journey-panel-quote strong, .journey-panel-quote blockquote { color: #fff; }
.journey-panel-quote .case-director-name span { color: #d4e2e9; }
.journey-panel-quote .case-section-label { color: #a4d9cf; }

.journey-enhanced { --journey-body: clamp(17px, 1.3vw, 22px); --journey-heading: clamp(32px, 3.2vw, 56px); }
.journey-enhanced .journey-stage { position: sticky; top: var(--journey-top, 82px); height: calc(100svh - var(--journey-top, 82px)); min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr); overflow: clip; }
.journey-enhanced .journey-viewport { min-width: 0; min-height: 0; overflow: clip; }
.journey-enhanced .journey-track { display: grid; width: 300%; height: 200%; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); will-change: transform; }
.journey-enhanced .journey-panel { min-width: 0; min-height: 0; height: 100%; }
.journey-enhanced .journey-panel:nth-child(4) { grid-area: 2 / 3; }
.journey-enhanced .journey-panel:nth-child(5) { grid-area: 2 / 2; }
.journey-enhanced .journey-panel:nth-child(6) { grid-area: 2 / 1; }
.journey-enhanced .journey-panel-inner { min-height: 100%; height: auto; display: flex; flex-direction: column; justify-content: center; padding-block: clamp(18px, 3svh, 36px); }
.journey-enhanced .journey-panel-inner > * { flex-shrink: 0; }

/* Grow the photograph and copy instead of an empty fixed container. */
.journey-enhanced .practice-heading { margin-bottom: clamp(18px, 2.5svh, 28px); }
.journey-enhanced .practice-heading .eyebrow { margin-bottom: 8px; }
.journey-enhanced .practice-heading h2 { margin-bottom: 10px; font-size: var(--journey-heading); }
.journey-enhanced .practice-heading p { margin-bottom: 0; font-size: var(--journey-body); }
.journey-enhanced .practice-card { grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr); }
.journey-enhanced .practice-facility-body { padding: 18px clamp(20px, 2vw, 36px) 22px; }
.journey-enhanced .practice-facility-body .practice-label { margin-bottom: 12px; }
.journey-enhanced .practice-kind { margin-bottom: 4px; font-size: 16px; }
.journey-enhanced .practice-with-photo .practice-name { font-size: clamp(28px, 2.2vw, 38px); margin-bottom: 10px; }
.journey-enhanced .practice-copy { padding: clamp(24px, 3vw, 52px); }
.journey-enhanced .practice-copy h3 { margin-bottom: 18px; font-size: clamp(30px, 2.7vw, 46px); }
.journey-enhanced .practice-copy > p { margin-bottom: 22px; font-size: var(--journey-body); line-height: 1.65; }
.journey-enhanced .practice-functions { grid-template-columns: .9fr .9fr 1.3fr; gap: 12px; padding-top: 16px; }
.journey-enhanced .practice-functions a { font-size: clamp(14px, 1vw, 17px); }
.journey-enhanced .practice-more { margin-top: 12px; font-size: 16px; }
.journey-enhanced .case-chapter, .journey-enhanced .case-director { grid-template-columns: minmax(0, .85fr) minmax(0, 1.3fr); gap: clamp(24px, 5vw, 88px); align-items: center; }
.journey-enhanced .case-chapter h2, .journey-enhanced .case-daily h2, .journey-enhanced .case-onboarding h2 { font-size: var(--journey-heading); }
.journey-enhanced .case-prose { max-width: 62ch; }
.journey-enhanced .case-prose p { font-size: var(--journey-body); line-height: 1.75; }
.journey-enhanced .case-director blockquote p { font-size: clamp(23px, 2.2vw, 38px); line-height: 1.6; }
.journey-enhanced .case-director-name strong { font-size: clamp(30px, 3vw, 48px); }
.journey-enhanced .case-director-name span { font-size: 16px; }
.journey-enhanced .case-use-list { gap: clamp(24px, 3vw, 48px); margin-top: 28px; }
.journey-enhanced .case-use { padding-top: 22px; }
.journey-enhanced .case-use-title h3 { font-size: clamp(20px, 1.6vw, 26px); }
.journey-enhanced .case-use p { font-size: var(--journey-body); line-height: 1.7; }
.journey-enhanced .case-start-list { gap: clamp(24px, 3vw, 48px); margin-top: 28px; }
.journey-enhanced .case-step-marker { margin-bottom: 14px; }
.journey-enhanced .case-start-list h3 { margin-bottom: 10px; font-size: clamp(19px, 1.5vw, 24px); }
.journey-enhanced .case-start-list p { font-size: var(--journey-body); line-height: 1.65; }
.journey-enhanced .case-onboarding { padding: clamp(24px, 3vw, 48px); }
.journey-enhanced .case-onboarding-heading { max-width: 72ch; }
.journey-enhanced .case-onboarding-heading > p:last-child { font-size: var(--journey-body); line-height: 1.65; }
.journey-enhanced .case-closing { gap: 24px; padding-block: 24px 0; }
.journey-enhanced .case-closing h2 { font-size: clamp(26px, 2vw, 34px); margin-bottom: 10px; }
.journey-enhanced .case-closing h2 br { display: none; }
.journey-enhanced .case-closing p { font-size: var(--journey-body); }

/* A shorter desktop window must show the introduction and card together.
   Only the photograph is cropped; all copy and links remain readable. */
.journey-enhanced .journey-panel-intro .practice-photo img { height: var(--journey-intro-photo-height, auto); object-fit: cover; object-position: center; }
@media(min-width: 761px) {
  .journey-enhanced .journey-intro-compact { --journey-body: clamp(16px, 1.1vw, 18px); --journey-heading: clamp(28px, 2.4vw, 40px); }
  .journey-enhanced .journey-intro-compact .journey-panel-inner { padding-block: 18px; }
  .journey-enhanced .journey-intro-compact .practice-heading { margin-bottom: 14px; }
  .journey-enhanced .journey-intro-compact .practice-heading h2 { margin-bottom: 6px; }
  .journey-enhanced .journey-intro-compact .practice-facility-body { padding: 14px 24px 16px; }
  .journey-enhanced .journey-intro-compact .practice-facility-body .practice-label { margin-bottom: 8px; }
  .journey-enhanced .journey-intro-compact .practice-with-photo .practice-name { font-size: clamp(26px, 2vw, 32px); margin-bottom: 8px; }
  .journey-enhanced .journey-intro-compact .practice-copy { padding: 24px; }
  .journey-enhanced .journey-intro-compact .practice-copy h3 { font-size: clamp(28px, 2.25vw, 36px); margin-bottom: 12px; }
  .journey-enhanced .journey-intro-compact .practice-copy > p { margin-bottom: 14px; }
  .journey-enhanced .journey-intro-compact .practice-functions { padding-top: 10px; }
  .journey-enhanced .journey-intro-compact .practice-more { margin-top: 6px; }
}

@media(max-width: 1100px) {
  .journey-enhanced .practice-functions { grid-template-columns: 1fr; gap: 0; }
}
@media(max-width: 760px) {
  .journey-enhanced { --journey-body: 16px; --journey-heading: clamp(28px, 5.6vw, 36px); }
  .journey-panel-inner { padding-block: 28px; }
  .journey-enhanced .journey-panel-inner { justify-content: center; padding-block: 18px; }
  .journey-enhanced .practice-card { grid-template-columns: minmax(0, 1fr); }
  .journey-enhanced .practice-copy { padding: 22px; }
  .journey-enhanced .practice-copy h3 { font-size: 26px; }
  .journey-enhanced .practice-functions { grid-template-columns: 1fr; gap: 0; }
  .journey-enhanced .case-chapter, .journey-enhanced .case-director { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .journey-enhanced .case-director blockquote p { font-size: clamp(19px, 3.8vw, 25px); line-height: 1.65; }
  .journey-enhanced .case-use-list, .journey-enhanced .case-start-list { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .journey-enhanced .case-onboarding { padding: 24px 20px; }
  .journey-enhanced .case-closing { flex-direction: column; align-items: start; gap: 16px; padding-top: 24px; }
}
@media(prefers-reduced-motion: reduce) { .journey-track { transform: none !important; } }
