.student-page .profile { width: min(1160px, calc(100% - 64px)); grid-template-columns: 1fr 1.05fr; gap: 24px 60px; padding-bottom: 48px; }
.student-page .profile h1 { font-size: clamp(42px, 5vw, 68px); }
.student-page .profile h2 { font-size: clamp(31px, 3vw, 41px); text-wrap: balance; }
.student-page .profile-photo { height: auto; min-height: 0; grid-row: 2; background: transparent; border-radius: 0; overflow: visible; }
.student-page .profile-photo picture { display: block; border-radius: 12px; overflow: hidden; }
.student-page .profile-photo img { height: auto; object-fit: contain; }
.student-page .profile-photo figcaption { font-size: 12px; }
.student-page .intro { max-width: 29em; }
.student-background { margin-top: 6px; font-size: 13px; color: var(--muted); line-height: 1.8; }
.student-story { padding-block: 52px; border-top: 1px solid var(--line); }
.student-story-grid { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 72px; align-items: center; }
.student-story picture { display: block; overflow: hidden; border-radius: 10px; }
.student-story figcaption { font-size: 12px; }
.student-story .notes-copy > div + div { margin-top: 28px; }
.student-quote { padding-block: 42px; background: var(--sky); }
.student-quote blockquote { margin: 0; max-width: 30em; font-size: clamp(23px, 2.5vw, 32px); line-height: 1.65; letter-spacing: -.025em; }
.student-quote .source-note { margin-top: 15px; line-height: 1.8; }
.quote-context { max-width: 48em; margin-top: 20px; font-size: 16px; line-height: 1.95; }
.student-moment { padding-block: 52px; display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 65px; align-items: center; }
.student-moment h2 { font-size: 29px; line-height: 1.5; }
.student-moment p { margin-top: 18px; font-size: 16px; line-height: 1.95; }
.student-moment img { border-radius: 10px; }
.student-moment figcaption { font-size: 12px; }
.student-releases { padding-block: 40px 54px; border-top: 1px solid var(--line); }
.student-releases h2 { font-size: 28px; line-height: 1.5; }
.student-releases > p { margin-top: 12px; color: var(--muted); font-size: 14px; line-height: 1.9; }
.release-list { padding: 0; list-style: none; margin: 24px 0 0; }
.release-list li { border-top: 1px solid var(--line); }
.release-list a { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 20px 0; }
.release-list h3 { margin: 0; font-size: 20px; line-height: 1.5; }
.release-list p { margin-top: 7px; font-size: 14px; line-height: 1.8; color: var(--muted); }
.release-list a > span { color: var(--blue); font-size: 14px; }
.release-list a:hover h3 { color: var(--blue); }
.student-page .interview-section { border-top: 1px solid var(--line); }
.student-page .interview-grid { align-items: start; }
.mocha-page .profile-photo { max-width: 510px; }
.mocha-page .student-story-grid { grid-template-columns: 280px minmax(0, 1fr); }
.mocha-page .student-moment { grid-template-columns: minmax(0, 1fr) 270px; }
.grace-page .profile-photo { max-width: 410px; justify-self: center; }
.grace-page .student-story-grid { grid-template-columns: 360px minmax(0, 1fr); }
.jucilang-page .student-story-grid { grid-template-columns: 440px minmax(0, 1fr); }
@media (max-width: 1050px) {
  .student-page .profile { gap: 24px 32px; }
  .student-story-grid, .mocha-page .student-story-grid, .grace-page .student-story-grid, .jucilang-page .student-story-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); gap: 38px; }
  .student-moment { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 38px; }
}
@media (max-width: 760px) {
  .student-page .profile { width: calc(100% - 40px); gap: 0; padding-bottom: 35px; }
  .student-page .profile h1 { font-size: clamp(40px, 10vw, 54px); }
  .student-page .profile h2 { font-size: 32px; }
  .student-page .profile-photo { aspect-ratio: auto; width: 100%; margin: 25px auto 0; }
  .grace-page .profile-photo { max-width: 350px; }
  .student-story { padding-block: 12px 36px; border-top: 0; }
  .student-story-grid, .mocha-page .student-story-grid, .grace-page .student-story-grid, .jucilang-page .student-story-grid { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 28px; }
  .student-story figure { width: min(340px, 100%); margin-inline: auto; }
  .mocha-page .student-story figure { width: min(260px, 100%); }
  .student-quote { padding-block: 30px; }
  .student-moment, .mocha-page .student-moment { grid-template-columns: minmax(0, 1fr); gap: 26px; padding-block: 36px; }
  .mocha-page .student-moment figure { width: min(260px, 100%); margin-inline: auto; }
  .student-moment h2 { font-size: 26px; }
  .student-moment p { font-size: 15px; }
  .student-releases { padding-block: 30px 38px; }
  .release-list a { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}
