@import url('https://fonts.googleapis.com/css2?family=Funnel+Display:wght@400;600;700&family=Funnel+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Newsreader:ital@1&display=swap');

:root {
  --ground: #0A120E;
  --card: #122119;
  --lift: #1A2F25;
  --chalk: #F7F5EE;
  --gold: #B98A2F;
  --clay: #C8502E;
  --green: #3FA468;
  --support: rgba(242, 240, 233, .72);
  --label: rgba(242, 240, 233, .62);
  --hairline: rgba(242, 240, 233, .1);
}

html { -webkit-font-smoothing: antialiased; }
body {
  background: radial-gradient(800px 540px at 88% -6%, rgba(185, 138, 47, .08), transparent 62%), var(--ground) !important;
  color: var(--support) !important;
  font-family: 'Funnel Sans', system-ui, sans-serif !important;
}
body::before {
  position: fixed;
  inset: 0;
  z-index: 999;
  pointer-events: none;
  content: '';
  opacity: .045;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
}
.container { max-width: 860px !important; padding: 32px 24px !important; }
header { min-height: 72px; padding: 12px 0 !important; margin-bottom: 44px !important; border-bottom-color: var(--hairline) !important; }
.logo { color: var(--chalk) !important; font-family: 'Funnel Display', system-ui, sans-serif !important; font-size: 19px !important; letter-spacing: .03em; }
.logo img { width: 112px !important; height: auto !important; }
.logo span { display: none; }
.back-link, nav a { min-height: 44px; display: inline-flex !important; align-items: center; color: var(--support) !important; }
a { color: var(--chalk) !important; text-decoration-color: var(--gold); text-underline-offset: 3px; }
:focus-visible { outline: 2px solid var(--gold) !important; outline-offset: 4px !important; }
h1, h2, h3, .header-text h1, .contact-card h3 {
  color: var(--chalk) !important;
  font-family: 'Funnel Display', system-ui, sans-serif !important;
  letter-spacing: -.02em;
}
h1 { font-size: clamp(38px, 7vw, 60px) !important; line-height: 1 !important; }
h2 { margin-top: 44px !important; font-size: 25px !important; }
h3 { font-size: 18px !important; }
p, li, .header-text p, .contact-card p, .footer-note p, .response-note p { color: var(--support) !important; }
.lastmod { color: var(--label) !important; font-family: 'JetBrains Mono', monospace !important; font-size: 11px !important; letter-spacing: .08em; }
.header-box {
  padding: 28px !important;
  border: 0 !important;
  border-radius: 34px 12px 34px 12px !important;
  background: var(--card) !important;
}
.header-icon { background: var(--lift) !important; border-radius: 18px 7px 18px 7px !important; }
.header-icon svg, .footer-note svg, .response-note svg { color: var(--gold) !important; }
.contact-card, .footer-note, .response-note, .disclaimer {
  border-color: var(--hairline) !important;
  border-radius: 22px 8px 22px 8px !important;
  background: var(--card) !important;
}
.footage-pledge { margin-bottom: 52px; padding: 28px; border-radius: 34px 12px 34px 12px; background: var(--card); }
.footage-pledge .pledge-label { color: var(--label) !important; font: 600 10px/1.5 'JetBrains Mono', monospace !important; letter-spacing: .16em; }
.footage-pledge h2 { margin-top: 12px !important; }
.footage-pledge ol { margin: 18px 0 0; padding: 0; list-style: none; counter-reset: pledge; }
.footage-pledge li { display: grid; grid-template-columns: 34px 1fr; gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--hairline); counter-increment: pledge; }
.footage-pledge li:last-child { border-bottom: 0; }
.footage-pledge li::before { position: static !important; content: counter(pledge, decimal-leading-zero) !important; color: var(--label) !important; font: 12px/1.5 'JetBrains Mono', monospace; }
li::before { color: var(--gold) !important; }
footer { color: var(--label) !important; border-top-color: var(--hairline) !important; }

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