:root {
  --paper: #f5f1e8;
  --ink: #121212;
  --muted: #69645c;
  --line: #121212;
  --red: #ef4a24;
  --blue: #315cff;
  --yellow: #ffd21e;
  --green: #45ca65;
  --white: #fffdf7;
  --side: clamp(18px, 3.8vw, 58px);
  --max: 1500px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, "Noto Sans SC", "Microsoft YaHei", sans-serif;
  font-size: 16px;
  line-height: 1.48;
  letter-spacing: 0;
}
body::selection { background: var(--yellow); color: var(--ink); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
main { overflow: clip; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 76px;
  padding: 12px var(--side);
  border-bottom: 1px solid var(--ink);
  background: rgba(245, 241, 232, 0.95);
  backdrop-filter: blur(12px);
}
.brand { display: flex; align-items: baseline; gap: 8px; flex: 0 0 auto; font-size: 19px; font-weight: 800; }
.brand span:last-child { font-size: 12px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; }
.nav { display: flex; align-items: center; gap: 6px; margin-left: auto; }
.nav a, .lang-toggle {
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--ink);
  border-radius: 5px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .035em;
  text-transform: uppercase;
  transition: transform 170ms ease, box-shadow 170ms ease;
}
.nav a:nth-child(1) { background: var(--yellow); }
.nav a:nth-child(2) { background: var(--blue); color: var(--white); }
.nav a:nth-child(3) { background: var(--red); color: var(--white); }
.nav a:nth-child(4) { background: var(--green); }
.nav a:hover, .nav a:focus-visible, .lang-toggle:hover, .lang-toggle:focus-visible { transform: translate(-2px, -2px); box-shadow: 3px 3px 0 var(--ink); }
.lang-toggle { flex: 0 0 auto; background: var(--white); cursor: pointer; }

.ticker { overflow: hidden; border-bottom: 1px solid var(--ink); background: var(--ink); color: var(--white); white-space: nowrap; }
.ticker-track { display: inline-flex; min-width: max-content; gap: 36px; padding: 7px 0; font-size: 11px; font-weight: 700; letter-spacing: .11em; animation: marquee 28s linear infinite; }
@keyframes marquee { to { transform: translateX(-50%); } }

