@media (max-width: 980px) {
  :root { --max: 880px; }

  h1 { font-size: clamp(4rem, 10.5vw, 5.8rem); }
}

@media (max-width: 760px) {
  :root { --header-height: 74px; }

  .hero-shell {
    --hero-title-offset-y: clamp(4.5rem, 13svh, 8rem);
    padding-inline: 0.75rem;
  }

  .header-shell {
    align-items: flex-start;
    width: calc(100% - (var(--gutter) * 2));
    padding-top: 0.82rem;
  }

  .brand-mark { width: 42px; height: 42px; }
  .brand-square { width: 23px; }
  .brand-square-pink { left: 7px; top: 14px; }
  .brand-square-white { left: 16px; top: 6px; }

  .hero-type {
    width: min(100%, calc(100vw - (var(--gutter) * 2)));
    padding-top: 0;
  }

  .hero-type #hero-title {
    font-size: clamp(3.2rem, 11.8vw, 4.75rem);
    line-height: 0.88;
    letter-spacing: 0.016em;
  }

  .hero-type #hero-title .hero-line {
    width: 100%;
    justify-content: space-between;
    gap: clamp(0.12em, 1.6vw, 0.26em);
  }

  h1 { font-size: clamp(3rem, 10.7vw, 4.65rem); line-height: 0.9; }

  .writing-grid,
  .fragment-grid,
  .education-list {
    grid-template-columns: 1fr;
  }

  .leader-card { grid-column: auto; }

  .inline-heading {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }

  .education-list article,
  .education-list article:nth-child(odd),
  .education-list article:nth-child(even) {
    border-right: 0;
    padding-left: 0;
  }

  .awards-list a { grid-template-columns: 64px minmax(0, 1fr) 22px; gap: 0.75rem; padding-block: 0.75rem; }
  .awards-list span { grid-column: 2; }
  .awards-list em { grid-column: 3; grid-row: 1 / span 2; }

  .footer-shell { grid-template-columns: 1fr; }
  .footer-game { justify-self: start; }
}

@media (max-width: 520px) {
  .section { padding-block: 4rem; }
  .hero-shell {
    --hero-title-offset-y: clamp(3rem, 10svh, 5.5rem);
    padding-inline: 0.75rem;
  }
  .hero-portrait-frame { min-width: 290px; width: 78vw; height: 540px; }

  .hero-type #hero-title {
    font-size: clamp(2.75rem, 13.8vw, 3.45rem);
    line-height: 0.84;
    letter-spacing: 0.012em;
  }

  .hero-type #hero-title .hero-line {
    width: 100%;
    justify-content: space-between;
    gap: clamp(0.08em, 1vw, 0.14em);
  }

  h1 { font-size: clamp(2rem, 10.5vw, 3.05rem); letter-spacing: -0.035em; }
  .section-heading h2 { font-size: clamp(1.9rem, 10vw, 3rem); }

  .writing-card,
  .writing-more { min-height: 170px; }
}

@media (max-width: 380px) {
  .hero-shell { padding-inline: 0.9rem; }

  .hero-type { width: min(100%, calc(100vw - 2.25rem)); }

  .hero-type #hero-title {
    font-size: clamp(2.5rem, 13vw, 3rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .tilt-card:hover,
  .footer-game button:hover,
  .footer-game button.is-lit { transform: none; }

  .hero-word {
    opacity: 1;
    filter: none;
    transform: translateY(0);
    animation: none;
  }

  .hero-camera-canvas {
    transition: none;
  }

}
