/* Reading, pacing and interaction refinements shared by the six chapters. */
:root { --serif: var(--font-display); --mono: var(--font-mono); }
.photo-hero-open { width: 100%; height: 100%; display: block; cursor: zoom-in; }
.lb__img { transform-origin: 0 0; }
.alumni-page .acard__now { background: var(--paper-2); border-left: 2px solid var(--accent-ink); padding: 14px; font-size: 14px; }
.hero-line, .chapter-line { white-space: normal; overflow-wrap: anywhere; }
.hero-line > span, .chapter-line > span { max-width: 100%; }
.hero-cinema__title { max-width: 12ch; }
.hero-cinema__description, .chapter-description { white-space: pre-line; }
.chapter-eyebrow, .chapter-meta, .chapter-foot__note, .chapter-metrics .mono,
.hero-cinema__eyebrow, .hero-cinema__meta, .motion-toggle,
.research__stagehead, .stat__label, .footer__label { font-size: 12px; line-height: 1.65; }
.motion-toggle, .chapter-scroll, .footer__admin, .subnav__chip, .fchip,
.pseg button, .covergal__nudge button, .pclear, .yearindex__link { min-height: 44px; }
.chapter-scroll, .footer__admin { display: inline-flex; align-items: center; }
.chapter-scroll, .subnav__chip, .fchip, .pseg button, .prow__doi { font-size: 12px; }
.home-page .numbers { padding-block: clamp(38px, 5vw, 72px); border-bottom: 1px solid var(--rule); }
.home-page .numbers .section-head { margin-bottom: 26px; }
.home-page .numbers .section-head__word { font-size: clamp(28px, 3vw, 44px); }
.home-page .numbers .stat__value { font-size: clamp(40px, 5.5vw, 76px); }
.home-page .section { --section-y: clamp(68px, 8vw, 120px); }
.research__paper { grid-column: 2; grid-row: 5; align-self: start; justify-self: start; margin-top: 24px; font-size: 13px; border-bottom: 1px solid currentColor; padding: 10px 0; }
.research[data-seq="cinema"] .research__paper { opacity: 0; visibility: hidden; transition: opacity 300ms; }
.research[data-seq="cinema"] .is-current .research__paper { opacity: 1; visibility: visible; }
.collaborate { margin-block: 0 40px; padding-bottom: 36px; border-bottom: 1px solid var(--rule); display: grid; grid-template-columns: 1.5fr 1fr; gap: 32px 8vw; align-items: end; }
/* One line from 1024 up. The 15ch cap is what was breaking the sentence, and
   dropping it is what fixes it; the title column above went 1.25fr → 1.5fr to
   carry the longer line (510px of room at 1024, 697px at 1400, against 505px
   of text). Not 1.7 or 1.9fr: those starve the body column enough to push its
   paragraph to three lines and wrap the links at 1280.

   The size here is a floor, not what renders. `.footer h2` in layout.css is
   (0,1,1) to this rule's (0,1,0), so it wins font-size, family, weight and
   line-height, and the title sets at its 2rem. The clamp only governs if that
   rule stops applying — so it is capped at 44px, a width this column can still
   hold on one line, rather than the 66px it used to carry. */
