@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
  src: url("assets/fonts/manrope-variable.woff2") format("woff2");
}
@font-face {
  font-family: "EB Garamond";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("assets/fonts/eb-garamond-variable.woff2") format("woff2");
}
:root {
  --bg: #ffffff;
  --text: #222;
  --muted: #444;
  --line: #b8b8b8;
  --accent: #7b5f49;
}

.collection-heading { margin: 0 0 56px; }
.collection-heading h1 { font-family: "Manrope", sans-serif; font-size: 2.6rem; font-weight: 300; line-height: 1.25; margin: 24px 0; overflow-wrap: anywhere; }
.catalogue-nav { display: flex; flex-wrap: wrap; gap: 20px 36px; line-height: 1.8; }
.catalogue-nav a { padding: 6px 0; }
.catalogue-nav a[aria-current] { text-decoration: underline; text-underline-offset: 6px; }
.collection-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 72px 64px; }
.collection-link { min-width: 0; display: block; }
.collection-image { display: block; aspect-ratio: 1; }
.collection-image img { width: 100%; height: 100%; object-fit: contain; transition: transform 400ms ease; }
.collection-link:hover .collection-image img { transform: scale(.985); }
.collection-label { display: block; margin-top: 22px; font-size: 1.3rem; font-weight: 400; line-height: 1.5; }
.collection-count { display: block; color: var(--muted); font-size: .85rem; margin-top: 6px; }
.home-collections { margin-top: 140px; padding-top: 56px; border-top: 1px solid #e9e9e9; }
.home-collections .section-rule { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 20px; margin-bottom: 42px; border: 0; }
.home-collections .collection-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.home-collections .collection-label { font-size: 1.1rem; }
.room-link { display: inline-block; margin-top: 64px; }
.collection-lead { margin: 0 0 100px; }
.collection-lead img { width: 100%; height: min(62svh, 720px); object-fit: contain; }
.collection-lead figcaption { margin-top: 24px; text-align: center; line-height: 1.8; }
.collection-lead figcaption span { display: block; color: var(--muted); font-size: .9rem; }
.catalogue-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; border-bottom: 1px solid #ddd; padding-bottom: 20px; margin-bottom: 56px; }
.catalogue-toolbar label { display: flex; align-items: center; gap: 16px; }
.catalogue-toolbar select { max-width: 220px; min-height: 44px; background: white; color: var(--text); border: 1px solid #bbb; border-radius: 0; font: inherit; padding: 8px 32px 8px 12px; }
#catalogue-count { color: var(--muted); font-size: .9rem; font-variant-numeric: tabular-nums; }
.catalogue-year { margin-bottom: 96px; }
.catalogue-year h2 { font-family: "Manrope", sans-serif; font-size: 1.3rem; font-weight: 400; margin: 0 0 36px; }
.catalogue-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 40px; }
.catalogue-work { margin: 0; min-width: 0; }
.catalogue-work .work-open { display: flex; align-items: center; justify-content: center; aspect-ratio: 1; }
.catalogue-work img { width: 100%; height: 100%; object-fit: contain; transition: transform 400ms ease; }
.catalogue-work a:hover img { transform: scale(.985); }
.catalogue-work figcaption { padding-top: 20px; font-size: .85rem; color: var(--muted); line-height: 1.7; }
.catalogue-work figcaption span { display: block; }
.catalogue-title { font-size: 1rem; color: var(--text); margin-bottom: 4px; }
.catalogue-work[hidden], .catalogue-year[hidden] { display: none; }
#art-viewer { width: min(1400px, 96vw); max-width: none; height: min(960px, 96svh); max-height: 96svh; padding: 20px 28px 28px; border: 0; background: white; color: var(--text); }
#art-viewer::backdrop { background: rgba(20,20,20,.68); }
#art-viewer[open] { display: grid; grid-template-rows: 48px minmax(0, 1fr) auto; gap: 16px; }
.viewer-top { display: flex; justify-content: space-between; align-items: center; }
#viewer-count { font-size: .9rem; font-variant-numeric: tabular-nums; margin: 0; }
.icon-button { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; background: white; border: 1px solid #ddd; border-radius: 0; cursor: pointer; flex: 0 0 auto; }
.icon-button img { width: 24px; height: 24px; }
.icon-button:disabled { opacity: .3; cursor: default; }
.viewer-stage { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; gap: 24px; min-height: 0; align-items: center; }
#viewer-image { width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.viewer-caption { text-align: center; max-height: 24svh; overflow: auto; }
.viewer-caption h2 { font-family: "EB Garamond", serif; font-size: 1.65rem; font-weight: 400; margin: 0 0 4px; }
.viewer-caption p { margin: 0; font-size: .9rem; line-height: 1.6; color: var(--muted); }
.room-view { margin: 0; }
.room-view img { height: auto; }
.room-view figcaption { max-width: 760px; font-size: .9rem; color: var(--muted); line-height: 1.7; margin-top: 20px; }
.room-works { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; line-height: 1.8; margin-top: 36px; }
.room-works a { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 900px) {
  .catalogue-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 44px 28px; }
  .collection-grid { gap: 48px 32px; }
  .home-collections .collection-grid { gap: 24px; }
}
@media (max-width: 640px) {
  .collection-heading { margin-bottom: 36px; }
  .collection-heading h1 { font-size: 2rem; }
  .collection-grid, .home-collections .collection-grid, .catalogue-grid { grid-template-columns: 1fr; gap: 48px; }
  .home-collections { margin-top: 80px; padding-top: 32px; }
  .collection-image { aspect-ratio: 1; }
  .collection-lead { margin-bottom: 64px; }
  .collection-lead img { height: min(56svh, 520px); }
  .catalogue-toolbar { margin-bottom: 40px; }
  .catalogue-toolbar select { max-width: 190px; }
  .catalogue-year { margin-bottom: 64px; }
  #art-viewer { width: 100%; height: 100svh; max-height: 100svh; padding: 12px; }
  .viewer-stage { grid-template-columns: 1fr 1fr; grid-template-rows: minmax(0,1fr) 48px; gap: 16px; }
  #viewer-image { grid-column: 1 / -1; grid-row: 1; }
  #viewer-prev { grid-column: 1; grid-row: 2; justify-self: end; }
  #viewer-next { grid-column: 2; grid-row: 2; }
  .viewer-caption h2 { font-size: 1.4rem; }
  .room-works { grid-template-columns: 1fr; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .collection-image img, .catalogue-work img { transition: none; }
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: "Manrope", sans-serif;
  text-rendering: optimizeLegibility;
}

img {
  display: block;
  width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header,
.page-shell,
.site-footer {
  width: min(1180px, calc(100% - 24px));
  margin: 0 auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  padding: 18px 0 12px;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
}

.site-header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.site-header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.brand-name,
.page-title,
.section-rule h1,
.section-rule h2,
.news-item h3,
.work-caption h2 {
  font-family: "EB Garamond", serif;
}

.brand-name {
  font-size: 2.1rem;
  line-height: 0.9;
  font-weight: 500;
}

.site-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  font-size: 0.98rem;
}

.social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: var(--text);
  transition: opacity 180ms ease, transform 180ms ease;
}

.social-link:hover {
  opacity: 0.7;
  transform: translateY(-1px);
}

.social-link svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.site-nav .is-active {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.page-shell {
  padding: 20px 0 48px;
}

.top-slider {
  padding-top: 8px;
}

.slider-track {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}

.slider-item {
  margin: 0;
}

.slider-item img {
  aspect-ratio: 1 / 1.2;
  object-fit: cover;
  transition: transform 900ms ease, filter 700ms ease;
}

.slider-item:hover img {
  transform: scale(1.02);
  filter: saturate(1.05);
}

.intro-band {
  padding-top: 18px;
  max-width: 760px;
}

.home-hero {
  padding-top: 56px;
}

.home-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px);
  gap: 34px;
  align-items: start;
}

