/* Two volumes, with a book-opening hero and full-length editorial archive. */
.yearbook-stack { position:relative; height:min(66svh,39rem); min-height:30rem; perspective:1000px; }
.yearbook-object { position:absolute; width:58%; height:80%; }
.yearbook-object--undergrad { top:1%; left:0; z-index:1; }
.yearbook-object--grad { right:0; bottom:0; z-index:2; }
.yearbook-object > .parallax-layer { height:100%; }
.yearbook-cover { position:relative; display:flex; flex-direction:column; align-items:start; justify-content:space-between; width:100%; height:100%; padding:2rem; color:var(--ink); background:var(--paper-light); text-decoration:none; box-shadow:.6rem 1.3rem 2.4rem rgba(8,12,27,.22); transform-origin:left center; transform:rotate(-8deg); backface-visibility:hidden; }
.yearbook-cover::before { content:''; position:absolute; top:0; left:.65rem; bottom:0; width:.2rem; background:var(--paper-shadow); }
.yearbook-cover--grad { background:#e7dae3; transform:rotate(8deg); }
.yearbook-cover strong { font-size:clamp(2rem,3.6vw,3.5rem); line-height:1.2; letter-spacing:-.025em; }
.yearbook-cover__seal { position:absolute; top:1.7rem; right:1.5rem; width:clamp(3.6rem,6vw,5.6rem); height:clamp(3.6rem,6vw,5.6rem); object-fit:contain; }
.yearbook-cover span { color:var(--pink-ink); font-size:.95rem; font-weight:750; }
.yearbook-cover small { color:var(--ink-muted); font-size:.8rem; }
.yearbook-cover--undergrad small { position:absolute; left:2rem; bottom:32%; }
.yearbook-cover--undergrad span { position:absolute; left:2rem; bottom:44%; }
.yearbook-cover--grad { --ink-muted:var(--chapter-paper-muted); --pink-ink:var(--chapter-paper-accent); }
.campus-clay { left:-5%; bottom:3%; width:39%; }
.campus-clay img { transform:rotate(-12deg); }
.campus-volume { scroll-margin-top:7rem; padding-bottom:6rem; }
.campus-volume + .campus-volume { padding-top:6rem; }
.campus-volume__head h2 { margin:0; max-width:12em; font-size:clamp(2.2rem,3.7vw,3.5rem); line-height:1.3; letter-spacing:-.025em; }
.campus-volume__date { margin:1rem 0; color:var(--pink); font-size:.92rem; font-variant-numeric:tabular-nums; }
.campus-volume__intro { max-width:40em; margin:0; color:var(--experience-muted); line-height:1.9; }
.campus-volume__summary { display:grid; grid-template-columns:1.1fr 1fr; gap:8%; margin:3rem 0 5rem; padding:2rem 0; }
.campus-volume__summary h3 { margin:0 0 1.4rem; color:var(--pink); font-size:1.25rem; }
.campus-volume__summary ul { padding:0; list-style:none; margin:0; font-size:1.04rem; line-height:1.8; }
.honor-list { display:grid; gap:.9rem; }
.course-list { display:flex; flex-wrap:wrap; align-content:start; gap:.8rem 1.5rem; }
.course-list li { color:var(--experience-muted); }
.campus-event { margin-bottom:6rem; }
.campus-event-group { margin:4.5rem 0 2.8rem; padding:1.4rem 0 0; border-top:1px solid rgba(255,255,255,.27); }
.campus-event-group__number { margin:0 0 .5rem; color:var(--pink); font-size:.78rem; font-weight:750; letter-spacing:.12em; }
.campus-event-group h3 { margin:0 0 .35rem; font-size:clamp(1.65rem,3vw,2.5rem); line-height:1.25; }
.campus-event-group > p:last-child { margin:0; color:var(--experience-muted); font-size:1.04rem; line-height:1.7; }
.campus-event__head h3,.campus-event__head h4 { margin:0; max-width:17em; font-size:clamp(1.6rem,2.6vw,2.3rem); line-height:1.4; letter-spacing:-.02em; }
.campus-event__tag { margin:.8rem 0 1.7rem; color:var(--pink); font-size:1rem; }
.campus-event__body { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:2rem; align-items:start; }
.campus-event__facts { display:grid; gap:1.3rem; margin:0; }
.campus-event__facts dt { margin-bottom:.45rem; color:var(--pink); font-size:1rem; font-weight:700; }
.campus-event__facts dd { margin:0; line-height:1.8; font-size:1.08rem; }
.campus-event__material { padding-top:1rem; }
.campus-event:nth-of-type(even) .campus-event__material { padding-top:4rem; }
.campus-event__material .archive-empty { min-height:18rem; aspect-ratio:auto; }
.campus-event--has-photos .campus-event__body { grid-template-columns:minmax(0,1fr); gap:2.4rem; }
.campus-event--has-photos .campus-event__facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem 2.5rem; }
.campus-event--single-photo .campus-event__body { grid-template-columns:minmax(0,1.12fr) minmax(15rem,.88fr); gap:1.5rem clamp(1.5rem,4vw,3rem); align-items:start; }
.campus-event--single-photo .campus-event__facts { grid-template-columns:1fr; gap:1.25rem; }
.campus-event--single-photo .campus-event__reflection { grid-column:1; }
.campus-event--single-photo .campus-event__materials { grid-column:2; grid-row:1 / span 2; width:100%; }
.campus-event__materials { min-width:0; }
.campus-event__reflection { max-width:48rem; padding:1.5rem 1.8rem; color:var(--ink); background:var(--paper-light); }
.campus-event__reflection h5 { margin:0 0 .7rem; color:var(--pink-ink); font-size:1rem; }
.campus-event__reflection p { margin:0; font-size:1.12rem; line-height:1.8; }
.campus-event--reflection-pair.campus-event--single-photo .campus-event__body { grid-template-columns:minmax(0,1.12fr) minmax(15rem,.88fr); align-items:start; }
.campus-event--reflection-pair .campus-event__facts { grid-column:1; grid-row:1; }
.campus-event--reflection-pair.campus-event--single-photo .campus-event__materials { grid-column:2; grid-row:1; }
.campus-event__reflections { grid-column:1 / -1; grid-row:2; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,3vw,2.5rem); margin-top:.35rem; }
.campus-event__bookmark { position:relative; min-width:0; padding:2.1rem 1.7rem 3.3rem; color:#202840; background:#e8d6c2; }
.campus-event__bookmark:nth-child(2) { background:#d9d8e4; }
.campus-event__bookmark::after { content:''; position:absolute; bottom:-1px; left:50%; width:0; height:0; border-left:1.2rem solid transparent; border-right:1.2rem solid transparent; border-bottom:1.2rem solid var(--navy); transform:translateX(-50%); }
.campus-event__bookmark::before { content:''; position:absolute; top:.55rem; left:50%; width:.55rem; height:.55rem; border:2px solid rgba(255,255,255,.8); border-radius:50%; background:#cb6587; box-shadow:0 .15rem .2rem rgba(32,40,64,.2); transform:translateX(-50%); }
.campus-event__bookmark h5 { margin:0 0 .8rem; color:#974d67; font-size:1rem; font-weight:700; }
.campus-event__bookmark p { margin:0; color:#202840; font:inherit; font-size:1.08rem; line-height:1.8; }
.campus-event__gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem; align-items:start; }
.campus-event__gallery[data-count="1"] { grid-template-columns:1fr; }
.campus-event__gallery[data-count="1"] .campus-event__photo { width:100%; }
.campus-event__photo { min-width:0; margin:0; padding:.65rem .65rem 1rem; color:var(--ink); background:var(--paper-light); box-shadow:.55rem 1rem 1.8rem rgba(8,12,27,.22); }
.campus-event__photo-frame { overflow:hidden; aspect-ratio:3 / 2; }
.campus-event__photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.campus-event__photo figcaption { margin:.7rem .35rem 0; font-size:.95rem; line-height:1.5; }
.campus-event__material-note { margin:1.2rem 0 0; color:var(--experience-muted); font-size:.95rem; line-height:1.7; }
.campus-volume--graduate .campus-event--3 .campus-event__photo-frame { aspect-ratio:4 / 5; }
.campus-volume--graduate .campus-event--2.campus-event--single-photo .campus-event__photo-frame { aspect-ratio:4 / 5; }
.campus-event__pending-note { margin:0; color:var(--experience-muted); font-size:.92rem; line-height:1.8; }
.campus-volume__memory { margin:1rem 0 0; max-width:38em; padding:1.8rem 2rem; color:var(--ink-muted); background:var(--paper); font-size:1rem; line-height:1.8; }
.campus-volume--graduate .campus-volume__memory { background:#e7dae3; }
@media (max-width:1000px) {
  .yearbook-stack { min-height:26rem; }
  .yearbook-cover { padding:1.5rem; }
  .yearbook-cover--undergrad small { left:1.5rem; }
  .yearbook-cover--undergrad span { left:1.5rem; }
  .campus-event__body { grid-template-columns:1fr; gap:2rem; }
  .campus-event--single-photo .campus-event__body { grid-template-columns:1fr; }
  .campus-event--single-photo .campus-event__facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .campus-event--single-photo .campus-event__materials { grid-column:1; grid-row:auto; width:min(70%,28rem); justify-self:end; }
  .campus-event--reflection-pair.campus-event--single-photo .campus-event__body { grid-template-columns:1fr; }
  .campus-event--reflection-pair .campus-event__facts { grid-column:1; grid-row:1; }
  .campus-event--reflection-pair.campus-event--single-photo .campus-event__materials { grid-column:1; grid-row:2; }
  .campus-event__reflections { grid-column:1; grid-row:3; }
  .campus-event__material { width:80%; justify-self:end; }
  .campus-event__material .archive-empty { min-height:0; aspect-ratio:4/3; }
  .campus-event:nth-of-type(even) .campus-event__material { padding-top:0; }
}
@media (max-width:700px) {
  .yearbook-stack { height:25rem; min-height:0; max-width:29rem; width:100%; margin:auto; }
  .yearbook-cover { padding:1.5rem; }
  .yearbook-cover strong { font-size:clamp(1.8rem,8vw,2.8rem); }
  .yearbook-cover__seal { top:1.2rem; right:1rem; width:3.2rem; height:3.2rem; }
  .campus-clay { left:-2%; }
  .campus-volume + .campus-volume { padding-top:2rem; }
  .campus-volume { padding-bottom:3rem; }
  .campus-volume__head h2 { font-size:2.1rem; }
  .campus-volume__summary { display:block; margin:1.5rem 0 3rem; }
  .campus-volume__summary section + section { margin-top:2rem; }
  .campus-event { margin-bottom:4rem; }
  .campus-event__material { width:100%; padding-top:0; }
  .campus-event--has-photos .campus-event__facts { grid-template-columns:1fr; }
  .campus-event--single-photo .campus-event__facts { grid-template-columns:1fr; }
  .campus-event--single-photo .campus-event__materials { width:100%; }
  .campus-event__reflections { grid-template-columns:1fr; }
  .campus-event__bookmark:nth-child(n) { transform:none; }
  .campus-event__gallery { grid-template-columns:1fr; gap:1.5rem; }
  .campus-event__gallery[data-count="1"] { grid-template-columns:1fr; }
  .campus-event__gallery[data-count="1"] .campus-event__photo { width:100%; }
  .campus-volume__memory { padding:1.5rem; }
}
