:root {
  color-scheme: light dark;
  --paper: #f4f0e7;
  --paper-deep: #eae4d8;
  --ink: #192521;
  --muted: #65716b;
  --line: #d7d1c5;
  --green: #244c3b;
  --green-dark: #17392b;
  --acid: #d7f26b;
  --coral: #e8836d;
  --white: #fffdf8;
  --body-soft: #3e4c45;
  --hero-fill: #244c3b;
  --hero-ink: #fffdf8;
  --hero-label: #b6c4b9;
  --orbit-line: #778d7d;
  --input-border: #ccc4b6;
  --tag-border: #d3dbce;
  --warm-surface: #f7f3eb;
  --excerpt-ink: #273b31;
  --update-border: #dfd2aa;
  --update-surface: #fbf5df;
  --update-ink: #574e36;
  --notice-text: #77786c;
  --source-meta: #70766e;
  --lime-ink: #536536;
  --lime-text: #35432b;
  --event-surface: #eae6dc;
  --event-border: #d1ccbf;
  --response-border: #bac2b2;
  --response-surface: #f8f5ed;
  --card-border: #d2ccbf;
  --body-muted: #59665f;
  --letter-ink: #394840;
  --button-fill: #244c3b;
  --button-hover: #17392b;
  --sheet-shadow: #1925210d;
  --alert-surface: #7d3029;
  --alert-shadow: #1c251e55;
  --mono: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
  --sans: 'Avenir Next', Avenir, 'Segoe UI', sans-serif;
  --display: 'Avenir Next', Avenir, 'Segoe UI', sans-serif;
}


@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --paper: #101713;
    --paper-deep: #1a2420;
    --ink: #e6eee8;
    --muted: #a7b5ab;
    --line: #39453e;
    --green: #a8c9ad;
    --green-dark: #27503a;
    --acid: #d7f26b;
    --coral: #ff9b83;
    --white: #1c2621;
    --body-soft: #cfdbd2;
    --hero-fill: #244c3b;
    --hero-ink: #f5f7f2;
    --hero-label: #c1d0c4;
    --orbit-line: #708a76;
    --input-border: #526359;
    --tag-border: #526859;
    --warm-surface: #202c25;
    --excerpt-ink: #d6e4d7;
    --update-border: #766643;
    --update-surface: #332e20;
    --update-ink: #f0dda0;
    --notice-text: #a6b2a8;
    --source-meta: #a2ada4;
    --lime-ink: #465626;
    --lime-text: #27351d;
    --event-surface: #171f1b;
    --event-border: #39453d;
    --response-border: #4b5d50;
    --response-surface: #202c25;
    --card-border: #3d4b41;
    --body-muted: #b4c0b7;
    --letter-ink: #d5ded7;
    --button-fill: #355e43;
    --button-hover: #477653;
    --sheet-shadow: #00000055;
    --alert-surface: #7d3029;
    --alert-shadow: #00000066;
  }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5.5rem; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.6 var(--sans); }