.home-hero-copy {
  max-width: 760px;
}

.home-title {
  margin: 0;
  font-family: "EB Garamond", serif;
  font-size: 4.2rem;
  line-height: 0.88;
  font-weight: 500;
}

.home-subtitle {
  margin: 0.4rem 0 0;
  font-family: "EB Garamond", serif;
  font-size: 1.8rem;
  line-height: 1.2;
  font-weight: 400;
}

.home-feature {
  max-width: 860px;
  padding-top: 22px;
}

.home-featureline,
.home-signature,
.home-card-caption {
  font-family: "EB Garamond", serif;
}

.home-featureline {
  margin: 1rem 0 0.8rem;
  color: #777;
  font-size: 1.35rem;
  line-height: 1.35;
}

.home-copy p {
  margin: 0 0 0.7rem;
  max-width: 840px;
  color: var(--muted);
  font-size: 1.04rem;
  line-height: 1.8;
}

.home-selection {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  padding-top: 26px;
}

.home-mainwork {
  margin: 0;
  overflow: hidden;
}

.home-mainwork img {
  aspect-ratio: 0.95 / 1;
  object-fit: cover;
  transition: transform 900ms ease;
}

.home-mainwork:hover img {
  transform: scale(1.02);
}

.home-card-image {
  margin: 0;
  overflow: hidden;
}

