:root {
  --ink: #111313;
  --paper: #e8e5dc;
  --muted: #a4a39d;
  --gold: #c9b78f;
  --line: rgba(232, 229, 220, .28);
  --pad: clamp(24px, 4.4vw, 76px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--paper);
  background: var(--ink);
  font-family: "Noto Serif JP", serif;
  font-weight: 300;
}
.cover-page .concept-section,.cover-page .collection-preview,.cover-page .process-section,.cover-page .about-section{display:none!important}
.cover-page .hero{min-height:100svh}
.chapter-page{background:#e8e5de;color:#222423}
.chapter-page.chapter-dark{background:#171918;color:#e8e5dc}
.chapter-wordmark{position:fixed;z-index:1000;top:30px;left:var(--pad);color:inherit;text-decoration:none;font:10px/1.15 Arial,sans-serif;letter-spacing:.18em}
.chapter-content{min-height:100svh;padding-top:150px!important}
.chapter-content h1{margin:0;font-weight:300}
.concept-heading h1{font-size:clamp(3.6rem,7vw,8rem);line-height:1.35;letter-spacing:.08em}
.concept-name span{display:block;margin-top:18px;font:italic 300 clamp(1.8rem,3vw,3.5rem)/1 "Cormorant Garamond",serif;color:#887654;letter-spacing:.04em}
.concept-name p{margin:46px 0 0;font-size:clamp(1.35rem,2vw,2.2rem);line-height:1.75;letter-spacing:.09em}
.process-heading h1{font-size:clamp(4rem,8vw,9rem);line-height:1.05;font-weight:300}
.about-heading h1{font-size:clamp(4rem,9vw,10rem);line-height:1.05;font-weight:300}
.chapter-next{display:flex;align-items:center;justify-content:space-between;min-height:140px;margin-top:120px;padding:0 36px;color:inherit;text-decoration:none;border:1px solid rgba(100,100,95,.28)}
.chapter-next small{display:block;margin-bottom:9px;font:9px/1 Arial,sans-serif;letter-spacing:.22em;color:#878780}
.chapter-next span{font:400 clamp(1.5rem,3vw,3rem)/1.2 var(--serif)}
.chapter-next i{font:2rem/1 var(--serif);font-style:normal}
@media(max-width:760px){.chapter-content{padding-top:110px!important}.chapter-wordmark{top:23px}.chapter-next{min-height:110px;margin-top:80px;padding:0 20px}}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 20;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(0,0,0,.08), transparent 15%, transparent 85%, rgba(0,0,0,.12));
}

.grain {
  position: fixed;
  inset: -50%;
  z-index: 19;
  pointer-events: none;
  opacity: .035;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
  animation: grain .35s steps(2) infinite;
}

.site-header {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 60;
  height: 112px;
  padding: 30px var(--pad);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: start;
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: .22em;
}

.wordmark { color: inherit; text-decoration: none; line-height: 1.35; }
.wordmark span { display: block; }
.edition { text-align: center; color: var(--muted); line-height: 1.7; }
.menu {
  position: relative;
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 116px;
  padding: 13px 17px;
  color: #111313;
  border: 1px solid rgba(17,19,19,.18);
  background: rgba(238,234,224,.94);
  font: inherit;
  letter-spacing: inherit;
  cursor: pointer;
  box-shadow: 0 8px 28px rgba(0,0,0,.14);
  animation: menuFloat 3.2s ease-in-out infinite;
  transition: background .3s ease, transform .3s ease;
}
.menu:hover { background:#c9b78f; transform:translateY(-2px); }
.menu span::before { content:""; display:inline-block; width:5px; height:5px; margin:0 9px 1px 0; border-radius:50%; background:#a1844b; animation:menuPulse 1.8s ease-in-out infinite; }
.menu i { width: 26px; height: 1px; background: currentColor; transition: transform .4s ease; }
.menu:hover i { transform: scaleX(.55); transform-origin: right; }

.menu::after {
  content: "";
  position: absolute;
  right: 0;
  width: 26px;
  height: 1px;
  background: currentColor;
  transform: translateY(0) rotate(0);
  opacity: 0;
  transition: transform .45s ease, opacity .3s ease;
}
.menu[aria-expanded="true"] i { transform: rotate(45deg); }
.menu[aria-expanded="true"]::after { opacity: 1; transform: rotate(-45deg); }
.menu[aria-expanded="true"] { animation:none; background:#c9b78f; }

body.menu-open { overflow: hidden; }
.menu-overlay {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(260px, .62fr) minmax(420px, 1.1fr) minmax(300px, .8fr);
  grid-template-rows: 1fr auto;
  gap: clamp(35px, 6vw, 100px);
  padding: clamp(135px, 15vh, 180px) var(--pad) 40px;
  overflow: auto;
  visibility: hidden;
  opacity: 0;
  color: #e8e5dc;
  background:
    radial-gradient(circle at 78% 28%, rgba(109,98,71,.18), transparent 30%),
    #111313;
  transform: translateY(-18px);
  transition: visibility 0s linear .65s, opacity .55s ease, transform .65s cubic-bezier(.22,.8,.2,1);
}
.menu-overlay.is-open {
  visibility: visible;
  opacity: 1;
  transform: none;
  transition-delay: 0s;
}
.menu-watermark {
  position: absolute;
  left: 2%;
  bottom: 5%;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(7rem, 19vw, 20rem);
  line-height: .7;
  color: rgba(232,229,220,.025);
  pointer-events: none;
}
.menu-intro {
  position: relative;
  padding-top: 12px;
}
.menu-intro p {
  margin: 0 0 22px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.8rem, 2.8vw, 3.2rem);
  letter-spacing: .04em;
}
.menu-intro span {
  font-family: Arial, sans-serif;
  font-size: .7rem;
  line-height: 1.8;
  letter-spacing: .2em;
  color: #777a75;
}
.menu-primary {
  position: relative;
  border-top: 1px solid rgba(232,229,220,.2);
}
.menu-primary a {
  display: grid;
  grid-template-columns: 42px 1fr auto;
  align-items: baseline;
  min-height: 90px;
  padding: 20px 0;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(232,229,220,.14);
  transition: padding .35s ease, color .35s ease;
}
.menu-primary a:hover,
.menu-primary a:focus-visible { padding-left: 14px; color: #d0ba89; }
.menu-primary a > span {
  font-family: "Cormorant Garamond", serif;
  font-size: 1rem;
  font-style: italic;
  color: #74746e;
}
.menu-primary strong { font-size: clamp(1.35rem, 2vw, 2.1rem); font-weight: 300; letter-spacing: .1em; }
.menu-primary small {
  font-family: Arial, sans-serif;
  font-size: .65rem;
  letter-spacing: .18em;
  color: #767975;
}
.menu-works {
  position: relative;
  padding-top: 7px;
}
.menu-works > p {
  margin: 0 0 25px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(232,229,220,.2);
  font-family: Arial, sans-serif;
  font-size: .7rem;
  letter-spacing: .2em;
  color: #9d8b68;
}
.menu-works a {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  gap: 8px;
  padding: 11px 0;
  color: rgba(232,229,220,.76);
  text-decoration: none;
  font-size: .9rem;
  letter-spacing: .1em;
  transition: color .25s ease, transform .25s ease;
}
.menu-works a:hover,
.menu-works a:focus-visible { color: #d0ba89; transform: translateX(6px); }
.menu-works a span { font-family: "Cormorant Garamond", serif; color: #746f65; }
.menu-works a small { font-family: Arial, sans-serif; font-size: .6rem; letter-spacing: .13em; color: #6f726e; }
.menu-foot {
  position: relative;
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  padding-top: 25px;
  border-top: 1px solid rgba(232,229,220,.15);
  font-family: Arial, sans-serif;
  font-size: .62rem;
  letter-spacing: .2em;
  color: #5f625f;
}

.hero {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 48%, rgba(79, 84, 79, .2), transparent 30%),
    var(--ink);
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: linear-gradient(90deg, var(--ink) 0%, rgba(17,19,19,.93) 22%, transparent 52%);
}

.hero-copy {
  position: absolute;
  left: var(--pad);
  top: 50%;
  z-index: 5;
  width: min(59vw, 870px);
  transform: translateY(-45%);
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0 0 28px;
  font-family: Arial, sans-serif;
  font-size: 10px;
  letter-spacing: .32em;
  color: var(--gold);
}
.eyebrow::before { content: ""; width: 38px; height: 1px; background: var(--gold); }

h1 { margin: 0; font-weight: 300; }
h1 .jp {
  display: block;
  font-size: clamp(4rem, 9.2vw, 9rem);
  line-height: .96;
  letter-spacing: .12em;
  white-space: nowrap;
}
h1 .en {
  display: block;
  margin-top: 17px;
  padding-left: 5px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.15rem, 4.2vw, 4.5rem);
  line-height: 1;
  letter-spacing: .02em;
}
h1 em { color: var(--gold); font-weight: 300; }

.concept {
  margin: 44px 0 0 7px;
  font-size: clamp(.95rem, 1.15vw, 1.12rem);
  line-height: 2.15;
  letter-spacing: .18em;
  color: rgba(232,229,220,.76);
}

.hero-art {
  position: absolute;
  inset: 0 0 0 auto;
  width: 58vw;
  height: 100%;
  margin: 0;
  z-index: 2;
}
.image-frame { width: 100%; height: 100%; overflow: hidden; }
.hero-art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% 42%;
  filter: saturate(.72) contrast(1.02) brightness(.9);
  transform: scale(1.04);
  animation: revealImage 1.8s cubic-bezier(.22,.8,.2,1) both;
}
.hero-art figcaption {
  position: absolute;
  right: var(--pad);
  bottom: 44px;
  z-index: 4;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  font-family: Arial, sans-serif;
  font-size: 10px;
  line-height: 1.65;
  letter-spacing: .18em;
  text-align: right;
}
.hero-art figcaption span:first-child { color: var(--gold); }

.collection-count {
  position: absolute;
  z-index: 5;
  right: var(--pad);
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: .15em;
}
.collection-count i { width: 1px; height: 70px; background: var(--line); }
.collection-count span:last-child { color: rgba(232,229,220,.5); }

.scroll-cue {
  position: absolute;
  z-index: 5;
  left: var(--pad);
  bottom: 42px;
  display: flex;
  align-items: center;
  gap: 18px;
  color: var(--muted);
  text-decoration: none;
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: .24em;
}
.scroll-cue i { display: block; width: 68px; height: 1px; background: var(--line); position: relative; overflow: hidden; }
.scroll-cue i::after { content: ""; position: absolute; inset: 0; background: var(--gold); transform: translateX(-100%); animation: lineTravel 2.5s ease-in-out infinite; }

.concept-section {
  position: relative;
  min-height: 100svh;
  padding: clamp(110px, 14vw, 210px) var(--pad) clamp(80px, 10vw, 150px);
  overflow: hidden;
  background: #e2dfd7;
  color: #202221;
}

.concept-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: var(--pad);
  right: var(--pad);
  height: 1px;
  background: rgba(32,34,33,.22);
}

.concept-index {
  position: absolute;
  top: clamp(70px, 8vw, 115px);
  right: var(--pad);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(7rem, 19vw, 20rem);
  font-weight: 300;
  line-height: .7;
  color: rgba(32,34,33,.045);
  user-select: none;
}

.concept-heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(180px, .62fr) 1.7fr;
  gap: clamp(32px, 6vw, 110px);
  align-items: start;
}

.section-label {
  margin: 14px 0 0;
  font-family: Arial, sans-serif;
  font-size: 11px;
  letter-spacing: .27em;
  color: #746b59;
}

.section-label::before {
  content: "02";
  display: inline-block;
  margin-right: 20px;
  color: #202221;
}

.concept-heading h2 {
  margin: 0;
  font-size: clamp(2.9rem, 6.5vw, 7rem);
  font-weight: 300;
  line-height: 1.35;
  letter-spacing: .08em;
}

.concept-body {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(180px, .62fr) 1.7fr;
  gap: clamp(32px, 6vw, 110px);
  margin-top: clamp(90px, 12vw, 165px);
}

.concept-body .lead {
  margin: 0;
  font-size: clamp(1rem, 1.25vw, 1.18rem);
  line-height: 2.2;
  letter-spacing: .08em;
}

.body-copy {
  max-width: 760px;
  columns: 2;
  column-gap: clamp(38px, 5vw, 80px);
  font-size: 1rem;
  line-height: 2.2;
  letter-spacing: .06em;
  color: #494a46;
}
.body-copy p { margin: 0; break-inside: avoid; }

.concept-poster {
  position:relative;
  z-index:1;
  margin:clamp(100px,13vw,180px) calc(var(--pad) * -1) 0;
  overflow:hidden;
  background:transparent;
}
.concept-poster img {
  display:block;
  width:100%;
  height:auto;
}
.concept-poster figcaption {
  display:flex;
  justify-content:space-between;
  padding:14px var(--pad) 0;
  color:#777872;
  font-family:Arial,sans-serif;
  font-size:.65rem;
  letter-spacing:.2em;
}
.concept-poster figcaption small { font:inherit; }

.motif-line {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  margin-top: clamp(100px, 13vw, 180px);
  border-top: 1px solid rgba(32,34,33,.27);
  border-bottom: 1px solid rgba(32,34,33,.27);
}

.motif-line > div {
  min-height: 122px;
  padding: 20px 18px;
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: start;
  border-right: 1px solid rgba(32,34,33,.18);
}
.motif-line > div:first-child { padding-left: 0; }
.motif-line > div:last-child { border-right: 0; }
.motif-line span {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.05rem;
  color: #8a7955;
}
.motif-line p { margin: 0; font-size: .96rem; letter-spacing: .12em; }
.motif-line small {
  display: block;
  margin-top: 12px;
  font-family: Arial, sans-serif;
  font-size: 9px;
  letter-spacing: .17em;
  color: #777872;
}

.concept-signature {
  margin: 45px 0 0;
  text-align: right;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.5rem, 2.7vw, 2.8rem);
  font-style: italic;
  color: #777062;
}
.concept-motifs{position:relative;background:#e4e1d8;color:#161817;border-top:1px solid rgba(22,24,23,.2);scroll-margin-top:0}
.concept-motifs .collection-intro h2{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(2.1rem,4.5vw,5rem);
}
.concept-motifs .collection-closing p{
  font-size:clamp(1rem,2.2vw,2.5rem);
}

/* TOP is an entrance to the collection. Full work narratives live on detail pages. */
.radiolaria-section,
.slime-work,
.diatom-work,
.foram-section,
.cocco-section,
.pollen-section {
  display: none;
}

.collection-preview {
  position: relative;
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(420px, 1.28fr);
  padding: 150px var(--pad) 160px;
  gap: 90px 7vw;
  overflow: hidden;
  background: #121414;
  color: #ece9df;
}

.collection-preview::before {
  content: "COLLECTION";
  position: absolute;
  top: 48px;
  right: -1.5vw;
  color: rgba(236, 233, 223, .035);
  font: 400 clamp(5rem, 14vw, 13rem)/.8 var(--serif);
  letter-spacing: -.03em;
  pointer-events: none;
}

.collection-preview__intro {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  align-items: end;
  gap: 0 8vw;
  padding-bottom: 14px;
}
.collection-preview__label {
  grid-column: 1 / -1;
  margin: 0 0 54px;
  color: #9b9b94;
  font-size: 11px;
  letter-spacing: .22em;
}
.collection-preview__label span { margin-right: 18px; color: #c9b78f; }
.collection-preview__intro h2 {
  margin: 0;
  font: 400 clamp(4.7rem, 8.6vw, 9.5rem)/1.02 var(--serif);
  letter-spacing: -.025em;
}
.collection-preview__lead {
  max-width: 34em;
  margin: 0 0 8px;
  color: #aaa9a2;
  font-size: 15px;
  line-height: 2.15;
}

.collection-preview__feature { display: block; color: inherit; text-decoration: none; }
.collection-preview__feature figure { position: relative; margin: 0; overflow: hidden; }
.collection-preview__feature figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(8, 9, 9, .72), transparent 40%);
  pointer-events: none;
}
.collection-preview__feature img {
  display: block;
  width: 100%;
  height: min(74vw, 900px);
  max-height: 82vh;
  object-fit: cover;
  object-position: center 35%;
  filter: saturate(.78);
  transition: transform 1.2s cubic-bezier(.2,.7,.2,1), filter .8s ease;
}
.collection-preview__feature:hover img { transform: scale(1.025); filter: saturate(1); }
.collection-preview__feature figcaption {
  position: absolute;
  z-index: 1;
  right: 34px;
  bottom: 30px;
  left: 34px;
  display: flex;
  align-items: end;
  justify-content: space-between;
}
.collection-preview__feature figcaption span { font-size: 10px; letter-spacing: .2em; color: #c9c5bb; }
.collection-preview__feature figcaption strong { font: 400 1.35rem/1.2 var(--serif); }
.collection-preview__feature figcaption i { margin-left: 12px; color: #b9a57c; font-size: .74em; font-weight: 400; }

.collection-preview__works { grid-column: 1 / -1; border-top: 1px solid rgba(236,233,223,.18); }
.collection-preview__works a {
  display: grid;
  grid-template-columns: 70px minmax(150px, .8fr) 1fr 30px;
  align-items: center;
  min-height: 88px;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(236,233,223,.13);
  transition: padding .35s ease, color .35s ease;
}
.collection-preview__works a:hover { padding-left: 12px; color: #c9b78f; }
.collection-preview__works span, .collection-preview__works small { color: #858680; font-size: 10px; letter-spacing: .2em; }
.collection-preview__works strong { font: 400 1.5rem/1 var(--serif); }
.collection-preview__works i { justify-self: end; font-style: normal; }

.collection-preview__gallery {
  position: relative;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-template-rows: repeat(25, 7vh);
  gap: 12px;
  margin-top: 10px;
}
.collection-preview__gallery::before {
  content: "THE UNSEEN";
  position: absolute;
  top: 48%;
  right: -1vw;
  color: rgba(236,233,223,.052);
  font: 400 clamp(5rem, 13vw, 13rem)/.8 var(--serif);
  letter-spacing: -.06em;
  white-space: nowrap;
  pointer-events: none;
}
.collection-piece { position: relative; display: block; min-width: 0; color: inherit; text-decoration: none; }
.collection-piece::before {
  content: attr(data-word);
  position: absolute;
  z-index: 3;
  top: -24px;
  left: 0;
  color: #8f908a;
  font: 400 10px/1 var(--sans);
  letter-spacing: .24em;
  white-space: nowrap;
  pointer-events: none;
}
.collection-piece::after {
  content: attr(data-kanji);
  position: absolute;
  z-index: 4;
  color: #f0ece1;
  font-family: var(--serif);
  font-weight: 400;
  line-height: .82;
  letter-spacing: .03em;
  white-space: nowrap;
  text-shadow: 0 5px 32px rgba(0,0,0,.22);
  pointer-events: none;
}
.collection-piece--1 { grid-column: 1 / 9; grid-row: 1 / 12; }
.collection-piece--2 { grid-column: 10 / 13; grid-row: 5 / 9; }
.collection-piece--3 { grid-column: 8 / 12; grid-row: 12 / 16; }
.collection-piece--4 { grid-column: 1 / 6; grid-row: 17 / 23; }
.collection-piece--5 { grid-column: 10 / 13; grid-row: 17 / 21; }
.collection-piece--6 { grid-column: 6 / 12; grid-row: 22 / 26; }
.collection-piece--1::after { right: -.035em; bottom: -.04em; font-size: clamp(6rem, 11vw, 11.5rem); mix-blend-mode: difference; }
.collection-piece--2::after { bottom: -.06em; left: -.08em; color: #eee9dc; font-size: clamp(2.7rem, 4.5vw, 4.7rem); }
.collection-piece--3::after { right: -.04em; bottom: -.06em; font-size: clamp(3rem, 5vw, 5.2rem); mix-blend-mode: difference; }
.collection-piece--4::after { bottom: -.04em; left: -.055em; font-size: clamp(5rem, 8.8vw, 9.2rem); mix-blend-mode: difference; }
.collection-piece--5::after { right: -.08em; bottom: -.06em; color: #eee9dc; font-size: clamp(2.6rem, 4.2vw, 4.4rem); }
.collection-piece--6::after { right: -.025em; bottom: -.04em; font-size: clamp(5.8rem, 10.5vw, 10.5rem); mix-blend-mode: difference; }
.collection-piece figure { position: relative; width: 100%; height: 100%; margin: 0; overflow: hidden; background: #242626; }
.collection-piece figure::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(0deg, rgba(5,6,6,.78), transparent);
  pointer-events: none;
}
.collection-piece img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 34%;
  filter: saturate(.76);
  transition: transform 1.1s cubic-bezier(.2,.7,.2,1), filter .7s ease;
}
.collection-piece--1 figure { background: #292724; }
.collection-piece--1 img {
  object-fit: contain;
  object-position: center;
  filter: none;
}
.collection-piece--1:hover img { transform: none; filter: none; }
.collection-piece:hover img { transform: scale(1.035); filter: saturate(1); }
.collection-piece figcaption {
  position: absolute;
  z-index: 5;
  right: 22px;
  bottom: 20px;
  left: 22px;
  display: grid;
  grid-template-columns: 30px 1fr auto;
  align-items: end;
  gap: 12px;
}
.collection-piece figcaption span,
.collection-piece figcaption small { color: #c0bdb4; font-size: 9px; letter-spacing: .17em; }
.collection-piece figcaption strong { display: none; }
.collection-piece figcaption { display: block; }
.collection-piece figcaption small { display: none; }
.collection-piece--2 figcaption,
.collection-piece--5 figcaption { grid-template-columns: 24px 1fr; }
.collection-piece--2 figcaption small,
.collection-piece--5 figcaption small { display: none; }

.gallery-note { position: relative; z-index: 1; color: #a8a69f; font-size: 9px; line-height: 1.8; letter-spacing: .2em; }
.gallery-note--opening {
  grid-column: 10 / 13;
  grid-row: 1 / 4;
  display: grid;
  grid-template-columns: auto 1fr;
  align-content: start;
  gap: 20px;
  padding-top: 8px;
}
.gallery-note--opening i { grid-column: 1 / -1; width: 100%; height: 1px; margin: 7px 0 2px; background: rgba(236,233,223,.25); }
.gallery-note--opening small { grid-column: 2; color: #6f716d; font-size: 8px; letter-spacing: .18em; }
.gallery-statement {
  grid-column: 2 / 7;
  grid-row: 12 / 16;
  align-self: center;
  margin: 0;
  font: 400 clamp(2.4rem, 4.5vw, 4.8rem)/1.38 var(--serif);
  letter-spacing: .02em;
}
.gallery-statement::before { content: "03.5 / MANIFESTO"; display: block; margin-bottom: 30px; color: #8e8d87; font: 400 9px/1 var(--sans); letter-spacing: .22em; }
.gallery-statement small { display: block; margin-top: 27px; color: #888983; font: 400 8px/1.5 var(--sans); letter-spacing: .25em; }
.gallery-note--closing {
  grid-column: 7 / 10;
  grid-row: 17 / 20;
  display: flex;
  align-items: flex-start;
  gap: 18px;
  padding-top: 4px;
  border-top: 1px solid rgba(236,233,223,.22);
}
.gallery-note--closing b { color: #c9b78f; font: 400 clamp(5rem, 9vw, 9rem)/.72 var(--serif); letter-spacing: -.06em; }
.gallery-note--closing span { padding-top: 8px; }

.collection-preview__cta {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 148px;
  margin-top: 8px;
  padding: 0 42px;
  color: #191b1a;
  background: #e4e0d5;
  text-decoration: none;
  transition: background .35s ease;
}
.collection-preview__cta:hover { background: #cdbd99; }
.collection-preview__cta span { font: 400 clamp(1.7rem, 3vw, 3rem)/1.2 var(--serif); }
.collection-preview__cta small { display: block; margin-bottom: 10px; font: 400 9px/1 var(--sans); letter-spacing: .22em; color: #72736f; }
.collection-preview__cta > i { font: 400 2.5rem/1 var(--serif); }

.radiolaria-section {
  position: relative;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(470px, 1.16fr) minmax(300px, .86fr);
  overflow: hidden;
  background: #e8e5de;
  color: #272827;
}
.radiolaria-heading {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  padding: clamp(115px, 13vw, 185px) 28px 75px var(--pad);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.radiolaria-heading > p:first-child {
  margin: 0 0 52px;
  font-family: Arial, sans-serif;
  font-size: .75rem;
  letter-spacing: .23em;
  color: #8c7653;
}
.radiolaria-heading h2 {
  margin: 0;
  font-size: clamp(3.5rem, 6.3vw, 7.4rem);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: .12em;
}
.radiolaria-heading > span {
  margin-top: 20px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.9rem, 2.8vw, 3.2rem);
  font-style: italic;
  color: #8a7d68;
}
.radiolaria-subtitle {
  margin: auto 0 0 !important;
  font-size: .98rem !important;
  line-height: 2;
  letter-spacing: .16em !important;
  color: #6c6b66 !important;
}
.radiolaria-visual {
  position: relative;
  min-height: 100svh;
  margin: 0;
  overflow: hidden;
}
.radiolaria-visual::before,
.radiolaria-visual::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  width: 17%;
  pointer-events: none;
}
.radiolaria-visual::before { left: 0; background: linear-gradient(90deg, #e8e5de, transparent); }
.radiolaria-visual::after { right: 0; background: linear-gradient(270deg, #e8e5de, transparent); }
.radiolaria-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
  filter: saturate(.67) contrast(1.01) brightness(1.02);
  transition: transform 1.8s cubic-bezier(.22,.8,.2,1);
}
.radiolaria-visual.is-visible img { transform: scale(1.025); }
.radiolaria-visual figcaption {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 34px;
  transform: translateX(-50%);
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .2em;
  white-space: nowrap;
  color: rgba(239,235,226,.78);
}
.radiolaria-copy {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  padding: clamp(135px, 15vw, 220px) var(--pad) 78px clamp(35px, 4vw, 68px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid rgba(39,40,39,.14);
}
.radiolaria-index {
  position: absolute;
  top: 7%;
  right: 7%;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(11rem, 19vw, 20rem);
  font-style: italic;
  line-height: .8;
  color: rgba(92,96,92,.045);
}
.radiolaria-copy > p {
  position: relative;
  margin: 0;
  max-width: 470px;
  font-size: 1rem;
  line-height: 2.15;
  letter-spacing: .055em;
  color: #5b5d59;
}
.radiolaria-copy > p + p { margin-top: 28px; }
.radiolaria-copy dl {
  position: relative;
  margin: clamp(58px, 7vw, 92px) 0 0;
  border-top: 1px solid rgba(39,40,39,.2);
}
.radiolaria-copy dl div {
  display: grid;
  grid-template-columns: 110px 1fr;
  padding: 14px 0;
  border-bottom: 1px solid rgba(39,40,39,.12);
}
.radiolaria-copy dt {
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .16em;
  color: #8a8982;
}
.radiolaria-copy dd { margin: 0; font-size: .84rem; letter-spacing: .05em; }
.radiolaria-progress {
  display: flex;
  align-items: center;
  align-self: flex-end;
  gap: 12px;
  margin-top: 50px;
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .15em;
}
.radiolaria-progress i { width: 58px; height: 1px; background: rgba(39,40,39,.25); }
.radiolaria-progress span:last-child { color: #999991; }

.work-section {
  position: relative;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(420px, 1.12fr) minmax(420px, .88fr);
  overflow: hidden;
  background: #111313;
  color: var(--paper);
}

.work-visual {
  position: relative;
  min-height: 100svh;
  margin: 0;
  overflow: hidden;
  background: #171716;
}

.work-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 72%, #111313 100%);
  pointer-events: none;
}

.work-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 46%;
  filter: saturate(.82) contrast(1.03);
  transition: transform 1.6s cubic-bezier(.22,.8,.2,1);
}
.work-visual.is-visible img { transform: scale(1.025); }

.work-visual figcaption {
  position: absolute;
  z-index: 2;
  left: var(--pad);
  bottom: 34px;
  font-family: Arial, sans-serif;
  font-size: .75rem;
  letter-spacing: .22em;
  color: rgba(232,229,220,.62);
}

.work-content {
  position: relative;
  display: flex;
  min-height: 100svh;
  padding: clamp(100px, 10vw, 150px) var(--pad) 55px clamp(50px, 6vw, 105px);
  flex-direction: column;
  justify-content: center;
}

.work-content::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  background: var(--line);
}

.work-number {
  position: absolute;
  top: 5%;
  right: 5%;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(12rem, 26vw, 25rem);
  font-style: italic;
  font-weight: 300;
  line-height: .8;
  color: rgba(201,183,143,.045);
  pointer-events: none;
}

.work-kicker {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: 0 0 clamp(35px, 5vw, 68px);
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
  font-family: Arial, sans-serif;
  font-size: .75rem;
  letter-spacing: .23em;
  color: var(--gold);
}

.work-content h2 {
  position: relative;
  margin: 0;
  font-size: clamp(5rem, 10vw, 9.8rem);
  font-weight: 300;
  line-height: .92;
  letter-spacing: .16em;
}

.work-subtitle {
  position: relative;
  margin: 28px 0 0 5px;
  font-size: clamp(1.05rem, 1.45vw, 1.4rem);
  letter-spacing: .2em;
  color: #bca86f;
}

.work-description {
  position: relative;
  max-width: 600px;
  margin-top: clamp(52px, 6vw, 82px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 3.2vw, 54px);
  font-size: 1rem;
  line-height: 2.05;
  letter-spacing: .055em;
  color: rgba(232,229,220,.7);
}
.work-description p { margin: 0; }

.work-data {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: clamp(58px, 7vw, 92px) 0 0;
  border-top: 1px solid var(--line);
}
.work-data div { padding: 17px 14px 0 0; }
.work-data dt {
  margin-bottom: 10px;
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .18em;
  color: #777974;
}
.work-data dd { margin: 0; font-size: .84rem; letter-spacing: .06em; }

.work-footer {
  position: absolute;
  right: var(--pad);
  bottom: 34px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .15em;
}
.work-footer i { width: 58px; height: 1px; background: var(--line); }
.work-footer span:last-child { color: #747672; }

.diatom-work {
  background: #d7d8d4;
  color: #202322;
}

.diatom-work .work-content {
  padding-right: clamp(50px, 6vw, 105px);
  padding-left: var(--pad);
}

.diatom-work .work-content::before {
  right: 0;
  left: auto;
  background: rgba(32,35,34,.2);
}

.diatom-work .work-visual::after {
  background: linear-gradient(270deg, transparent 74%, #d7d8d4 100%);
}

.diatom-work .work-visual img {
  filter: saturate(.58) contrast(1.02) brightness(.98);
}

.diatom-work .work-number { color: rgba(35,91,97,.055); }
.diatom-work .work-kicker {
  color: #55777b;
  border-color: rgba(32,35,34,.23);
}
.diatom-work .work-subtitle { color: #56777b; }
.diatom-work .work-description { color: rgba(32,35,34,.7); }
.diatom-work .work-data { border-color: rgba(32,35,34,.23); }
.diatom-work .work-data dt { color: #747a77; }
.diatom-work .work-footer i { background: rgba(32,35,34,.25); }
.diatom-work .work-footer span:last-child { color: #858986; }
.diatom-work .work-visual figcaption {
  right: var(--pad);
  left: auto;
  color: rgba(232,229,220,.68);
}

.foram-section {
  position: relative;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(480px, 1.16fr) minmax(300px, .86fr);
  background: #27231e;
  color: #e6dfd2;
  overflow: hidden;
}

.foram-title-block {
  position: relative;
  z-index: 2;
  padding: clamp(110px, 12vw, 175px) 25px 70px var(--pad);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.foram-kicker {
  margin: 0 0 48px;
  font-family: Arial, sans-serif;
  font-size: .75rem;
  letter-spacing: .25em;
  color: #a98a60;
}

.foram-title-block h2 {
  margin: 0;
  font-size: clamp(3.6rem, 6.1vw, 7.4rem);
  font-weight: 300;
  line-height: 1.08;
  letter-spacing: .12em;
  writing-mode: vertical-rl;
}

.foram-en {
  margin: 38px 0 0 4px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.8rem, 2.6vw, 3rem);
  font-style: italic;
  color: #b49a78;
}

.foram-subtitle {
  margin: auto 0 0;
  font-size: .95rem;
  line-height: 2;
  letter-spacing: .15em;
  color: rgba(230,223,210,.63);
}

.foram-visual {
  position: relative;
  min-height: 100svh;
  margin: 0;
  overflow: hidden;
}

.foram-visual::before,
.foram-visual::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  width: 20%;
  pointer-events: none;
}
.foram-visual::before { left: 0; background: linear-gradient(90deg, #27231e, transparent); }
.foram-visual::after { right: 0; background: linear-gradient(270deg, #27231e, transparent); }
.foram-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 44%;
  filter: saturate(.7) contrast(1.02) brightness(.84);
  transition: transform 1.6s cubic-bezier(.22,.8,.2,1);
}
.foram-visual.is-visible img { transform: scale(1.025); }
.foram-visual figcaption {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 32px;
  transform: translateX(-50%);
  display: flex;
  gap: 18px;
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .2em;
  white-space: nowrap;
}
.foram-visual figcaption span:first-child { color: #c3a673; }

.foram-copy {
  position: relative;
  z-index: 2;
  padding: clamp(120px, 13vw, 190px) var(--pad) 76px clamp(35px, 4vw, 70px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid rgba(230,223,210,.12);
}

.foram-mark {
  position: absolute;
  top: 5%;
  right: 3%;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(9rem, 17vw, 18rem);
  font-style: italic;
  line-height: 1;
  color: rgba(195,166,115,.045);
}

.foram-copy > p {
  position: relative;
  max-width: 470px;
  margin: 0;
  font-size: 1rem;
  line-height: 2.15;
  letter-spacing: .055em;
  color: rgba(230,223,210,.72);
}
.foram-copy > p + p { margin-top: 28px; }

.foram-data {
  position: relative;
  margin: clamp(60px, 8vw, 100px) 0 0;
  border-top: 1px solid rgba(230,223,210,.2);
}
.foram-data div {
  display: grid;
  grid-template-columns: 110px 1fr;
  padding: 14px 0;
  border-bottom: 1px solid rgba(230,223,210,.12);
}
.foram-data dt {
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .17em;
  color: #81796e;
}
.foram-data dd { margin: 0; font-size: .84rem; letter-spacing: .06em; }
.foram-progress {
  display: flex;
  align-items: center;
  align-self: flex-end;
  gap: 12px;
  margin-top: 55px;
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .15em;
}
.foram-progress i { width: 58px; height: 1px; background: rgba(230,223,210,.22); }
.foram-progress span:last-child { color: #777168; }

.cocco-section {
  position: relative;
  min-height: 100svh;
  overflow: hidden;
  background: #18212b;
  color: #f0ece2;
}

.cocco-image {
  position: absolute;
  inset: 0;
}
.cocco-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12,22,32,.52), transparent 55%);
  pointer-events: none;
}
.cocco-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 69% 44%;
  filter: saturate(.65) contrast(1.04) brightness(.9);
  transition: transform 1.8s cubic-bezier(.22,.8,.2,1);
}
.cocco-image.is-visible img { transform: scale(1.025); }

.cocco-panel {
  position: relative;
  z-index: 2;
  width: min(47vw, 760px);
  min-height: 100svh;
  padding: clamp(95px, 10vw, 145px) clamp(45px, 6vw, 100px) 70px var(--pad);
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  background: rgba(12,24,35,.86);
  backdrop-filter: blur(12px);
  border-right: 1px solid rgba(240,236,226,.18);
}

.cocco-index {
  position: absolute;
  top: 4%;
  right: -2%;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(10rem, 21vw, 22rem);
  font-style: italic;
  line-height: .85;
  color: rgba(196,214,212,.04);
}

.cocco-kicker {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: 0 0 clamp(40px, 5vw, 70px);
  padding-bottom: 17px;
  border-bottom: 1px solid rgba(240,236,226,.22);
  font-family: Arial, sans-serif;
  font-size: .75rem;
  letter-spacing: .2em;
  color: #b9d0ce;
}

.cocco-panel h2 {
  position: relative;
  margin: 0;
  font-size: clamp(4.5rem, 8vw, 8.2rem);
  font-weight: 300;
  line-height: .95;
  letter-spacing: .13em;
}
.cocco-en {
  position: relative;
  margin: 12px 0 0 4px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.7rem, 2.4vw, 2.7rem);
  font-style: italic;
  color: #9bb2b3;
}
.cocco-subtitle {
  position: relative;
  margin: 35px 0 0 5px;
  font-size: 1.05rem;
  letter-spacing: .18em;
  color: #d1c49e;
}

.cocco-description {
  position: relative;
  margin-top: clamp(50px, 6vw, 78px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 3vw, 48px);
  font-size: 1rem;
  line-height: 2.05;
  letter-spacing: .05em;
  color: rgba(240,236,226,.72);
}
.cocco-description p { margin: 0; }

.cocco-data {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: clamp(55px, 7vw, 86px) 0 0;
  border-top: 1px solid rgba(240,236,226,.2);
}
.cocco-data div { padding: 17px 12px 0 0; }
.cocco-data dt {
  margin-bottom: 9px;
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .15em;
  color: #778990;
}
.cocco-data dd { margin: 0; font-size: .82rem; letter-spacing: .05em; }
.cocco-progress {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 48px;
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .15em;
}
.cocco-progress i { width: 58px; height: 1px; background: rgba(240,236,226,.24); }
.cocco-progress span:last-child { color: #738088; }
.cocco-caption {
  position: absolute;
  z-index: 2;
  right: var(--pad);
  bottom: 34px;
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .2em;
  color: rgba(240,236,226,.7);
}

.pollen-section {
  position: relative;
  min-height: 118svh;
  display: grid;
  grid-template-columns: minmax(270px, .72fr) minmax(480px, 1.2fr) minmax(310px, .86fr);
  padding-bottom: 130px;
  overflow: hidden;
  background:
    radial-gradient(circle at 52% 38%, rgba(132,91,31,.25), transparent 34%),
    #17130d;
  color: #e7dfcf;
}

.pollen-word {
  position: absolute;
  z-index: 0;
  top: 7%;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(7rem, 18vw, 20rem);
  letter-spacing: .13em;
  line-height: .8;
  color: rgba(221,177,92,.035);
  white-space: nowrap;
}

.pollen-heading {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  padding: clamp(120px, 14vw, 200px) 28px 85px var(--pad);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pollen-heading > p:first-child {
  margin: 0 0 55px;
  font-family: Arial, sans-serif;
  font-size: .75rem;
  letter-spacing: .24em;
  color: #c89b4e;
}
.pollen-heading h2 {
  margin: 0;
  font-size: clamp(4.6rem, 7.7vw, 9rem);
  font-weight: 300;
  line-height: .95;
  letter-spacing: .15em;
}
.pollen-heading > span {
  margin-top: 18px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.1rem, 3.2vw, 3.8rem);
  font-style: italic;
  color: #c89b4e;
}
.pollen-subtitle {
  margin: auto 0 0 !important;
  font-size: .98rem !important;
  line-height: 2;
  letter-spacing: .16em !important;
  color: rgba(231,223,207,.66) !important;
}

.pollen-visual {
  position: relative;
  z-index: 1;
  min-height: 100svh;
  margin: 0;
  overflow: hidden;
}
.pollen-visual::before,
.pollen-visual::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  width: 16%;
  pointer-events: none;
}
.pollen-visual::before { left: 0; background: linear-gradient(90deg, #17130d, transparent); }
.pollen-visual::after { right: 0; background: linear-gradient(270deg, #17130d, transparent); }
.pollen-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 45%;
  filter: saturate(.72) contrast(1.02) brightness(.86);
  transition: transform 1.8s cubic-bezier(.22,.8,.2,1);
}
.pollen-visual.is-visible img { transform: scale(1.025); }
.pollen-visual figcaption {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 35px;
  transform: translateX(-50%);
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .2em;
  white-space: nowrap;
}

.pollen-copy {
  position: relative;
  z-index: 2;
  min-height: 100svh;
  padding: clamp(135px, 15vw, 220px) var(--pad) 85px clamp(36px, 4vw, 70px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid rgba(231,223,207,.12);
}
.pollen-index {
  position: absolute;
  top: 7%;
  right: 6%;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(10rem, 19vw, 19rem);
  font-style: italic;
  line-height: .8;
  color: rgba(200,155,78,.05);
}
.pollen-copy > p {
  position: relative;
  margin: 0;
  max-width: 470px;
  font-size: 1rem;
  line-height: 2.15;
  letter-spacing: .055em;
  color: rgba(231,223,207,.72);
}
.pollen-copy > p + p { margin-top: 28px; }
.pollen-copy dl {
  position: relative;
  margin: clamp(58px, 7vw, 92px) 0 0;
  border-top: 1px solid rgba(231,223,207,.2);
}
.pollen-copy dl div {
  display: grid;
  grid-template-columns: 110px 1fr;
  padding: 14px 0;
  border-bottom: 1px solid rgba(231,223,207,.11);
}
.pollen-copy dt {
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .16em;
  color: #817567;
}
.pollen-copy dd { margin: 0; font-size: .84rem; letter-spacing: .05em; }
.pollen-progress {
  display: flex;
  align-items: center;
  align-self: flex-end;
  gap: 12px;
  margin-top: 50px;
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .15em;
}
.pollen-progress i { width: 58px; height: 1px; background: rgba(231,223,207,.24); }
.pollen-progress span:last-child { color: #756d62; }

.collection-end {
  position: absolute;
  z-index: 3;
  left: var(--pad);
  right: var(--pad);
  bottom: 0;
  height: 130px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid rgba(231,223,207,.18);
}
.collection-end p {
  margin: 0;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(1.3rem, 2vw, 2.2rem);
  font-style: italic;
  color: #a99b83;
}
.collection-end p span {
  display: block;
  margin-bottom: 9px;
  font-family: Arial, sans-serif;
  font-size: .7rem;
  font-style: normal;
  letter-spacing: .22em;
  color: #71685c;
}
.collection-end a {
  display: flex;
  align-items: center;
  gap: 18px;
  color: #c8b792;
  text-decoration: none;
  font-family: Arial, sans-serif;
  font-size: .72rem;
  letter-spacing: .2em;
}
.collection-end a i { font-size: 1.2rem; font-style: normal; transition: transform .3s ease; }
.collection-end a:hover i { transform: translateY(-5px); }

.process-section {
  position: relative;
  min-height: 100svh;
  padding: clamp(120px, 14vw, 200px) var(--pad) clamp(90px, 10vw, 145px);
  overflow: hidden;
  background: #d9d5ca;
  color: #202220;
}

.process-orbit {
  position: absolute;
  top: -11vw;
  right: -5vw;
  width: clamp(330px, 46vw, 760px);
  aspect-ratio: 1;
  border: 1px solid rgba(39,45,42,.08);
  border-radius: 50%;
  pointer-events: none;
}
.process-orbit i {
  position: absolute;
  inset: 16%;
  border: 1px solid rgba(39,45,42,.065);
  border-radius: 50%;
}
.process-orbit i:nth-child(2) { inset: 32%; }
.process-orbit i:nth-child(3) { inset: 47%; background: rgba(86,112,105,.08); }

.process-heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(210px, .56fr) 1.44fr;
  gap: clamp(40px, 7vw, 120px);
  align-items: start;
}
.process-label {
  margin: 18px 0 0;
  font-family: Arial, sans-serif;
  font-size: .75rem;
  letter-spacing: .22em;
  color: #66736e;
}
.process-label span { margin-right: 20px; color: #202220; }
.process-heading h2 {
  margin: 0;
  font-size: clamp(3.5rem, 7vw, 7.8rem);
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: .08em;
}
.process-lead {
  grid-column: 2;
  margin: 25px 0 0;
  font-size: clamp(1rem, 1.35vw, 1.28rem);
  line-height: 2.05;
  letter-spacing: .12em;
  color: #5f625e;
}

.process-intro {
  position: relative;
  z-index: 1;
  width: min(620px, 48vw);
  margin: clamp(85px, 10vw, 140px) 0 0 auto;
  font-size: 1rem;
  line-height: 2.2;
  letter-spacing: .055em;
  color: #4b4f4c;
}
.process-intro p { margin: 0; }

.process-steps {
  position: relative;
  z-index: 1;
  margin: clamp(90px, 11vw, 155px) 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(32,34,32,.25);
}
.process-steps li {
  display: grid;
  grid-template-columns: 80px minmax(180px, .72fr) 1.3fr;
  gap: clamp(24px, 5vw, 90px);
  align-items: center;
  min-height: 126px;
  padding: 26px 0;
  border-bottom: 1px solid rgba(32,34,32,.18);
}
.process-steps li > span {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.55rem;
  font-style: italic;
  color: #7b8d86;
}
.process-steps small {
  display: block;
  margin-bottom: 7px;
  font-family: Arial, sans-serif;
  font-size: .7rem;
  letter-spacing: .22em;
  color: #858983;
}
.process-steps h3 { margin: 0; font-size: 1.35rem; font-weight: 300; letter-spacing: .14em; }
.process-steps p {
  max-width: 650px;
  margin: 0;
  font-size: .95rem;
  line-height: 1.9;
  letter-spacing: .05em;
  color: #5e615d;
}

.material-note {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  gap: 30px;
  margin-top: clamp(80px, 9vw, 125px);
  padding-top: 24px;
  border-top: 1px solid rgba(32,34,32,.25);
}
.material-note > p {
  margin: 0;
  font-family: Arial, sans-serif;
  font-size: .75rem;
  letter-spacing: .22em;
  color: #66736e;
}
.material-note span {
  display: block;
  margin-bottom: 9px;
  font-family: Arial, sans-serif;
  font-size: .7rem;
  letter-spacing: .16em;
  color: #838780;
}
.material-note strong { font-size: .88rem; font-weight: 300; letter-spacing: .04em; }

.about-section {
  position: relative;
  min-height: 100svh;
  padding: clamp(125px, 14vw, 205px) var(--pad) 0;
  overflow: hidden;
  background: #0d0f0f;
  color: #e9e5db;
}

.about-name {
  position: absolute;
  top: 3%;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(7rem, 18vw, 20rem);
  font-weight: 300;
  line-height: .8;
  letter-spacing: .02em;
  color: rgba(233,229,219,.028);
  white-space: nowrap;
  pointer-events: none;
}

.about-heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(220px, .62fr) 1.38fr;
  gap: clamp(35px, 6vw, 100px);
  align-items: start;
}
.about-heading > p {
  margin: 17px 0 0;
  font-family: Arial, sans-serif;
  font-size: .75rem;
  letter-spacing: .23em;
  color: #8f866f;
}
.about-heading > p span { margin-right: 20px; color: #d1c4a2; }
.about-heading h2 {
  margin: 0;
  font-size: clamp(4.2rem, 8.8vw, 10rem);
  font-weight: 300;
  line-height: .95;
  letter-spacing: .12em;
}
.about-heading > span {
  grid-column: 2;
  margin-top: -15px;
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(2.1rem, 3.5vw, 4rem);
  font-style: italic;
  color: #a99875;
}

.about-statement {
  position: relative;
  z-index: 1;
  margin: clamp(95px, 11vw, 160px) 0 0;
  padding-left: calc(38% + clamp(35px, 6vw, 100px));
}
.about-statement p {
  margin: 0;
  font-size: clamp(2rem, 4.2vw, 4.8rem);
  font-weight: 300;
  line-height: 1.55;
  letter-spacing: .08em;
}

.about-profile {
  position: relative;
  z-index: 1;
  width: min(720px, 56vw);
  margin: clamp(80px, 9vw, 125px) 0 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(35px, 5vw, 75px);
  font-size: 1rem;
  line-height: 2.15;
  letter-spacing: .055em;
  color: rgba(233,229,219,.68);
}
.about-profile p { margin: 0; }

.social-links {
  position: relative;
  z-index: 1;
  margin-top: clamp(100px, 12vw, 165px);
  border-top: 1px solid rgba(233,229,219,.2);
}
.social-links a {
  display: grid;
  grid-template-columns: 70px 1fr auto;
  gap: 20px;
  align-items: center;
  min-height: 112px;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(233,229,219,.14);
  transition: padding .35s ease, color .35s ease;
}
.social-links a:hover { padding: 0 16px; color: #d1b87f; }
.social-links > a > span {
  font-family: "Cormorant Garamond", serif;
  font-size: 1.35rem;
  font-style: italic;
  color: #817969;
}
.social-links small {
  display: block;
  margin-bottom: 8px;
  font-family: Arial, sans-serif;
  font-size: .7rem;
  letter-spacing: .2em;
  color: #777a74;
}
.social-links strong { font-size: 1.08rem; font-weight: 300; letter-spacing: .08em; }
.social-links i { font-size: 1.25rem; font-style: normal; transition: transform .35s ease; }
.social-links a:hover i { transform: translate(5px,-5px); }

.site-footer {
  position: relative;
  z-index: 1;
  min-height: 160px;
  margin-top: clamp(90px, 10vw, 140px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 30px;
  border-top: 1px solid rgba(233,229,219,.18);
  font-family: Arial, sans-serif;
  font-size: .68rem;
  letter-spacing: .18em;
  color: #6f716d;
}
.site-footer a { color: #b7ab91; text-decoration: none; }
.site-footer a i { margin-left: 12px; font-style: normal; }
.site-footer p { margin: 0; }
.site-footer p:last-child { text-align: right; }

.reveal {
  opacity: 0;
  transform: translateY(26px);
  transition: opacity 1s ease, transform 1s cubic-bezier(.22,.8,.2,1);
}
.reveal.is-visible { opacity: 1; transform: none; }

body:not(.loaded) .hero-copy > * { opacity: 0; transform: translateY(18px); }
body.loaded .hero-copy > * { animation: rise .9s ease both; }
body.loaded .hero-copy > *:nth-child(2) { animation-delay: .12s; }
body.loaded .hero-copy > *:nth-child(3) { animation-delay: .25s; }

@keyframes rise { to { opacity: 1; transform: none; } }
@keyframes revealImage { from { opacity: 0; transform: scale(1.12); } to { opacity: 1; transform: scale(1.04); } }
@keyframes lineTravel { 0%,15% { transform: translateX(-100%); } 65%,100% { transform: translateX(100%); } }
@keyframes grain { 0% { transform: translate(0,0); } 25% { transform: translate(2%, -1%); } 50% { transform: translate(-1%, 2%); } 75% { transform: translate(1%, 1%); } }

@media (max-width: 760px) {
  .site-header { height: 88px; padding-top: 22px; grid-template-columns: 1fr 1fr; }
  .edition { display: none; }
  .menu-overlay {
    display: block;
    padding-top: 110px;
  }
  .menu-intro { display: none; }
  .menu-primary a { min-height: 74px; grid-template-columns: 36px 1fr; }
  .menu-primary small { display: none; }
  .menu-works { margin-top: 42px; }
  .menu-works a { padding: 9px 0; }
  .menu-foot { margin-top: 42px; }
  .menu-foot span:last-child { display: none; }
  .hero { min-height: 100svh; }
  .hero::after { background: linear-gradient(0deg, var(--ink) 3%, rgba(17,19,19,.68) 42%, transparent 75%); }
  .hero-art { width: 100%; height: 72%; }
  .hero-art img { object-position: 52% 28%; }
  .hero-copy { top: auto; bottom: 112px; width: calc(100% - 2 * var(--pad)); transform: none; }
  .eyebrow { margin-bottom: 18px; font-size: 8px; }
  h1 .jp { font-size: clamp(3.3rem, 17vw, 5.5rem); letter-spacing: .07em; }
  h1 .en { margin-top: 10px; font-size: clamp(2rem, 10vw, 3.2rem); }
  .concept { display: none; }
  .collection-count { top: 38%; }
  .hero-art figcaption { bottom: 28px; display: none; }
  .scroll-cue { bottom: 30px; }
  .concept-section { padding-top: 105px; }
  .concept-heading, .concept-body { grid-template-columns: 1fr; gap: 42px; }
  .concept-heading h2 { font-size: clamp(2.7rem, 12vw, 4.5rem); line-height: 1.4; }
  .concept-body { margin-top: 80px; }
  .concept-body .lead br { display: none; }
  .body-copy { columns: 1; }
  .body-copy p + p { margin-top: 1.6em; }
  .motif-line { grid-template-columns: 1fr; margin-top: 90px; }
  .motif-line > div {
    min-height: auto;
    padding: 18px 0;
    grid-template-columns: 44px 1fr;
    border-right: 0;
    border-bottom: 1px solid rgba(32,34,33,.16);
  }
  .motif-line > div:last-child { border-bottom: 0; }
  .motif-line small { display: inline; margin: 0 0 0 15px; }
  .concept-signature { margin-top: 34px; text-align: left; }
  .collection-preview { grid-template-columns: 1fr; padding: 105px var(--pad) 110px; gap: 65px; }
  .collection-preview::before { top: 36px; font-size: 20vw; }
  .collection-preview__intro { display: block; padding-bottom: 0; }
  .collection-preview__label { margin-bottom: 38px; }
  .collection-preview__intro h2 { font-size: clamp(3rem, 14vw, 5rem); }
  .collection-preview__lead { margin-top: 38px; }
  .collection-preview__feature img { height: 72svh; max-height: none; }
  .collection-preview__feature figcaption { right: 20px; bottom: 20px; left: 20px; }
  .collection-preview__feature figcaption span { display: none; }
  .collection-preview__works { grid-column: 1; }
  .collection-preview__works a { grid-template-columns: 42px 1fr 28px; min-height: 76px; }
  .collection-preview__works small { display: none; }
  .collection-preview__gallery {
    grid-column: 1;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: repeat(29, 7svh);
    gap: 9px;
    margin-top: 0;
  }
  .collection-preview__gallery::before { display: none; }
  .collection-piece--1 { grid-column: 1 / 7; grid-row: 1 / 9; }
  .collection-piece--2 { grid-column: 1 / 4; grid-row: 11 / 15; }
  .collection-piece--3 { grid-column: 4 / 7; grid-row: 11 / 15; }
  .collection-piece--4 { grid-column: 2 / 7; grid-row: 18 / 23; }
  .collection-piece--5 { grid-column: 1 / 4; grid-row: 25 / 29; }
  .collection-piece--6 { grid-column: 4 / 7; grid-row: 25 / 30; }
  .gallery-note--opening { grid-column: 1 / 7; grid-row: 9 / 10; display: flex; align-items: center; gap: 12px; padding: 0; }
  .gallery-note--opening i { flex: 1; width: auto; margin: 0; }
  .gallery-note--opening small { display: none; }
  .gallery-statement { grid-column: 1 / 7; grid-row: 15 / 18; align-self: center; font-size: clamp(1.6rem, 7vw, 2.25rem); }
  .gallery-statement::before { margin-bottom: 18px; }
  .gallery-statement small { margin-top: 16px; font-size: 7px; }
  .gallery-note--closing { grid-column: 1 / 7; grid-row: 23 / 25; align-items: center; }
  .gallery-note--closing b { font-size: 3.6rem; }
  .collection-piece figcaption { right: 12px; bottom: 11px; left: 12px; }
  .collection-piece::before { top: -16px; right: auto; bottom: auto; left: 0; font-size: 7px; letter-spacing: .18em; }
  .collection-piece--1::after { right: -2px; bottom: -2px; font-size: 21vw; }
  .collection-piece--2::after,
  .collection-piece--3::after,
  .collection-piece--5::after { top: auto; right: -2px; bottom: -2px; left: auto; font-size: 12vw; }
  .collection-piece--4::after { bottom: -2px; left: -3px; font-size: 17vw; }
  .collection-piece--6::after { right: -2px; bottom: -2px; font-size: 19vw; }
  .collection-preview__cta { grid-column: 1; min-height: 122px; padding: 0 24px; }
  .collection-preview__cta span { font-size: 1.65rem; }
  .radiolaria-section { display: flex; flex-direction: column; }
  .radiolaria-heading { min-height: 50svh; padding: 95px var(--pad) 55px; }
  .radiolaria-heading h2 { font-size: clamp(4rem, 18vw, 6.2rem); }
  .radiolaria-subtitle { margin-top: 55px !important; }
  .radiolaria-visual { min-height: 78svh; height: 78svh; }
  .radiolaria-copy { min-height: auto; padding: 85px var(--pad) 80px; border-left: 0; }
  .work-section { display: block; }
  .work-visual { min-height: 76svh; height: 76svh; }
  .work-visual::after { background: linear-gradient(0deg, #111313 0%, transparent 22%); }
  .work-visual img { object-position: 50% 42%; }
  .work-content { min-height: auto; padding: 75px var(--pad) 105px; }
  .work-content::before { display: none; }
  .work-number { top: 35px; }
  .work-kicker { margin-bottom: 45px; }
  .work-content h2 { font-size: clamp(4.5rem, 22vw, 7rem); }
  .work-description { grid-template-columns: 1fr; margin-top: 55px; }
  .work-data { grid-template-columns: 1fr; }
  .work-data div { padding: 15px 0; border-bottom: 1px solid rgba(232,229,220,.13); }
  .work-data div:last-child { border-bottom: 0; }
  .work-footer { bottom: 45px; }
  .diatom-work { display: flex; flex-direction: column-reverse; }
  .diatom-work .work-content { padding: 75px var(--pad) 105px; }
  .diatom-work .work-visual::after { background: linear-gradient(0deg, #d7d8d4 0%, transparent 22%); }
  .diatom-work .work-visual figcaption { right: var(--pad); left: auto; }
  .foram-section { display: flex; flex-direction: column; }
  .foram-title-block { min-height: 52svh; padding: 95px var(--pad) 55px; }
  .foram-title-block h2 { writing-mode: horizontal-tb; font-size: clamp(4.2rem, 20vw, 6.5rem); }
  .foram-en { margin-top: 14px; }
  .foram-subtitle { margin-top: 55px; }
  .foram-visual { min-height: 78svh; height: 78svh; }
  .foram-visual::before { background: linear-gradient(90deg, #27231e, transparent 60%); }
  .foram-visual::after { background: linear-gradient(270deg, #27231e, transparent 60%); }
  .foram-copy { padding: 85px var(--pad) 75px; border-left: 0; }
  .foram-data { margin-top: 60px; }
  .foram-progress { margin-top: 45px; }
  .cocco-section { display: flex; flex-direction: column; }
  .cocco-image { position: relative; height: 78svh; flex: 0 0 78svh; }
  .cocco-image::after { background: linear-gradient(0deg, #0c1823 0%, transparent 25%); }
  .cocco-image img { object-position: 55% 38%; }
  .cocco-panel {
    width: 100%;
    min-height: auto;
    padding: 80px var(--pad) 105px;
    background: #0c1823;
    backdrop-filter: none;
    border-right: 0;
  }
  .cocco-panel h2 { font-size: clamp(4.2rem, 20vw, 6.5rem); }
  .cocco-description { grid-template-columns: 1fr; }
  .cocco-data { grid-template-columns: 1fr; }
  .cocco-data div { padding: 15px 0; border-bottom: 1px solid rgba(240,236,226,.12); }
  .cocco-data div:last-child { border-bottom: 0; }
  .cocco-caption { top: calc(78svh - 38px); bottom: auto; }
  .pollen-section { display: flex; flex-direction: column; padding-bottom: 160px; }
  .pollen-heading { min-height: 50svh; padding: 95px var(--pad) 55px; }
  .pollen-heading h2 { font-size: clamp(4.5rem, 21vw, 7rem); }
  .pollen-subtitle { margin-top: 55px !important; }
  .pollen-visual { min-height: 78svh; height: 78svh; }
  .pollen-visual::before { background: linear-gradient(90deg, #17130d, transparent 55%); }
  .pollen-visual::after { background: linear-gradient(270deg, #17130d, transparent 55%); }
  .pollen-copy { min-height: auto; padding: 85px var(--pad) 80px; border-left: 0; }
  .collection-end { height: 160px; align-items: flex-start; padding-top: 30px; }
  .collection-end p { max-width: 64%; }
  .collection-end a span { display: none; }
  .process-section { padding-top: 110px; }
  .process-heading { grid-template-columns: 1fr; gap: 45px; }
  .process-heading h2 { font-size: clamp(3.6rem, 16vw, 5.5rem); }
  .process-lead { grid-column: 1; margin-top: 0; }
  .process-intro { width: 100%; margin-top: 75px; }
  .process-steps { margin-top: 85px; }
  .process-steps li { grid-template-columns: 45px 1fr; gap: 20px; align-items: start; }
  .process-steps li > p { grid-column: 2; }
  .material-note { grid-template-columns: 1fr; gap: 28px; }
  .material-note > p { margin-bottom: 10px; }
  .about-section { padding-top: 110px; }
  .about-heading { grid-template-columns: 1fr; gap: 42px; }
  .about-heading h2 { font-size: clamp(4.1rem, 19vw, 6.8rem); }
  .about-heading > span { grid-column: 1; margin-top: -30px; }
  .about-statement { padding-left: 0; margin-top: 90px; }
  .about-statement p { font-size: clamp(2rem, 9vw, 3.2rem); }
  .about-profile { width: 100%; grid-template-columns: 1fr; margin-top: 75px; }
  .social-links { margin-top: 95px; }
  .social-links a { grid-template-columns: 40px 1fr auto; min-height: 100px; }
  .site-footer { min-height: 190px; grid-template-columns: 1fr auto; align-content: center; }
  .site-footer p:nth-child(2) { text-align: right; }
  .site-footer p:last-child { grid-column: 1 / -1; text-align: left; }
}

@keyframes menuFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(4px)} }
@keyframes menuPulse { 0%,100%{opacity:.35;box-shadow:0 0 0 0 rgba(161,132,75,.35)} 50%{opacity:1;box-shadow:0 0 0 5px rgba(161,132,75,0)} }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

/* Retired long-form work chapters are kept out of the TOP experience on every viewport. */
#radiolaria,
#slime-mold,
#diatom,
#foraminifera,
#coccolithophore,
#pollen { display: none !important; }

/* Readable text scale: labels and decorative typography remain intentionally small. */
.concept-body .lead,
.body-copy,
.intro-copy,
.process-intro,
.process-steps li > p,
.about-profile {
  font-size: clamp(1.06rem, 1.18vw, 1.18rem);
}
.material-note strong,
.social-links strong {
  font-size: clamp(1rem, 1.1vw, 1.12rem);
}
.about-heading h1 {
  font-size: clamp(3.4rem, 6.5vw, 7rem);
}
