/* ─── Page rhythm ─────────────────────────────────────────── */
body { margin: 0; background: var(--page); color: var(--ink); font-family: var(--serif); }
:root { --reading-narrow: 580px; }
.section { padding-block: clamp(72px, 9vw, 132px); }
/* ─── Page header ─────────────────────────────────────────── */
.page-head {
    padding-block: clamp(96px, 13vw, 168px) clamp(56px, 7vw, 96px);
    border-bottom: 0.5px solid var(--rule);
  }
.page-head .container { display: grid; gap: clamp(32px, 4vw, 56px); }
.page-head .ph-eyebrow {
    font-family: var(--sans);
    font-size: 12px;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: var(--meta);
    display: flex; align-items: center; gap: 14px;
    margin: 0;
  }
.page-head .ph-eyebrow::before {
    content: ""; display: inline-block; width: 40px; height: 0.5px; background: var(--rule);
  }
.page-head h1 {
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(56px, 8.5vw, 120px);
    line-height: 0.96;
    letter-spacing: -0.02em;
    color: var(--ink);
    margin: 0;
    max-width: 16ch;
    text-wrap: balance;
  }
.page-head h1 em { font-style: italic; color: var(--forest-deep); }
.page-head .ph-dek {
    font-family: var(--serif);
    font-size: clamp(20px, 1.8vw, 24px);
    line-height: 1.5;
    color: var(--ink);
    max-width: 60ch;
    margin: 0;
  }
/* ─── Opening prose ───────────────────────────────────────── */
.opening .opening-body { max-width: 720px; }
.opening p {
    font-family: var(--serif);
    font-size: 22px;
    line-height: 1.7;
    color: var(--ink);
    margin: 0;
  }
.opening p + p { margin-top: 1.2em; }
.opening em { font-style: italic; }
/* ─── Gatherings timeline ─────────────────────────────────── */
.gathering {
    border-top: 0.5px solid var(--rule);
    padding-block: clamp(40px, 5vw, 64px);
  }
.gathering:last-of-type { border-bottom: 0.5px solid var(--rule); }
.gathering-grid {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) clamp(280px, 32%, 380px);
    gap: clamp(24px, 4vw, 56px);
    align-items: start;
  }
.gathering-figure {
    margin: 0;
    grid-column: 3;
    grid-row: 1;
  }
.gathering-figure img {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
  }
.gathering-figure figcaption {
    font-family: var(--sans);
    font-size: 12px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--meta);
    margin-top: 10px;
    display: flex; justify-content: space-between; gap: 14px;
  }
.gathering-figure figcaption .credit { color: rgba(111,117,103,0.7); font-style: italic; text-transform: none; letter-spacing: 0.04em; }
.gathering-meta {
    display: grid;
    gap: 4px;
    grid-column: 1;
    grid-row: 1;
  }
.gathering-body {
    max-width: 60ch;
    grid-column: 2;
    grid-row: 1;
  }
.gathering-year {
    font-family: var(--serif);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(40px, 4vw, 52px);
    line-height: 1;
    color: var(--forest-deep);
  }
.gathering-city {
    font-family: var(--sans);
    font-size: 12px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--meta);
    margin-top: 6px;
  }
.gathering-num {
    font-family: var(--sans);
    font-size: 12px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--meta);
    margin-top: 2px;
  }
.gathering-headline {
    font-family: var(--serif);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(28px, 3.2vw, 38px);
    line-height: 1.12;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 0 0 var(--sp-3) 0;
    max-width: 24ch;
  }
.gathering-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    font-family: var(--sans);
    font-size: 13px;
    letter-spacing: 0.04em;
    color: var(--meta);
    margin: 0 0 var(--sp-3) 0;
  }
.gathering-stats span { display: inline-flex; align-items: center; gap: 14px; }
.gathering-stats span + span::before {
    content: "·";
    color: var(--rule);
    margin-right: 14px;
  }
