/* Hallmark · genre: editorial · macrostructure: Release Ledger · theme: Linen · enrichment: owner-supplied Paris photography · nav: N9 · footer: Ft6
 * pre-emit critique: P5 H5 E5 S5 R5 V5
 * contrast: pass · slop: pass · honest: pass · chrome: pass · tokens: pass · responsive: pass · icons: pass · mobile: pass
 */
@import url("/tokens.css");

:root {
  --paper: var(--color-paper);
  --ink: var(--color-ink);
  --ink-soft: var(--color-ink-soft);
  --gold: var(--color-accent-text);
  --line: var(--color-line);
}

* { box-sizing: border-box; }
html, body { margin: 0; overflow-x: clip; background: var(--paper); color: var(--ink); }
html { scroll-behavior: smooth; }
body { font-family: var(--font-body); font-size: var(--text-base); line-height: 1.7; }
a { color: inherit; }
a:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }

.skip-link {
  position: fixed; inset-block-start: var(--space-sm); inset-inline-start: var(--space-sm); z-index: 5;
  transform: translateY(-180%); display: inline-flex; align-items: center; min-height: 44px;
  padding: var(--space-xs) var(--space-sm); background: var(--ink); color: var(--paper);
}
.skip-link:focus { transform: none; }

.release-header, .release-footer { padding-inline: clamp(var(--space-sm), 5vw, var(--space-3xl)); }
.release-header {
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg);
  min-height: 104px; border-bottom: var(--rule-hairline) solid var(--line);
}
.wordmark {
  min-width: 0; overflow-wrap: anywhere; font: 500 clamp(1.55rem, 3vw, 2.7rem) / 1 var(--font-display);
  letter-spacing: -0.075em; text-decoration: none; white-space: nowrap;
}
.wordmark i { color: var(--gold); font-weight: 500; }
.wordmark small {
  display: block; margin-block-start: var(--space-xs); color: var(--gold);
  font: 500 var(--text-xs) var(--font-mono); letter-spacing: 0.18em;
}
.release-header nav, .release-footer nav { display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-lg); }
.release-header nav a, .release-footer nav a, .text-link, .letter-link {
  display: inline-flex; align-items: center; min-height: 44px; border-bottom: var(--rule-hairline) solid transparent;
  text-decoration: none; white-space: nowrap;
  transition: border-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out);
}
.release-header nav a, .release-footer nav a { font-size: var(--text-sm); font-weight: 600; }
.release-header nav a:hover, .release-header nav a:active, .release-footer nav a:hover,
.release-footer nav a:active, .text-link:hover, .text-link:active, .letter-link:hover, .letter-link:active {
  border-color: var(--gold); color: var(--gold);
}
.release-header nav a[aria-disabled="true"], .release-footer nav a[aria-disabled="true"],
.text-link[aria-disabled="true"], .letter-link[aria-disabled="true"] {
  pointer-events: none; cursor: not-allowed; opacity: 0.55;
}

main { width: min(100%, 1320px); margin-inline: auto; padding-inline: clamp(var(--space-sm), 5vw, var(--space-3xl)); }
h1, h2, h3 {
  min-width: 0; margin: 0; overflow-wrap: anywhere; font-family: var(--font-display);
  font-weight: 500; letter-spacing: -0.05em; line-height: 1;
}
h1 { max-width: 11ch; font-size: var(--text-display-s); }
h2 { font-size: clamp(var(--text-2xl), 6vw, 5.8rem); }
h3 { font-size: clamp(var(--text-xl), 3.5vw, 3.2rem); }
em { color: var(--gold); font-weight: inherit; }
.folio, .status { margin: 0; font: 500 var(--text-xs) var(--font-mono); letter-spacing: 0.16em; }
.folio { color: var(--gold); }

.release-hero {
  display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(20rem, 0.92fr);
  gap: clamp(var(--space-xl), 8vw, var(--space-4xl)); align-items: center;
  min-height: 760px; padding-block: var(--space-3xl) var(--space-4xl); border-bottom: var(--rule-hairline) solid var(--ink);
}
.release-hero__copy { display: grid; gap: var(--space-lg); align-content: center; }
.release-lede { max-width: 58ch; margin: 0; color: var(--ink-soft); }
.text-link, .letter-link {
  justify-self: start; gap: var(--space-xs); border-bottom-color: var(--gold);
  font-family: var(--font-display); font-size: var(--text-md);
}
.release-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-lg); align-items: center; }
.release-actions button.text-link {
  appearance: none; margin: 0; padding: 0; border: 0; border-bottom: var(--rule-hairline) solid var(--gold);
  background: transparent; color: inherit; cursor: pointer;
}
.release-share-status { min-height: 1.5em; margin: calc(var(--space-sm) * -1) 0 0; color: var(--ink-soft); font-size: var(--text-sm); }
.paris-reference { margin: 0; }
.paris-reference img { display: block; width: 100%; height: auto; max-height: 680px; object-fit: cover; object-position: center; }
.paris-reference figcaption { max-width: 48ch; margin-block-start: var(--space-sm); color: var(--ink-soft); font-size: var(--text-sm); }

