:root {
  color-scheme: light;
  --red: #da1313;
  --red-strong: #bb0f0f;
  --black: #050505;
  --canvas: #ffffff;
  --paper: #f7f7f4;
  --panel: #ffffff;
  --text: #050505;
  --muted: #595959;
  --line: #dcdcdc;
  --line-strong: #767676;
  --shadow: 0 18px 50px rgba(0, 0, 0, 0.13);
  --font-sans: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
  --font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}

[data-theme="dark"] {
  color-scheme: dark;
  --canvas: #151515;
  --paper: #1f1f1f;
  --panel: #242424;
  --text: #f7f7f4;
  --muted: #b8b8b8;
  --line: #454545;
  --line-strong: #8a8a8a;
  --shadow: 0 20px 60px rgba(0, 0, 0, 0.38);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--canvas);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
button, input, select { font: inherit; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; }
svg { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -4rem;
  z-index: 100;
  padding: .75rem 1rem;
  background: var(--text);
  color: var(--canvas);
  text-decoration: none;
}
.skip-link:focus { top: 1rem; }
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

:focus-visible { outline: 3px solid var(--canvas); box-shadow: 0 0 0 5px var(--text); outline-offset: 2px; }
.site-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--canvas) 94%, transparent);
  backdrop-filter: blur(14px);
}
.header-inner {
  width: min(1440px, calc(100% - 64px));
  min-height: 76px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 2rem;
}
.brand, .footer-mark {
  width: max-content;
  display: inline-flex;
  align-items: flex-start;
  gap: .55rem;
  color: var(--text);
  font-size: 1.7rem;
  line-height: 1;
  font-weight: 850;
  letter-spacing: -.055em;
  text-decoration: none;
}
.brand span, .footer-mark span { width: 18px; height: 5px; margin-top: 4px; background: var(--red); }
.desktop-nav { display: flex; align-items: center; gap: 1.75rem; }
.desktop-nav a, .desktop-nav button { position: relative; padding: 1.55rem 0; border: 0; background: transparent; color: inherit; font-size: .92rem; font-weight: 600; text-decoration: none; cursor: pointer; }
.desktop-nav a::after, .desktop-nav button::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: var(--red); transition: right 170ms ease-out; }
.desktop-nav a:hover::after, .desktop-nav button:hover::after, .desktop-nav button.is-current::after, .desktop-nav a.is-current::after { right: 0; }
.nav-archives { position: relative; }
.nav-archives summary {
  position: relative;
  padding: 1.55rem 0;
  display: flex;
  align-items: center;
  gap: .4rem;
  color: inherit;
  font-size: .92rem;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}