.gathering-lede {
    font-family: var(--serif);
    font-size: 21px;
    line-height: 1.6;
    color: var(--ink);
    margin: 0 0 var(--sp-3) 0; font-weight: 500; }
.gathering-names {
    font-family: var(--serif);
    font-style: italic;
    font-size: 17px;
    line-height: 1.55;
    color: var(--meta);
    margin: 0 0 var(--sp-3) 0;
  }
a.gathering-link {
    margin-top: var(--sp-3);
    display: inline-flex;
    align-items: center;
    gap: 12px;
    width: fit-content;
    font-family: var(--sans);
    font-size: 12px;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    color: var(--forest-deep);
    text-decoration: none;
    padding: 4px 0;
    border-bottom: 0.5px solid var(--forest-deep);
    transition: color 180ms ease, border-color 180ms ease;
  }
a.gathering-link:hover { color: var(--ink); border-color: var(--ink); }
a.gathering-link .ico {
    display: inline-flex; align-items: center; justify-content: center;
    width: 16px; height: 16px;
    border: 0.5px solid var(--forest-deep);
    border-radius: 50%;
    font-size: 11px;
    transition: transform 240ms ease, background 240ms ease, color 240ms ease, border-color 240ms ease;
  }
a.gathering-link:hover .ico { background: var(--forest); color: #fff; border-color: var(--forest); transform: translateX(2px); }
@media (max-width: 880px) { .gathering-grid { grid-template-columns: 180px 1fr; } .gathering-figure { grid-column: 1 / -1; grid-row: 1; margin-bottom: var(--sp-3); } .gathering-meta { grid-row: 2; grid-column: 1; } .gathering-body { grid-row: 2; grid-column: 2; } }
@media (max-width: 720px) { .gathering-grid { grid-template-columns: 1fr; gap: var(--sp-3); } .gathering-figure, .gathering-meta, .gathering-body { grid-column: 1; } .gathering-figure { grid-row: 1; } .gathering-meta { grid-row: 2; } .gathering-body { grid-row: 3; } }
/* ─── Pull quote ──────────────────────────────────────────── */
.pullquote {
    padding-block: clamp(64px, 9vw, 112px);
    border-bottom: 0.5px solid var(--rule);
    background: var(--paper);
    border-top: 0.5px solid var(--rule);
  }
.pullquote blockquote {
    font-family: var(--serif);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(32px, 4.6vw, 54px);
    line-height: 1.12;
    letter-spacing: -0.01em;
    color: var(--ink);
    max-width: 22ch;
    margin: 0 auto;
    text-align: center;
    text-wrap: balance;
  }
.pullquote cite {
    display: block;
    font-family: var(--sans);
    font-style: normal;
    font-size: 12px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--meta);
    margin-top: var(--sp-4);
    text-align: center;
  }
/* ─── Platforms ───────────────────────────────────────────── */
.platforms-head { display: grid; gap: var(--sp-4); max-width: 720px; margin-bottom: clamp(40px, 5vw, 64px); }
.platforms-h2 {
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(36px, 4.6vw, 60px);
    line-height: 1.08;
    letter-spacing: -0.015em;
    color: var(--ink);
    margin: 0;
    max-width: 18ch;
  }
.platforms-h2 em { font-style: italic; color: var(--forest-deep); }
.platforms-lede {
    font-family: var(--serif);
    font-size: 22px;
    line-height: 1.6;
    color: var(--ink);
    max-width: 56ch;
    margin: 0; font-weight: 500; }
.platforms-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    border-top: 0.5px solid var(--rule);
  }
.platform {
    padding: clamp(32px, 4vw, 56px) 0;
  }
.platform + .platform {
    padding-left: clamp(32px, 4vw, 56px);
    border-left: 0.5px solid var(--rule);
  }
.platform:first-child {
    padding-right: clamp(32px, 4vw, 56px);
  }