a { color: inherit; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.skip-link { position: absolute; top: -4rem; left: 1rem; z-index: 20; padding: .7rem 1rem; background: var(--acid); color: var(--ink); }
.skip-link:focus { top: 1rem; }
.site-header { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 0 clamp(1.25rem, 5vw, 5rem); border-bottom: 1px solid var(--line); }
.wordmark { display: inline-flex; align-items: center; gap: .65rem; color: var(--ink); font: 800 .9rem var(--display); letter-spacing: -.035em; text-decoration: none; white-space: nowrap; }
.wordmark-light { font-weight: 500; }
.site-header nav { display: flex; flex-wrap: wrap; gap: clamp(1rem, 3vw, 2.5rem); }
.site-header nav a, .back-top { color: var(--muted); font: 500 .78rem/1.5 var(--mono); text-decoration: none; text-transform: uppercase; letter-spacing: .015em; }
.site-header nav a:hover, .back-top:hover { color: var(--green); }
.hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .65fr); gap: clamp(2rem, 9vw, 9rem); padding: clamp(4rem, 9vw, 8.5rem) clamp(1.25rem, 9vw, 9rem) clamp(4rem, 8vw, 7rem); }
.hero-copy { max-width: 800px; }
.eyebrow, .small-label { margin: 0; color: var(--green); font: 500 .76rem/1.5 var(--mono); letter-spacing: .035em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: .55rem; }
h1, h2, p { margin-top: 0; }
h1, h2 { font-family: var(--display); letter-spacing: -.06em; }
h1 { margin: 1.4rem 0 1.5rem; font-size: clamp(3.1rem, 6.5vw, 6rem); line-height: 1.02; font-weight: 600; }
h1 span { color: var(--green); }
.hero-intro { max-width: 640px; margin-bottom: 1.2rem; color: var(--body-soft); font-size: clamp(1.05rem, 1.55vw, 1.3rem); line-height: 1.55; }
.hero-stance { max-width: 620px; padding-left: 1rem; border-left: 2px solid var(--coral); color: var(--muted); font-size: .98rem; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; margin-top: 2rem; }
.button { display: inline-flex; align-items: center; gap: 1.1rem; min-height: 48px; padding: .8rem 1.1rem; font: 500 .78rem var(--mono); text-decoration: none; text-transform: uppercase; letter-spacing: .025em; }
.button-dark { background: var(--button-fill); color: var(--hero-ink); }
.button-dark:hover { background: var(--button-hover); }
.button-dark span { color: var(--acid); font-size: 1rem; }
.text-link { color: var(--green); font-size: .85rem; text-underline-offset: 4px; }
.hero-side { align-self: center; display: flex; min-height: 300px; flex-direction: column; justify-content: space-between; padding: 1.5rem; background: var(--hero-fill); color: var(--hero-ink); }
.hero-side .small-label { color: var(--hero-label); }
.hero-side-top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.orbit { width: 45px; height: 45px; display: grid; place-items: center; border: 1px solid var(--orbit-line); border-radius: 50%; }
.orbit::before, .orbit span { content: ''; display: block; grid-area: 1/1; border: 1px solid var(--acid); border-radius: 50%; }
.orbit::before { width: 25px; height: 25px; }
.orbit span { width: 7px; height: 7px; background: var(--acid); }
.hero-side > p { margin: 1.7rem 0; font: 600 clamp(1.75rem, 3.3vw, 2.7rem)/1.12 var(--display); letter-spacing: -.06em; }
.hero-side > p em { color: var(--acid); font-style: normal; }
.content-section { padding: clamp(4rem, 8vw, 7.5rem) clamp(1.25rem, 9vw, 9rem); }
.section-heading { display: grid; grid-template-columns: 1fr minmax(240px, .65fr); align-items: end; gap: 3rem; margin-bottom: 3rem; }
.section-heading h2, .context-strip h2, .about-section h2 { margin: .8rem 0 0; font-size: clamp(2.2rem, 4.3vw, 3.8rem); line-height: 1.08; font-weight: 600; }
.section-deck { max-width: 430px; margin: 0 0 .35rem; color: var(--muted); font-size: 1rem; line-height: 1.65; }
.section-deck a { color: var(--green); font-weight: 600; text-underline-offset: 3px; }
.record-controls { display: grid; grid-template-columns: minmax(200px, 1fr) minmax(170px, .45fr) auto; align-items: end; gap: 1rem; margin-bottom: 1.2rem; padding: 1rem; background: var(--paper-deep); }
.record-controls label { display: grid; gap: .4rem; color: var(--green); font: 500 .7rem/1.4 var(--mono); letter-spacing: .025em; text-transform: uppercase; }
.record-controls input, .record-controls select { width: 100%; min-height: 46px; padding: .65rem .75rem; border: 1px solid var(--input-border); border-radius: 0; background: var(--white); color: var(--ink); font: 400 .95rem var(--sans); text-transform: none; letter-spacing: 0; }
.results-count { margin: 0 0 .7rem auto; color: var(--muted); font: 400 .8rem/1.5 var(--mono); white-space: nowrap; }
.post-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.post-card { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: clamp(1.25rem, 4vw, 3.5rem); padding: clamp(1.3rem, 3vw, 2.5rem); background: var(--white); }
.post-meta { display: flex; flex-direction: column; align-items: flex-start; gap: .8rem; }
.post-date { color: var(--muted); font: 400 .78rem/1.5 var(--mono); }
.topic-list { display: flex; flex-wrap: wrap; gap: .35rem; }
.topic-tag { padding: .27rem .48rem; border: 1px solid var(--tag-border); border-radius: 99px; color: var(--green); font: 400 .78rem/1.4 var(--mono); }
.post-content h3 { margin: 0 0 .55rem; font: 600 clamp(1.25rem, 1.8vw, 1.55rem)/1.3 var(--display); letter-spacing: -.035em; }
.post-content h3 a { color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 4px; }
.post-content h3 a:hover { color: var(--green); }
.source-excerpt { margin: 1rem 0; padding: .8rem 1rem; border-left: 2px solid var(--coral); background: var(--warm-surface); color: var(--excerpt-ink); font: 500 1rem/1.55 var(--display); }
.excerpt-context, .post-summary { margin-bottom: .7rem; color: var(--muted); font-size: .96rem; line-height: 1.65; }
.excerpt-context { font-size: .88rem; }
.record-label { margin-bottom: .35rem; color: var(--green); font: 500 .78rem/1.5 var(--mono); letter-spacing: .015em; text-transform: uppercase; }
.author-update { margin: 1rem 0; padding: .8rem .9rem; border: 1px solid var(--update-border); background: var(--update-surface); color: var(--update-ink); font-size: .94rem; line-height: 1.6; }
.source-notice { margin: 1rem 0; color: var(--notice-text); font-size: .88rem; line-height: 1.55; }
.source-links { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; margin-top: 1rem; }
.source-links a, .org-links a, .about-links a { color: var(--green); font: 500 .8rem/1.55 var(--mono); text-transform: uppercase; letter-spacing: .015em; text-underline-offset: 3px; }
.source-check { margin: .9rem 0 0; color: var(--source-meta); font: 400 .78rem/1.55 var(--mono); }
.loading-note, .notice { padding: 1.5rem; color: var(--muted); }
.notice { border-left: 2px solid var(--coral); background: var(--white); }
.context-strip { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(260px, 1fr); align-items: center; gap: 1.5rem; padding: 2.5rem clamp(1.25rem, 9vw, 9rem); background: var(--acid); }
.context-strip .eyebrow { color: var(--lime-ink); }
.context-strip h2 { max-width: 380px; margin-top: .5rem; color: var(--lime-text); font-size: clamp(1.8rem, 2.8vw, 2.5rem); }
.context-strip > p { max-width: 510px; margin: 0; color: var(--lime-text); font-size: .96rem; line-height: 1.65; }
.event-section { background: var(--event-surface); }
.event-facts { display: grid; grid-template-columns: 1fr 1.25fr auto; align-items: center; gap: 1.5rem; margin-bottom: 1.5rem; padding: 1.2rem 1.4rem; border-block: 1px solid var(--event-border); }
.event-facts > div { display: grid; gap: .35rem; }
.event-facts .small-label { color: var(--muted); font-size: .78rem; }
.event-facts strong { font: 600 .96rem/1.5 var(--display); }
.event-facts > a { color: var(--green); font: 500 .7rem/1.5 var(--mono); text-align: right; text-decoration: underline; text-underline-offset: 3px; text-transform: uppercase; }
.response-list { margin: 0 0 1.5rem; }
.response-card { display: grid; grid-template-columns: minmax(190px, .58fr) minmax(0, 1fr); gap: .8rem 2rem; padding: 1.4rem; border: 1px solid var(--response-border); background: var(--response-surface); }
.response-heading { grid-row: span 2; }
.response-heading .record-label { color: var(--green); }
.response-heading h3 { margin: .3rem 0 0; font: 600 1.2rem/1.35 var(--display); letter-spacing: -.03em; }
.response-quote { margin: 0; color: var(--green); font: 600 1.15rem/1.45 var(--display); letter-spacing: -.02em; }
.response-summary { margin: 0; color: var(--body-muted); font-size: .94rem; line-height: 1.6; }
.response-nuance { grid-column: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); }
.response-nuance p { margin: 0; color: var(--body-muted); font-size: .9rem; line-height: 1.6; }
.response-nuance strong { display: block; margin-bottom: .25rem; color: var(--green); font: 500 .78rem/1.5 var(--mono); letter-spacing: .015em; text-transform: uppercase; }
.response-card .source-links, .response-card .source-check { grid-column: 2; }
.organization-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.organization-card { min-height: 180px; display: flex; flex-direction: column; align-items: flex-start; padding: 1.4rem; border: 1px solid var(--card-border); background: var(--paper); }
.organization-card .record-label { color: var(--notice-text); }
.organization-card h3 { margin: .25rem 0 .7rem; font: 600 1.2rem/1.35 var(--display); letter-spacing: -.03em; }
.organization-card p { margin-bottom: 1rem; color: var(--muted); font-size: .94rem; line-height: 1.6; }
.org-links { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: auto; }
.listing-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin: 3rem 0 .6rem; padding-top: 1.3rem; border-top: 1px solid var(--event-border); }
.listing-heading h3, .event-partners h3 { margin: .35rem 0 0; font: 600 1.5rem/1.35 var(--display); letter-spacing: -.035em; }
.creator-search { display: grid; width: min(100%, 320px); gap: .35rem; color: var(--green); font: 500 .78rem/1.5 var(--mono); letter-spacing: .015em; text-transform: uppercase; }
.creator-search input { width: 100%; min-height: 44px; padding: .55rem .7rem; border: 1px solid var(--input-border); background: var(--paper); color: var(--ink); font: 400 .95rem var(--sans); text-transform: none; letter-spacing: 0; }
.listing-note { max-width: 830px; margin: 0 0 1.2rem; color: var(--muted); font-size: .92rem; line-height: 1.6; }
.listing-note a { color: var(--green); text-underline-offset: 3px; }
.creator-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .65rem; }
.creator-card { min-height: 96px; display: flex; flex-direction: column; justify-content: space-between; padding: .9rem 1rem; border: 1px solid var(--card-border); background: var(--paper); }
.creator-card span { color: var(--muted); font: 400 .76rem/1.5 var(--mono); text-transform: uppercase; letter-spacing: .015em; }
.creator-card a { margin-top: .45rem; color: var(--ink); font: 600 .96rem/1.4 var(--display); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.creator-card a:hover { color: var(--green); }
.event-partners { display: grid; grid-template-columns: .8fr 1.2fr; gap: .8rem 2rem; margin-top: 2rem; padding: 1.3rem; border: 1px solid var(--card-border); background: var(--paper); }
.event-partners > div:first-child { grid-row: span 2; }
.event-partners > p { margin: .3rem 0 0; color: var(--muted); font-size: .94rem; line-height: 1.6; }
.event-partner-links { display: flex; flex-wrap: wrap; gap: .65rem 1.2rem; }
.event-partner-links a { color: var(--green); font: 500 .8rem/1.55 var(--mono); text-underline-offset: 3px; }
.about-section { display: grid; grid-template-columns: minmax(230px, .8fr) minmax(300px, 1fr); gap: clamp(2rem, 8vw, 8rem); padding: clamp(4rem, 8vw, 7.5rem) clamp(1.25rem, 9vw, 9rem); }
.about-section h2 { font-size: clamp(2.2rem, 4.3vw, 3.8rem); }
.about-copy > p { max-width: 600px; color: var(--body-muted); font-size: .98rem; line-height: 1.65; }
.about-links { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; margin: 1.8rem 0 1rem; }
.repo-note { margin: 1.5rem 0 0; color: var(--source-meta); font: 400 .76rem/1.55 var(--mono); }
.letter-page { min-height: calc(100vh - 150px); padding: clamp(3.5rem, 8vw, 7rem) 1.25rem; }
.letter-heading { max-width: 780px; margin: 0 auto 2.5rem; }
.letter-heading h1 { margin: .7rem 0 1rem; font-size: clamp(2.8rem, 6vw, 5rem); }
.letter-deck { max-width: 600px; margin: 0; color: var(--muted); font-size: 1.1rem; line-height: 1.6; }
.letter-sheet { max-width: 780px; margin: 0 auto; padding: clamp(1.4rem, 5vw, 3.5rem); border: 1px solid var(--line); background: var(--white); box-shadow: 0 18px 50px var(--sheet-shadow); }
.letter-meta { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); color: var(--green); font: 500 .72rem/1.5 var(--mono); letter-spacing: .025em; text-transform: uppercase; }
.letter-body { max-width: 650px; margin: 2rem auto 0; color: var(--letter-ink); font-size: 1.04rem; line-height: 1.8; }
.letter-body p { margin: 0 0 1.25rem; }
.letter-outreach { margin: 1.8rem 0; padding: 1rem 1.1rem .1rem; border-left: 2px solid var(--coral); background: var(--warm-surface); }
.letter-outreach h2 { margin: 0 0 .55rem; color: var(--green); font: 600 .82rem/1.5 var(--mono); letter-spacing: .025em; text-transform: uppercase; }
.letter-outreach p { margin-bottom: 1rem; }
.letter-signoff { padding-top: .5rem; }
.letter-links { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; max-width: 650px; margin: 2rem auto 0; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.letter-links a { color: var(--green); font: 500 .78rem/1.55 var(--mono); text-decoration-thickness: 1px; text-underline-offset: 3px; text-transform: uppercase; }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.2rem clamp(1.25rem, 5vw, 5rem); border-top: 1px solid var(--line); }
.site-footer > p { margin: 0; color: var(--muted); font: 400 .76rem/1.5 var(--mono); }
.load-error { position: fixed; inset: auto 1rem 1rem; z-index: 10; max-width: 500px; margin: auto; padding: .8rem 1rem; background: var(--alert-surface); color: white; font-size: .85rem; box-shadow: 0 4px 25px var(--alert-shadow); }