.nav-archives summary::-webkit-details-marker { display: none; }
.nav-archives summary::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 2px; background: var(--red); transition: right 170ms ease-out; }
.nav-archives:hover summary::after, .nav-archives[open] summary::after, .nav-archives.is-current summary::after { right: 0; }
.nav-chevron { display: inline-block; font-size: 1rem; line-height: 1; transition: transform 170ms ease-out; }
.nav-archives[open] .nav-chevron { transform: rotate(180deg); }
.nav-archives-menu {
  position: absolute;
  top: calc(100% - 1px);
  left: -1rem;
  z-index: 30;
  min-width: 220px;
  padding: .45rem;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
}
.desktop-nav .nav-archives-menu a { display: block; padding: .75rem .8rem; border-radius: 5px; white-space: nowrap; }
.desktop-nav .nav-archives-menu a::after { display: none; }
.desktop-nav .nav-archives-menu a:hover { background: var(--paper); }
.header-actions { display: flex; justify-content: flex-end; align-items: center; gap: .65rem; }
.language-control { display: flex; align-items: center; }
.language-selector { min-width: 148px; min-height: 48px; padding: .45rem 2.1rem .45rem .9rem; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); color: var(--text); font-family: var(--font-mono); font-size: .86rem; font-weight: 750; cursor: pointer; }
.language-selector:hover { border-color: var(--line-strong); }
.button, .icon-button, .type-pill, .text-button, .citation-button {
  border: 0;
  cursor: pointer;
  transition: background 170ms ease-out, border-color 170ms ease-out, color 170ms ease-out, transform 170ms ease-out;
}
.button {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  padding: .72rem 1.1rem;
  border-radius: 6px;
  font-weight: 750;
  letter-spacing: -.01em;
}
.button svg { width: 19px; height: 19px; }
.button-primary { background: var(--red); color: #fff; }
.button-primary:hover { background: var(--red-strong); transform: translateY(-1px); }
.button-secondary { border: 1px solid var(--line-strong); background: var(--panel); color: var(--text); }
.button-secondary:hover { background: var(--paper); }
.icon-button { width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; }
.icon-button:hover { border-color: var(--line-strong); background: var(--paper); }
.icon-button svg { width: 20px; height: 20px; }
.moon-icon { display: none; }
[data-theme="dark"] .sun-icon { display: none; }
[data-theme="dark"] .moon-icon { display: block; }

.discovery {
  min-height: 520px;
  position: relative;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
}
.discovery-grid {
  position: absolute;
  inset: 0;
  opacity: .42;
  background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 88px 88px;
  mask-image: radial-gradient(circle at center, black, transparent 72%);
}
.discovery-inner {
  width: min(880px, calc(100% - 32px));
  max-width: calc(100% - 32px);
  min-width: 0;
  position: relative;
  z-index: 1;
  padding: 72px 0 82px;
  text-align: center;
}
.eyebrow, .section-index { margin: 0 0 1rem; font-family: var(--font-mono); font-size: .77rem; letter-spacing: .08em; text-transform: uppercase; }
.eyebrow { display: flex; justify-content: center; align-items: center; gap: .6rem; color: var(--muted); }
.eyebrow > span:first-child { width: 24px; height: 4px; flex:0 0 auto; background: var(--red); }
h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { margin: 0; font-size: clamp(3rem, 8vw, 5.7rem); line-height: .98; letter-spacing: -.065em; font-weight: 820; }
.hero-copy { margin: 1.25rem auto 2rem; color: var(--muted); font-size: clamp(1.05rem, 2vw, 1.28rem); }
.archive-switch { width: max-content; max-width: 100%; margin: 0 auto 1.6rem; padding: .25rem; display: flex; border: 1px solid var(--line); border-radius: 999px; background: color-mix(in srgb, var(--panel) 88%, transparent); }
.archive-switch button { min-height: 38px; padding: .45rem .9rem; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font-size: .82rem; font-weight: 720; cursor: pointer; }
.archive-switch button:hover { color: var(--text); }
.archive-switch button.is-active { background: var(--text); color: var(--canvas); }
.search-form {
  width: min(760px, 100%);
  min-width: 0;
  min-height: 66px;
  margin: 0 auto;
  padding: .42rem;
  display: grid;
  grid-template-columns: 28px 1fr auto;
  align-items: center;
  gap: .6rem;
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  background: var(--panel);
  box-shadow: var(--shadow);
}
.search-form:focus-within { border-color: var(--text); box-shadow: 0 0 0 3px color-mix(in srgb, var(--red) 25%, transparent), var(--shadow); }
.search-form > svg { width: 23px; height: 23px; margin-left: .65rem; color: var(--muted); }
.search-form input { min-width: 0; height: 52px; border: 0; outline: 0; background: transparent; color: var(--text); font-size: 1.05rem; }
.search-form input::placeholder { color: var(--muted); opacity: 1; }
.search-form .button { min-width: 88px; height: 52px; border-radius: 10px; }
.quick-types { margin: 1.2rem auto 0; display: flex; justify-content: center; flex-wrap: wrap; gap: .55rem; }
.type-pill { min-height: 42px; padding: .55rem 1rem; border: 1px solid var(--line); border-radius: 999px; background: var(--panel); font-size: .9rem; }
.type-pill:hover { border-color: var(--line-strong); }
.type-pill.is-active { border-color: var(--text); background: var(--text); color: var(--canvas); }

.archive-section, .principles { width: min(1440px, calc(100% - 64px)); margin: 0 auto; }
.archive-section { padding: 88px 0 104px; }
.archive-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; padding-bottom: 1.8rem; border-bottom: 1px solid var(--text); }
.section-index { color: var(--muted); }
h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.15rem); line-height: 1.08; letter-spacing: -.05em; }
.result-count { margin: 0; padding-bottom: .35rem; color: var(--muted); font-family: var(--font-mono); font-size: .82rem; }
.archive-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 3rem; padding-top: 2rem; }
.filter-header { display: flex; align-items: center; justify-content: space-between; }
.filter-header h3 { margin: 0; font-size: 1.15rem; }
.text-button { padding: .25rem 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--muted); font-size: .85rem; }
.text-button:hover { color: var(--text); }
.filters fieldset { margin: 1.5rem 0 0; padding: 1.35rem 0 0; border: 0; border-top: 1px solid var(--line); }
.filters legend { width: 100%; margin-bottom: .7rem; font-weight: 750; font-size: .92rem; }
.filters label { min-height: 40px; display: flex; align-items: center; gap: .65rem; cursor: pointer; color: var(--muted); font-size: .92rem; }
.filters label:hover { color: var(--text); }
.filters input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--red); }
.independence-note { margin-top: 1.5rem; padding-top: 1.25rem; display: grid; grid-template-columns: 20px 1fr; gap: .7rem; border-top: 1px solid var(--line); color: var(--muted); }
.independence-note svg { width: 20px; height: 20px; }
.independence-note p { margin: 0; font-size: .8rem; line-height: 1.5; }
.results-tools { min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.active-filters { display: flex; flex-wrap: wrap; gap: .4rem; }
.filter-chip { min-height: 34px; padding: .3rem .65rem; display: inline-flex; align-items: center; gap: .45rem; border: 1px solid var(--line); border-radius: 999px; background: var(--paper); font-size: .78rem; cursor: pointer; }
.filter-chip::after { content: "×"; font-size: 1rem; }
.sort-control, .sort-compact { display: flex; align-items: center; gap: .55rem; color: var(--muted); font-size: .86rem; white-space: nowrap; }
select { min-height: 40px; padding: .4rem 2rem .4rem .65rem; border: 1px solid var(--line-strong); border-radius: 4px; background: var(--panel); color: var(--text); }
.records { display: grid; }
.record-card {
  position: relative;
  width: 100%;
  padding: 1.55rem 4rem 1.55rem 1.45rem;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(250px, .7fr);
  gap: 2rem;
  align-items: end;
  border: 0;
  border-top: 1px solid var(--line);
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition: background 160ms ease-out;
}
.record-card:last-child { border-bottom: 1px solid var(--line); }
.record-card::before { content: ""; position: absolute; left: 0; top: 20%; bottom: 20%; width: 4px; background: transparent; transition: background 160ms ease-out; }
.record-card:hover { background: var(--paper); }
.record-card:hover::before, .record-card:focus-visible::before { background: var(--red); }
.record-card h3 { margin: .35rem 0 .65rem; font-size: clamp(1.12rem, 2vw, 1.42rem); line-height: 1.25; letter-spacing: -.025em; }
.record-type { margin: 0; color: var(--red); font-family: var(--font-mono); font-size: .76rem; letter-spacing: .06em; text-transform: uppercase; }
.record-course { margin: 0; color: var(--muted); font-size: .94rem; }
.record-meta { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem 1rem; }
.record-meta p { margin: 0; color: var(--muted); font-family: var(--font-mono); font-size: .75rem; }
.record-meta b { display: block; margin-bottom: .05rem; color: var(--text); font-family: var(--font-sans); font-size: .72rem; font-weight: 700; }
.record-arrow { position: absolute; right: 1.4rem; top: 50%; width: 22px; height: 22px; transform: translateY(-50%); color: var(--muted); }
.sample-label { display: inline-flex; width: max-content; margin-top: .7rem; padding: .15rem .45rem; border: 1px solid var(--line); border-radius: 3px; color: var(--muted); font-size: .7rem; }
.empty-state { padding: 5rem 1rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-align: center; }
.empty-state > span { display: block; font-size: 4rem; font-weight: 800; line-height: 1; color: var(--line-strong); }
.empty-state h3 { margin: 1rem 0 .4rem; font-size: 1.5rem; }
.empty-state p { margin: 0 0 1.3rem; color: var(--muted); }
.mobile-toolbar { display: none; }

.principles { padding: 92px 0 110px; display: grid; grid-template-columns: minmax(280px, .8fr) 1.5fr; gap: 6rem; border-top: 1px solid var(--text); }
.principles-lead h2 { max-width: 10ch; }
.principle-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; }
.principle-grid article { padding-top: 1rem; border-top: 4px solid var(--red); }
.principle-grid article > span { font-family: var(--font-mono); color: var(--muted); font-size: .77rem; }
.principle-grid h3 { margin: 2.5rem 0 .6rem; font-size: 1.22rem; }
.principle-grid p { margin: 0; color: var(--muted); }
.site-footer { padding: 60px max(32px, calc((100% - 1376px) / 2)); display: grid; grid-template-columns: auto 1fr auto; gap: 1.5rem 3rem; align-items: center; border-top: 1px solid #313131; background: #050505; color: #f7f7f4; }
.footer-mark { color: #fff; }
.site-footer p { margin: 0; }
.footer-note { color: #b8b8b8; }
.footer-meta { grid-column: 1 / span 2; font-family: var(--font-mono); font-size: .75rem; color: #b8b8b8; }

dialog { padding: 0; border: 0; background: transparent; color: var(--text); }
dialog::backdrop { background: rgba(0, 0, 0, .64); backdrop-filter: blur(5px); }
.dialog-shell, .upload-form { width: min(1180px, calc(100vw - 48px)); max-height: calc(100vh - 48px); overflow: auto; border-radius: 16px; background: var(--panel); box-shadow: var(--shadow); }
.dialog-header { min-height: 88px; padding: 1.25rem 1.4rem 1.2rem 1.7rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); }
.dialog-header h2 { font-size: clamp(1.4rem, 3vw, 2rem); }
.document-id { margin: 0 0 .25rem; color: var(--red); font-family: var(--font-mono); font-size: .72rem; letter-spacing: .05em; }
.dialog-content { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .75fr); min-height: 620px; }
.preview-column { padding: 2rem; background: var(--paper); }
.pdf-frame { height: 510px; display: grid; place-items: center; overflow: hidden; background: color-mix(in srgb, var(--text) 8%, var(--paper)); }
.pdf-frame iframe { width: 100%; height: 100%; border: 0; }
.sample-page { width: min(360px, 80%); aspect-ratio: 1 / 1.414; padding: 2rem; display: flex; flex-direction: column; background: #fff; color: #050505; box-shadow: 0 10px 30px rgba(0,0,0,.16); }
.sample-page-top { display: flex; justify-content: space-between; gap: 1rem; font-family: var(--font-mono); font-size: .6rem; }
.sample-rule { height: 1px; margin: .6rem 0 2.5rem; background: #050505; }
.sample-page > p { margin: 0 0 .5rem; color: #da1313; font-family: var(--font-mono); font-size: .55rem; }
.sample-page h3 { margin: 0; font-size: 1.45rem; line-height: 1.12; }
.sample-lines { display: grid; gap: .6rem; margin-top: 2rem; }
.sample-lines i { display: block; height: 5px; background: #dcdcdc; }
.sample-lines i:nth-child(2), .sample-lines i:nth-child(5) { width: 84%; }
.sample-lines i:nth-child(3) { width: 92%; }
.sample-lines i:nth-child(6) { width: 67%; }
.sample-footer { margin-top: auto; padding-top: .7rem; border-top: 1px solid #dcdcdc; color: #595959; font-size: .5rem; }
.preview-toolbar { min-height: 44px; display: flex; justify-content: space-between; align-items: center; color: var(--muted); font-family: var(--font-mono); font-size: .72rem; }
.metadata-panel { padding: 2rem; display: flex; flex-direction: column; }
.status-line { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; color: var(--muted); font-size: .75rem; }
.status-badge { padding: .25rem .45rem; border: 1px solid var(--line-strong); border-radius: 3px; color: var(--text); }
.metadata-panel dl { margin: 2rem 0; display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem 1rem; }
.metadata-panel dt { margin-bottom: .2rem; color: var(--muted); font-size: .72rem; }
.metadata-panel dd { margin: 0; font-size: .9rem; font-weight: 650; }
.document-actions { margin-top: auto; display: grid; grid-template-columns: 1fr auto; gap: .6rem; }
.citation-button { min-height: 44px; margin-top: .6rem; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); background: transparent; font-weight: 700; text-align: left; }
.citation-button:hover { color: var(--red); }

.upload-form { width: min(760px, calc(100vw - 48px)); }
.upload-form .dialog-header { padding: 1.3rem 1.6rem; }
.upload-steps { margin: 0; padding: 1.1rem 1.6rem; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; border-bottom: 1px solid var(--line); list-style: none; counter-reset: none; }
.upload-steps li { display: flex; align-items: center; gap: .5rem; color: var(--muted); font-family: var(--font-mono); font-size: .75rem; }
.upload-steps li::after { content: ""; height: 1px; flex: 1; background: var(--line); }
.upload-steps li:last-child::after { display: none; }
.upload-steps li.is-active { color: var(--red); }
.upload-steps li span { color: var(--text); font-family: var(--font-sans); font-size: .85rem; font-weight: 700; }
.file-drop { margin: 1.5rem 1.6rem; min-height: 170px; padding: 1.3rem; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px dashed var(--line-strong); border-radius: 10px; background: var(--paper); text-align: center; cursor: pointer; }
.file-drop:hover, .file-drop.is-dragging { border-color: var(--red); }
.file-drop input { position: absolute; opacity: 0; pointer-events: none; }
.file-drop svg { width: 28px; height: 28px; margin-bottom: .7rem; color: var(--red); }
.file-drop strong { font-size: 1rem; }
.file-drop > span { color: var(--muted); font-size: .8rem; }
.file-drop .file-name { margin-top: .55rem; color: var(--text); font-family: var(--font-mono); }
.form-grid { padding: .2rem 1.6rem 1.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.field { display: grid; gap: .35rem; color: var(--muted); font-size: .82rem; }
.field-wide { grid-column: 1 / -1; }
.field input, .field select { width: 100%; min-height: 48px; padding: .65rem .8rem; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--panel); color: var(--text); }
.field input:focus, .field select:focus { border-color: var(--text); outline: 2px solid color-mix(in srgb, var(--red) 30%, transparent); }
.form-note { margin: 0 1.6rem 1.5rem; padding: 1rem; display: grid; grid-template-columns: 20px 1fr; gap: .7rem; background: var(--paper); color: var(--muted); }
.form-note svg { width: 20px; height: 20px; }
.form-note p { margin: 0; font-size: .8rem; }
.form-actions { padding: 1.2rem 1.6rem; display: flex; justify-content: flex-end; gap: .7rem; border-top: 1px solid var(--line); }
.toast { position: fixed; right: 1.5rem; bottom: 1.5rem; z-index: 100; max-width: min(360px, calc(100vw - 32px)); padding: .9rem 1.1rem; border-left: 4px solid var(--red); background: var(--text); color: var(--canvas); box-shadow: var(--shadow); transform: translateY(160%); transition: transform 180ms ease-out; }
.toast.is-visible { transform: translateY(0); }

.about-main { overflow: hidden; }
.about-hero { min-height: 640px; position: relative; display: grid; align-items: end; padding: 88px max(32px, calc((100% - 1376px) / 2)); border-bottom: 1px solid #303030; background: #050505; color: #f7f7f4; }
.about-signal { position: absolute; inset: 0; pointer-events:none; opacity:.28; background-image: linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size: 88px 88px; mask-image: linear-gradient(to bottom,black,transparent 82%); }
.about-signal::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 45%,rgba(218,19,19,.18) 50%,transparent 55%); }
.about-hero-inner { position: relative; z-index: 1; width: min(1120px, 100%); padding-bottom: 1rem; }
.about-hero .section-index { color: #b8b8b8; }
.about-hero h1 { max-width: 11ch; font-size: clamp(3.4rem, 8vw, 7.2rem); }
.about-lead { max-width: 760px; margin: 2rem 0 0; color:#d0d0cc; font-size:clamp(1.15rem,2.2vw,1.55rem); line-height:1.45; }
.manifesto { width:min(1440px,calc(100% - 64px)); margin:0 auto; padding:110px 0; display:grid; grid-template-columns:minmax(260px,.72fr) 1.35fr; gap:7rem; }
.manifesto h2 { max-width: 11ch; }
.manifesto-copy { display:grid; gap:1.4rem; }
.manifesto-copy > p { margin:0; color:var(--muted); font-size:clamp(1.05rem,1.7vw,1.25rem); }
.manifesto-quote { margin:2rem 0 0 !important; padding:2rem 0 0; border-top:4px solid var(--red); color:var(--text) !important; font-size:clamp(1.75rem,3vw,2.6rem) !important; font-weight:800; line-height:1.15; letter-spacing:-.04em; }
.protocol { padding:105px max(32px,calc((100% - 1376px) / 2)); background:var(--paper); border-block:1px solid var(--line); }
.protocol-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:3rem; }
.protocol-card { min-height:260px; padding:1.6rem; display:flex; flex-direction:column; border:1px solid var(--line); background:var(--panel); }
.protocol-card > span { color:var(--red); font-family:var(--font-mono); font-size:.75rem; }
.protocol-card h3 { margin:auto 0 .7rem; font-size:1.55rem; }
.protocol-card p { margin:0; color:var(--muted); }
.boundaries { width:min(1440px,calc(100% - 64px)); margin:0 auto; padding:110px 0; display:grid; grid-template-columns:1fr 1fr; gap:6rem; }
.boundaries h2 { max-width:12ch; }
.boundary-copy { padding-top:2.35rem; }
.boundary-copy > p { margin:0; color:var(--muted); font-size:1.08rem; }
.collective-quote { margin-top:2rem !important; padding:1.5rem; border-left:4px solid var(--red); background:var(--paper); color:var(--text) !important; font-family:var(--font-mono); }
.signature { margin-top:1.4rem !important; color:var(--red) !important; font-family:var(--font-mono); font-size:.78rem !important; letter-spacing:.06em; }
.contact-section { padding:105px max(32px,calc((100% - 1376px) / 2)); display:grid; grid-template-columns:minmax(260px,.75fr) 1.35fr; gap:6rem; border-top:1px solid var(--line); background:var(--paper); }
.contact-intro h2 { max-width:10ch; }
.contact-intro > p:last-child { max-width:520px; margin:1.4rem 0 0; color:var(--muted); font-size:1.05rem; }
.contact-grid { display:grid; gap:1rem; align-content:start; }
.contact-card { min-height:180px; padding:1.5rem; display:flex; flex-direction:column; border:1px solid var(--line); background:var(--panel); color:var(--text); text-decoration:none; transition:border-color 170ms ease-out,transform 170ms ease-out; }
.contact-card:hover { border-color:var(--red); transform:translateY(-2px); }
.contact-card-top { display:flex; justify-content:space-between; gap:1rem; color:var(--muted); font-family:var(--font-mono); font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; }
.template-badge { color:var(--red); }
.contact-card strong { margin:auto 0 .75rem; font-size:clamp(1.25rem,2.2vw,1.85rem); overflow-wrap:anywhere; }
.contact-card > span:last-child { color:var(--muted); font-size:.92rem; }
.about-actions { padding:72px max(32px,calc((100% - 1376px) / 2)); display:flex; flex-wrap:wrap; gap:.8rem; border-top:1px solid var(--text); }
.about-actions .button { min-width:220px; }

/* Statistics dashboard */
.stats-body { --stats-green:#2cff70; --stats-green-soft:#9cffb8; --stats-red:#ff3048; --stats-bg:#061009; --stats-panel:#0b1710; --stats-line:#1f3d29; min-height:100vh; background:var(--stats-bg); color:#f2fff5; }
.stats-body .site-header { border-color:var(--stats-line); background:rgba(6,16,9,.94); color:#f2fff5; }
.stats-body .brand span,.stats-body .footer-mark span { background:var(--stats-green); }
.stats-body .desktop-nav a::after, .stats-body .nav-archives summary::after { background:var(--stats-green); }
.stats-body .language-selector,.stats-body .icon-button { border-color:var(--stats-line); background:var(--stats-panel); color:#f2fff5; }
.stats-main { width:min(1440px,calc(100% - 64px)); margin:0 auto; padding:76px 0 96px; }
.stats-hero { min-height:290px; padding:56px 0 48px; display:flex; justify-content:space-between; align-items:flex-end; gap:3rem; border-bottom:1px solid var(--stats-line); background-image:linear-gradient(rgba(44,255,112,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(44,255,112,.035) 1px,transparent 1px); background-size:48px 48px; }
.stats-hero h1 { max-width:10ch; margin:.8rem 0 1.1rem; color:#f2fff5; font-size:clamp(3rem,7vw,6.7rem); line-height:.88; letter-spacing:-.065em; }
.stats-hero > div > p:last-child { max-width:720px; margin:0; color:#9eb6a5; font-size:clamp(1rem,1.8vw,1.25rem); }
.stats-kicker { margin:0; display:flex; align-items:center; gap:.7rem; color:var(--stats-green); font-family:var(--font-mono); font-size:.76rem; letter-spacing:.08em; }
.stats-kicker > span:first-child { width:28px; height:4px; background:var(--stats-green); }
.snapshot-stamp { flex:0 0 auto; padding:.75rem 1rem; display:flex; align-items:center; gap:.6rem; border:1px solid var(--stats-line); background:#08140c; color:var(--stats-green-soft); font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; }
.pulse-dot { width:8px; height:8px; border-radius:50%; background:var(--stats-green); box-shadow:0 0 0 5px rgba(44,255,112,.12); }
.stats-kpis { padding:24px 0; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.stat-kpi { min-height:160px; padding:1.2rem; display:flex; flex-direction:column; border:1px solid var(--stats-line); background:var(--stats-panel); }
.stat-kpi > span { color:#92ad99; font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; }
.stat-kpi strong { margin:auto 0 .3rem; color:#f2fff5; font-size:clamp(2rem,3.6vw,3.5rem); line-height:.95; letter-spacing:-.05em; }
.stat-kpi strong small { color:var(--stats-green); font-size:.8rem; font-family:var(--font-mono); letter-spacing:.02em; }
.stat-kpi em { color:#82a08a; font-family:var(--font-mono); font-size:.7rem; font-style:normal; }
.stat-kpi-primary { border-color:var(--stats-green); box-shadow:inset 0 3px 0 var(--stats-green); }
.stat-kpi-red { border-color:#5a2028; box-shadow:inset 0 3px 0 var(--stats-red); }
.stat-kpi-red strong { color:#ff8493; }
.dashboard-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:12px; }
.dashboard-panel { min-width:0; padding:1.35rem; border:1px solid var(--stats-line); background:var(--stats-panel); }
.dashboard-panel > header { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.dashboard-panel h2 { margin:.15rem 0 0; color:#f2fff5; font-size:1.35rem; letter-spacing:-.025em; }
.dashboard-panel header > span { color:var(--stats-green); font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; }
.panel-index { margin:0; color:var(--stats-green); font-family:var(--font-mono); font-size:.7rem; }
.panel-copy { margin:.65rem 0 1.5rem; color:#819889; font-size:.9rem; }
.storage-total { padding:1rem 0; display:flex; align-items:end; justify-content:space-between; border-block:1px solid var(--stats-line); }
.storage-total span { color:#8ba491; font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; }
.storage-total strong { font-size:2.3rem; letter-spacing:-.04em; }
.storage-row { padding:1.1rem 0 0; display:grid; grid-template-columns:1fr 2fr auto; align-items:center; gap:1rem; }
.storage-row > div:first-child { display:grid; gap:.2rem; }
.storage-row span { color:#a9b9ad; font-size:.82rem; }
.storage-row strong { color:#f2fff5; font-size:1rem; }
.storage-row small { color:var(--stats-green); font-family:var(--font-mono); }
.meter { height:9px; background:#14251a; overflow:hidden; }
.meter i { display:block; width:var(--value); height:100%; background:var(--stats-green); box-shadow:0 0 14px rgba(44,255,112,.42); }
.case-row .meter i { background:var(--stats-red); box-shadow:none; }
.case-row small { color:#ff7788; }
.mix-layout { display:grid; grid-template-columns:170px 1fr; align-items:center; gap:1.6rem; }
.donut { width:164px; aspect-ratio:1; display:grid; place-items:center; border-radius:50%; background:conic-gradient(var(--stats-green) 0 30%,#d7ff42 30% 50%,#40bfff 50% 70%,#b07cff 70% 80%,var(--stats-red) 80% 100%); position:relative; }
.donut::after { content:""; position:absolute; inset:26px; border-radius:50%; background:var(--stats-panel); }
.donut > span { position:relative; z-index:1; display:grid; text-align:center; }
.donut strong { font-size:2rem; line-height:1; }
.donut small { color:#88a18f; font-size:.7rem; }
.chart-legend { margin:0; padding:0; display:grid; gap:.62rem; list-style:none; }
.chart-legend li { display:grid; grid-template-columns:10px 1fr auto; align-items:center; gap:.55rem; color:#9fb1a3; font-size:.78rem; }
.chart-legend i { width:8px; height:8px; background:var(--stats-green); }
.chart-legend b { color:#f2fff5; font-family:var(--font-mono); font-size:.72rem; }
.chart-legend .legend-quiz { background:#d7ff42; }.chart-legend .legend-problem { background:#40bfff; }.chart-legend .legend-syllabus { background:#b07cff; }.chart-legend .legend-case { background:var(--stats-red); }
.growth-panel { grid-column:1; min-height:390px; }
.line-chart { width:100%; height:280px; }
.line-chart svg { width:100%; height:100%; overflow:visible; }
.chart-grid path { fill:none; stroke:#193421; stroke-width:1; vector-effect:non-scaling-stroke; }
.chart-area { fill:url(#growth-fill); }
.chart-line { fill:none; stroke:var(--stats-green); stroke-width:3; vector-effect:non-scaling-stroke; }
.chart-points circle { fill:var(--stats-bg); stroke:var(--stats-green); stroke-width:2.5; vector-effect:non-scaling-stroke; }
.chart-labels text { fill:#718779; font-family:var(--font-mono); font-size:12px; text-anchor:middle; }
.insights-panel { grid-column:2; }
.insight-list { display:grid; border-top:1px solid var(--stats-line); }
.insight-list > div { padding:1rem 0; display:grid; grid-template-columns:38px 1fr; gap:.8rem; border-bottom:1px solid var(--stats-line); }
.insight-list > div > span { color:var(--stats-green); font-family:var(--font-mono); font-size:.72rem; }
.insight-list p { margin:0; display:grid; gap:.25rem; }
.insight-list b { color:#f2fff5; font-size:.86rem; }
.insight-list em { color:#8fa394; font-family:var(--font-mono); font-size:.74rem; font-style:normal; }
.stats-footnote { margin:20px 0 0; padding:1rem 1.2rem; border-left:3px solid var(--stats-red); background:#101511; color:#87968b; font-family:var(--font-mono); font-size:.72rem; }
.stats-footer { border-color:var(--stats-line); background:#040b06; color:#f2fff5; }
.stats-footer p { color:#819187; }

/* Support AVAL */
.support-body { --support-coral:#ff5d55; --support-coral-soft:#ffb8b2; background:#f4f4ef; }
[data-theme="dark"] .support-body { background:#101210; }
.support-header { background:color-mix(in srgb,var(--canvas) 96%,transparent); }
.support-main { overflow:hidden; }
.support-hero { min-height:680px; padding:84px max(32px,calc((100% - 1376px) / 2)); display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); align-items:center; gap:clamp(3rem,7vw,8rem); background:#080908; color:#f8f8f4; position:relative; }
.support-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(120deg,black,transparent 72%); }
.support-hero::after { content:""; position:absolute; width:420px; height:420px; left:-210px; bottom:-250px; border:1px solid rgba(218,19,19,.7); border-radius:50%; box-shadow:0 0 0 70px rgba(218,19,19,.04),0 0 0 140px rgba(218,19,19,.025); }
.support-hero-copy,.contribution-card { position:relative; z-index:1; }
.support-kicker { margin:0 0 1.2rem; display:flex; align-items:center; gap:.7rem; color:#a7b7aa; font-family:var(--font-mono); font-size:.76rem; letter-spacing:.08em; }
.support-kicker > span:first-child { width:9px; height:9px; border-radius:50%; background:var(--support-coral); box-shadow:0 0 18px rgba(255,93,85,.65); }
.support-hero h1 { max-width:9.5ch; margin:0; font-size:clamp(3.4rem,6.6vw,7.1rem); line-height:.9; letter-spacing:-.065em; }
.support-hero-copy > p:not(.support-kicker) { max-width:720px; margin:2rem 0 0; color:#bdc4bd; font-size:clamp(1.05rem,1.7vw,1.28rem); }
.support-promises { margin-top:2.2rem; display:flex; flex-wrap:wrap; gap:.55rem; }
.support-promises span { padding:.55rem .8rem; border:1px solid #344039; color:#cfe0d2; font-family:var(--font-mono); font-size:.71rem; text-transform:uppercase; letter-spacing:.05em; }
.contribution-card { padding:2rem; border:1px solid #3d3736; border-top:4px solid var(--support-coral); background:#141211; box-shadow:0 32px 90px rgba(0,0,0,.42); }
.contribution-card-head { display:flex; justify-content:space-between; gap:1rem; }
.contribution-card .section-index { color:#8c9b8f; }
.support-status { padding:.3rem .55rem; border:1px solid rgba(255,93,85,.55); border-radius:999px; color:var(--support-coral-soft); font-family:var(--font-mono); font-size:.7rem; font-weight:800; letter-spacing:.05em; }
.contribution-card h2 { margin:.5rem 0 .6rem; color:#f8f8f4; font-size:clamp(1.9rem,3vw,2.8rem); }
.contribution-card > p { color:#aeb8b0; }
.amount-grid { margin:1.6rem 0 1rem; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.amount-grid button { min-height:68px; border:1px solid #453d3b; background:#1c1918; color:#f0e8e6; cursor:pointer; display:grid; place-content:center; gap:2px; font-family:var(--font-mono); font-size:1rem; font-weight:700; }
.amount-grid button small { color:#998d89; font-size:.63rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; }
.amount-grid button:hover,.amount-grid button.is-selected { border-color:var(--support-coral); background:#3a1e1c; color:#fff; box-shadow:inset 0 -3px 0 var(--support-coral); }
.amount-grid button.is-selected small { color:var(--support-coral-soft); }
.custom-amount { margin:.15rem 0 .45rem; display:grid; grid-template-columns:1fr 152px; align-items:center; gap:1rem; color:#c7bfbc; font-size:.78rem; font-weight:700; }
.amount-input { min-height:48px; display:grid; grid-template-columns:auto 1fr; align-items:center; border:1px solid #453d3b; background:#1c1918; }
.amount-input:focus-within { border-color:var(--support-coral); box-shadow:0 0 0 2px rgba(255,93,85,.15); }
.amount-input b { padding-left:.8rem; color:var(--support-coral-soft); font-family:var(--font-mono); }
.amount-input input { width:100%; min-width:0; padding:.7rem .8rem .7rem .35rem; border:0; outline:0; background:transparent; color:#fff; font:700 .95rem var(--font-mono); }
.amount-range { margin:.2rem 0 1rem !important; color:#807572 !important; font-family:var(--font-mono); font-size:.67rem !important; text-align:right; }
.support-submit { width:100%; min-height:56px; border:1px solid rgba(255,93,85,.3); background:repeating-linear-gradient(135deg,#312423,#312423 10px,#2a2221 10px,#2a2221 20px); color:#bba9a6; font-weight:800; cursor:not-allowed; }
.selected-amount { margin:.9rem 0 0 !important; display:flex; justify-content:space-between; font-family:var(--font-mono); font-size:.78rem; }
.selected-value { display:flex; align-items:baseline; gap:.3rem; }
.selected-amount strong { color:#f8f8f4; }
.selected-amount em { color:var(--support-coral-soft); font-size:.68rem; font-style:normal; }
.patreon-ready { margin-top:1.2rem; padding:1rem; display:grid; gap:.25rem; border-left:3px solid var(--support-coral); background:#211918; }
.patreon-ready b { color:#f7efed; font-size:.82rem; }
.patreon-ready span { color:#a99d99; font-size:.73rem; line-height:1.5; }
.provider-note { margin:1.4rem 0 0 !important; padding-top:1.2rem; border-top:1px solid #303a32; color:#839087 !important; font-size:.76rem !important; }
.support-impact { padding:104px max(32px,calc((100% - 1376px) / 2)) 116px; background:#222524; color:#f6f4f0; }
.impact-heading { max-width:760px; margin-bottom:2.5rem; }
.impact-heading .section-index { color:#9b9f9c; }
.impact-heading h2 { margin:.45rem 0 .75rem; font-size:clamp(2.2rem,4vw,4.2rem); }
.impact-heading > p:last-child { margin:0; color:#b8b5ae; font-size:1.05rem; }
.impact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.impact-card { min-height:236px; padding:1.8rem; border:1px solid #303433; border-radius:18px; background:#1d201f; box-shadow:inset 0 1px 0 rgba(255,255,255,.02); }
.impact-icon { width:50px; height:50px; display:grid; place-items:center; border-radius:14px; font-family:var(--font-mono); font-size:1.45rem; font-weight:800; }
.impact-card h3 { margin:1.2rem 0 .45rem; font-size:1.22rem; }
.impact-card p { max-width:52ch; margin:0; color:#aaa69e; line-height:1.65; }
.impact-blue .impact-icon { background:#172d3a; color:#62c6ff; }
.impact-green .impact-icon { background:#17372f; color:#58dfa9; }
.impact-yellow .impact-icon { background:#39331b; color:#ffd45b; }
.impact-red .impact-icon { background:#3a2020; color:#ff7770; }
.support-boundary { padding:110px max(32px,calc((100% - 1376px) / 2)); display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(3rem,8vw,9rem); background:#0a0b0a; color:#f7f7f4; }
.support-boundary .section-index { color:#899189; }
.support-boundary h2 { max-width:13ch; margin-top:0; font-size:clamp(2.6rem,5vw,5.2rem); }
.support-boundary p { max-width:760px; color:#adb4ae; font-size:1.1rem; }
.support-boundary .button { margin-top:1.4rem; border-color:#4b514c; color:#f7f7f4; }
.support-boundary .button:hover { border-color:var(--red); }
.support-footer { background:#080908; color:#f7f7f4; border-color:#262926; }
.support-footer p { color:#8f9690; }
.footer-support { grid-column:3; justify-self:end; color:var(--red); font-family:var(--font-mono); font-size:.76rem; font-weight:800; text-decoration:none; text-transform:uppercase; letter-spacing:.06em; }
.footer-support:hover { text-decoration:underline; }

@media (max-width: 980px) {
  .header-inner { width: calc(100% - 40px); grid-template-columns: 1fr auto; }
  .desktop-nav { display: none; }
  .archive-layout { grid-template-columns: 230px minmax(0, 1fr); gap: 2rem; }
  .record-card { grid-template-columns: 1fr; gap: 1rem; }
  .principles { grid-template-columns: 1fr; gap: 3rem; }
  .principles-lead h2 { max-width: 14ch; }
  .dialog-content { grid-template-columns: 1.3fr .9fr; }
  .manifesto { grid-template-columns:1fr; gap:3rem; }
  .boundaries { grid-template-columns:1fr; gap:2rem; }
  .contact-section { grid-template-columns:1fr; gap:3rem; }
  .stats-kpis { grid-template-columns:repeat(2,1fr); }
  .support-hero { grid-template-columns:1fr; }
  .support-hero-copy { padding-top:2rem; }
  .contribution-card { width:min(620px,100%); }
  .support-boundary { grid-template-columns:1fr; gap:3rem; }
}

@media (max-width: 760px) {
  .header-inner { width: calc(100% - 32px); min-height: 66px; }
  .brand { font-size: 1.5rem; }
  .brand span { width: 15px; }
  .language-selector { min-width: 128px; min-height: 44px; padding-left:.7rem; padding-right:1.75rem; font-size:.78rem; }
  .upload-trigger { width: 46px; padding: 0; }
  .upload-trigger span { display: none; }
  .about-explore { display:none; }
  .discovery { min-height: 500px; }
  .discovery-inner { padding: 60px 0 68px; }
  .hero-copy { max-width: 29ch; }
  .archive-switch { margin-bottom: 1.35rem; }
  .archive-switch button { padding-inline: .75rem; }
  .search-form { min-height: 58px; grid-template-columns: 24px 1fr auto; border-radius: 12px; }
  .search-form input { height: 46px; font-size: 1rem; }
  .search-form .button { width: 48px; min-width: 48px; height: 46px; padding: 0; font-size: 0; }
  .search-form .button::before { content: "→"; font-size: 1.2rem; }
  .quick-types { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding: 0 .1rem .5rem; scrollbar-width: none; }
  .type-pill { white-space: nowrap; }
  .archive-section, .principles { width: calc(100% - 32px); }
  .archive-section { padding: 64px 0 76px; }
  .archive-heading { align-items: flex-start; flex-direction: column; gap: .6rem; }
  .mobile-toolbar { margin-top: 1rem; display: flex; justify-content: space-between; align-items: center; }
  .mobile-toolbar .button { min-height: 42px; }
  .sort-compact { min-height: 42px; }
  .sort-compact select { max-width: 118px; }
  .archive-layout { grid-template-columns: 1fr; gap: 1rem; padding-top: 1rem; }
  .filters { display: none; padding: 1.2rem; border: 1px solid var(--line); background: var(--paper); }
  .filters.is-open { display: block; }
  .results-tools { min-height: 0; }
  .sort-control { display: none; }
  .record-card { padding: 1.35rem 2.6rem 1.35rem .9rem; }
  .record-meta { grid-template-columns: 1fr 1fr; }
  .principles { padding: 68px 0 78px; }
  .principle-grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .principle-grid h3 { margin-top: 1.2rem; }
  .site-footer { padding: 48px 16px; grid-template-columns: 1fr; gap: .65rem; }
  .footer-meta,.footer-support { grid-column:auto; justify-self:start; }
  .footer-meta { margin-top: 1rem !important; }
  .dialog-shell, .upload-form { width: 100vw; max-height: 100vh; border-radius: 0; }
  .document-dialog, .upload-dialog { max-width: 100vw; max-height: 100vh; }
  .dialog-content { grid-template-columns: 1fr; }
  .preview-column { padding: 1rem; }
  .pdf-frame { height: 420px; }
  .metadata-panel { padding: 1.25rem; }
  .upload-steps li span { display: none; }
  .form-grid { grid-template-columns: 1fr; }
  .field-wide { grid-column: auto; }
  .form-actions { display: grid; grid-template-columns: 1fr; }
  .form-actions .button-primary { grid-row: 1; }
  .about-hero { min-height:570px; padding:64px 16px; }
  .about-hero h1 { font-size:clamp(3rem,14vw,4.5rem); }
  .manifesto, .boundaries { width:calc(100% - 32px); padding:72px 0; }
  .protocol { padding:72px 16px; }
  .protocol-grid { grid-template-columns:1fr; gap:1rem; }
  .protocol-card { min-height:210px; }
  .contact-section { padding:72px 16px; }
  .about-actions { padding:52px 16px; display:grid; }
  .stats-main { width:calc(100% - 32px); padding:40px 0 72px; }
  .stats-hero { min-height:360px; padding:52px 0 36px; align-items:flex-start; flex-direction:column; justify-content:flex-end; gap:2rem; }
  .stats-hero h1 { font-size:clamp(3.3rem,15vw,5.2rem); }
  .snapshot-stamp { width:100%; }
  .stats-kpis { grid-template-columns:1fr 1fr; gap:8px; }
  .stat-kpi { min-height:145px; padding:1rem; }
  .dashboard-grid { grid-template-columns:1fr; gap:8px; }
  .growth-panel,.insights-panel { grid-column:1; }
  .storage-row { grid-template-columns:1fr auto; }
  .storage-row .meter { grid-column:1 / -1; grid-row:2; }
  .mix-layout { grid-template-columns:1fr; justify-items:center; }
  .chart-legend { width:100%; }
  .line-chart { height:240px; }
  .support-hero { min-height:0; padding:72px 16px; gap:3rem; }
  .support-hero h1 { font-size:clamp(3.2rem,15vw,5rem); }
  .contribution-card { padding:1.25rem; }
  .amount-grid { grid-template-columns:1fr 1fr; }
  .support-impact { padding:72px 16px; }
  .impact-grid { grid-template-columns:1fr; }
  .impact-card { min-height:0; }
  .custom-amount { grid-template-columns:1fr 132px; }
  .support-boundary { padding:72px 16px; }
}

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