.platform-mark {
    font-family: var(--sans);
    font-size: 12px;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: var(--meta);
    margin: 0 0 var(--sp-3) 0;
    display: flex; align-items: center; gap: 14px;
  }
.platform-title {
    font-family: var(--serif);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(28px, 3.4vw, 40px);
    line-height: 1.1;
    letter-spacing: -0.01em;
    color: var(--ink);
    margin: 0 0 var(--sp-3) 0;
  }
.platform-meta {
    font-family: var(--sans);
    font-size: 13px;
    letter-spacing: 0.04em;
    color: var(--meta);
    margin: 0 0 var(--sp-4) 0;
  }
.platform-body {
    font-family: var(--serif);
    font-size: 20px;
    line-height: 1.6;
    color: var(--ink);
    margin: 0 0 var(--sp-3) 0; font-weight: 500; }
.platform-body em { font-style: italic; color: var(--forest-deep); }
.platform-contributors {
    font-family: var(--serif);
    font-style: italic;
    font-size: 16px;
    line-height: 1.55;
    color: var(--meta);
    margin: 0 0 var(--sp-4) 0;
  }
.platform-link {
    font-family: var(--sans);
    font-size: 12px;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    color: var(--forest-deep);
    text-decoration: none;
    border-bottom: 0.5px solid var(--forest-deep);
    padding-bottom: 2px;
  }
.platform-link:hover { color: var(--ink); border-color: var(--ink); }
@media (max-width: 760px) { .platforms-grid { grid-template-columns: 1fr; } .platform + .platform { border-left: 0; border-top: 0.5px solid var(--rule); padding-left: 0; padding-top: clamp(32px, 4vw, 56px); } .platform:first-child { padding-right: 0; } }
/* ─── Cohere+ section ─────────────────────────────────────── */
.cohere {
    background: var(--forest);
    color: #fff;
    padding-block: clamp(80px, 10vw, 132px);
    border-top: 0.5px solid var(--rule);
    border-bottom: 0.5px solid var(--rule);
  }
.cohere .ledger .em-caps { color: rgba(255,255,255,0.7); }
.cohere .ledger hr { border-top: 0.5px solid rgba(255,255,255,0.25); }
.cohere-head { display: grid; gap: var(--sp-4); max-width: 820px; margin-bottom: clamp(40px, 5vw, 64px); }
.cohere-h2 {
    font-family: var(--serif);
    font-weight: 400;
    font-size: clamp(36px, 4.6vw, 60px);
    line-height: 1.08;
    letter-spacing: -0.015em;
    color: #fff;
    margin: 0;
    max-width: 22ch;
  }
.cohere-h2 em { font-style: italic; color: rgba(255,255,255,0.78); }
.cohere-lede {
    font-family: var(--serif);
    font-size: 22px;
    line-height: 1.6;
    color: rgba(255,255,255,0.92);
    max-width: 60ch;
    margin: 0;
  }
.cohere-body { display: grid; gap: 1.2em; max-width: 64ch; }
.cohere-body p {
    font-family: var(--serif);
    font-size: 21px;
    line-height: 1.65;
    color: rgba(255,255,255,0.92);
    margin: 0; font-weight: 500; }
.cohere-readon { display: inline-flex; align-items: center; gap: 12px; margin-top: clamp(32px, 4vw, 48px); font-family: var(--sans); font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: #fff; text-decoration: none; border: 0.5px solid rgba(255,255,255,0.4); padding: 14px 22px; border-radius: 2px; transition: background 180ms ease, border-color 180ms ease; }
.cohere-readon:hover { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.7); }
/* ─── Closing turn ────────────────────────────────────────── */
.turn {
    padding-block: clamp(112px, 14vw, 192px);
    text-align: center;
  }
.turn blockquote {
    font-family: var(--serif);
    font-weight: 400;
    font-style: italic;
    font-size: clamp(28px, 4vw, 44px);
    line-height: 1.18;
    letter-spacing: -0.005em;
    color: var(--ink);
    max-width: 26ch;
    margin: var(--sp-5) auto;
    text-wrap: balance;
  }
