/* Five editorial openings, one material language. */
.inner-page { --shell-max: 1720px; --page-x: clamp(24px, 4.5vw, 80px); }
.inner-page .announce { background: var(--midnight); }
.inner-page .announce__link { justify-content: center; min-height: 32px; font-size: 10px; }
.inner-page .masthead { background: var(--midnight); color: var(--paper); border-bottom: 1px solid #ffffff1c; backdrop-filter: none; transition: background 500ms, color 500ms; }
.inner-page .masthead__inner { min-height: 90px; }
.inner-page .wordmark__name { font-size: 34px; font-weight: 450; letter-spacing: -.045em; }
.inner-page .wordmark__full { color: #b4ead8; font-size: 11px; letter-spacing: .14em; font-weight: 600; }
.inner-page .nav { gap: clamp(18px, 2.1vw, 36px); }
.inner-page .nav__link { color: #b9c8cb; font-size: 12px; font-weight: 400; }
.inner-page .nav__link:hover, .inner-page .nav__link[aria-current] { color: white; }
.inner-page .nav__link[aria-current]::after { background: var(--mint); }
.inner-page .pill { border-color: #b8c8c75e; font-size: 10px; padding: 12px 20px; }
.inner-page .pill::after { content: '↗'; font-size: 16px; margin-left: 16px; }
.inner-page .pill:hover { background: var(--mint); color: var(--midnight); }
.inner-page .burger { border-color: #ffffff60; }
.inner-page .burger span, .inner-page .burger span::before, .inner-page .burger span::after { background: var(--paper); }
.inner-page .burger[aria-expanded=true] span { background: transparent; }
.inner-page .masthead:is(.is-compact, .menu-active) { background: color-mix(in srgb, var(--paper) 95%, transparent); color: var(--ink); border-color: var(--rule); backdrop-filter: blur(16px); }
.inner-page .masthead.is-compact .masthead__inner { min-height: var(--nav-h-compact); }
.inner-page .masthead:is(.is-compact, .menu-active) .nav__link { color: var(--navy); }
.inner-page .masthead:is(.is-compact, .menu-active) .wordmark__full { color: var(--muted); }
.inner-page .masthead:is(.is-compact, .menu-active) :is(.pill, .burger) { border-color: var(--rule); }
.inner-page .masthead:is(.is-compact, .menu-active) .burger span::before,
.inner-page .masthead:is(.is-compact, .menu-active) .burger span::after,
.inner-page .masthead:is(.is-compact, .menu-active) .burger:not([aria-expanded=true]) span { background: var(--ink); }

.chapter { background: var(--midnight); color: var(--paper); position: relative; isolation: isolate; overflow: clip; }
.chapter-shell { min-height: min(760px, max(600px, calc(100svh - 122px))); display: flex; flex-direction: column; }
.chapter-meta { display: flex; justify-content: space-between; gap: 24px; font-size: 9px; color: #a8bdbc; letter-spacing: .12em; padding-block: 24px; position: relative; z-index: 3; }
.chapter-meta span:first-child { color: var(--mint); }
.chapter-composition { flex: 1; position: relative; display: grid; align-items: center; grid-template-columns: 1.2fr 1fr; gap: 5%; padding-block: 32px 40px; min-height: 480px; }
.chapter-copy { position: relative; z-index: 2; min-width: 0; }
.chapter-eyebrow { font-size: 9px; letter-spacing: .12em; line-height: 1.8; color: var(--mint); margin: 0 0 30px; }
.chapter-title { font-family: var(--font-display); font-variation-settings: 'opsz' 144, 'SOFT' 0, 'WONK' 1; font-weight: 300; font-size: clamp(64px, 7.6vw, 128px); letter-spacing: -.052em; line-height: 1.04; margin: 0; }
.chapter-title em { font-weight: 300; color: var(--mint); }
.chapter-line { display: block; overflow: clip; padding: .06em .06em .14em 0; margin-bottom: -.13em; }
.chapter-line > span { display: block; }
.chapter.is-entering .chapter-line > span { animation: chapter-type-in 1500ms var(--motion-ease) both; }
.chapter.is-entering .chapter-line:nth-child(2) > span { animation-delay: 150ms; }
.chapter.is-entering .chapter-description, .chapter.is-entering .chapter-metrics { animation: chapter-fade-in 1400ms 300ms var(--motion-ease) both; }
.chapter-description { font-size: clamp(13px, 1.1vw, 17px); line-height: 1.85; color: #b5c7c8; margin: 30px 0 0; white-space: pre-line; }
.chapter-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 48px; border-bottom: 1px solid #ffffff45; padding: 20px 0; margin-top: 16px; color: var(--paper); font-size: 10px; }
.chapter-link span { font-size: 22px; transition: transform 500ms var(--motion-ease); }
.chapter-link:hover span { transform: translate(4px, -4px); }
.chapter-foot { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 88px; border-top: 1px solid #ffffff26; position: relative; z-index: 3; }
.chapter-scroll { display: inline-flex; gap: 16px; align-items: center; color: var(--paper); font-size: 9px; }
.chapter-scroll__icon { display: grid; place-items: center; width: 35px; height: 35px; border: 1px solid #ffffff55; border-radius: 50%; font-size: 19px; transition: transform 500ms var(--motion-ease), background 500ms; }
.chapter-scroll:hover .chapter-scroll__icon { transform: translateY(4px); background: #ffffff15; }
.chapter-foot__note { font-size: 8px; color: #a8bdbc; }
.chapter .motion-toggle { color: #a8bdbc; font-size: 8px; white-space: nowrap; }
.chapter-side { position: absolute; right: -25px; top: 24%; writing-mode: vertical-rl; font-size: 8px; letter-spacing: .15em; color: #a8bdbc; }
.chapter-stat { display: flex; align-items: center; gap: 18px; margin-top: 32px; }
.chapter-stat > b { font-family: var(--font-display); font-size: 65px; font-weight: 300; line-height: 1; }
.chapter-stat > span { font-size: 9px; line-height: 1.7; color: #a8bdbc; }

/* Portrait: scale, a generous crop, and a quiet signature. */
.profile-composition { grid-template-columns: 1.1fr 1fr; padding-top: 10px; }
.chapter--profile .chapter-title { font-size: clamp(80px, 9.5vw, 160px); }
.chapter-portrait { margin: 0 20px 0 0; max-height: 625px; position: relative; overflow: hidden; aspect-ratio: .86; transform: translateY(var(--depth-y, 0px)); }
.chapter-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; filter: saturate(.72); }
.chapter-portrait::after { content: ''; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, #061820b3); pointer-events: none; }
.chapter-portrait figcaption { display: flex; justify-content: space-between; align-items: center; gap: 16px; position: absolute; inset: auto 28px 26px; z-index: 1; font-size: 19px; }
.chapter-portrait figcaption .mono { font-size: 8px; }
.chapter.is-entering .chapter-portrait img { animation: portrait-in 1900ms var(--motion-ease) both; }
.profile-intro__grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: 12%; }
.profile-intro .chapter-eyebrow { color: var(--accent-ink); }
.profile-intro h2 { font-family: var(--font-display); font-size: clamp(40px, 4.4vw, 70px); line-height: 1.1; font-weight: 300; letter-spacing: -.04em; }
.profile-intro h2 em { color: var(--accent-ink); }
.profile-intro .pro-bio { font-size: 15px; line-height: 1.9; }
.profile-intro .pro-facts { margin: 0; align-self: center; }

/* The members chapter. members.css narrows the composition to one column. */
.members-composition { grid-template-columns: 1.3fr 1fr; gap: 4%; }
.chapter--members .chapter-title { font-size: clamp(60px, 6.5vw, 110px); }

/* Covers are real journal artwork, in a dimensional, slowly opening fan. */
.chapter--publications { background: #081e29; }
.publications-composition { grid-template-columns: 1.12fr 1fr; }
.chapter--publications .chapter-title { font-size: clamp(68px, 7.8vw, 132px); }
.chapter-metrics { display: flex; gap: clamp(25px, 4vw, 65px); margin-top: 40px; }
.chapter-metrics p { display: flex; flex-direction: column; gap: 10px; }
.chapter-metrics b { font-family: var(--font-display); font-weight: 300; font-size: clamp(36px, 3.3vw, 52px); line-height: 1; }
.chapter-metrics span { font-size: 8px; color: #a8bdbc; }
.cover-sculpture { position: relative; height: 490px; perspective: 1400px; transform: translateY(var(--depth-y, 0px)); }
.cover-sculpture figure { position: absolute; width: 59%; margin: 0; top: 14%; left: 18%; aspect-ratio: .735; transform: translate3d(var(--cover-x), var(--cover-y), var(--cover-z)) rotate(var(--cover-angle)) rotateY(-8deg); box-shadow: -14px 25px 45px #0007; transition: transform 1200ms var(--motion-ease); }
.cover-sculpture figure:nth-child(1) { --cover-x: -26%; --cover-y: -3%; --cover-z: -100px; --cover-angle: -16deg; }
.cover-sculpture figure:nth-child(2) { --cover-x: 37%; --cover-y: -4%; --cover-z: -50px; --cover-angle: 13deg; }
.cover-sculpture figure:nth-child(3) { --cover-x: 4%; --cover-y: 8%; --cover-z: 50px; --cover-angle: -3deg; }
.cover-sculpture img { width: 100%; height: 100%; object-fit: cover; }
.cover-sculpture:hover figure:nth-child(1) { --cover-x: -40%; --cover-angle: -20deg; }
.cover-sculpture:hover figure:nth-child(2) { --cover-x: 52%; --cover-angle: 17deg; }
.cover-sculpture:hover figure:nth-child(3) { --cover-y: 1%; }
.chapter.is-entering .cover-sculpture img { animation: cover-in 1800ms var(--motion-ease) both; }

/* A gallery before the gallery: wide photographs, offset like a contact sheet. */
.chapter--photo { background: #102b2a; }
.photo-composition { position: relative; flex: 1; display: flex; flex-direction: column; padding: 25px 0 35px; }
.photo-wall { display: grid; grid-template-columns: .65fr 1.6fr .75fr; gap: 24px; height: clamp(285px, 29vw, 470px); align-items: center; margin-inline: -7vw; }
.photo-wall figure { margin: 0; height: 78%; overflow: hidden; transform: translateY(var(--depth-y, 0px)); }
.photo-wall figure:nth-child(2) { height: 100%; }
.photo-wall figure:nth-child(1) { align-self: end; }
.photo-wall figure:nth-child(3) { align-self: start; }
.photo-wall img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7); }
.chapter--photo .chapter-copy { margin-top: -35px; text-align: center; text-shadow: 0 2px 20px #102b2a80; }
.chapter--photo .chapter-eyebrow { margin-bottom: 15px; }
.chapter--photo .chapter-title { font-size: clamp(48px, 6.8vw, 112px); }
.chapter--photo .chapter-title em { color: #d0e7c9; }
.photo-caption { text-align: center; font-size: 9px; line-height: 1.9; color: #b5c7c8; margin-top: 20px; }
.chapter.is-entering .photo-wall img { animation: portrait-in 2000ms var(--motion-ease) both; }

/* Alumni share an origin; the portrait ribbon gives each person equal space. */
.chapter--alumni { background: #102826; }
.alumni-composition { display: flex; flex-direction: column; align-items: stretch; gap: 42px; padding-top: 30px; }
.chapter--alumni .chapter-title { font-size: clamp(64px, 7.25vw, 122px); }
.alumni-summary { display: flex; justify-content: space-between; align-items: center; max-width: 760px; }
.alumni-summary .chapter-stat { margin-top: 26px; }
.alumni-ribbon { display: grid; grid-template-columns: repeat(8, 1fr); gap: 20px; margin-left: 16%; }
.alumni-ribbon figure { margin: 0; aspect-ratio: .88; overflow: hidden; transform: translateY(var(--depth-y, 0px)); position: relative; }
.alumni-ribbon figure:nth-child(even) { top: 18px; }
.alumni-ribbon img { height: 100%; width: 100%; object-fit: cover; object-position: center 20%; filter: grayscale(.8); transition: filter 600ms, transform 900ms var(--motion-ease); }
.alumni-ribbon figure:hover img { filter: grayscale(0); transform: scale(1.06); }
.alumni-ribbon figcaption { display: none; }
.chapter.is-entering .alumni-ribbon img { animation: portrait-in 1600ms var(--motion-ease) both; animation-delay: var(--arrival-delay, 0ms); }

/* First paint with JS on: entrance elements start in their keyframe-0 pose so the
   .is-entering run is the first time they are seen. chapters.js adds .has-entered
   when the run ends (or at once when motion is off); without JS nothing is hidden. */
@media (prefers-reduced-motion: no-preference) {
  html.js:not(.motion-paused) .chapter:not(.has-entered) .chapter-line > span { transform: translateY(115%) rotate(3deg); }
  html.js:not(.motion-paused) .chapter:not(.has-entered) :is(.chapter-description, .chapter-metrics) { opacity: 0; transform: translateY(22px); }
  html.js:not(.motion-paused) .chapter:not(.has-entered) :is(.chapter-portrait, .photo-wall, .alumni-ribbon) img { clip-path: inset(0 0 100%); transform: scale(1.13); }
  html.js:not(.motion-paused) .chapter:not(.has-entered) .cover-sculpture img { opacity: 0; transform: translateY(90px) rotate(10deg); }
}

.inner-page .footer::before { content: 'LIMM.'; display: block; max-width: 1720px; padding-inline: var(--page-x); margin: 0 auto 40px; font-family: var(--font-display); font-size: clamp(64px, 9vw, 160px); font-weight: 300; line-height: .8; letter-spacing: -.07em; color: var(--ink); }
.inner-page .mcard__figure { background: var(--paper-2); }
.inner-page .group__title { font-weight: 300; letter-spacing: -.025em; }
.inner-page .covergal, .inner-page .now { padding-top: clamp(48px, 5vw, 88px); }
@keyframes chapter-type-in { from { transform: translateY(115%) rotate(3deg); } to { transform: none; } }
@keyframes chapter-fade-in { from { opacity: 0; transform: translateY(22px); } to { opacity: 1; transform: none; } }
@keyframes portrait-in { from { clip-path: inset(0 0 100%); transform: scale(1.13); } to { clip-path: inset(0); transform: scale(1); } }
@keyframes cover-in { from { opacity: 0; transform: translateY(90px) rotate(10deg); } to { opacity: 1; transform: none; } }

@media (min-width: 1500px) { .chapter--profile .chapter-shell { min-height: 760px; } }
@media (max-width: 1100px) {
  .chapter-title { font-size: 7.6vw; }
  .chapter--members .chapter-title { font-size: 6.3vw; }
  .cover-sculpture { height: 360px; }
  .chapter-foot__note { display: none; }
  .chapter-side { display: none; }
}
@media (max-width: 760px) {
  .inner-page .masthead__inner { min-height: 72px; }
  .inner-page .wordmark__name { font-size: 29px; }
  /* max-width dropped: at 9px/.14em the full name is ~240px and would clip. */
  .inner-page .wordmark__full { font-size: 9px; }
  .inner-page .announce__link { font-size: 8px; }
  .inner-page .pill { padding: 9px 13px; font-size: 8px; }
  .inner-page .pill::after { display: none; }
  .chapter-shell { min-height: auto; }
  .chapter-meta { padding-block: 19px; font-size: 8px; }
  .chapter-meta span:last-child { display: none; }
  .chapter-composition { display: flex; flex-direction: column; align-items: stretch; min-height: 0; gap: 38px; padding-block: 26px 42px; }
  .chapter-eyebrow { font-size: 8px; margin-bottom: 22px; }
  .chapter-title, .chapter--profile .chapter-title, .chapter--members .chapter-title, .chapter--publications .chapter-title, .chapter--alumni .chapter-title { font-size: clamp(42px, 10.7vw, 78px); }
  .chapter--profile .chapter-title { font-size: clamp(72px, 18vw, 115px); }
  .chapter-description { font-size: 13px; margin-top: 22px; }
  .chapter-link { font-size: 8px; margin-top: 5px; padding-block: 16px; }
  .chapter-foot { min-height: 76px; gap: 12px; }
  .chapter-scroll { font-size: 8px; gap: 11px; }
  .chapter .motion-toggle { font-size: 7px; }
  .chapter-scroll__icon { width: 30px; height: 30px; font-size: 16px; }
  .chapter-portrait { margin: 0; max-height: 520px; aspect-ratio: 1.05; }
  .chapter-portrait img { object-position: center 31%; }
  .chapter-portrait figcaption { inset: auto 20px 18px; }
  .profile-intro__grid { grid-template-columns: 1fr; gap: 40px; }
  .profile-intro .pro-bio { font-size: 14px; }
  .chapter-stat { margin-top: 25px; }
  .chapter-stat > b { font-size: 50px; }
  .chapter-metrics { gap: 28px; margin-top: 30px; }
  .chapter-metrics b { font-size: 34px; }
  .chapter-metrics span { font-size: 7px; }
  .cover-sculpture { height: clamp(330px, 75vw, 450px); margin: -20px 0 10px; }
  .cover-sculpture figure { width: 50%; left: 23%; }
  .photo-composition { padding-top: 25px; }
  .photo-wall { height: 310px; gap: 12px; grid-template-columns: .25fr 1.5fr .3fr; margin-inline: -55px; }
  .photo-wall figure:nth-child(2) img { object-position: 50% center; }
  .chapter--photo .chapter-copy { margin-top: -15px; }
  .chapter--photo .chapter-title { font-size: clamp(48px, 12vw, 80px); }
  .chapter--photo .chapter-title em { display: block; }
  .photo-caption { font-size: 8px; }
  .alumni-summary { gap: 18px; }
  .alumni-summary .chapter-description { font-size: 12px; }
  .alumni-summary .chapter-stat { gap: 10px; }
  .alumni-summary .chapter-stat > b { font-size: 45px; }
  .alumni-summary .chapter-stat > span { font-size: 8px; }
  .alumni-ribbon { margin: 0 -35px 10px; gap: 12px; grid-template-columns: repeat(4, 1fr); }
  .inner-page .footer::before { margin-bottom: 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .chapter *, .chapter *::before, .chapter *::after { animation: none !important; transition: none !important; }
  [data-depth] { --depth-y: 0px !important; }
}
.motion-paused [data-depth] { --depth-y: 0px !important; }