.paris-note, .publication-boundary {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: clamp(var(--space-xl), 8vw, var(--space-4xl)); padding-block: var(--space-4xl);
  border-bottom: var(--rule-hairline) solid var(--ink);
}
.paris-note > div, .publication-boundary > div:last-child { display: grid; gap: var(--space-lg); justify-items: start; }
.paris-note p:not(.folio), .publication-boundary p { max-width: 58ch; margin: 0; color: var(--ink-soft); }

.release-ledger { padding-block: var(--space-4xl); border-bottom: var(--rule-hairline) solid var(--ink); scroll-margin-block-start: var(--space-lg); }
.release-ledger > header {
  display: grid; grid-template-columns: minmax(0, 1fr);
  gap: var(--space-lg) clamp(var(--space-xl), 8vw, var(--space-4xl)); align-items: end; padding-block-end: var(--space-3xl);
}
.release-ledger > header p:last-child { max-width: 48ch; margin: 0; color: var(--ink-soft); }
.release-ledger ol { margin: 0; padding: 0; border-top: var(--rule-hairline) solid var(--ink); list-style: none; }
.release-ledger li {
  display: grid; grid-template-columns: minmax(4rem, 0.28fr) minmax(0, 1.72fr); gap: var(--space-lg);
  padding-block: clamp(var(--space-xl), 6vw, var(--space-3xl)); border-bottom: var(--rule-hairline) solid var(--line);
}
.release-ledger li:last-child { border-bottom: 0; }
.release-ledger li > span { color: var(--ink-soft); font-family: var(--font-mono); font-size: var(--text-sm); }
.release-ledger li > div {
  display: grid; grid-template-columns: minmax(0, 0.7fr) minmax(15rem, 1.3fr);
  gap: var(--space-sm) clamp(var(--space-lg), 7vw, var(--space-4xl)); align-items: start;
}
.release-ledger .status { grid-column: 1 / -1; color: var(--ink-soft); }
.release-ledger .is-recorded .status { color: var(--color-success); }
.release-ledger li p:last-child { margin: 0; color: var(--ink-soft); }

.publication-boundary a { text-decoration-color: var(--gold); text-underline-offset: 0.2em; }
.release-letter { width: min(100%, 54rem); margin-inline: auto; padding-block: var(--space-4xl); text-align: center; }
.release-letter h2 { margin-block-start: var(--space-md); }
.release-letter > p:not(.folio) { max-width: 54ch; margin: var(--space-lg) auto; color: var(--ink-soft); }
.release-letter .letter-link { justify-self: auto; }
.release-letter small { display: block; margin-block-start: var(--space-sm); color: var(--ink-soft); }

.release-footer {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-xl); align-items: end;
  padding-block: var(--space-3xl); border-top: var(--rule-hairline) solid var(--ink);
}
.release-footer p, .release-footer > small { margin: 0; color: var(--ink-soft); }
.release-footer nav, .release-footer > small { justify-self: end; }

@media (max-width: 820px) {
  .release-header { align-items: flex-start; min-height: 0; padding-block: var(--space-md); }
  .release-header nav { justify-content: flex-end; }
  .release-hero, .paris-note, .publication-boundary, .release-ledger > header { grid-template-columns: minmax(0, 1fr); }
  .release-hero { min-height: 0; }
  .paris-reference { width: min(100%, 34rem); }
  .release-ledger li > div { grid-template-columns: minmax(0, 1fr); }
  .release-ledger .status { grid-column: auto; }
}

@media (max-width: 560px) {
  .release-header { display: grid; }
  .release-header nav { justify-content: flex-start; }
  .release-header nav a, .release-footer nav a { min-height: 40px; }
  .wordmark { white-space: normal; }
  .release-hero, .paris-note, .release-ledger, .publication-boundary, .release-letter { padding-block: var(--space-3xl); }
  .release-ledger li { grid-template-columns: minmax(0, 1fr); }
  .release-footer { grid-template-columns: minmax(0, 1fr); }
  .release-footer nav, .release-footer > small { justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