.turn-prose {
    font-family: var(--serif);
    font-size: 22px;
    line-height: 1.6;
    color: var(--ink);
    max-width: 56ch;
    margin: 0 auto var(--sp-5) auto;
    text-wrap: pretty; font-weight: 500; }
.turn-link {
    display: inline-flex;
    align-items: center; gap: 12px;
    font-family: var(--sans);
    font-size: 13px;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    color: var(--forest-deep);
    text-decoration: none;
    border-bottom: 0.5px solid var(--forest-deep);
    padding-bottom: 4px;
  }
/* ─── What was revealed ───────────────────────────────────── */
.revealed .revealed-head { max-width: 60ch; margin-bottom: var(--sp-5); }
.revealed .revealed-h2 { font-family: var(--serif); font-weight: 400; font-size: clamp(36px, 5vw, 60px); line-height: 1.05; letter-spacing: -0.005em; margin: 0 0 var(--sp-3); color: var(--ink); text-wrap: balance; }
.revealed .revealed-h2 em { font-style: italic; color: var(--forest-deep); }
.revealed .revealed-lede { font-family: var(--serif); font-size: 21px; line-height: 1.55; color: var(--ink); max-width: 58ch; margin: 0; font-weight: 500; }
.revealed .revealed-lede + .revealed-lede { margin-top: var(--sp-3); }
.revealed .revealed-transition { font-family: var(--serif); font-style: italic; font-size: clamp(20px, 2vw, 24px); line-height: 1.4; color: var(--forest-deep); margin: var(--sp-4) 0 0; max-width: 50ch; }
.revealed .revealed-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 0.5px solid var(--rule); margin-top: var(--sp-3); }
.revealed .reveal-item { padding: var(--sp-4) var(--sp-4) var(--sp-5) 0; border-top: 0.5px solid var(--rule); display: flex; flex-direction: column; gap: var(--sp-3); }
.revealed .reveal-item:nth-child(even) { padding-left: var(--sp-5); padding-right: 0; border-left: 0.5px solid var(--rule); }
.revealed .reveal-num { font-family: var(--serif); font-style: italic; font-size: 34px; line-height: 1; color: var(--forest-deep); }
.revealed .reveal-item h4 { font-family: var(--serif); font-weight: 400; font-size: 23px; line-height: 1.2; color: var(--ink); margin: 0; text-wrap: pretty; }
.revealed .reveal-item p { font-family: var(--serif); font-size: 18.5px; line-height: 1.58; color: var(--ink); margin: 0; font-weight: 500; }
.revealed .reveal-item em { font-style: italic; color: var(--forest-deep); }
.revealed .revealed-coda { margin-top: var(--sp-5); padding-top: var(--sp-4); border-top: 0.5px solid var(--rule); max-width: 64ch; }
.revealed .revealed-coda-note { font-family: var(--serif); font-size: 21px; line-height: 1.58; color: var(--ink); margin: 0 0 var(--sp-3); font-weight: 500; }
.revealed .revealed-coda-note em { font-style: italic; color: var(--forest-deep); }
.revealed .revealed-coda p { font-family: var(--serif); font-style: italic; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.3; color: var(--ink); margin: 0; text-wrap: balance; }
@media (max-width: 820px) { .revealed .revealed-list { grid-template-columns: 1fr; } .revealed .reveal-item { padding-left: 0 !important; padding-right: 0 !important; border-left: 0 !important; } }
#em-root .egs1{color:inherit;border-bottom:0.5px solid currentColor;text-decoration:none;}
#em-root .egs2{color:inherit;border-bottom:0.5px solid currentColor;text-decoration:none;}
#em-root .egs3{color:inherit;text-decoration:none;}
#em-root .egs4{color:inherit;border-bottom:0.5px solid currentColor;text-decoration:none;}