@media (max-width: 820px) {
  .hero { grid-template-columns: 1fr minmax(220px, .65fr); gap: 2rem; padding-inline: clamp(1.25rem, 6vw, 3rem); }
  .hero-side { min-height: 265px; }
  .content-section, .about-section { padding-inline: clamp(1.25rem, 6vw, 3rem); }
  .context-strip { padding-inline: clamp(1.25rem, 6vw, 3rem); }
}
@media (max-width: 620px) {
  .site-header { align-items: flex-start; flex-direction: column; gap: .7rem; padding-block: 1rem; }
  .site-header nav { width: 100%; justify-content: space-between; gap: .5rem; }
  .site-header nav a { font-size: .76rem; }
  .hero { grid-template-columns: 1fr; padding-block: 3.5rem; }
  h1 { font-size: clamp(2.8rem, 13vw, 4.5rem); }
  .hero-side { min-height: 230px; }
  .section-heading { grid-template-columns: 1fr; gap: 1rem; }
  .section-heading { margin-bottom: 2rem; }
  .record-controls { grid-template-columns: 1fr; }
  .results-count { margin: 0; }
  .post-card { grid-template-columns: 1fr; gap: 1rem; }
  .post-meta { flex-direction: row; align-items: center; flex-wrap: wrap; }
  .context-strip { grid-template-columns: 1fr; gap: .8rem; }
  .event-facts { grid-template-columns: 1fr 1fr; }
  .event-facts > a { grid-column: 1 / -1; text-align: left; }
  .response-card { grid-template-columns: 1fr; }
  .response-heading { grid-row: auto; }
  .response-nuance, .response-card .source-links, .response-card .source-check { grid-column: 1; }
  .organization-list { grid-template-columns: 1fr; }
  .listing-heading { align-items: flex-start; flex-direction: column; gap: .9rem; }
  .creator-search { width: 100%; }
  .creator-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .event-partners { grid-template-columns: 1fr; }
  .event-partners > div:first-child { grid-row: auto; }
  .about-section { grid-template-columns: 1fr; gap: 1.5rem; }
  .site-footer { flex-wrap: wrap; }
  .site-footer > p { order: 3; width: 100%; }
  .letter-meta { flex-direction: column; gap: .2rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
