.about-page {
  background: #f6f7f8;
}
.about-page em {
  font-style: normal;
  color: var(--pink);
}
.about-kicker {font-size:var(--ty-eyebrow);font-weight:var(--ty-eyebrow-weight);letter-spacing:var(--ty-eyebrow-track);color: var(--indigo);}
.about-network {
  min-height: calc(100svh - 82px);
  position: relative;
  overflow: hidden;
  padding: clamp(60px, 8vw, 140px) clamp(24px, 5vw, 82px);
  display: grid;
  align-items: center;
  background: var(--paper);
}
.about-network canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.72;
}
.about-network-copy {
  position: relative;
  z-index: 2;
  max-width: 1180px;
}
.about-network h1 {font-size:var(--ty-h1);font-weight:500;line-height:var(--ty-h1-lh);letter-spacing:var(--ty-h1-ls);margin: 55px 0 44px;}
.about-network-copy > p:not(.about-kicker) {font-size:var(--ty-lead);line-height:var(--ty-lead-lh);max-width: 690px;
  color: var(--text-muted);}
.about-actions {
  display: flex;
  gap: 18px;
  margin-top: 38px;
}
.about-actions a,
.about-closing a {
  padding: 15px 20px;
  text-decoration: none;
  border: 1px solid var(--indigo);
  font-size: 0.78rem;
  font-weight: 800;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.about-actions a span,
.about-closing a span {
  display: inline-block;
  transition: transform 0.3s;
}
.about-actions a:hover span,
.about-closing a:hover span {
  transform: translate(3px, -3px);
}
.about-actions a:first-child {
  background: var(--indigo);
  color: #fff;
}
.about-actions a:first-child:hover {
  background: var(--deep);
}
.about-actions a:not(:first-child):hover {
  background: var(--indigo);
  color: #fff;
}
.node-key {
  position: absolute;
  right: 5vw;
  bottom: 5vw;
  color: var(--indigo);
}
.node-key b {
  font-size: 3rem;
  font-weight: 500;
  display: block;
}
.about-story {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: clamp(50px, 8vw, 140px);
  padding: clamp(75px, 10vw, 160px) clamp(24px, 5vw, 82px);
  background: #fff;
}
.about-story h2,
.about-heading h2 {font-size:var(--ty-h2);font-weight:500;line-height:var(--ty-h2-lh);letter-spacing:var(--ty-h2-ls);margin: 32px 0;}
.about-story article > p:not(.about-kicker) {
  font-size: 1.08rem;
  line-height: 1.7;
  color: var(--text-muted);
}
.about-story blockquote {
  margin: 55px 0 0;
  padding: 5px 0 5px 30px;
  border-left: 2px solid var(--pink);
  font-size: clamp(1.25rem, 1.8vw, 1.75rem);
  line-height: 1.45;
  color: var(--indigo);
}
.about-story cite {
  display: block;
  margin-top: 24px;
  font-size: 0.76rem;
  letter-spacing: 0.1em;
  font-style: normal;
  color: var(--text-muted);
}
.beliefs,
.about-evidence,
.approach,
.leadership,
.ecosystem {
  padding: clamp(70px, 9vw, 145px) clamp(24px, 5vw, 82px);
}
.about-heading {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 8vw;
  align-items: end;
  margin-bottom: clamp(55px, 7vw, 100px);
}
.about-heading h2 {
  margin-bottom: 0;
}
.about-heading > p {font-size:var(--ty-lead);line-height:var(--ty-lead-lh);color: var(--text-muted);}
.belief-row {
  display: grid;
  grid-template-columns: 0.18fr 0.8fr 1fr;
  gap: clamp(22px, 5vw, 90px);
  padding: 42px 0;
  border-top: 1px solid rgba(32, 32, 34, 0.18);
  align-items: start;
}
.belief-row b {
  color: var(--pink);
}
.belief-row h3 {font-size:var(--ty-h3);font-weight:500;line-height:var(--ty-h3-lh);letter-spacing:var(--ty-h3-ls);margin: 0;}
.belief-row p {
  margin: 0;
  line-height: 1.65;
  color: var(--text-muted);
}
.belief-close {font-size:var(--ty-h3);font-weight:500;line-height:var(--ty-h3-lh);letter-spacing:var(--ty-h3-ls);text-align: right;
  margin: 80px 0 0;}
.about-evidence {
  background: var(--ice);
}
.data-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr;
  border-top: 1px solid rgba(32, 32, 34, 0.22);
  border-left: 1px solid rgba(32, 32, 34, 0.22);
}
.data-grid article {
  min-height: 240px;
  min-width: 0;
  padding: 32px;
  border-right: 1px solid rgba(32, 32, 34, 0.22);
  border-bottom: 1px solid rgba(32, 32, 34, 0.22);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.data-grid .data-feature {
  grid-row: span 2;
  min-height: 480px;
}
.data-grid strong {
  font-size: clamp(3rem, 5vw, 6rem);
  line-height: 0.9;
  letter-spacing: -0.06em;
  font-weight: 500;
  color: var(--indigo);
  overflow-wrap: anywhere;
}
.data-feature strong {
  font-size: clamp(7rem, 13vw, 15rem);
  overflow-wrap: anywhere;
}
.data-grid span {
  font-size: 0.9rem;
}
.approach {
  background: #fff;
}
.accordion {
  border-top: 1px solid rgba(32, 32, 34, 0.2);
}
.approach-item {
  border-bottom: 1px solid rgba(32, 32, 34, 0.2);
}
.approach-item button {font-size:var(--ty-h4);font-weight:500;line-height:var(--ty-h4-lh);letter-spacing:var(--ty-h4-ls);width: 100%;
  border: 0;
  background: none;
  padding: 28px 0;
  display: grid;
  grid-template-columns: 80px 1fr auto;
  text-align: left;
  cursor: pointer;}
.approach-item button span {
  color: var(--pink);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  padding-top: 0.5rem;
}
.approach-item button i {
  font-style: normal;
  color: var(--indigo);
  transition: 0.3s;
}
.approach-item.open button i {
  transform: rotate(45deg);
}
.approach-answer {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s;
}
.approach-answer > p {
  overflow: hidden;
  margin: 0 70px 0 80px;
  max-width: 750px;
  line-height: 1.65;
  color: var(--text-muted);
  opacity: 0;
  transition: 0.3s;
}
.approach-item.open .approach-answer {
  grid-template-rows: 1fr;
}
.approach-item.open .approach-answer > p {
  opacity: 1;
  margin-bottom: 32px;
}
.leadership {
  background: var(--indigo);
  color: #fff;
}
.leadership .about-kicker {
  color: var(--mint);
}
.leadership .about-heading > p {
  color: rgba(255, 255, 255, 0.7);
}
.leadership-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}
.leader {
  margin: 0;
  display: flex;
  flex-direction: column;
  border-right: 1px solid rgba(255, 255, 255, 0.22);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  overflow: hidden;
}
.leader img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  background: #fff;
  filter: saturate(0.76) contrast(0.98);
  transition:
    filter 0.5s ease,
    transform 0.6s ease;
}
.leader figcaption {
  padding: 20px 22px 26px;
  min-height: 0;
}
.leader strong {
  display: block;
  font-size: 0.98rem;
  margin-bottom: 6px;
}
.leader span {
  color: var(--mint);
  font-size: 0.72rem;
  line-height: 1.45;
}
.leader-closing {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  padding: 28px 26px;
  background: rgba(255, 255, 255, 0.05);
}
.leader-closing b {
  display: block;
  font-size: clamp(2.4rem, 4vw, 3.4rem);
  line-height: 0.95;
  font-weight: 500;
  letter-spacing: -0.03em;
  color: var(--mint);
}
.leader-closing p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}
@media (min-width: 901px) and (max-width: 1200px) {
  .leadership-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.ecosystem {
  background: #fff;
}
.partner-row {
  display: grid;
  grid-template-columns: 0.25fr 1fr;
  padding: 32px 0;
  border-top: 1px solid rgba(32, 32, 34, 0.18);
}
.partner-row span {font-size:var(--ty-tag);font-weight:var(--ty-tag-weight);letter-spacing:var(--ty-tag-track);color: var(--pink);}
.partner-row div {
  font-size: clamp(1.15rem, 2vw, 2rem);
  line-height: 1.6;
  color: var(--indigo);
}
.partner-logos {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(28px, 4vw, 48px);
}
.partner-logo-plain {
  height: 62px;
  width: auto;
  max-width: 190px;
  object-fit: contain;
}
.about-closing {
  background: var(--indigo);
  color: #fff;
  padding: clamp(75px, 10vw, 160px) clamp(24px, 5vw, 82px);
}
.about-closing h2 {font-size:var(--ty-h2);font-weight:500;line-height:var(--ty-h2-lh);letter-spacing:var(--ty-h2-ls);max-width: 1300px;
  margin: 0;}
.about-closing p {font-size:var(--ty-lead);line-height:var(--ty-lead-lh);color: rgba(255, 255, 255, 0.7);
  max-width: 630px;
  margin: 45px 0;}
.about-closing div {
  display: flex;
  gap: 16px;
  justify-content: flex-end;
}
.about-closing a {
  border-color: rgba(255, 255, 255, 0.5);
  color: #fff;
}
.about-closing a:first-child {
  background: #fff;
  color: var(--indigo);
}
.about-closing a:first-child:hover {
  background: var(--paper);
  color: var(--pink);
}
.about-closing a:not(:first-child):hover {
  background: var(--paper);
  color: var(--pink);
  border-color: var(--paper);
}
@media (max-width: 900px) {
  .about-network {
    min-height: 820px;
  }
  .about-story,
  .about-heading {
    grid-template-columns: 1fr;
  }
  .about-heading {
    gap: 20px;
  }
  .belief-row {
    grid-template-columns: 60px 1fr;
  }
  .belief-row p {
    grid-column: 2;
  }
  .data-grid {
    grid-template-columns: 1fr 1fr;
  }
  .data-grid .data-feature {
    grid-row: auto;
    grid-column: span 2;
    min-height: 300px;
  }
  .leadership-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .partner-row {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
@media (max-width: 600px) {
  .about-network {
    min-height: 760px;
  }
  .about-network canvas {
    opacity: 0.42;
  }
  .about-network h1 {font-size:var(--ty-h1);font-weight:500;line-height:var(--ty-h1-lh);letter-spacing:var(--ty-h1-ls)}
  .node-key {
    display: none;
  }
  .about-actions,
  .about-closing div {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
  .about-story {
    display: block;
  }
  .belief-row {
    grid-template-columns: 40px 1fr;
  }
  .data-grid {
    grid-template-columns: 1fr;
  }
  .data-grid .data-feature {
    grid-column: auto;
  }
  .data-grid article,
  .data-grid .data-feature {
    min-height: 210px;
  }
  .data-feature strong {
    font-size: clamp(3rem, 15vw, 6rem);
  }
  .approach-item button {font-size:var(--ty-h4);font-weight:500;line-height:var(--ty-h4-lh);letter-spacing:var(--ty-h4-ls);grid-template-columns: 45px 1fr auto;}
  .approach-answer > p {
    margin-left: 45px;
    margin-right: 20px;
  }
  .leadership-grid {
    grid-template-columns: 1fr;
  }
  .leader figcaption {
    padding: 16px 18px 20px;
  }
  .partner-row div {
    font-size: 1.05rem;
  }
}

.story-illustration {
  position: relative;
  align-self: center;
  width: 100%;
  min-height: 420px;
  aspect-ratio: 760/620;
  overflow: hidden;
  contain: layout paint;
}
.story-trajectory {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.story-path {
  fill: none;
  stroke: var(--indigo);
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.story-path-2,
.story-path-4 {
  stroke-opacity: 0.62;
}
.story-path-3,
.story-path-5 {
  stroke-opacity: 0.42;
}
.story-main-path {
  stroke-width: 1.7;
}
.story-action-path {
  stroke: var(--pink);
  stroke-width: 1.85;
}
.story-node {
  fill: var(--indigo);
  transform-box: fill-box;
  transform-origin: center;
}
.story-node-mint {
  fill: #66d9b0;
}
.patient-node {
  fill: var(--indigo);
  stroke: #fff;
  stroke-width: 2.5;
  filter: drop-shadow(0 0 5px rgba(48, 46, 130, 0.22));
}
.story-pulse {
  fill: var(--pink);
  opacity: 0;
  filter: drop-shadow(0 0 5px rgba(237, 59, 130, 0.45));
  pointer-events: none;
}
.story-illustration.is-prepared .story-path {
  stroke-dasharray: var(--path-length);
  stroke-dashoffset: var(--path-length);
}
.story-illustration.is-prepared .story-node {
  opacity: 0;
  transform: scale(0.35);
}
.story-illustration.is-active .story-path {
  stroke-dashoffset: 0;
  transition:
    stroke-dashoffset 1.75s cubic-bezier(0.35, 0, 0.2, 1),
    transform 0.7s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.story-illustration.is-active .story-path-2 {
  transition-delay: 0.08s;
}
.story-illustration.is-active .story-path-3 {
  transition-delay: 0.16s;
}
.story-illustration.is-active .story-path-4 {
  transition-delay: 0.24s;
}
.story-illustration.is-active .story-path-5 {
  transition-delay: 0.32s;
}
.story-illustration.is-active .story-main-path {
  transition-delay: 0.56s;
}
.story-illustration.is-active .story-action-path {
  transition-delay: 1.15s;
}
.story-illustration.is-active .story-node {
  opacity: 1;
  transform: scale(1);
  transition:
    opacity 0.45s ease var(--node-delay),
    transform 0.45s cubic-bezier(0.2, 0.8, 0.2, 1) var(--node-delay);
}
@media (max-width: 900px) {
  .story-illustration {
    width: min(680px, 100%);
    min-height: 0;
    aspect-ratio: 760/620;
    margin-inline: auto;
  }
}
@media (max-width: 600px) {
  .story-illustration {
    margin-bottom: 28px;
    aspect-ratio: 760/620;
  }
}
@media (prefers-reduced-motion: reduce) {
  .story-illustration .story-path,
  .story-illustration .story-node {
    transition: none !important;
    stroke-dashoffset: 0 !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .story-pulse {
    display: none;
  }
}
.belief-close a{color:inherit;text-decoration:none}
.belief-close .belief-arrow{display:inline-block;color:var(--pink);transition:transform .3s}
.belief-close a:hover .belief-arrow,.belief-close a:focus-visible .belief-arrow{transform:translate(3px,-3px)}
.data-grid .data-link{color:inherit;text-decoration:none;border-bottom:1px solid rgba(32,32,34,.3)}
.data-grid .data-link:hover{border-color:currentColor}
@media (min-width: 901px){.data-grid{grid-template-columns:1fr 1fr}}@media (min-width: 1100px){.data-grid{grid-template-columns:repeat(4,1fr)}.data-grid strong{font-size:clamp(2.75rem,4.2vw,5rem)}}

/* Accordion rows react on hover like the other clickable rows. */
.approach-item button:hover{color:var(--indigo)}
.approach-item button:hover span:last-child{color:var(--pink)}
/* Vertical rhythm (tokens in type-scale.css) */
.about-story,.beliefs,.about-evidence,.approach,.leadership,.ecosystem,.about-closing{padding-top:var(--section-y)!important;padding-bottom:var(--section-y)!important}
.about-heading{margin-bottom:var(--head-gap)}
.belief-close{margin-top:clamp(36px,4vw,56px)}
