:root {
  --rh-ink: #123e3c;
  --rh-ink-deep: #082d2c;
  --rh-mint: #5db9a5;
  --rh-pale: #eaf3f2;
  --rh-paper: #f8faf7;
  --rh-line: rgba(18, 62, 60, 0.2);
  --rh-coral: #de725d;
  --rh-shell: min(1180px, calc(100% - 96px));
}

.rehabilitation-page { background: var(--rh-paper); color: var(--rh-ink); }
.rehab-editorial { overflow: clip; background: var(--rh-paper); }
.rehab-editorial h1, .rehab-editorial h2, .rehab-editorial h3, .rehab-editorial p, .rehab-editorial figure, .rehab-editorial dl, .rehab-editorial dd, .rehab-editorial ul { margin: 0; }
.rehab-editorial h1, .rehab-editorial h2, .rehab-editorial h3 { font-family: "Zen Kaku Gothic New", sans-serif; letter-spacing: 0.02em; }
.rehab-editorial img { width: 100%; height: 100%; display: block; object-fit: cover; }
.rehab-editorial a { color: inherit; }

.rehab-poster { min-height: min(900px, calc(100vh - 98px)); position: relative; display: grid; place-items: end start; isolation: isolate; background: var(--rh-ink-deep); color: #fff; }
.rehab-poster__image { position: absolute; inset: 0; z-index: -3; }
.rehab-poster__image img { object-position: center 42%; }
.rehab-poster__wash { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(6, 38, 36, 0.92) 0%, rgba(6, 38, 36, 0.67) 36%, rgba(6, 38, 36, 0.12) 70%), linear-gradient(0deg, rgba(6, 38, 36, 0.88) 0%, transparent 42%); mix-blend-mode: multiply; }
.rehab-poster::after { content: ""; position: absolute; inset: 20px; border: 1px solid rgba(255,255,255,0.3); pointer-events: none; }
.rehab-breadcrumb { position: absolute; left: max(48px, calc((100% - 1180px) / 2)); top: 34px; color: rgba(255,255,255,0.76); z-index: 2; }
.rehab-breadcrumb a { color: #fff; }
.rehab-poster__copy { width: min(900px, calc(100% - 96px)); margin: 0 auto 72px max(48px, calc((100% - 1180px) / 2)); z-index: 1; }
.rehab-kicker { margin-bottom: 28px !important; font-family: "Manrope", sans-serif; font-size: 11px; font-weight: 600; letter-spacing: 0.26em; color: #bce5dc; }
.rehab-poster h1 { margin-bottom: 28px; font-size: 14px; font-weight: 500; letter-spacing: 0.2em; }
.rehab-poster__message { display: grid; font-weight: 500; line-height: 1.38; text-shadow: 0 3px 24px rgba(0,0,0,0.22); }
.rehab-poster__message span { white-space: nowrap; font-size: clamp(38px, 5.4vw, 78px); }
.rehab-poster__message strong { white-space: nowrap; font-size: clamp(45px, 6.6vw, 94px); font-weight: 600; color: #fff; }
.rehab-poster__stamp { position: absolute; right: max(48px, calc((100% - 1180px) / 2)); top: 72px; width: 146px; aspect-ratio: 1; display: grid; place-content: center; gap: 4px; padding: 18px; border: 1px solid rgba(255,255,255,0.7); border-radius: 50%; text-align: center; background: rgba(10, 52, 49, 0.6); backdrop-filter: blur(8px); }
.rehab-poster__stamp small { font-family: "Manrope", sans-serif; font-size: 8px; letter-spacing: 0.22em; }
.rehab-poster__stamp strong { font-size: 18px; line-height: 1.35; }
.rehab-poster__stamp span { font-size: 8px; }
.rehab-poster__trace { position: absolute; right: 7vw; bottom: 78px; width: min(38vw, 480px); fill: none; stroke: rgba(188,229,220,0.8); stroke-width: 1.2; }
.rehab-poster__trace circle { fill: var(--rh-coral); stroke: none; }
.rehab-poster__scroll { position: absolute; right: 24px; bottom: 28px; display: flex; gap: 10px; align-items: center; color: #fff; text-decoration: none; writing-mode: vertical-rl; font-family: "Manrope", sans-serif; font-size: 8px; letter-spacing: 0.2em; }
.rehab-poster__scroll i { display: block; width: 1px; height: 50px; background: rgba(255,255,255,0.75); }

.rehab-index { min-height: 104px; display: grid; grid-template-columns: repeat(5, 1fr); border-bottom: 1px solid var(--rh-line); background: #fff; }
.rehab-index a { min-width: 0; display: flex; justify-content: center; align-items: center; gap: 13px; border-right: 1px solid var(--rh-line); text-decoration: none; font-family: "Manrope", sans-serif; font-size: 10px; letter-spacing: 0.13em; transition: color .35s cubic-bezier(.25,1,.5,1), background-color .35s cubic-bezier(.25,1,.5,1); }
.rehab-index a:last-child { border-right: 0; }
.rehab-index a span { color: var(--rh-coral); font-size: 9px; }
.rehab-index a:hover, .rehab-index a:focus-visible { background: var(--rh-pale); color: var(--rh-coral); }

.rehab-manifesto { width: var(--rh-shell); min-height: 720px; margin: 0 auto; padding: 150px 0; position: relative; display: grid; grid-template-columns: 58px 1fr 0.78fr; gap: 60px; align-items: center; }
.rehab-manifesto__vertical { align-self: stretch; padding-top: 8px; border-right: 1px solid var(--rh-line); writing-mode: vertical-rl; font-family: "Manrope", sans-serif; font-size: 9px; letter-spacing: .23em; color: #718f8b; }
.rehab-manifesto__headline span, .rehab-manifesto__body::before { font-family: "Manrope", sans-serif; font-size: 10px; letter-spacing: .24em; color: var(--rh-coral); }
.rehab-manifesto h2 { margin-top: 25px; font-size: clamp(44px, 5vw, 72px); line-height: 1.45; font-weight: 500; }
.rehab-manifesto__body { padding-top: 74px; font-size: 15px; line-height: 2.15; color: #506b69; }
.rehab-manifesto__body::before { content: "MULTI PROFESSIONAL"; display: block; margin-bottom: 24px; }
.rehab-manifesto__lead { margin-bottom: 24px !important; font-size: 18px; color: var(--rh-ink); }
.rehab-manifesto__word { position: absolute; right: -4vw; bottom: -24px; z-index: -1; font-family: "Manrope", sans-serif; font-size: clamp(120px, 18vw, 260px); font-weight: 700; line-height: .72; color: rgba(93,185,165,.075); }

.rehab-axis-stage { padding: 150px 0 180px; background: #e8f1ef; }
.rehab-axis-stage__heading { width: var(--rh-shell); margin: 0 auto 120px; display: grid; grid-template-columns: .7fr 1.2fr .9fr; gap: 70px; align-items: end; }
.rehab-axis-stage__heading > p, .rehab-observation__copy > p:first-child, .rehab-spectrum__heading > p:first-child, .rehab-continuum__heading > p, .rehab-lab__copy > p:first-child { align-self: start; font-family: "Manrope", sans-serif; font-size: 10px; letter-spacing: .2em; }
.rehab-axis-stage__heading > p span, .rehab-observation__copy > p:first-child span, .rehab-spectrum__heading > p:first-child span, .rehab-continuum__heading > p span, .rehab-lab__copy > p:first-child span { margin-right: 14px; color: var(--rh-coral); }
.rehab-axis-stage__heading h2 { font-size: clamp(42px, 4.8vw, 68px); line-height: 1.42; font-weight: 500; }
.rehab-axis-stage__heading > span { padding-bottom: 8px; font-size: 14px; line-height: 2; color: #5f7775; }
.rehab-axis { width: min(1280px, calc(100% - 64px)); min-height: 630px; margin-inline: auto; position: relative; display: grid; grid-template-columns: 0.82fr 1.18fr; align-items: center; }
.rehab-axis + .rehab-axis { margin-top: 140px; }
.rehab-axis__copy { width: 72%; justify-self: center; position: relative; z-index: 2; }
.rehab-axis__copy > p:first-child { margin-bottom: 18px; font-family: "Manrope", sans-serif; font-size: 12px; letter-spacing: .25em; color: var(--rh-coral); }
.rehab-axis__copy h3 { margin-bottom: 28px; font-size: clamp(34px, 4vw, 57px); line-height: 1.4; font-weight: 500; }
.rehab-axis__copy > p:last-child { font-size: 15px; line-height: 2.1; color: #546f6c; }
.rehab-axis figure { height: 630px; position: relative; }
.rehab-axis figure::after { content: ""; position: absolute; inset: 20px; border: 1px solid rgba(255,255,255,.62); }
.rehab-axis figcaption { position: absolute; left: 26px; bottom: 24px; z-index: 2; padding: 7px 10px; background: #fff; font-family: "Manrope", sans-serif; font-size: 9px; letter-spacing: .18em; }
.rehab-axis__number { position: absolute; left: 28%; top: -70px; z-index: 0; font-family: "Manrope", sans-serif; font-size: 250px; font-weight: 700; line-height: 1; color: rgba(255,255,255,.72); }
.rehab-axis--life .rehab-axis__number { left: auto; right: 28%; }
.rehab-axis--life figure { grid-column: 1; grid-row: 1; }
.rehab-axis--life .rehab-axis__copy { grid-column: 2; grid-row: 1; }

.rehab-observation { min-height: 1080px; padding: 160px max(48px, calc((100% - 1180px)/2)); position: relative; display: grid; grid-template-columns: 1fr .92fr; grid-template-rows: auto auto; gap: 70px 110px; background: var(--rh-ink-deep); color: #fff; }
.rehab-observation__field { position: absolute; inset: 0; overflow: hidden; opacity: .22; }
.rehab-observation__field::before, .rehab-observation__field::after { content: ""; position: absolute; border: 1px solid #82c8bb; border-radius: 50%; }
.rehab-observation__field::before { width: 820px; height: 820px; right: -280px; top: -180px; }
.rehab-observation__field::after { width: 560px; height: 560px; right: -150px; top: -50px; }
.rehab-observation__field span { position: absolute; display: block; background: #82c8bb; }
.rehab-observation__field span:nth-child(1), .rehab-observation__field span:nth-child(2) { width: 1px; height: 100%; left: 33%; }
.rehab-observation__field span:nth-child(2) { left: 66%; }
.rehab-observation__field span:nth-child(3), .rehab-observation__field span:nth-child(4) { width: 100%; height: 1px; top: 33%; }
.rehab-observation__field span:nth-child(4) { top: 66%; }
.rehab-observation__copy { position: relative; z-index: 2; align-self: center; }
.rehab-observation__copy h2 { margin: 36px 0; font-size: clamp(46px, 5vw, 72px); line-height: 1.4; font-weight: 500; }
.rehab-observation__copy > p:nth-of-type(2) { max-width: 560px; font-size: 15px; line-height: 2.1; color: rgba(255,255,255,.76); }
.rehab-observation__copy dl { margin-top: 55px; border-top: 1px solid rgba(255,255,255,.2); }
.rehab-observation__copy dl div { padding: 18px 0; display: grid; grid-template-columns: 90px 1fr; border-bottom: 1px solid rgba(255,255,255,.2); }
.rehab-observation__copy dt { color: #9fd6cb; }
.rehab-observation__copy dd { font-size: 14px; color: rgba(255,255,255,.7); }
.rehab-observation__photo { position: relative; z-index: 2; }
.rehab-observation__photo--measure { height: 560px; align-self: start; }
.rehab-observation__photo--digital { width: 62%; height: 270px; margin: -110px 0 0 15%; grid-column: 2; }
.rehab-observation__photo figcaption { position: absolute; right: 0; bottom: -32px; font-family: "Manrope", sans-serif; font-size: 9px; letter-spacing: .2em; color: #9fd6cb; }

.rehab-spectrum { padding: 170px 0 210px; position: relative; background: #fff; }
.rehab-spectrum__heading { width: var(--rh-shell); margin: 0 auto 100px; display: grid; grid-template-columns: .62fr 1.05fr .8fr; gap: 60px; align-items: end; }
.rehab-spectrum__heading h2 { font-size: clamp(43px, 4.8vw, 67px); line-height: 1.45; font-weight: 500; }
.rehab-spectrum__heading > p:last-child { padding-bottom: 6px; font-size: 15px; line-height: 2.1; color: #5f7775; }
.rehab-spectrum__gallery { width: min(1320px, calc(100% - 64px)); margin: auto; position: relative; display: grid; grid-template-columns: 1.22fr .78fr; gap: 38px; align-items: end; }
.rehab-spectrum__main { height: 660px; }
.rehab-spectrum__sub { height: 420px; margin-bottom: -85px !important; }
.rehab-spectrum figure { position: relative; }
.rehab-spectrum figcaption { position: absolute; left: 0; bottom: 0; width: min(410px, 82%); padding: 24px 28px; background: rgba(255,255,255,.94); font-size: 13px; line-height: 1.8; }
.rehab-spectrum figcaption span { display: block; margin-bottom: 8px; font-family: "Manrope", sans-serif; font-size: 9px; letter-spacing: .2em; color: var(--rh-coral); }
.rehab-spectrum__oversize { position: absolute; left: -8px; bottom: 38px; font-family: "Manrope", sans-serif; font-size: clamp(80px, 14vw, 208px); font-weight: 700; line-height: .75; color: rgba(18,62,60,.045); }

.rehab-continuum { padding: 160px 0; background: var(--rh-pale); }
.rehab-continuum__heading { width: var(--rh-shell); margin: 0 auto 100px; display: grid; grid-template-columns: .62fr 1.88fr; gap: 60px; }
.rehab-continuum__heading h2 { font-size: clamp(40px, 4.4vw, 62px); line-height: 1.48; font-weight: 500; }
.rehab-continuum__line { width: min(1380px, calc(100% - 64px)); margin: auto; position: relative; display: grid; grid-template-columns: repeat(4,1fr); }
.rehab-continuum__line::before { content: ""; position: absolute; left: 4%; right: 4%; top: 26px; height: 1px; background: var(--rh-ink); }
.rehab-continuum__line a { min-height: 230px; padding: 0 32px 36px; position: relative; display: flex; flex-direction: column; justify-content: flex-end; border-right: 1px solid var(--rh-line); text-decoration: none; transition: background-color .35s cubic-bezier(.25,1,.5,1); }
.rehab-continuum__line a:last-child { border-right: 0; }
.rehab-continuum__line a::before { content: ""; position: absolute; top: 20px; left: 30px; width: 13px; height: 13px; border-radius: 50%; background: var(--rh-coral); border: 4px solid var(--rh-pale); box-shadow: 0 0 0 1px var(--rh-coral); }
.rehab-continuum__line a:hover, .rehab-continuum__line a:focus-visible { background: rgba(255,255,255,.62); }
.rehab-continuum__line small { position: absolute; top: 62px; left: 32px; font-family: "Manrope", sans-serif; font-size: 10px; color: var(--rh-coral); }
.rehab-continuum__line span { margin-bottom: 10px; font-size: 13px; color: #667d7b; }
.rehab-continuum__line strong { font-size: clamp(20px, 2vw, 28px); font-weight: 500; }
.rehab-continuum__note { width: var(--rh-shell); margin: 60px auto 0 !important; text-align: right; font-size: 14px; color: #607977; }

.rehab-lab { min-height: 850px; padding: 150px max(48px, calc((100% - 1180px)/2)); position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; align-items: center; background: #f6f0e9; }
.rehab-lab__team { height: 660px; position: relative; }
.rehab-lab__team::before { content: "05"; position: absolute; left: -34px; top: -70px; z-index: 2; font-family: "Manrope", sans-serif; font-size: 120px; font-weight: 700; color: var(--rh-coral); mix-blend-mode: multiply; }
.rehab-lab__copy { position: relative; z-index: 2; }
.rehab-lab__copy h2 { margin: 34px 0; font-size: clamp(40px, 4.4vw, 61px); line-height: 1.45; font-weight: 500; }
.rehab-lab__copy > p:nth-of-type(2) { font-size: 15px; line-height: 2.1; color: #5d716f; }
.rehab-lab__copy ul { margin-top: 40px; padding: 0; list-style: none; border-top: 1px solid var(--rh-line); }
.rehab-lab__copy li { padding: 14px 0 14px 22px; position: relative; border-bottom: 1px solid var(--rh-line); font-size: 13px; }
.rehab-lab__copy li::before { content: ""; position: absolute; left: 2px; top: 21px; width: 6px; height: 6px; background: var(--rh-coral); }
.rehab-lab__vertical { position: absolute; right: 22px; top: 90px; writing-mode: vertical-rl; font-family: "Manrope", sans-serif; font-size: 9px; letter-spacing: .2em; color: #9a7f73; }

.rehab-contact { min-height: 610px; padding: 130px max(48px, calc((100% - 1180px)/2)); display: grid; grid-template-columns: 1.25fr .75fr; gap: 110px; align-items: center; background: var(--rh-coral); color: #fff; }
.rehab-contact__copy > p { margin-bottom: 26px; font-family: "Manrope", sans-serif; font-size: 10px; letter-spacing: .23em; }
.rehab-contact h2 { font-size: clamp(38px, 4.3vw, 61px); line-height: 1.5; font-weight: 500; color: #fff; }
.rehab-contact__copy > span { display: block; max-width: 680px; margin-top: 28px; font-size: 15px; line-height: 2; color: rgba(255,255,255,.86); }
.rehab-contact__actions { display: grid; gap: 14px; }
.rehab-contact__actions a { min-height: 88px; display: flex; justify-content: center; align-items: center; text-decoration: none; }
.rehab-contact__primary { gap: 22px; background: #fff; color: var(--rh-ink) !important; font-size: 14px; font-weight: 700; }
.rehab-contact__primary i { color: var(--rh-coral); font-style: normal; font-size: 20px; transition: transform .35s cubic-bezier(.25,1,.5,1); }
.rehab-contact__primary:hover i, .rehab-contact__primary:focus-visible i { transform: translateX(6px); }
.rehab-contact__phone { flex-direction: column; border: 1px solid rgba(255,255,255,.6); color: #fff; }
.rehab-contact__phone small { font-size: 10px; }
.rehab-contact__phone strong { font-family: "Manrope", sans-serif; font-size: 27px; letter-spacing: .05em; }

.rehabilitation-page [data-rehab-reveal] { opacity: 1; transform: none; }
.rehabilitation-page [data-rehab-reveal].rehab-reveal-armed { opacity: 0; transform: translateY(24px); transition: opacity .75s cubic-bezier(.25,1,.5,1), transform .75s cubic-bezier(.25,1,.5,1); transition-delay: var(--rehab-delay,0ms); }
.rehabilitation-page [data-rehab-reveal].rehab-reveal-armed.is-visible { opacity: 1; transform: none; }

@media (max-width: 1100px) {
  :root { --rh-shell: min(100% - 64px, 920px); }
  .rehab-poster__copy { margin-left: 42px; }
  .rehab-poster__stamp { right: 42px; }
  .rehab-axis-stage__heading { grid-template-columns: .5fr 1.2fr .8fr; gap: 36px; }
  .rehab-axis { min-height: 560px; }
  .rehab-axis figure { height: 560px; }
  .rehab-observation { gap: 60px; }
  .rehab-spectrum__heading { gap: 38px; }
  .rehab-lab { gap: 60px; }
}

@media (max-width: 800px) {
  :root { --rh-shell: calc(100% - 48px); }
  .rehab-poster { min-height: 820px; }
  .rehab-poster__image img { object-position: 58% center; }
  .rehab-poster__wash { background: linear-gradient(0deg, rgba(6,38,36,.94) 0%, rgba(6,38,36,.72) 53%, rgba(6,38,36,.13) 88%); }
  .rehab-breadcrumb { left: 34px; }
  .rehab-poster__copy { width: calc(100% - 68px); margin: 0 34px 72px; }
  .rehab-poster__stamp { top: 76px; right: 34px; width: 122px; }
  .rehab-poster__trace { right: 34px; bottom: 250px; width: 52vw; }
  .rehab-index { grid-template-columns: 1fr; }
  .rehab-index a { min-height: 58px; justify-content: flex-start; padding-left: 34px; border-right: 0; border-bottom: 1px solid var(--rh-line); }
  .rehab-manifesto { min-height: auto; padding: 120px 0; grid-template-columns: 36px 1fr; gap: 34px; }
  .rehab-manifesto__body { grid-column: 2; padding-top: 0; }
  .rehab-axis-stage { padding: 120px 0 140px; }
  .rehab-axis-stage__heading { margin-bottom: 85px; grid-template-columns: 1fr; gap: 26px; }
  .rehab-axis { width: calc(100% - 48px); grid-template-columns: 1fr; gap: 48px; }
  .rehab-axis + .rehab-axis { margin-top: 110px; }
  .rehab-axis__copy { width: 86%; justify-self: start; margin-left: 7%; }
  .rehab-axis figure { height: 66vw; }
  .rehab-axis--power > figure { grid-row: 1; }
  .rehab-axis--power .rehab-axis__copy { grid-row: 2; }
  .rehab-axis--life figure, .rehab-axis--life .rehab-axis__copy { grid-column: 1; grid-row: auto; }
  .rehab-axis__number { left: auto; right: -10px; top: 48%; font-size: 190px; }
  .rehab-axis--life .rehab-axis__number { right: -10px; }
  .rehab-observation { min-height: auto; padding: 120px 32px 150px; grid-template-columns: 1fr; gap: 70px; }
  .rehab-observation__photo--measure { height: 70vw; }
  .rehab-observation__photo--digital { width: 62%; height: 34vw; margin: -110px 0 0 auto; grid-column: 1; }
  .rehab-spectrum { padding: 120px 0 160px; }
  .rehab-spectrum__heading { margin-bottom: 75px; grid-template-columns: 1fr; gap: 28px; }
  .rehab-spectrum__gallery { grid-template-columns: 1fr; }
  .rehab-spectrum__main { height: 72vw; }
  .rehab-spectrum__sub { width: 66%; height: 45vw; margin: -100px 0 0 auto !important; }
  .rehab-continuum { padding: 120px 0; }
  .rehab-continuum__heading { margin-bottom: 70px; grid-template-columns: 1fr; gap: 28px; }
  .rehab-continuum__line { grid-template-columns: 1fr 1fr; }
  .rehab-continuum__line::before { display: none; }
  .rehab-continuum__line a { min-height: 190px; border-bottom: 1px solid var(--rh-line); }
  .rehab-continuum__line a::before { top: 26px; }
  .rehab-continuum__line small { top: 28px; left: 58px; }
  .rehab-lab { min-height: auto; padding: 120px 32px; grid-template-columns: 1fr; gap: 90px; }
  .rehab-lab__team { height: 70vw; }
  .rehab-contact { padding: 110px 38px; grid-template-columns: 1fr; gap: 60px; }
}

@media (max-width: 560px) {
  :root { --rh-shell: calc(100% - 40px); }
  .rehab-poster { min-height: 720px; }
  .rehab-poster::after { inset: 10px; }
  .rehab-breadcrumb { left: 20px; top: 24px; }
  .rehab-poster__copy { width: calc(100% - 40px); margin: 0 20px 62px; }
  .rehab-kicker { margin-bottom: 20px !important; font-size: 8px; }
  .rehab-poster h1 { font-size: 12px; }
  .rehab-poster__message span { font-size: clamp(29px, 8.5vw, 38px); }
  .rehab-poster__message span, .rehab-poster__message strong { white-space: normal; }
  .rehab-poster__message strong { font-size: clamp(36px, 10.6vw, 48px); line-height: 1.48; }
  .rehab-poster__stamp { top: 70px; right: 20px; width: 105px; padding: 12px; }
  .rehab-poster__stamp strong { font-size: 15px; }
  .rehab-poster__trace { right: 20px; bottom: 220px; width: 70vw; }
  .rehab-poster__scroll { display: none; }
  .rehab-index a { padding-left: 20px; }
  .rehab-manifesto { padding: 95px 0; grid-template-columns: 22px 1fr; gap: 20px; }
  .rehab-manifesto h2, .rehab-axis-stage__heading h2, .rehab-observation__copy h2, .rehab-spectrum__heading h2, .rehab-continuum__heading h2, .rehab-lab__copy h2, .rehab-contact h2 { font-size: clamp(31px, 9.2vw, 41px); }
  .rehab-manifesto__body { font-size: 14px; line-height: 2; }
  .rehab-manifesto__lead { font-size: 16px; }
  .rehab-axis-stage { padding: 95px 0 110px; }
  .rehab-axis { width: calc(100% - 40px); gap: 38px; }
  .rehab-axis + .rehab-axis { margin-top: 90px; }
  .rehab-axis figure { height: 92vw; }
  .rehab-axis__copy { width: 100%; margin-left: 0; }
  .rehab-axis__copy h3 { font-size: 31px; }
  .rehab-axis__copy > p:last-child { font-size: 14px; }
  .rehab-axis__number { top: 58%; font-size: 145px; }
  .rehab-observation { padding: 95px 20px 125px; gap: 55px; }
  .rehab-observation__copy > p:nth-of-type(2) { font-size: 14px; }
  .rehab-observation__copy dl div { grid-template-columns: 66px 1fr; gap: 12px; }
  .rehab-observation__copy dd { font-size: 12px; }
  .rehab-observation__photo--measure { height: 92vw; }
  .rehab-observation__photo--digital { width: 72%; height: 48vw; margin-top: -70px; }
  .rehab-spectrum { padding: 95px 0 125px; }
  .rehab-spectrum__heading > p:last-child { font-size: 14px; }
  .rehab-spectrum__gallery { width: calc(100% - 40px); gap: 0; }
  .rehab-spectrum__main { height: 94vw; }
  .rehab-spectrum__sub { width: 78%; height: 58vw; margin-top: -50px !important; }
  .rehab-spectrum figcaption { padding: 18px 20px; font-size: 12px; }
  .rehab-continuum { padding: 95px 0; }
  .rehab-continuum__line { width: calc(100% - 40px); grid-template-columns: 1fr; }
  .rehab-continuum__line a { min-height: 160px; border-right: 0; }
  .rehab-continuum__note { text-align: left; line-height: 1.9; }
  .rehab-lab { padding: 95px 20px; gap: 70px; }
  .rehab-lab__team { height: 92vw; }
  .rehab-lab__team::before { left: -4px; top: -45px; font-size: 80px; }
  .rehab-lab__copy > p:nth-of-type(2) { font-size: 14px; }
  .rehab-lab__vertical { display: none; }
  .rehab-contact { padding: 90px 20px; }
  .rehab-contact__copy > span { font-size: 14px; }
  .rehab-contact__phone strong { font-size: 24px; }
}

/* Detail expansion: bilingual wayfinding, equipment, daily-life practice, continuum */
.rehab-index { min-height: 118px; }
.rehab-index a { padding: 22px 20px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 13px; row-gap: 5px; align-content: center; justify-content: stretch; }
.rehab-index a small { grid-row: 1 / 3; align-self: center; font-family: "Manrope", sans-serif; font-size: 9px; color: var(--rh-coral); }
.rehab-index a span { color: var(--rh-ink); font-family: "Manrope", sans-serif; font-size: 9px; letter-spacing: .15em; }
.rehab-index a strong { font-size: 12px; font-weight: 500; letter-spacing: .04em; }

.rehab-axis--power { min-height: auto; grid-template-columns: .58fr 1.42fr; gap: 74px; align-items: start; }
.rehab-axis--power .rehab-axis__copy { width: 100%; padding-top: 42px; position: sticky; top: 140px; }
.rehab-axis--power .rehab-axis__number { left: 20%; top: -80px; }
.rehab-axis__principle { margin-top: 34px; padding: 22px 0 0 56px; position: relative; border-top: 1px solid rgba(24,77,72,.22); font-size: 13px !important; line-height: 1.9 !important; }
.rehab-axis__principle span { position: absolute; left: 0; top: 25px; font-family: "Manrope", sans-serif; font-size: 9px; letter-spacing: .17em; color: var(--rh-coral); }
.rehab-equipment__catalog { min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: rgba(24,77,72,.18); border: 1px solid rgba(24,77,72,.18); }
.rehab-axis .rehab-equipment__machine { height: auto; min-width: 0; display: grid; grid-template-rows: auto 1fr; background: #f7faf9; }
.rehab-equipment__machine--main { grid-column: 1 / 3; grid-template-columns: 1.12fr .88fr !important; grid-template-rows: none !important; }
.rehab-axis .rehab-equipment__machine::after { display: none; }
.rehab-axis .rehab-equipment__machine img { width: 100%; height: 260px; object-fit: cover; }
.rehab-axis .rehab-equipment__machine--main img { height: 100%; min-height: 330px; }
.rehab-axis .rehab-equipment__machine figcaption { position: static; padding: 28px 30px 32px; display: flex; flex-direction: column; align-items: flex-start; background: transparent; font-family: inherit; letter-spacing: normal; }
.rehab-equipment__machine figcaption small { margin-bottom: 13px; font-family: "Manrope", sans-serif; font-size: 8px; letter-spacing: .16em; color: var(--rh-coral); }
.rehab-equipment__machine figcaption strong { margin-bottom: 12px; font-size: 22px; font-weight: 500; }
.rehab-equipment__machine figcaption span { font-size: 13px; line-height: 1.9; color: #5b7370; }
.rehab-equipment__more { grid-column: 1 / 3; margin: 0 !important; padding: 20px 30px; background: #dbe9e6; font-size: 12px !important; line-height: 1.8 !important; color: #536d69 !important; }

.rehab-axis--life { min-height: auto; grid-template-columns: 1.16fr .84fr; gap: 90px; align-items: start; }
.rehab-axis--life .rehab-axis__number { right: 20%; top: -78px; }
.rehab-axis--life .rehab-axis__copy { width: 100%; padding-top: 38px; }
.rehab-life-scenes { min-width: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.rehab-axis--life .rehab-life-scenes figure { height: auto; min-width: 0; grid-column: auto; grid-row: auto; }
.rehab-axis--life .rehab-life-scenes figure::after { inset: 10px; }
.rehab-life-scenes__main { grid-column: 1 / 3 !important; }
.rehab-life-scenes img { width: 100%; height: 220px; object-fit: cover; }
.rehab-life-scenes__main img { height: 500px; }
.rehab-axis--life .rehab-life-scenes figcaption { left: 14px; right: 14px; bottom: 14px; padding: 10px 13px; display: flex; justify-content: space-between; gap: 12px; font-family: inherit; font-size: 12px; letter-spacing: .03em; }
.rehab-life-scenes figcaption span { color: #718480; font-size: 10px; }
.rehab-life-scenes__list { margin-top: 38px; border-top: 1px solid rgba(24,77,72,.22); }
.rehab-life-scenes__list div { padding: 16px 0; display: grid; grid-template-columns: 118px 1fr; gap: 20px; border-bottom: 1px solid rgba(24,77,72,.22); }
.rehab-life-scenes__list dt { font-size: 14px; font-weight: 600; color: var(--rh-ink); }
.rehab-life-scenes__list dd { font-size: 12px; line-height: 1.8; color: #607875; }

.rehab-continuum__line a { min-height: 440px; padding: 92px 32px 30px; justify-content: flex-start; }
.rehab-continuum__line span { margin-bottom: 12px; }
.rehab-continuum__line strong { min-height: 78px; display: flex; align-items: flex-start; line-height: 1.55; }
.rehab-continuum__detail { margin-top: 22px; padding-top: 22px; border-top: 1px solid rgba(24,77,72,.18); font-size: 13px; line-height: 1.9; color: #5b7471; }
.rehab-continuum__line i { margin-top: auto; padding-top: 24px; font-style: normal; font-size: 11px; color: var(--rh-coral); }
.rehab-continuum__note { margin-top: 72px !important; padding: 36px 0 0; display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; border-top: 1px solid rgba(24,77,72,.22); text-align: left; }
.rehab-continuum__note strong { font-size: 23px; font-weight: 500; color: var(--rh-ink); }
.rehab-continuum__note p { max-width: 700px; font-size: 14px; line-height: 2; }

@media (max-width: 1100px) {
  .rehab-axis--power { grid-template-columns: .62fr 1.38fr; gap: 48px; }
  .rehab-axis--life { gap: 52px; }
  .rehab-life-scenes__main img { height: 430px; }
  .rehab-life-scenes img { height: 180px; }
  .rehab-life-scenes__list div { grid-template-columns: 104px 1fr; gap: 14px; }
  .rehab-continuum__line a { padding-inline: 24px; }
}

@media (max-width: 800px) {
  .rehab-index { min-height: 0; }
  .rehab-index a { min-height: 68px; padding: 13px 34px; grid-template-columns: 28px 145px 1fr; grid-template-rows: 1fr; align-items: center; border-bottom: 1px solid var(--rh-line); }
  .rehab-index a small { grid-row: 1; }
  .rehab-index a strong { font-size: 12px; }
  .rehab-axis--power, .rehab-axis--life { grid-template-columns: 1fr; gap: 54px; }
  .rehab-axis--power .rehab-axis__copy { grid-row: 1; position: static; padding-top: 0; }
  .rehab-equipment__catalog { grid-row: 2; }
  .rehab-axis--life .rehab-life-scenes { grid-column: 1; grid-row: 1; }
  .rehab-axis--life .rehab-axis__copy { grid-column: 1; grid-row: 2; padding-top: 0; }
  .rehab-axis--life .rehab-life-scenes figure { height: auto; grid-column: auto; grid-row: auto; }
  .rehab-life-scenes__main { grid-column: 1 / 3 !important; }
  .rehab-life-scenes__main img { height: 66vw; }
  .rehab-life-scenes img { height: 27vw; }
  .rehab-continuum__line a { min-height: 390px; }
}

@media (max-width: 560px) {
  .rehab-index a { padding-inline: 20px; grid-template-columns: 24px 112px 1fr; }
  .rehab-index a span { font-size: 8px; }
  .rehab-index a strong { font-size: 11px; }
  .rehab-axis--power .rehab-axis__number, .rehab-axis--life .rehab-axis__number { top: -40px; }
  .rehab-equipment__catalog { grid-template-columns: 1fr; }
  .rehab-axis--power .rehab-equipment__machine { grid-column: auto; grid-row: auto; }
  .rehab-equipment__machine--main { grid-column: 1 !important; grid-template-columns: 1fr !important; grid-template-rows: auto 1fr !important; }
  .rehab-axis .rehab-equipment__machine img, .rehab-axis .rehab-equipment__machine--main img { height: 62vw; min-height: 0; }
  .rehab-axis .rehab-equipment__machine figcaption { padding: 24px 22px 28px; }
  .rehab-equipment__more { grid-column: 1; padding: 18px 22px; }
  .rehab-life-scenes { gap: 8px; }
  .rehab-life-scenes__main img { height: 92vw; }
  .rehab-life-scenes img { height: 34vw; }
  .rehab-axis--life .rehab-life-scenes figcaption { left: 8px; right: 8px; bottom: 8px; padding: 8px 9px; display: block; font-size: 10px; }
  .rehab-life-scenes figcaption span { display: none; }
  .rehab-life-scenes__list div { padding: 15px 0; grid-template-columns: 1fr; gap: 5px; }
  .rehab-life-scenes__list dd { font-size: 12px; }
  .rehab-continuum__line a { min-height: 330px; padding: 78px 22px 24px; }
  .rehab-continuum__line strong { min-height: auto; }
  .rehab-continuum__detail { margin-top: 18px; padding-top: 18px; }
  .rehab-continuum__note { grid-template-columns: 1fr; gap: 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .rehabilitation-page [data-rehab-reveal], .rehabilitation-page [data-rehab-reveal].rehab-reveal-armed, .rehabilitation-page [data-rehab-reveal].rehab-reveal-armed.is-visible { opacity: 1; transform: none; transition: none; }
  .rehab-index a, .rehab-contact__primary i, .rehab-continuum__line a { transition: none; }
}
