/* Editorial refinements over the original cinematic layout.
   Story canvases, crops and reversible transitions remain unchanged. */
:root {
  --page-gutter: clamp(24px, 4vw, 64px);
  --rule: rgba(255, 255, 255, .22);
}

body { -webkit-font-smoothing: antialiased; }
::selection { background: #b9c8ca; color: #000; }
a:focus-visible, summary:focus-visible { outline: 2px solid currentColor; outline-offset: 6px; }
section[id] { scroll-margin-top: 72px; }
.hero { height: 100svh; min-height: 600px; }
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.22), transparent 28%, rgba(0,0,0,.05) 45%, rgba(0,0,0,.72));
  pointer-events: none;
}
.hero__title { max-width: 18ch; text-wrap: balance; }
.hero__subtitle { max-width: 58ch; font-size: clamp(16px, 1.5vw, 21px); }
.hero__copy { bottom: 64px; }
.hero__nav-link, .site-nav__link { white-space: nowrap; }

/* A quiet visual transition from the opening film into the platform. */
.neural-interlude { position: relative; height: clamp(280px, 50vw, 820px); overflow: hidden; background: #000; }
.neural-interlude img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 58%; }
.neural-interlude::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #000, transparent 22%, transparent 78%, #000); pointer-events: none; }

/* Platform — four illustrated research directions, no redundant section labels. */
.slide--statement { min-height: 90svh; padding: 112px var(--page-gutter); }
.slide__content { max-width: none; width: 100%; margin-inline: auto; padding-left: 0; border-left: 0; }
.slide__statement { max-width: 24ch; margin-inline: auto; text-align: center; text-wrap: balance; }
.platform__lead {
  max-width: 68ch;
  margin: 28px auto 0;
  text-align: center;
  font: 400 clamp(17px, 1.5vw, 20px)/1.65 "Manrope", sans-serif;
  color: #b8b8b8;
}
.platform__scope { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); list-style: none; margin-top: 56px; border-top: 1px solid var(--rule); }
.platform__direction { position: relative; padding: 22px 20px 0 0; min-width: 0; }
.platform__direction::before { content: ""; position: absolute; top: -4px; left: 0; width: 7px; height: 7px; background: #000; border: 1px solid #777; border-radius: 50%; }
.platform__direction--active::before { background: #fff; border-color: #fff; }
.platform__direction img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; margin-bottom: 22px; }
.platform__direction span { display: block; font: 400 clamp(22px, 1.9vw, 28px)/1.2 Georgia, serif; color: #ddd; }
.platform__direction p { margin-top: 14px; font: 400 16px/1.6 "Manrope", sans-serif; color: #aaa; }
.platform__direction small { display: block; margin-top: 16px; font: 400 14px/1.5 "Manrope", sans-serif; color: #aaa; }
.platform__direction--active span, .platform__direction--active small { color: #fff; }

/* Story — naturally wrapping copy with readable source lines. */
.story__caption { text-wrap: wrap; }
.story__frame--accident .story__caption { top: 50%; bottom: auto; left: 9%; transform: translateY(-50%); text-align: left; }
.story__frame--accident .story__caption,
.story__frame--wheelchair .story__caption,
.story__frame--continuity .story__caption { width: 38%; max-width: none; }
.story__frame--continuity .story__caption { width: 42%; }
.story__narrative { display: block; font-size: clamp(20px, 1.8vw, 28px); line-height: 1.35; }
.story__stat { display: block; margin-top: 22px; }
.story__stat-number { display: block; font: 400 clamp(64px, 7.3vw, 116px)/.95 Georgia, serif; letter-spacing: -.06em; font-variant-numeric: lining-nums; white-space: nowrap; }
.story__stat-number--population { font-size: clamp(46px, 6.4vw, 100px); }
.story__stat-unit { display: block; margin: 6px 0 0; font-size: clamp(22px, 2vw, 30px); }
.story__stat-label { display: block; margin-top: 18px; font: 400 clamp(16px, 1.2vw, 18px)/1.5 "Manrope", sans-serif; }
.story__source { display: block; margin-top: 18px; font: 400 13px/1.6 "Manrope", sans-serif; color: #b9b9b9; }
.story__source a { color: inherit; text-underline-offset: 4px; }
.story__source small { display: block; margin-top: 6px; font-size: 13px; }
.story__resolution { display: block; font: 400 clamp(28px, 2.85vw, 48px)/1.12 Georgia, serif; }
.story__resolve { display: block; margin-top: 24px; font: 400 clamp(18px, 1.6vw, 24px)/1.45 Georgia, serif; color: #ddd; }
@media (min-width: 761px) and (min-height: 601px), (min-width: 961px) {
  .story__frame--accident .story__stat-number { font-size: clamp(60px, 6.4vw, 100px); }
  .story__frame--accident::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.8), rgba(0,0,0,.6) 26%, transparent 54%); pointer-events: none; }
}

/* Therapy — the original four images, white background and thin dividers. */
.application__header { margin-bottom: 112px; }
.application__title { margin-top: 0; }
.application__lead { max-width: 74ch; margin-top: 24px; font: 400 clamp(17px, 1.4vw, 19px)/1.65 "Manrope", sans-serif; color: #555; }
.application__description { font-size: 16px; line-height: 1.65; }

/* Evidence — a taller, left-aligned composition with the microscopy open on the right. */
.slide--evidence { --evidence-statement-h: max(108svh, 1040px); }
.evidence__statement { padding: 140px var(--page-gutter) 132px; }
.evidence__statement-inner { width: 100%; max-width: none; margin: 0; padding: 0; transform: none; text-align: left; }
.evidence__statement-bg { object-position: 68% center; }
.evidence__statement-scrim { background: linear-gradient(90deg, rgba(0,0,0,.94), rgba(0,0,0,.8) 48%, rgba(0,0,0,.16)), linear-gradient(0deg, rgba(0,0,0,.8), transparent 40%); }
.evidence__eyebrow { font-size: 13px; letter-spacing: .1em; line-height: 1.6; }
.evidence__heading { max-width: 22ch; margin-top: 28px; font-size: clamp(40px, 4.6vw, 72px); white-space: normal; text-wrap: balance; }
.evidence__lead { max-width: 64ch; margin-top: 32px; font-size: 18px; line-height: 1.7; }
.evidence__facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; max-width: 1040px; margin-top: 64px; padding-top: 36px; border-top: 1px solid rgba(255,255,255,.38); }
.evidence__fact { display: flex; flex-direction: column-reverse; align-self: start; }
.evidence__fact dt { font: 400 14px/1.5 "Manrope", sans-serif; color: #ddd; }
.evidence__fact dd { margin-bottom: 18px; font: 400 clamp(72px, 8vw, 116px)/1 Georgia, serif; letter-spacing: -.04em; }
.evidence__statement-cap { left: var(--page-gutter); right: var(--page-gutter); bottom: 36px; max-width: none; }
.evidence__statement-cap a { color: inherit; text-underline-offset: 3px; }
.evidence__cap-tag { font-size: 13px; letter-spacing: .08em; }
.evidence__cap-text { font-size: 14px; }
.evidence__seam { top: auto; bottom: 0; }

/* Three complementary readouts, followed by a compact publication record. */
.evidence__readouts { background: #fff; color: #111; padding: 88px var(--page-gutter) 64px; }
.evidence__readouts-inner { width: 100%; margin-inline: auto; }
.section-kicker { font: 500 13px/1.6 "Manrope", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: #666; }
.evidence__readouts-heading { margin-top: 20px; max-width: 28ch; font: 400 clamp(36px, 4.2vw, 60px)/1.12 Georgia, serif; }
.evidence__readouts-lead { margin-top: 24px; max-width: 78ch; font: 400 clamp(17px, 1.4vw, 19px)/1.65 "Manrope", sans-serif; color: #555; }
.evidence__readout-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 40px; }
.evidence__readout { min-width: 0; }
.evidence__figure-link { display: flex; align-items: center; justify-content: center; height: clamp(240px, 20vw, 340px); background: #080808; overflow: hidden; }
.evidence__figure-link--gait { background: #f0f0f0; }
.evidence__figure-link img { display: block; width: 100%; height: 100%; object-fit: contain; }
.evidence__figure-link--detail img { object-fit: cover; }
.evidence__readout-label { display: block; margin-top: 22px; font: 500 13px/1.5 "Manrope", sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #666; }
.evidence__readout h4 { margin-top: 12px; font: 400 clamp(23px, 2.2vw, 30px)/1.15 Georgia, serif; }
.evidence__readout p { margin-top: 16px; font: 400 16px/1.65 "Manrope", sans-serif; color: #555; }
.evidence__figure-source { display: inline-block; margin-top: 18px; padding-block: 4px; font: 400 14px/1.5 "Manrope", sans-serif; color: #555; text-underline-offset: 4px; }
.evidence__credits { margin-top: 40px; font: 400 13px/1.65 "Manrope", sans-serif; color: #666; }
.evidence__credits a { color: inherit; text-underline-offset: 3px; }
.evidence__records { padding: 88px var(--page-gutter) 96px; background: #f3f3f1; color: #111; }
.evidence__records-inner { max-width: none; }
.evidence__refs { max-width: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; border: 0; }
.evidence__refs-head, .evidence__refs-sub { grid-column: 1 / -1; }
.evidence__refs-head { padding-top: 0; font: 400 clamp(30px, 3vw, 40px)/1.15 Georgia, serif; letter-spacing: 0; text-transform: none; color: #111; }
.evidence__refs-sub { max-width: none; margin-block: 16px 40px; font-size: 16px; }
.evidence__ref { grid-template-columns: minmax(0, 1fr) 20px; gap: 16px; padding: 28px; border: 0; background: #fff; }
.evidence__ref:hover { background: #fcfcfa; }
.evidence__ref-title { font-size: clamp(24px, 2.1vw, 30px); }
.evidence__ref-meta { font-size: 13px; letter-spacing: .06em; line-height: 1.6; }
.evidence__ref-sample { display: block; margin-top: 14px; font: 400 14px/1.6 "Manrope", sans-serif; color: #555; }
.evidence__details { margin-top: 40px; border: 0; background: #e7e7e3; }
.evidence__details summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 28px; list-style: none; cursor: pointer; font: 400 16px/1.5 "Manrope", sans-serif; }
.evidence__details summary::-webkit-details-marker { display: none; }
.evidence__details summary::after { content: "+"; font: 400 26px/1 Georgia, serif; }
.evidence__details[open] summary::after { content: "−"; }
.evidence__details-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; padding: 12px 28px 32px; }
.evidence__details h4 { font: 400 23px/1.25 Georgia, serif; }
.evidence__details p { margin-top: 16px; font: 400 16px/1.65 "Manrope", sans-serif; color: #555; }

/* Readable supporting text in the existing portraits and contact layout. */
.about__role { font-size: 13px; letter-spacing: .06em; line-height: 1.5; }
.about__bio { font-size: 16px; line-height: 1.65; }
.contact__audiences { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.contact__audience { min-width: 0; }
.contact__audience-label { font-size: 13px; letter-spacing: .06em; overflow-wrap: anywhere; }
.contact__audience-text { font-size: 16px; line-height: 1.65; }
.contact__cta-label { font-size: 13px; letter-spacing: .08em; }
.contact__actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.contact__request { justify-content: space-between; font-size: 13px; letter-spacing: .04em; }
.contact__request--primary { background: #fff; color: #111; border-color: #fff; }
.contact__request--primary:hover { background: #ddd; border-color: #ddd; }
.contact__footer { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: none; align-items: center; gap: 40px clamp(48px, 6vw, 112px); padding: 56px var(--page-gutter) 32px; }
.contact__footer .contact__cta { grid-column: 2; grid-row: 1; margin-top: 0; width: 100%; max-width: 560px; min-width: 0; flex-direction: column; align-items: flex-start; gap: 32px; }
.contact__footer .contact__actions { width: 100%; max-width: 400px; }
.contact__signature { grid-column: 1; grid-row: 1; display: block; width: clamp(240px, 38vw, 544px); max-width: 100%; }
.contact__footer .contact__signature img { width: 100%; height: auto; }
.contact__footer-note { grid-column: 1 / -1; justify-self: end; font-size: 13px; }
.contact__footer-note a { color: inherit; text-underline-offset: 3px; }

@media (max-width: 1400px) {
  .hero { --hero-rail-y: 100px; }
  .hero__header { left: 24px; --hero-nav-gap: 16px; }
  .hero__nav { flex: 1; justify-content: space-between; }
}
@media (max-width: 1100px) {
  .site-nav { padding-inline: 24px; }
  .site-nav__links { gap: 11px; }
  .site-nav__sep { width: 12px; }
  .site-nav__link { font-size: 12px; letter-spacing: .04em; }
  .site-nav__brand img { width: 144px; }
  .evidence__readout-grid { gap: 24px; }
  .evidence__figure-link { height: 190px; }
}
@media (max-width: 880px) {
  .site-nav__sep { display: none; }
  .platform__scope { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
  .platform__direction:nth-child(n+3) { border-top: 1px solid var(--rule); }
  .evidence__readout-grid { grid-template-columns: 1fr; gap: 36px; }
  .evidence__readout { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; }
  .evidence__figure-link { height: 240px; }
  .evidence__readout-label { margin-top: 0; }
  .evidence__refs, .evidence__details-grid { grid-template-columns: 1fr; }
  .evidence__ref + .evidence__ref { margin-top: 20px; }
  .evidence__details-grid { gap: 28px; }
  .contact__audiences { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  section[id] { scroll-margin-top: 128px; }
  .hero { min-height: 620px; }
  .hero__header { top: 84px; }
  .hero__copy { bottom: 48px; max-width: none; right: 48px; }
  .hero__title { font-size: clamp(36px, 7.5vw, 54px); }
  .hero__subtitle { font-size: 16px; line-height: 1.6; }
  .hero__nav-link { font-size: 12px; letter-spacing: .04em; }
  .slide--statement { min-height: auto; padding-block: 96px 80px; }
  .slide__statement { font-size: clamp(34px, 7.5vw, 52px); }
  .platform__lead { margin-top: 24px; }
  .platform__scope { margin-top: 40px; }
  .platform__direction { padding-right: 16px; }
  .platform__direction img { margin-bottom: 16px; }
  .story__frame { gap: 20px; padding-top: 140px; }
  .story__frame .story__caption { position: static; transform: none; width: 100%; max-width: none; }
  .story__stat { margin-top: 16px; }
  .story__stat-number { font-size: clamp(54px, 14vw, 76px); }
  .story__stat-number--population { font-size: clamp(46px, 13vw, 80px); }
  .story__stat-unit { font-size: 23px; }
  .story__narrative { font-size: 21px; }
  .story__stat-label { margin-top: 14px; font-size: 16px; }
  .story__source { margin-top: 14px; }
  .story__resolution { font-size: 34px; }
  .story__resolve { margin-top: 20px; font-size: 20px; }
  .story__frame--accident .story__caption { text-align: center; }
  .evidence__statement { min-height: 110svh; padding: 100px 24px 128px; }
  .evidence__statement-inner { left: auto; }
  .evidence__heading { font-size: clamp(36px, 7.8vw, 56px); }
  .evidence__lead { font-size: 17px; }
  .evidence__facts { gap: 24px; margin-top: 48px; padding-top: 28px; }
  .evidence__fact dd { font-size: 72px; }
  .evidence__statement-cap { padding: 0; flex-direction: column; gap: 8px; }
  .evidence__readouts { padding-top: 64px; }
  .evidence__readouts-heading { max-width: none; }
  .evidence__records { padding-block: 64px; }
  .evidence__ref { padding: 24px; }
  .evidence__details { margin-top: 32px; }
  .evidence__details summary { padding: 24px; }
  .evidence__details-grid { padding-inline: 24px; }
  .contact__actions { width: 100%; max-width: 400px; }
  .contact__request { padding: 16px 20px; }
  .contact__audience { padding: 24px 18px; }
  .contact__footer { grid-template-columns: 1fr; padding-top: 40px; gap: 48px; }
  .contact__footer .contact__cta { grid-column: 1; grid-row: 1; }
  .contact__signature { grid-column: 1; grid-row: 2; width: min(100%, 360px); }
  .contact__footer-note { justify-self: start; }
}
@media (max-width: 699px) {
  .application__header { margin-bottom: 80px; }
}
@media (max-width: 560px) {
  .evidence__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 32px; }
  .evidence__readout { grid-template-columns: 1fr; gap: 24px; }
  .evidence__figure-link { height: auto; aspect-ratio: 1.5; }
  .evidence__figure-link--gait { aspect-ratio: 1600 / 715; }
  .evidence__readout + .evidence__readout { padding-top: 32px; border-top: 1px solid #ccc; }
  .contact__heading { font-size: clamp(38px, 10vw, 56px); }
}
@media (max-width: 960px) and (max-height: 600px) {
  .hero { min-height: 540px; }
  .story__frame { padding-block: 80px 64px; }
  .story__frame .story__caption { position: static; transform: none; width: 100%; max-width: none; text-align: left; }
  .story__narrative { font-size: 18px; }
  .story__stat { margin-top: 10px; }
  .story__stat-number { font-size: 48px; }
  .story__stat-number--population { font-size: clamp(40px, 5.5vw, 48px); }
  .story__stat-unit { font-size: 20px; }
  .story__stat-label { margin-top: 10px; font-size: 14px; }
  .story__source { margin-top: 10px; font-size: 12px; }
  .story__source small { font-size: 12px; }
  .story__resolution { font-size: 30px; }
  .story__resolve { margin-top: 16px; font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .scroll-rail__line { transform: none; }
  .scroll-rail__probe { display: none; }
}
