/* One shared archive composition for Motion and Stills. */
body > header:not(.masthead),
.archive-header {
  position:sticky;
  top:0;
  z-index:40;
  width:100%;
  height:72px!important;
  min-height:72px;
  padding:0 4vw!important;
  background:rgba(244,242,237,.96);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
}

body > header:not(.masthead) .wordmark img,
.archive-header .wordmark img {
  width:15rem!important;
}

.archive-menu-toggle {
  display:block!important;
  z-index:62;
}

body > header:not(.masthead) nav,
.archive-header nav {
  position:fixed!important;
  inset:72px 0 auto!important;
  z-index:60;
  width:100%;
  height:auto!important;
  padding:1.5rem 4vw 1.75rem!important;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  gap:1rem!important;
  background:rgba(244,242,237,.99)!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px);
  transition:opacity 180ms ease,transform 180ms ease,visibility 180ms;
}

body > header:not(.masthead).nav-open nav,
.archive-header.nav-open nav {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:none;
}

body > header:not(.masthead) nav a,
.archive-header nav a {
  display:block!important;
  color:var(--ink)!important;
}

.archive-intro,
.intro {
  display:grid;
  grid-template-columns:minmax(14rem,.48fr) minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:1.2rem 3vw;
  align-items:end;
  padding:1.35rem 4vw 1.6rem!important;
  border-bottom:1px solid var(--line);
}

.archive-meta {
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:2.25rem;
  align-items:center;
}

.archive-meta p {
  margin:0;
  text-transform:uppercase;
  font-size:.7rem;
  letter-spacing:.09em;
  white-space:normal;
}

.archive-intro h1,
.intro h1 {
  grid-column:1;
  grid-row:2;
  margin:0!important;
  font-size:clamp(3.5rem,6.4vw,7rem)!important;
  line-height:.8!important;
}

.archive-intro>p,
.intro>p {
  grid-column:2;
  grid-row:2;
  max-width:58rem;
  margin:0 0 .2rem!important;
  font:400 clamp(.84rem,1.25vw,1.15rem)/1.35 var(--sans);
}

.filter-shell,
.archive-bar {
  display:none!important;
}

.archive {
  display:block!important;
  columns:2!important;
  column-gap:1vw;
  padding:2.5vw 3.25vw!important;
}

.archive .photo,
.archive .project-photo {
  width:100%;
  aspect-ratio:auto;
  display:inline-block;
  margin:0 0 1vw!important;
  break-inside:avoid;
}

.archive .photo img,
.archive .project-photo img {
  width:100%;
  height:auto;
  object-fit:contain;
}

.motion-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:4.25rem 5vw!important;
  padding:3.5vw 1.25vw 6rem!important;
}

.motion-grid > .sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

.motion-grid article > div {
  position:static!important;
  padding:.8rem .35rem 0!important;
  text-align:center;
  border-top:0!important;
}

.motion-grid h2 {
  margin:0 0 .25rem!important;
  color:var(--ink);
  font:400 clamp(.88rem,1.1vw,1.2rem)/1.15 var(--sans)!important;
  letter-spacing:-.02em;
  text-transform:uppercase;
}

.motion-grid article > div > p {
  display:inline;
  margin:0;
  color:#777;
  font:400 clamp(.66rem,.78vw,.82rem)/1.4 var(--mono);
}

.motion-grid .story-link {
  position:static!important;
  display:inline-flex!important;
  margin-left:.55rem!important;
  padding:0!important;
  border:0!important;
  color:var(--red,#d94828)!important;
  font:400 clamp(.66rem,.78vw,.82rem)/1.4 var(--mono)!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:nowrap;
}

@media(max-width:900px) {
  .motion-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:3rem 2vw!important;padding-inline:2vw!important; }
}

@media(max-width:700px) {
  body > header:not(.masthead) .wordmark img,
  .archive-header .wordmark img { width:11rem!important; }
  .archive-intro,.intro { grid-template-columns:minmax(7rem,.42fr) minmax(0,1fr);gap:.85rem 1rem;padding:1.1rem 3vw 1.25rem!important; }
  .archive-meta { gap:.45rem 1rem;overflow:visible; }
  .archive-meta p { font-size:.5rem; }
  .archive-intro h1,.intro h1 { font-size:clamp(2.2rem,12vw,4.25rem)!important; }
  .archive-intro>p,.intro>p { font-size:clamp(.58rem,2.35vw,.8rem); }
  .archive { column-gap:1.5vw!important;padding:2vw!important; }
  .archive .photo,.archive .project-photo { margin-bottom:1.5vw!important; }
  .motion-grid { grid-template-columns:1fr!important;gap:2.5rem!important;padding:2vw 4vw 4rem!important; }
  .motion-grid article>div { padding:.5rem 0!important; }
  .motion-grid h2 { font-size:.9rem!important; }
  .motion-grid p,.motion-grid .story-link { display:inline!important; }
  .photo span,.project-photo span { display:none!important; }
}