.cover {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .82fr);
  min-height: calc(100svh - 116px);
  border-bottom: 1px solid var(--ink);
}
.cover-copy { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(32px, 5vw, 76px) var(--side) 28px; }
.issue-line, .section-kicker, .path, .meta-label { margin: 0; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.issue-line { display: flex; justify-content: space-between; gap: 12px; }
.cover h1 { max-width: 820px; margin: auto 0 26px; font-size: clamp(82px, 15vw, 220px); line-height: .72; font-weight: 800; letter-spacing: -.05em; }
.cover h1 span { display: block; }
.cover h1 .roman { color: var(--blue); font-size: .56em; letter-spacing: -.07em; }
.cover-statement { max-width: 510px; margin: 0; font-size: clamp(17px, 2vw, 25px); font-weight: 600; line-height: 1.35; }
.cover-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.action-link, .outline-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--ink);
  font-size: 13px;
  font-weight: 800;
  transition: transform 180ms ease, box-shadow 180ms ease;
}
.action-link { background: var(--red); color: var(--white); }
.outline-link { background: var(--white); }
.action-link:hover, .outline-link:hover, .action-link:focus-visible, .outline-link:focus-visible { transform: translate(-3px, -3px); box-shadow: 4px 4px 0 var(--ink); }
.cover-image { position: relative; min-height: 500px; margin: 0; border-left: 1px solid var(--ink); background: var(--blue); }
.cover-image img { width: 100%; height: 100%; object-fit: cover; }
.cover-image figcaption { position: absolute; right: 18px; bottom: 16px; left: 18px; display: flex; justify-content: space-between; gap: 12px; color: var(--white); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-shadow: 0 1px 3px #000; }
.cover-stamp { position: absolute; top: 22px; right: 22px; display: grid; place-items: center; width: 88px; aspect-ratio: 1; border: 1px solid var(--ink); border-radius: 50%; background: var(--yellow); color: var(--ink); font-size: 11px; font-weight: 800; line-height: 1.1; text-align: center; transform: rotate(12deg); }

.section { max-width: var(--max); margin: 0 auto; padding: clamp(54px, 8vw, 130px) var(--side); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.section-title { max-width: 800px; margin: 10px 0 0; font-size: clamp(38px, 6vw, 86px); line-height: .93; letter-spacing: -.045em; }
.section-title em { color: var(--red); font-style: normal; }
.section-intro { max-width: 440px; margin: 0; color: var(--muted); font-size: 15px; }

.featured-grid { display: grid; grid-template-columns: 1.15fr .85fr .85fr; gap: 14px; }
.story-card {
  position: relative;
  display: flex;
  min-height: 380px;
  overflow: hidden;
  border: 1px solid var(--ink);
  background: var(--card-color, var(--white));
  color: var(--ink);
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.story-card:first-child { grid-row: span 2; min-height: 774px; }
.story-card:hover, .story-card:focus-visible { transform: translate(-5px, -5px); box-shadow: 7px 7px 0 var(--ink); }
.story-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity 260ms ease, transform 500ms ease; }
.story-card:hover img { transform: scale(1.04); }
.story-card-content { position: relative; z-index: 1; display: flex; flex: 1; flex-direction: column; justify-content: space-between; padding: 16px; }
.card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 11px; font-weight: 800; letter-spacing: .07em; }
.card-top span:last-child { padding: 4px 6px; border: 1px solid currentColor; background: var(--white); }
.story-card h3 { display: table; max-width: 500px; margin: 0; padding: 6px 8px; background: var(--white); color: var(--ink); font-size: clamp(28px, 3.1vw, 54px); line-height: .95; letter-spacing: -.04em; }
.story-card h3 small { display: block; margin-top: 7px; font-size: .34em; font-weight: 600; letter-spacing: 0; }
.story-card p { display: table; max-width: 430px; margin: 10px 0 0; padding: 5px 7px; background: var(--white); color: var(--ink); font-size: 13px; font-weight: 700; }
.story-card.red { --card-color: var(--red); }
.story-card.red .card-top span:last-child { color: var(--ink); }
.story-card.blue { --card-color: var(--blue); }
.story-card.blue .card-top span:last-child { color: var(--ink); }
.story-card.yellow { --card-color: var(--yellow); }
.story-card.black { --card-color: var(--ink); }
.story-card.black .card-top span:last-child { color: var(--ink); }

.field-index { border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: var(--white); }
.field-index-inner { max-width: var(--max); margin: 0 auto; padding: 0 var(--side); }
.field-index-grid { display: grid; grid-template-columns: .65fr 1.35fr; }
.field-index-title { display: flex; flex-direction: column; justify-content: space-between; min-height: 430px; padding: 28px 28px 28px 0; border-right: 1px solid var(--ink); }
.field-index-title h2 { margin: 14px 0 0; font-size: clamp(42px, 5vw, 80px); line-height: .94; letter-spacing: -.045em; }
.field-index-title img { width: 116px; aspect-ratio: 1; border: 1px solid var(--ink); border-radius: 50%; object-fit: cover; }
.field-list { display: grid; }
.field-list a { display: grid; grid-template-columns: 70px 1fr auto; gap: 18px; align-items: center; min-height: 108px; padding: 18px 0 18px 30px; border-bottom: 1px solid var(--ink); font-weight: 800; transition: background 160ms ease, padding-left 160ms ease; }
.field-list a:last-child { border-bottom: 0; }
.field-list a:hover, .field-list a:focus-visible { padding-left: 42px; background: var(--yellow); }
.field-list .number { font-size: 12px; }
.field-list strong { font-size: clamp(21px, 2.2vw, 34px); letter-spacing: -.03em; }
.field-list small { display: block; margin-top: 4px; font-size: 12px; font-weight: 500; }
.field-list .arrow { font-size: 25px; }

.artist-note { display: grid; grid-template-columns: .8fr 1.2fr; border: 1px solid var(--ink); background: var(--yellow); }
.artist-note img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; border-right: 1px solid var(--ink); }
.artist-note-copy { display: flex; flex-direction: column; justify-content: space-between; padding: clamp(26px, 4vw, 62px); }
.artist-note h2 { max-width: 700px; margin: 22px 0; font-size: clamp(35px, 5vw, 74px); line-height: .95; letter-spacing: -.05em; }
.artist-note p { max-width: 610px; margin: 0; font-size: 17px; font-weight: 600; }
.artist-note .action-link { align-self: flex-start; margin-top: 34px; }