.home-card-image img {
  aspect-ratio: 0.88 / 1;
  object-fit: cover;
  transition: transform 900ms ease;
}

.home-card:hover .home-card-image img {
  transform: scale(1.02);
}

.home-card-caption {
  margin: 10px 0 0;
  color: #6f6f6f;
  font-size: 1.2rem;
  line-height: 1.35;
}

.eyebrow {
  margin: 0 0 8px;
  font-size: 0.82rem;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
}

.intro-text,
.section-text,
.statement-text,
.vita-copy p,
.news-item p,
.contact-copy p,
.timeline li,
.legal-copy p {
  font-size: 1rem;
  line-height: 1.8;
  color: var(--muted);
}

.page-section,
.subpage,
.timeline,
.news-grid,
.contact-grid,
.vita-grid {
  padding-top: 28px;
}

.page-title-band {
  padding-top: 10px;
}

.section-rule {
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
  margin-bottom: 18px;
}

.section-rule h1,
.section-rule h2 {
  margin: 0;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 500;
}

.statement-grid,
.vita-grid,
.contact-grid {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 24px;
  align-items: start;
}

.statement-figure,
.portrait-small {
  margin: 0;
}

.statement-figure img,
.portrait-small img {
  object-fit: cover;
  transition: transform 900ms ease;
}

.statement-figure img {
  aspect-ratio: 1.45 / 1;
}

.portrait-small img {
  aspect-ratio: 0.95 / 1;
}

.statement-figure:hover img,
.portrait-small:hover img,
.news-figure:hover img {
  transform: scale(1.018);
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.news-date {
  margin: 0 0 10px;
  color: var(--text);
}

.news-item h3 {
  margin: 0 0 8px;
  font-size: 1.8rem;
  font-weight: 500;
}

.news-figure {
  margin: 0 0 14px;
  overflow: hidden;
}

.news-figure img {
  aspect-ratio: 1.2 / 1;
  object-fit: cover;
  transition: transform 900ms ease, filter 800ms ease;
}

.works-page {
  padding-top: 10px;
}

.year-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-bottom: 18px;
}

.year-button {
  border: 0;
  background: transparent;
  padding: 0;
  font: inherit;
  color: var(--muted);
  cursor: pointer;
}

.year-button.is-active {
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.works-slider {
  display: grid;
  grid-template-columns: 48px minmax(0, 920px) 48px;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}

.slider-stage {
  width: 100%;
}

.slider-stage img {
  max-height: 58svh;
  width: 100%;
  object-fit: contain;
  transition: opacity 380ms ease, transform 600ms ease;
}

.slider-arrow {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  width: 48px;
  height: 48px;
  font-size: 2rem;
  cursor: pointer;
}

.work-caption {
  padding-top: 18px;
}

.work-caption h2 {
  margin: 0 0 6px;
  font-size: 2rem;
  font-weight: 500;
}

.work-caption p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.work-index {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  padding-top: 18px;
}

.work-thumb {
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--muted);
  font: inherit;
  cursor: pointer;
  text-align: left;
}

.work-thumb.is-active {
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.timeline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.timeline h3 {
  margin: 0 0 10px;
  font-size: 1.8rem;
  font-weight: 500;
}

.timeline ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.contact-card {
  display: grid;
  gap: 4px;
  font-style: normal;
  line-height: 1.8;
}

.legal-copy {
  max-width: 700px;
}

.site-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 24px 0 36px;
}

.footer-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.site-footer p {
  margin: 0;
  color: var(--muted);
}

