/* Cast & Crew page — extracted for the Next migration.
   CHANGE-001 reverted the header to this text-only version; the four-column
   band and the team photograph that briefly replaced it are gone, along with
   the .ct__head override they needed. */
.head{
  padding:clamp(64px,10vw,132px) var(--gutter) clamp(30px,4vw,52px);
  max-width:var(--wrap);margin:0 auto;
}
.head .eyebrow{color:var(--blue);margin-bottom:22px;animation:hh-fade 1.4s ease both}
.head h1{
  margin:0;font-family:var(--serif);font-weight:400;
  font-size:clamp(44px,9vw,132px);line-height:.9;letter-spacing:-.02em;
  animation:hh-rise 1.1s cubic-bezier(.16,1,.3,1) both;
}
.head h1 em{font-style:italic;margin-left:.08em}
/* CHANGE-006's copy is a lead-in line and a paragraph. The line keeps the
   rule above it that the old single paragraph had; the paragraph follows in
   the reading size, so the two read as one introduction rather than two. */
.head__lede{
  margin:32px 0 0;max-width:54ch;
  font-family:var(--serif);font-size:clamp(19px,2.4vw,26px);line-height:1.4;
  font-weight:400;opacity:.95;
  border-top:1px solid rgba(var(--cream-rgb),.22);padding-top:24px;
}
.head__body{
  margin:14px 0 0;max-width:58ch;
  font-size:15px;line-height:1.7;font-weight:300;opacity:.8;text-wrap:pretty;
}

.jump{
  display:flex;flex-wrap:wrap;gap:9px 22px;
  padding:clamp(26px,3.6vw,42px) var(--gutter) 0;max-width:var(--wrap);
  margin:0 auto clamp(20px,3vw,30px);
  border-top:1px solid rgba(var(--cream-rgb),.16);
  font-size:12px;letter-spacing:.13em;
}
.jump span span{opacity:.34}
.jump a{
  opacity:.62;padding-bottom:4px;border-bottom:1px solid transparent;
  transition:opacity .4s ease,border-color .4s ease;
}
.jump a:hover{opacity:1;border-bottom-color:var(--blue)}

.cast{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));
  gap:clamp(20px,3vw,36px) clamp(14px,2vw,26px);
  padding:0 var(--gutter) clamp(38px,5vw,64px);
  /* the same measure as the header above it, so the cards line up with the
     four columns rather than running wider than them */
  max-width:var(--wrap);margin:0 auto;
}
.member{scroll-margin-top:132px;display:flex;flex-direction:column;gap:15px}
.member__frame{position:relative;aspect-ratio:2/3;overflow:hidden;background:var(--ink-2);display:block}
.member__frame img,.member__frame video{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s cubic-bezier(.16,1,.3,1);
}
.member:hover .member__frame img,
.member:hover .member__frame video{transform:scale(1.05)}
.member__tag{
  position:absolute;top:12px;left:12px;
  background:var(--cream);color:var(--slate);
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:5px 9px;
}
.member__note{
  margin:0;font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:14px;line-height:1.4;color:var(--blue);opacity:.85;
}
.member__role{margin:0;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--blue)}
.member__name{
  display:inline-flex;align-items:baseline;gap:8px;max-width:100%;
  font-family:var(--serif);font-size:clamp(19px,2.1vw,26px);letter-spacing:.01em;
  border-bottom:1px solid rgba(var(--cream-rgb),.22);padding-bottom:7px;
  transition:border-color .45s ease;
}
.member__name:hover{border-bottom-color:var(--blue-hi)}
.member__name span{overflow-wrap:anywhere}
.member__name i{font-style:normal;font-family:var(--sans);font-size:12px;opacity:.55;flex:0 0 auto}
.member__text{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.member__ig{
  font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);
  transition:color .35s ease;
}
.member__ig:hover{color:var(--cream)}

.plate{height:74vh;min-height:400px}

.written{background:var(--cream);color:var(--slate);padding:clamp(40px,6vw,84px) var(--gutter)}
.written__in{max-width:1180px;margin:0 auto}
.written .eyebrow{opacity:.65;margin-bottom:28px}
.written__list{
  margin:0;display:grid;gap:1px;
  border-top:1px solid rgba(var(--slate-rgb),.14);background:rgba(var(--slate-rgb),.14);
}
.written__row{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:9px 22px;
  background:var(--cream);padding:16px 0;
}
.written__row dt{
  flex:0 0 auto;min-width:158px;
  font-size:12px;letter-spacing:.24em;text-transform:uppercase;opacity:.65;
}
.written__row dd{
  margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;
  font-family:var(--serif);font-size:clamp(16px,2vw,21px);
}
.written__row dd a{border-bottom:1px solid rgba(var(--slate-rgb),.28);transition:color .35s ease}
.written__row dd a:hover{color:var(--select)}
.written__row dd span{opacity:.72}
.written__acts{display:flex;flex-wrap:wrap;gap:14px 26px;margin-top:40px}
.written__acts a{
  font-size:12px;letter-spacing:.24em;text-transform:uppercase;
  border-bottom:1px solid rgba(var(--slate-rgb),.45);padding-bottom:6px;
}

@media (max-width:720px){
  .cast{grid-template-columns:repeat(auto-fill,minmax(min(100%,144px),1fr))}
  .member{scroll-margin-top:148px}
  .member__name{font-size:15px;padding-bottom:5px}
  .written__row{gap:7px}
  .written__row dt{flex:0 0 100%;min-width:0}
}

/* the Instagram mark that sits against each handle — the @ is an Instagram
   handle, and the glyph says so without another word of label */
.at{flex:0 0 auto;vertical-align:-.16em;margin-inline-end:.42em;opacity:.72}
.member__name span{display:inline-flex;align-items:center}
.member__name:hover .at{opacity:1}
.written__row dd a{display:inline-flex;align-items:center;white-space:nowrap}
.written__row dd a .at{opacity:.6}
.written__row dd a:hover .at{opacity:1}
