.info-stage {
  position: fixed;
  inset: 80px 0;
  display: grid;
  place-items: center;
}

.info-scroll {
  width: min(840px, calc(100% - 48px));
  max-height: 100%;
  padding: 12px 16px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-gutter: stable both-edges;
}

.info-scroll:focus-visible { outline: 1px solid #ddd; outline-offset: 4px; }
.info-header { margin: 0 auto 40px; text-align: center; }
.info-header h1 { margin: 0; font: inherit; letter-spacing: .015em; }
.info-intro {
  max-width: 440px;
  margin: 16px auto 0;
  color: var(--soft);
  font-size: 11px;
  line-height: 1.7;
}

.principles-list { margin: 0; padding: 0; list-style: none; }
.creative-statement-page .info-header { margin-bottom: 24px; }
.principle-trigger {
  display: grid;
  place-items: center;
  width: 100%;
  min-height: var(--line-height);
  padding: 5px 8px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1.6;
  text-align: center;
  cursor: pointer;
}
.principle-trigger:focus-visible { outline: 1px solid #b4b4b4; outline-offset: -1px; }
.principle-number, .principle-text { grid-area: 1 / 1; }
.principle-number {
  font-variant-numeric: tabular-nums;
  transition: opacity 260ms ease, transform 600ms var(--ease), filter 400ms ease;
}
/* Reserve the text's natural height so revealing a long principle never shifts its neighbours. */
.principle-text {
  max-width: 100%;
  opacity: 0;
  clip-path: inset(-4px 50%);
  transform: scaleX(.94);
  transition: opacity 300ms ease, clip-path 800ms var(--ease), transform 800ms var(--ease);
}
.principle-trigger:is(:hover, :focus-visible, [aria-pressed="true"]) .principle-number {
  opacity: 0;
  transform: scaleX(.6);
  filter: blur(2px);
}
.principle-trigger:is(:hover, :focus-visible, [aria-pressed="true"]) .principle-text {
  opacity: 1;
  clip-path: inset(-4px 0);
  transform: scaleX(1);
}

.info-content { padding: 28px 0 36px; font-size: 12px; line-height: 1.7; }
.biography { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 40px; align-items: start; }
.about-side-photo { display: block; width: 100%; height: auto; }
.about-me-item { margin: 0 0 24px; }
.about-me-item:last-child { margin-bottom: 0; }
.about-me-item h3 { margin: 0; font: inherit; }
.about-sublist { padding: 0; margin: 8px 0 0; list-style: none; color: var(--soft); }
.about-subpoint { margin: 8px 0 0; color: var(--soft); }
.about-link-list a { color: inherit; text-underline-offset: 4px; text-decoration-color: #ccc; }
.about-link-list a:hover { color: var(--ink); }
.about-link-list a:focus-visible { outline: 1px solid #b4b4b4; outline-offset: 4px; }
.info-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 11px; line-height: 1.6; }
.info-table th, .info-table td { padding: 10px 12px 10px 0; text-align: left; vertical-align: top; overflow-wrap: anywhere; font-weight: 400; }
.info-table th { color: var(--soft); padding-bottom: 18px; }
.info-table th:nth-child(1) { width: 29%; }
.info-table th:nth-child(2) { width: 24%; }
.info-table th:nth-child(3) { width: 35%; }
.info-table th:nth-child(4) { width: 12%; }
.info-table td:not(:first-child) { color: var(--soft); }
.info-table :is(th, td):last-child { padding-right: 0; font-variant-numeric: tabular-nums; }
.info-table tbody tr { transition: background-color 250ms ease; }
.info-table tbody tr:hover { background: #fafafa; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.about-page .info-stage { position: static; display: block; }
.about-page .info-scroll { width: min(1040px, calc(100% - 96px)); max-height: none; overflow: visible; padding: 138px 0 112px; margin: 0 auto; }
.about-page .info-header { margin-bottom: 62px; }
.about-hero { margin: 0 0 64px; }
.about-hero-image { display: block; width: min(100%, 375px); max-height: 480px; object-fit: contain; height: auto; margin-inline: auto; }
.about-page .category { max-width: 760px; margin-inline: auto; }
.about-page .biography { display: block; max-width: 580px; margin-inline: auto; }
.about-page .study-nav::before, .about-page .study-nav::after { content: ''; position: fixed; inset: 0 0 auto; height: 76px; z-index: 9; background: linear-gradient(#fff 65%, #ffffff00); pointer-events: none; }
.about-page .study-nav::after { inset: auto 0 0; background: linear-gradient(#ffffff00, #fff 35%); }

@media (max-width: 600px) {
  .info-stage { inset: 72px 0; }
  .info-scroll { width: calc(100% - 24px); padding: 8px; }
  .info-header { margin-bottom: 28px; }
  .info-intro { max-width: 300px; }
  .principle-trigger { font-size: 12px; padding: 9px 0; }
  .biography { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .about-side-photo { grid-row: 1; width: 140px; margin-inline: auto; }
  .info-table { font-size: 10px; }
  .info-table th, .info-table td { padding-right: 10px; }
  .info-table th:nth-child(1) { width: 28%; }
  .info-table th:nth-child(2) { width: 23%; }
  .info-table th:nth-child(3) { width: 33%; }
  .info-table th:nth-child(4) { width: 16%; }
  .about-page .info-scroll { width: calc(100% - 40px); padding-top: 112px; }
  .about-page .info-header { margin-bottom: 44px; }
  .about-hero { margin-bottom: 40px; }
  .about-hero-image { width: min(80%, 280px); }
}