.site-footer { display: flex; justify-content: space-between; gap: 22px; padding: 18px var(--side); border-top: 1px solid var(--ink); background: var(--ink); color: var(--white); font-size: 11px; font-weight: 700; letter-spacing: .05em; }

.page-shell { max-width: var(--max); margin: 0 auto; padding: clamp(38px, 6vw, 86px) var(--side) clamp(70px, 10vw, 140px); }
.archive-intro { display: grid; grid-template-columns: 1.3fr .7fr; gap: 26px; align-items: end; padding-bottom: 48px; border-bottom: 1px solid var(--ink); }
.archive-intro h1, .file-heading h1 { margin: 14px 0 0; font-size: clamp(60px, 10vw, 145px); line-height: .78; letter-spacing: -.065em; }
.archive-intro h1 span, .file-heading h1 span { display: block; color: var(--blue); font-size: .38em; letter-spacing: -.045em; }
.archive-intro p:last-child { max-width: 380px; margin: 0 0 7px; font-size: 16px; font-weight: 600; }
.archive-controls { display: flex; flex-wrap: wrap; gap: 8px; margin: 36px 0 22px; }
.archive-filter { padding: 8px 12px; border: 1px solid var(--ink); border-radius: 999px; background: var(--white); font-size: 12px; font-weight: 800; cursor: pointer; }
.archive-filter[aria-pressed="true"] { background: var(--ink); color: var(--white); }
.archive-count { margin-left: auto; align-self: center; color: var(--muted); font-size: 12px; font-weight: 700; }
.archive-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.archive-card { position: relative; display: grid; grid-template-columns: minmax(180px, .93fr) 1.07fr; min-height: 310px; overflow: hidden; border: 1px solid var(--ink); background: var(--card-color, var(--white)); transition: transform 200ms ease, box-shadow 200ms ease, opacity 180ms ease; }
.archive-card.is-hidden { display: none; }
.archive-card:hover, .archive-card:focus-visible { transform: translate(-4px, -4px); box-shadow: 6px 6px 0 var(--ink); }
.archive-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 380ms ease; }
.archive-card:hover img { transform: scale(1.05); }
.archive-card-copy { display: flex; flex-direction: column; justify-content: space-between; padding: 16px; border-left: 1px solid var(--ink); }
.archive-card .card-top { color: var(--ink); }
.archive-card h2 { margin: 18px 0 8px; font-size: clamp(26px, 3vw, 44px); line-height: .92; letter-spacing: -.04em; }
.archive-card h2 small { display: block; margin-top: 6px; font-size: .36em; letter-spacing: 0; }
.archive-card p { margin: 0; font-size: 13px; font-weight: 600; }
.archive-card .card-arrow { align-self: flex-end; font-size: 28px; }
.archive-card[data-tone="red"] { --card-color: var(--red); }
.archive-card[data-tone="blue"] { --card-color: var(--blue); }
.archive-card[data-tone="yellow"] { --card-color: var(--yellow); }
.archive-card[data-tone="black"] { --card-color: var(--ink); color: var(--white); }
.archive-card[data-tone="black"] .card-top { color: var(--white); }