.collaborate__title { font: 360 clamp(28px, 2.9vw, 44px)/1.07 var(--serif); letter-spacing: -.04em; }
.collaborate__title em { color: var(--accent-ink); }
.collaborate__body p { max-width: 48ch; font-size: 15px; line-height: 1.8; }
.collaborate__links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 20px; }
.collaborate__links a { padding-block: 12px; font-size: 13px; border-bottom: 1px solid var(--rule); }
.pubbar { position: relative; top: auto; scroll-margin-top: 90px; }
.publications-page .covergal { padding-block: 42px; }
.pubbar__row--top { flex-wrap: wrap; }
.publication-status { color: inherit; background: transparent; border: 1px solid var(--rule); padding: 11px 12px; min-height: 44px; font: inherit; font-size: 13px; max-width: 100%; }
.pubbar__extras { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; padding-top: 16px; border-top: 1px solid var(--rule); margin-top: 16px; }
.pubbar__extras p { font-size: 12px; margin-right: auto; }
.publication-density { border-bottom: 1px solid var(--ink); min-height: 44px; font-size: 13px; }
.prow__title a { text-decoration-thickness: 1px; text-underline-offset: 5px; }
.prow__title a:hover { text-decoration: underline; }
.citation-actions { display: flex; flex-wrap: wrap; gap: 4px 18px; margin-top: 14px; }
.citation-actions button { font: 11px/1.4 var(--mono); padding-block: 12px; min-height: 44px; color: var(--muted); border-bottom: 1px solid var(--rule); text-align: left; }
.citation-actions button:hover { color: var(--accent-ink); border-color: currentColor; }
.citation-notice { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); background: var(--ink); color: var(--paper); padding: 14px 24px; border-radius: 3px; z-index: 80; font-size: 14px; max-width: 90vw; }
.citation-notice:empty { display: none; }
.pub-compact .prow { padding-block: 22px; min-height: 0; }
.pub-compact .prow__title { font-size: 18px; }
.pub-compact .prow__authors, .pub-compact .prow__badges, .pub-compact .prow__cover { display: none; }
.pub-compact .prow { grid-template-columns: 32px minmax(0, 1fr) minmax(180px, .45fr); }
.mcard__figure img { object-position: var(--focus-x, 50%) var(--focus-y, 20%); object-fit: var(--portrait-fit, cover); }
.chip a { display: inline-flex; padding-block: 9px; text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: 3px; }
.profile-highlights { padding-block: 54px; border-bottom: 1px solid var(--rule); }
.profile-highlights__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin-top: 26px; }
.profile-highlight { border-top: 1px solid var(--rule); padding-top: 20px; }
.profile-highlight b { display: block; color: var(--accent-ink); font: 350 36px/1.3 var(--serif); margin-bottom: 14px; }
.profile-highlight p { font-size: 15px; line-height: 1.8; }
.alumni-destinations { padding-block: 48px; border-bottom: 1px solid var(--rule); }
.alumni-destinations__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin-top: 24px; }
.alumni-destination { padding-top: 20px; border-top: 1px solid var(--rule); }
.alumni-destination p { font-size: 15px; line-height: 1.7; margin-top: 12px; }
.alumni-destination a { display: inline-block; min-height: 44px; font: 350 27px/1.3 var(--serif); }
.alumni-destination .mono { color: var(--accent-ink); font-size: 11px; }
.alumni-page .mcard__now { background: var(--paper-2); border-left: 2px solid var(--accent-ink); padding: 14px; font-size: 14px; }
.chapter.is-entering .chapter-line > span { animation-duration: 1050ms; }
.chapter.is-entering figure { animation-duration: 1200ms; }
.chapter.is-entering :is(.chapter-portrait, .cover-sculpture, .photo-wall, .alumni-ribbon) img { animation-duration: 1150ms; }
.chapter.is-entering .chapter-description, .chapter.is-entering .chapter-metrics { animation-duration: 850ms; animation-delay: 180ms; }
.motion-heading { transition-duration: 750ms; }
@media (min-width: 1024px) and (min-height: 680px) {
  .research[data-seq="cinema"] { --seq-travel: calc(var(--seq-pane) * 1.8); }
  .research[data-seq="cinema"] .research__title-inner, .research[data-seq="cinema"] .research__desc-inner { transition-duration: 560ms, 320ms; }
  .research[data-seq="cinema"] .is-current .research__desc-inner { transition-delay: 120ms; }
  .research[data-seq="cinema"] .research__card:not(.is-current) :is(.research__n, .research__title, .research__desc) { visibility: hidden; }
  .research[data-seq="cinema"] .research__card:not(.is-current) :is(.research__title-inner, .research__desc-inner) { transition: none; }
}
@media (max-width: 760px) {
  .hero-cinema__title { font-size: clamp(53px, 13.5vw, 96px); }
  .hero-cinema__eyebrow, .chapter-eyebrow, .chapter-meta, .chapter-foot__note,
  .chapter-metrics .mono, .chapter-portrait figcaption, .people-wall figcaption,
  .alumni-ribbon figcaption, .motion-toggle, .hero-cinema__index,
  .hero-cinema__caption, .hero-cinema__location, .hero-cinema__scroll,
  .footer__label, .footer__label--brand, .mcard__role,
  .mcard__period, .mcard__project-label, .pf__index, .pf__date, .subnav__label { font-size: 12px; letter-spacing: .04em; line-height: 1.6; }
  .hero-cinema__description, .chapter-description, .mcard__affil, .mcard__now { font-size: 15px; }
  .chapter .motion-toggle, .chapter-stat > span,
  .alumni-summary .chapter-stat > span, .chapter-metrics span, .inner-page .announce__link { font-size: 11px; }
  .chapter-link { font-size: 13px; min-height: 44px; }
  .inner-page .announce__link { min-height: 40px; }
  .home-page .wordmark__full, .home-page .announce__link, .hero-cinema__topline,
  .hero-cinema__bottom, .lab-intro__label, .lab-intro__figure .hero__cap,
  .home-page .section-head__aside, .photo-caption, .mcard__pos { font-size: 11px; }
  .home-page .announce__link { min-height: 40px; }
  .lab-intro__text p, .mcard__aff { font-size: 14px; line-height: 1.8; }
  .lab-intro__text a, .hero-cinema__publication, .explore-link { font-size: 13px; min-height: 44px; }
  .hero-cinema__eyebrow { max-width: 28ch; }
  .chapter-meta { gap: 20px; flex-wrap: wrap; }
  .chapter-meta span:last-child { max-width: 23ch; text-align: right; }
  .chapter-scroll, .footer__list, .footer__admin, .subnav__chip, .fchip, .pseg button { font-size: 13px; }
  .chip { font-size: 11px; line-height: 1.5; }
  .chapter-metrics { flex-wrap: wrap; }
  .collaborate { grid-template-columns: 1fr; gap: 24px; margin-bottom: 36px; padding-bottom: 36px; }
  .collaborate__title { max-width: 16ch; }
  .profile-highlights__grid, .alumni-destinations__list { grid-template-columns: 1fr; gap: 24px; }
  .profile-highlight { display: grid; grid-template-columns: 70px 1fr; gap: 20px; }
  .profile-highlight b { font-size: 27px; }
  .research__paper { grid-column: auto; grid-row: auto; margin-top: 12px; }
  .publications-page .chapter--publications { min-height: auto; }
  .pubbar__extras { gap: 8px 14px; }
  .pubbar__extras p { width: 100%; }
  .pub-compact .prow { grid-template-columns: 26px minmax(0, 1fr); }
  .pub-compact .prow__meta { grid-column: 2; }
  .citation-actions button { font-size: 12px; }
  .prow__badges .chip { font-size: 11px; }
  /* Kept one step above the plain chips this sheet flattens to 11px. */
  .prow__badges .chip--major { font-size: 12px; }
  .prow__authors { font-size: 13px; line-height: 1.75; }
  .ynav__chip { min-height: 44px; font-size: 13px; }
  .pubbar { padding-block: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .research__paper { transition: none !important; }
}

/* Eight nav items: between the burger breakpoint and 1200px the row is tight,
   so the links and the wordmark sub-line give a little before anything overflows. */
@media (min-width: 1024px) and (max-width: 1200px) {
  .nav { gap: clamp(10px, 1.3vw, 18px); }
  .nav__link { font-size: 0.875rem; }
  .home-page .wordmark__full, .inner-page .wordmark__full { font-size: 9px; letter-spacing: .1em; }
}