.section-animate {
  animation: section-fade-in 850ms ease both;
}

@keyframes section-fade-in {
  from {
    opacity: 0.96;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 900px) {
  .slider-track,
  .news-grid,
  .timeline,
  .statement-grid,
  .vita-grid,
  .contact-grid,
  .home-hero-grid {
    grid-template-columns: 1fr;
  }

  .home-selection {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-header {
    padding: 14px 0 10px;
  }

  .site-nav {
    gap: 14px;
    font-size: 0.94rem;
  }

  .home-title {
    font-size: 3.2rem;
  }

  .home-subtitle {
    font-size: 1.45rem;
  }

  .home-featureline {
    font-size: 1.12rem;
  }

  .home-copy p,
  .section-text,
  .vita-copy p,
  .news-item p,
  .contact-copy p {
    line-height: 1.7;
  }

  .works-slider {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "stage stage"
      "prev next";
  }

  .slider-stage {
    grid-area: stage;
  }

  #prev-work {
    grid-area: prev;
  }

  #next-work {
    grid-area: next;
  }

  .slider-arrow {
    width: 100%;
    height: 44px;
  }
}

/* Artwork dimensions remain intact; captions belong below the photograph. */
figure { margin: 0; }
figcaption { margin-top: 10px; color: var(--muted); font-size: .85rem; line-height: 1.5; }
.brand { flex-shrink: 0; white-space: nowrap; }
.social-link { flex: 0 0 44px; width: 44px; height: 44px; }
.site-header { background: rgba(255, 255, 255, .98); }
.site-nav { align-items: center; }
.site-nav a { padding-block: 10px; }
.home-page { padding-top: 72px; padding-bottom: 100px; }
.earth-intro h1 { font-family: "Manrope", sans-serif; font-weight: 300; font-size: 2.5rem; line-height: 1.2; text-align: left; margin: 0; letter-spacing: 0; }
.earth-strip { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.earth-strip img { height: 150px; object-fit: cover; }
.earth-subtitle { text-align: left; font-weight: 300; font-size: 1.05rem; line-height: 1.7; margin: 18px 0 44px; color: var(--muted); }
.artist-statement { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); align-items: start; gap: 112px; padding-top: 88px; }
.artist-statement .reading-copy { max-width: 500px; }
.artist-statement .reading-copy p { margin-bottom: 28px; line-height: 1.95; }
.artist-statement.room-statement { display: block; }
.room-statement .reading-copy { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 72px; max-width: none; }
.room-statement .statement-column { min-width: 0; }
.room-statement .statement-closing { margin-top: 36px; }
.room-statement .statement-closing blockquote { margin: 0; max-width: 840px; font-size: 1.5rem; line-height: 1.5; }
.room-statement .room-view { margin-top: 40px; }
.room-statement .room-browse { margin: 28px 0 0; }
@media (max-width: 640px) {
  .room-statement .reading-copy { grid-template-columns: 1fr; gap: 0; }
  .room-statement .room-view { margin-top: 40px; }
}
.statement-works { display: grid; gap: 72px; }
.artist-statement img { height: auto; }
.reading-copy p, .essay p, .vita-copy li, .news-archive p { font-size: 1rem; line-height: 1.85; color: var(--muted); }
.reading-copy p:first-child { margin-top: 0; }
blockquote { margin: 28px 0; font-family: "EB Garamond", serif; font-size: 1.7rem; line-height: 1.3; }
.text-link { display: inline-block; text-decoration: underline; text-underline-offset: 5px; line-height: 1.6; padding-block: 12px; }
.vita-grid { grid-template-columns: minmax(0, 1fr) 280px; gap: 64px; }
.portrait-small img { height: auto; aspect-ratio: auto; }
.vita-copy ul { list-style: none; padding: 0; display: grid; gap: 12px; }
.vita-copy h2, .timeline h2, .news-archive h2 { font-family: "EB Garamond", serif; font-size: 1.9rem; font-weight: 400; margin: 0 0 20px; }
.timeline { grid-template-columns: 1fr; max-width: 850px; padding-top: 56px; }
.timeline li { display: grid; grid-template-columns: 65px 1fr; gap: 16px; }
.essay { max-width: 760px; margin: 28px auto 0; }
.essay h2 { font-family: "EB Garamond", serif; font-size: 2.8rem; font-weight: 400; margin: 0 0 10px; }
.essay h1 { font-family: "Manrope", sans-serif; font-size: 2.2rem; font-weight: 300; line-height: 1.25; margin: 0 0 24px; }
.essay-index { display: grid; max-width: 760px; margin: 32px auto 64px; }
.essay-index a { display: flex; justify-content: space-between; gap: 24px; padding: 20px 0; border-bottom: 1px solid #e9e9e9; line-height: 1.6; }
.essay-index small { color: var(--muted); text-align: right; }
.process-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center; margin-top: 80px; }
.process-feature img { height: auto; }
.process-feature h2 { font-weight: 300; font-size: 1.8rem; }
.process-feature p { color: var(--muted); line-height: 1.8; }
[hidden] { display: none !important; }
.essay .essay-author { color: var(--text); }
.essay .essay-note { font-size: .9rem; margin-bottom: 36px; }
.full-text { margin-top: 36px; border-top: 1px solid var(--line); padding-top: 20px; }
.full-text summary { cursor: pointer; padding-block: 12px; }
.full-text[open] .reading-copy { padding-top: 24px; }
.news-archive { border-top: 1px solid var(--line); margin-top: 48px; padding-top: 28px; }
.news-figure img { height: auto; object-fit: contain; }
.news-page { padding-top: 64px; padding-bottom: 88px; }
.news-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 64px; }
.news-heading h1 { font: 300 2.75rem/1.2 "Manrope", sans-serif; margin: 0; }
.news-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 80px; }
.news-feature .news-figure img, .archive-entry .news-figure img { height: auto; max-height: 520px; aspect-ratio: auto; object-fit: contain; object-position: top left; }
.news-copy h2 { font: 400 2.2rem/1.25 "Manrope", sans-serif; margin: 12px 0 24px; overflow-wrap: anywhere; }
.news-copy p, .news-copy address { font-style: normal; font-size: 1rem; line-height: 1.85; color: var(--muted); }
.news-copy .news-subtitle { color: var(--text); margin-bottom: 28px; }
.news-copy .news-date { font-size: .9rem; margin-top: 0; }
.news-program { margin-top: 80px; padding-top: 32px; border-top: 1px solid var(--line); }
.news-program h2 { font: 400 1.5rem/1.4 "Manrope", sans-serif; margin: 0 0 32px; }
.news-program dl { margin: 0; }
.news-program dl > div { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 32px; padding: 24px 0; border-bottom: 1px solid #e9e9e9; line-height: 1.8; }
.news-program dt { color: var(--muted); }
.news-program dd { margin: 0; }
.news-program strong { font-weight: 500; }
.archive-list { display: grid; gap: 72px; }
.news-feed { display: grid; }
.news-feed-entry { display: grid; grid-template-columns: minmax(0,280px) minmax(0,1fr); gap: 48px; align-items: start; padding: 36px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 140px; }
.news-feed-entry:first-child { padding-top: 0; }
.news-feed-entry:last-child { border-bottom: 0; }
.news-feed-entry figure { margin: 0; }
.news-feed-entry .news-figure img { width: 100%; height: 200px; object-fit: contain; object-position: top left; }
.news-feed-entry .news-copy h2 { font-size: 1.65rem; margin: 8px 0 16px; }
.news-feed-entry .news-copy p { margin: 0 0 12px; line-height: 1.7; }
.news-page > .text-link + .news-heading { margin-top: 32px; }
@media (max-width: 640px) {
  .news-feed-entry { grid-template-columns: minmax(0,1fr); gap: 24px; padding: 32px 0; }
  .news-feed-entry .news-figure img { height: 210px; }
  .news-feed-entry .news-copy h2 { font-size: 1.5rem; }
}
.archive-entry { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); align-items: start; gap: 80px; padding-bottom: 64px; border-bottom: 1px solid #e9e9e9; }
.archive-entry:last-child { border-bottom: 0; }
.work-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.view-modes { display: inline-flex; gap: 4px; border-bottom: 1px solid var(--line); }
.view-modes button { border: 0; border-bottom: 2px solid transparent; padding: 10px 16px; font: inherit; background: white; color: var(--muted); cursor: pointer; }
.view-modes button[aria-pressed="true"] { color: var(--text); border-bottom-color: var(--text); }
@media (max-width: 640px) {
  .view-modes { gap: 0; }
  .view-modes button { padding: 10px 8px; }
  #work-count { margin-left: auto; }
}
#work-count { font-variant-numeric: tabular-nums; color: var(--muted); }
.year-button { min-height: 44px; }
.slider-stage { height: min(54svh, 600px); }
.slider-stage img { height: 100%; max-height: none; }
.slider-arrow:disabled { opacity: .25; cursor: default; }
.slider-arrow img { width: 24px; height: 24px; margin: auto; }
.frame-toolbar { display: flex; flex-wrap: wrap; gap: 16px 32px; justify-content: space-between; align-items: center; margin: 12px 0 24px; font-size: .9rem; }
.frame-toolbar label { display: inline-flex; gap: 10px; align-items: center; min-height: 44px; cursor: pointer; }
.frame-toolbar input { accent-color: #333; width: 18px; height: 18px; }
.slider-stage:has(.art-mount) { display: flex; align-items: center; justify-content: center; }
.art-mount, .proof-mount { padding: 7px; border: 2px solid transparent; background: transparent; box-sizing: border-box; }
.slider-stage .art-mount img { width: 100%; height: 100%; object-fit: contain; }
.with-metal-frame .art-mount, .with-metal-frame .proof-mount { border-color: #aaa #777 #777 #bbb; background: #272727; box-shadow: 0 0 0 1px #d0d0d0, 2px 4px 7px #0002; }
.photo-trials h1 { font-family: "Manrope", sans-serif; font-size: 2.2rem; font-weight: 300; }
.photo-trial { margin-top: 72px; }
.photo-trial h2 { font-size: 1.5rem; font-weight: 400; }
.trial-pair { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 40px; }
.trial-pair figure { margin: 0; min-width: 0; }
.trial-pair figcaption { margin-bottom: 16px; font-size: .9rem; }
.proof-mount img { width: 100%; height: auto; display: block; }
.trial-note { max-width: 800px; line-height: 1.8; font-size: .9rem; color: var(--muted); }
@media (max-width: 640px) {
  .trial-pair { grid-template-columns: 1fr; gap: 24px; }
  .proof-mount { padding: 4px; }
  .photo-trial { margin-top: 48px; }
}
.work-index { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; }
.work-thumb { flex: 0 0 68px; width: 68px; height: 68px; padding: 2px; border: 1px solid transparent; }
.work-thumb img { width: 100%; height: 100%; object-fit: contain; }
.work-thumb[aria-pressed="true"] { border-color: var(--text); }
.static-works { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 40px; }
.static-works img { height: auto; }
:focus-visible { outline: 2px solid var(--text); outline-offset: 4px; }

@media (max-width: 900px) {
  .site-header-inner { flex-wrap: wrap; gap: 8px; }
  .site-header-actions { flex: 1 1 auto; justify-content: flex-end; gap: 8px; }
  .site-nav { gap: 12px; }
  .artist-statement { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
  .news-feature, .archive-entry { gap: 40px; }
  .vita-grid { grid-template-columns: minmax(0, 1fr) 220px; gap: 30px; }
}
@media (max-width: 640px) {
  .site-header-inner { display: block; position: relative; }
  .brand { display: inline-flex; align-items: center; min-height: 36px; }
  .site-header-actions { display: block; }
  .site-nav .social-link { position: static; flex: 0 0 28px; width: 28px; }
  .site-nav { width: 100%; justify-content: space-between; gap: 10px; font-size: .83rem; }
  .site-header { padding-top: 8px; padding-bottom: 0; }
  .home-page { width: calc(100% - 40px); padding-top: 40px; padding-bottom: 64px; }
  .earth-intro h1 { font-size: 1.8rem; margin: 0; }
  .earth-strip { gap: 4px; }
  .earth-strip img { height: 76px; }
  .earth-subtitle { font-size: .95rem; margin: 16px 0 32px; max-width: 330px; }
  .artist-statement, .vita-grid { grid-template-columns: 1fr; gap: 40px; }
  .artist-statement { padding-top: 48px; }
  .statement-works { grid-row: 1; gap: 40px; }
  .news-page { width: calc(100% - 40px); padding-top: 40px; }
  .news-heading { margin-bottom: 40px; gap: 16px; }
  .news-heading h1 { font-size: 2rem; }
  .news-feature, .archive-entry { grid-template-columns: 1fr; gap: 28px; }
  .news-copy h2 { font-size: 1.7rem; }
  .archive-list { gap: 48px; }
  .archive-entry { padding-bottom: 40px; }
  .news-program { margin-top: 48px; }
  .news-program dl > div { grid-template-columns: 1fr; gap: 8px; }
  .portrait-small { max-width: 280px; }
  .essay h2 { font-size: 2.2rem; }
  .essay h1 { font-size: 1.8rem; }
  .essay-index a { flex-direction: column; gap: 4px; }
  .essay-index small { text-align: left; }
  .process-feature { grid-template-columns: 1fr; gap: 24px; margin-top: 48px; }
  .slider-stage { height: 40svh; }
  .year-nav { gap: 0 16px; }
  .static-works { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

@media (max-width: 640px) {
  .site-header-inner {
    align-items: flex-start;
  }

  .site-header-actions {
    width: 100%;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 10px;
  }

  .site-nav {
    flex: 1 1 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    -webkit-overflow-scrolling: touch;
  }

  .site-footer {
    flex-direction: column;
    align-items: flex-start;
  }

  .slider-track {
    grid-template-columns: 1fr;
  }

  .home-hero {
    padding-top: 34px;
  }

  .home-selection {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .brand-name {
    font-size: 1.72rem;
  }

  .work-caption h2,
  .news-item h3,
  .timeline h3,
  .section-rule h1,
  .section-rule h2 {
    font-size: 1.7rem;
  }
}

/* October feedback: readable type and a separate, unframed detail view. */
.brand-name { font-family: "Manrope", sans-serif; font-size: 1.8rem; font-weight: 400; letter-spacing: 0; }
.reading-copy p, .artist-statement p, .essay p, .vita-copy li, .news-copy p { color: #333; font-weight: 400; }
.frame-switch { color: #222; font-weight: 500; padding: 4px 12px; border: 1px solid #aaa; border-radius: 4px; }
.curated-gallery .work-toolbar { justify-content: flex-end; margin-bottom: 0; }

/* One page-heading treatment across overview, collection and detail pages. */
.visually-hidden-title { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.subpage .title-band-hidden { margin: 0; padding: 0; }
.frame-toolbar [hidden] { display: none; }
.earth-intro h1 { font-size: 1.8rem; }
.page-shell.subpage { padding-top: 64px; }
.page-shell.subpage h1 {
  font-family: "Manrope", sans-serif;
  font-size: 2.5rem;
  font-weight: 300;
  line-height: 1.2;
  letter-spacing: 0;
  margin: 0;
  overflow-wrap: anywhere;
}
.subpage .page-title-band { padding: 0; margin: 0 0 64px; }
.page-title-band .section-rule { border: 0; padding: 0; margin: 0; }
.page-title-band + section { padding-top: 0; }
.subpage .collection-heading { margin-bottom: 64px; }
.collection-heading > .text-link + h1 { margin-top: 24px; }
.subpage > .text-link + .page-title-band { margin-top: 32px; }
.text-excerpts > .text-teaser:first-child { padding-top: 0; }
.subpage .essay header h1 { margin-bottom: 24px; }
@media (max-width: 640px) {
  .page-shell.subpage { width: calc(100% - 40px); padding-top: 40px; }
  .page-shell.subpage h1 { font-size: 1.875rem; }
  .earth-intro h1 { font-size: 1.6rem; }
  .subpage .page-title-band, .subpage .collection-heading { margin-bottom: 40px; }
}
.legal-copy { max-width: 820px; overflow-wrap: anywhere; }
.legal-copy h2 { font: 500 1.35rem/1.45 "Manrope", sans-serif; margin: 40px 0 16px; }
.legal-copy h3 { font: 500 1.05rem/1.5 "Manrope", sans-serif; margin: 28px 0 12px; }
.legal-copy p { color: #333; line-height: 1.8; }
.legal-review-note { border-left: 3px solid #777; padding: 4px 0 4px 20px; margin-bottom: 40px; }
.legal-review-note p { margin-bottom: 0; }
.legal-copy .legal-pending { border-left: 2px solid #aaa; padding-left: 16px; font-size: .95rem; }
.frame-toolbar .text-link { margin-left: auto; }
.slider-stage { height: min(64svh, 760px); cursor: zoom-in; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; border: 1px solid #ddd; background: #fff; color: #222; cursor: pointer; border-radius: 3px; padding: 9px; }
.icon-button:hover { background: #f2f2f2; border-color: #777; }
.icon-button img { display: block; width: 24px; height: 24px; }
.more-works { border-top: 1px solid #ddd; margin-top: 96px; padding-top: 48px; }
.more-works > h2 { font: 400 1.8rem "Manrope", sans-serif; margin-bottom: 40px; }
.more-work-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 48px; }
.more-work { min-width: 0; text-decoration: none; }
.more-work figure { margin: 0; }
.more-work img { width: 100%; height: 270px; object-fit: contain; transition: transform .25s ease; }
.more-work:hover img { transform: translateY(-4px); }
.more-work h3 { display: flex; justify-content: space-between; gap: 12px; font: 400 1.15rem "Manrope", sans-serif; margin: 24px 0 8px; }
.more-work p { margin: 0; }
.text-excerpts { max-width: 800px; margin: 0 auto; }
.text-teaser { padding: 48px 0; border-bottom: 1px solid #ddd; }
.text-teaser h2 { font: 400 1.8rem "Manrope", sans-serif; margin: 12px 0 24px; }
.text-teaser blockquote { margin: 0 0 24px; font-size: 1.05rem; line-height: 1.85; color: #333; }
.essay strong { font-weight: 600; }
.archive-photos { display: grid; gap: 30px; align-content: start; }
.archive-photos figure { margin: 0; }
.detail-open { overflow: hidden; }
#detail-viewer { box-sizing: border-box; width: 100vw; height: 100dvh; max-width: 100vw; max-height: 100dvh; margin: 0; padding: 18px 28px; border: 0; background: #fff; color: #222; }
#detail-viewer[open] { display: grid; grid-template-rows: auto minmax(0,1fr) auto; gap: 12px; }
#detail-viewer::backdrop { background: #fff; }
.detail-toolbar, .detail-toolbar > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.detail-toolbar p { margin: 0; font-variant-numeric: tabular-nums; }
.detail-stage { min-width: 0; min-height: 0; overflow: auto; display: flex; justify-content: center; align-items: center; }
#detail-image { width: 100%; height: 100%; object-fit: contain; }
.detail-bottom { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; align-items: center; gap: 24px; padding: 8px 0; text-align: center; }
.detail-bottom h2, .work-caption h2 { font: 400 1.25rem "Manrope", sans-serif; margin: 0 0 5px; overflow-wrap: anywhere; }
.detail-bottom p, .work-caption p { font-size: .9rem; margin: 0; color: #444; line-height: 1.5; }
#detail-viewer.is-zoomed .detail-stage { display: block; }
#detail-viewer.is-zoomed #detail-image { width: auto; height: auto; max-width: none; max-height: none; min-width: 100%; min-height: 100%; object-fit: contain; }
@media (max-width: 640px) {
  .brand-name { font-size: 1.6rem; }
  .slider-stage { height: 52svh; }
  .frame-toolbar { display: grid; grid-template-columns: minmax(0,1fr) 44px; gap: 12px; }
  .frame-toolbar .frame-switch { grid-column: 1; grid-row: 1; justify-self: start; }
  .frame-toolbar #open-detail { grid-column: 2; grid-row: 1; }
  .frame-toolbar .text-link { font-size: .8rem; grid-column: 1 / -1; grid-row: 2; justify-self: end; }
  .more-work-links { grid-template-columns: 1fr; gap: 44px; }
  .more-works { margin-top: 64px; padding-top: 32px; }
  .more-work img { height: 300px; }
  .text-teaser { padding: 32px 0; }
  #detail-viewer { padding: 12px; padding-bottom: max(12px,env(safe-area-inset-bottom)); }
  .detail-bottom { gap: 10px; }
  .detail-bottom h2, .work-caption h2 { font-size: 1.05rem; }
  .detail-bottom p, .work-caption p { font-size: .8rem; }
}
@media (prefers-reduced-motion: reduce) {
  .more-work img { transition: none; }
  .more-work:hover img { transform: none; }
}