.artist-file { display: grid; grid-template-columns: .95fr 1.05fr; border: 1px solid var(--ink); background: var(--white); }
.file-photo { position: relative; min-height: 650px; margin: 0; border-right: 1px solid var(--ink); background: var(--blue); }
.file-photo img { width: 100%; height: 100%; object-fit: cover; }
.file-photo figcaption { position: absolute; right: 16px; bottom: 16px; left: 16px; color: var(--white); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-shadow: 0 1px 3px #000; }
.file-copy { padding: clamp(26px, 4vw, 58px); }
.file-heading { margin-bottom: 42px; }
.file-copy p { max-width: 680px; margin: 0 0 18px; font-size: 16px; }
.file-data { display: grid; margin-top: 38px; border-top: 1px solid var(--ink); }
.file-data > div { display: grid; grid-template-columns: 120px 1fr; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--ink); }
.file-data dt { color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.file-data dd { margin: 0; font-weight: 700; }
.timeline { margin-top: clamp(58px, 9vw, 120px); }
.timeline-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.timeline-heading h2 { margin: 0; font-size: clamp(35px, 5vw, 68px); line-height: .95; letter-spacing: -.045em; }
.timeline-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.timeline-list li { display: grid; grid-template-columns: 120px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--ink); }
.timeline-list time { color: var(--red); font-size: 13px; font-weight: 800; }
.timeline-list p { margin: 0; font-size: 16px; font-weight: 600; }

.project-page { --project: var(--red); }
.project-blue { --project: var(--blue); }
.project-yellow { --project: var(--yellow); }
.project-black { --project: var(--ink); }
body.project-blue .project-page { --project: var(--blue); }
body.project-yellow .project-page { --project: var(--yellow); }
body.project-black .project-page { --project: var(--ink); }
.project-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 36px; padding-bottom: 48px; border-bottom: 1px solid var(--ink); }
.project-hero h1 { grid-column: 1 / -1; margin: 14px 0 0; font-size: clamp(52px, 8vw, 122px); line-height: .83; letter-spacing: -.065em; }
.project-hero h1 span { display: block; color: var(--project); font-size: .42em; letter-spacing: -.045em; }
.project-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 1px solid var(--ink); }
.project-meta > div { padding: 12px 0; border-bottom: 1px solid var(--ink); }
.project-meta > div:nth-child(odd) { padding-right: 18px; }
.project-meta > div:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--ink); }
.project-meta dt { margin-bottom: 4px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.project-meta dd { margin: 0; font-size: 14px; font-weight: 700; }
.project-lede { align-self: end; margin: 0; font-size: 19px; font-weight: 700; line-height: 1.35; }
.gallery-module { margin-top: clamp(42px, 7vw, 94px); }
.gallery-tools { display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; margin-bottom: 12px; }
.gallery-hint { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: .04em; }
.gallery-buttons { display: flex; gap: 6px; }
.gallery-button { width: 38px; height: 34px; border: 1px solid var(--ink); background: var(--white); font-size: 18px; font-weight: 800; cursor: pointer; }
.gallery-button:hover, .gallery-button:focus-visible { background: var(--project); }
.gallery-strip { display: flex; align-items: flex-start; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain; padding-bottom: 12px; scrollbar-color: var(--project) transparent; scroll-snap-type: x proximity; }
.gallery-strip:focus-visible { outline: 3px solid var(--project); outline-offset: 3px; }
.gallery-strip figure { position: relative; flex: 0 0 auto; width: auto; height: clamp(350px, 48vw, 680px); aspect-ratio: var(--image-ratio, 1.5); margin: 0; scroll-snap-align: start; overflow: hidden; background: var(--ink); cursor: zoom-in; }
.gallery-strip img { width: 100%; height: 100%; object-fit: contain; transition: transform 320ms ease; }
.gallery-strip figure.is-ultra-wide { width: min(92vw, 1420px); height: auto; aspect-ratio: auto; }
.gallery-strip figure.is-ultra-wide img { width: 100%; height: auto; object-fit: contain; }
.gallery-strip figure:hover img { transform: scale(1.02); }
.gallery-strip figcaption { position: absolute; right: 12px; bottom: 11px; left: 12px; display: flex; justify-content: space-between; color: var(--white); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-shadow: 0 1px 3px #000; }
.gallery-progress { height: 6px; margin-top: 2px; border: 1px solid var(--ink); background: var(--white); }
.gallery-progress span { display: block; width: 14.285%; height: 100%; background: var(--project); transition: width 180ms ease; }
.gallery-status { display: flex; justify-content: space-between; margin-top: 8px; color: var(--muted); font-size: 11px; font-weight: 800; }
.project-text { display: grid; grid-template-columns: minmax(0, .8fr) minmax(250px, .42fr); gap: clamp(35px, 8vw, 140px); margin-top: clamp(60px, 9vw, 130px); }
.field-note { grid-column: 1; border-top: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.field-note summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 0; cursor: pointer; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.field-note summary::after { content: "+"; font-size: 24px; line-height: 1; }
.field-note[open] summary::after { content: "−"; }
.field-note-content { max-width: 780px; padding: 4px 0 20px; }
.field-note-content p { font-size: clamp(17px, 2vw, 22px); line-height: 1.5; }
.project-side-note { align-self: start; margin: 0; padding: 16px; border: 1px solid var(--ink); background: var(--project); font-size: 14px; font-weight: 700; }
.detail-nav { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: clamp(60px, 9vw, 130px); }
.detail-nav a { min-height: 78px; padding: 18px; border: 1px solid var(--ink); background: var(--white); font-size: 14px; font-weight: 800; transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease; }
.detail-nav a:last-child { text-align: right; }
.detail-nav a:hover, .detail-nav a:focus-visible { background: var(--project); transform: translate(-3px, -3px); box-shadow: 4px 4px 0 var(--ink); }

.lightbox { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 24px; background: rgba(18, 18, 18, .94); }
.lightbox[hidden] { display: none; }
.lightbox img { max-width: min(94vw, 1500px); max-height: 82vh; object-fit: contain; }
.lightbox-close, .lightbox-nav { position: absolute; display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid var(--white); background: var(--ink); color: var(--white); font-size: 22px; cursor: pointer; }
.lightbox-close { top: 20px; right: 20px; }
.lightbox-nav { top: 50%; transform: translateY(-50%); }
.lightbox-prev { left: 20px; }
.lightbox-next { right: 20px; }
.lightbox-caption { position: absolute; right: 24px; bottom: 22px; left: 24px; color: var(--white); font-size: 12px; font-weight: 700; text-align: center; }

.site-cursor { display: none; }
@media (hover: hover) and (pointer: fine) {
  body, a, button, .gallery-strip, .gallery-strip figure { cursor: none; }
  .site-cursor { position: fixed; z-index: 100; display: grid; width: 62px; height: 62px; place-items: center; border: 1px solid var(--ink); border-radius: 50%; background: var(--white); color: var(--ink); font-size: 10px; font-weight: 800; letter-spacing: .06em; line-height: 1; pointer-events: none; transform: translate(-50%, -50%) scale(.65); opacity: 0; transition: transform 160ms ease, opacity 160ms ease, background 160ms ease, color 160ms ease; }
  .site-cursor.is-visible { transform: translate(-50%, -50%) scale(1); opacity: 1; }
  .site-cursor.is-intense { background: var(--red); color: var(--white); }
}

[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity 550ms ease, transform 550ms ease; }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
body.lang-en .zh, body.lang-zh .en { display: none !important; }
body.lang-zh .zh, body.lang-en .en { display: revert; }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition-duration: 0.01ms !important; } }
@media (max-width: 980px) {
  .cover, .artist-file, .artist-note, .project-hero { grid-template-columns: 1fr; }
  .cover-image { min-height: 58vw; border-top: 1px solid var(--ink); border-left: 0; }
  .featured-grid { grid-template-columns: repeat(2, 1fr); }
  .story-card:first-child { grid-column: 1 / -1; grid-row: auto; min-height: 520px; }
  .field-index-grid, .archive-intro { grid-template-columns: 1fr; }
  .field-index-title { min-height: 260px; border-right: 0; border-bottom: 1px solid var(--ink); padding-right: 0; }
  .field-list a { padding-left: 0; }
  .field-list a:hover, .field-list a:focus-visible { padding-left: 12px; }
  .artist-note img { min-height: 380px; border-right: 0; border-bottom: 1px solid var(--ink); }
  .file-photo { min-height: 520px; border-right: 0; border-bottom: 1px solid var(--ink); }
  .archive-grid { grid-template-columns: 1fr; }
  .project-lede { grid-row: 3; }
  .project-text { grid-template-columns: 1fr; }
  .project-side-note { grid-column: 1; }
}
@media (max-width: 680px) {
  body { font-size: 15px; }
  .site-header { min-height: auto; flex-wrap: wrap; padding-top: 10px; padding-bottom: 10px; }
  .brand { font-size: 17px; }
  .nav { order: 3; width: 100%; justify-content: stretch; gap: 4px; }
  .nav a { display: grid; flex: 1; min-height: 32px; place-items: center; padding: 6px 4px; font-size: 9px; }
  .lang-toggle { min-height: 34px; padding: 5px 9px; }
  .cover { min-height: auto; }
  .cover-copy { min-height: 570px; padding-top: 28px; }
  .cover h1 { font-size: clamp(70px, 24vw, 120px); }
  .cover-image { min-height: 92vw; }
  .cover-stamp { width: 68px; top: 14px; right: 14px; font-size: 9px; }
  .section { padding-top: 58px; padding-bottom: 58px; }
  .section-head { display: block; }
  .section-intro { margin-top: 18px; }
  .featured-grid { grid-template-columns: 1fr; }
  .story-card, .story-card:first-child { min-height: 410px; }
  .field-list a { grid-template-columns: 44px 1fr 22px; gap: 12px; min-height: 92px; }
  .field-list strong { font-size: 23px; }
  .artist-note h2 { font-size: 46px; }
  .archive-intro { padding-bottom: 34px; }
  .archive-card { grid-template-columns: .86fr 1.14fr; min-height: 260px; }
  .archive-card-copy { padding: 12px; }
  .archive-card h2 { font-size: 29px; }
  .file-copy { padding: 26px 18px; }
  .file-data > div, .timeline-list li { grid-template-columns: 80px 1fr; gap: 12px; }
  .project-hero { gap: 24px; padding-bottom: 34px; }
  .project-meta { grid-template-columns: 1fr; }
  .project-meta > div:nth-child(even) { padding-left: 0; border-left: 0; }
  .project-meta > div:nth-child(odd) { padding-right: 0; }
  .project-lede { font-size: 17px; }
  .gallery-strip figure { width: auto; height: min(110vw, 500px); aspect-ratio: var(--image-ratio, 1.25); }
  .gallery-strip figure.is-ultra-wide { width: 92vw; height: auto; aspect-ratio: auto; }
  .project-text { margin-top: 68px; }
  .detail-nav { grid-template-columns: 1fr; }
  .detail-nav a:last-child { text-align: left; }
  .lightbox { padding: 16px; }
  .lightbox-nav { width: 38px; height: 38px; }
  .lightbox-prev { left: 8px; }
  .lightbox-next { right: 8px; }
}
