:root {
  color-scheme: light;
  --ink: #15231f;
  --muted: #4c5a55;
  --line: #d8dedb;
  --bg: #fbfcfb;
  --accent: #0f766e;
  --accent-dark: #134e4a;
  --soft: #f0f4f2;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: Arial, Helvetica, sans-serif; line-height: 1.6; }
.site-container { width: min(90%, 1280px); margin: 0 auto; padding: 20px 0 40px; }
header { margin-bottom: 32px; }
.logo-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 74px; margin-bottom: 14px; }
.logo { color: var(--accent-dark); text-decoration: none; }
.logo-placeholder { display: grid; place-items: center; width: 220px; height: 58px; border: 1px dashed var(--accent-dark); color: var(--accent-dark); font-size: .78rem; font-weight: 700; letter-spacing: .16em; }
nav { display: flex; flex-wrap: wrap; gap: 10px 18px; padding-top: 12px; font-size: .95rem; }
nav a { color: var(--accent-dark); font-weight: 700; text-decoration: none; }
nav a:hover { text-decoration: underline; }
hr { border: 0; border-top: 1px solid #000; margin: 0; }
.early-test-notice { margin: 0 0 2rem; padding: 1rem 1.15rem; border: 2px solid var(--accent-dark); border-radius: 4px; background: var(--accent-dark); color: #fff; }
.early-test-notice strong { display: block; margin-bottom: .25rem; font-size: 1rem; }
.early-test-notice p { margin: 0; max-width: 1000px; }
main { width: 100%; max-width: none; }
h1, h2, h3 { line-height: 1.2; margin: 2rem 0 .75rem; }
h1:first-child { margin-top: 0; }
p, ul, ol { margin: 0 0 1rem; }
a { color: var(--accent); overflow-wrap: anywhere; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: #fff; padding: .75rem; }
.skip-link:focus { top: 1rem; }
.hero, .page-intro { padding: 3.5rem 0 2rem; border-bottom: 1px solid var(--line); }
.hero h1, .page-intro h1 { max-width: 900px; font-size: clamp(2.2rem, 6vw, 4.8rem); }
.hero h1 em, .page-intro h1 em { color: var(--accent-dark); }
.home-heading { padding: 2rem 0 1rem; }
.home-heading h1 { margin: 0 0 .5rem; font-size: clamp(2rem, 5vw, 3.6rem); }
.home-heading h1 em { color: var(--accent-dark); }
.eyebrow { color: var(--muted); font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.lede { max-width: 700px; font-size: 1.15rem; }
.button { display: inline-flex; width: fit-content; align-items: center; justify-content: center; border: 0; border-radius: 4px; padding: 10px 16px; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.button-primary { background: var(--accent-dark); color: #fff; }
.button-secondary { border: 1px solid var(--line); background: #fff; color: var(--accent-dark); }
.button-ghost { border: 1px solid var(--accent-dark); color: var(--accent-dark); }
.button:hover { text-decoration: none; opacity: .88; }
.how-it-works, .prose-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 2rem 0 3rem; }
.how-it-works > div, .prose-grid article { border-top: 2px solid var(--accent-dark); padding-top: 1rem; }
.how-it-works h2, .prose-grid h2 { margin-top: .5rem; font-size: 1.35rem; }
.step-number, .field-number { color: var(--muted); font-size: .8rem; font-weight: 700; letter-spacing: .08em; }
.form-section { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(300px, 1.3fr); gap: 48px; padding: 3rem 0; }
.form-section.narrow { display: block; max-width: 640px; margin: 0 auto; }
.section-heading { align-self: start; }
.field-card { border: 1px solid var(--line); padding: 1rem; margin: 0 0 1rem; background: #fff; }
fieldset { border: 0; padding: 0; margin: 0 0 1.5rem; }
legend { padding: 0; margin-bottom: .75rem; font-weight: 700; }
.field-number { display: inline-block; margin-right: .35rem; }
.file-field label { display: block; }
.file-field label strong { display: block; }
.file-field input[type=file] { width: 100%; margin-top: .5rem; padding: .7rem; border: 1px dashed var(--accent); background: var(--soft); }
label { display: block; margin-bottom: 1rem; font-weight: 700; }
label span, legend span, .field-help { color: var(--muted); font-size: .9rem; font-weight: 400; }
input, select, textarea { display: block; width: 100%; margin-top: .35rem; border: 1px solid var(--line); border-radius: 4px; padding: 10px 12px; background: #fff; color: inherit; font: inherit; }
textarea { resize: vertical; }
.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.chip-grid { display: flex; flex-wrap: wrap; gap: .45rem; margin: .7rem 0 1rem; }
.chip { margin: 0; }
.chip input { position: absolute; opacity: 0; width: 1px; }
.chip span { display: block; border: 1px solid var(--line); border-radius: 4px; padding: .45rem .7rem; cursor: pointer; color: var(--ink); }
.chip input:checked + span { background: var(--accent-dark); color: #fff; }
.check-row { display: flex; align-items: flex-start; gap: .65rem; font-weight: 400; }
.check-row input { width: 1.1rem; flex: 0 0 auto; margin: .25rem 0 0; }
.accent-check { padding: .7rem; background: var(--soft); }
.submit-button { width: fit-content; }
.form-status { min-height: 1.5em; color: var(--muted); font-weight: 700; }
.progress { height: 8px; margin-top: 1rem; overflow: hidden; background: var(--line); }
.progress div { height: 100%; width: 0; background: var(--accent); transition: width .15s; }
.preview-wrap { margin-top: 1rem; }
.preview-wrap img { display: block; max-width: 100%; max-height: 320px; }
.text-button { border: 0; background: none; color: var(--accent); padding: .7rem 0; text-decoration: underline; cursor: pointer; }
.receipt { border-top: 2px solid var(--accent-dark); padding: 2rem 0; }
.receipt-grid { display: grid; grid-template-columns: 1fr; gap: 24px; margin: 2rem 0; }
.receipt article { border-top: 1px solid var(--line); padding-top: 1rem; }
.receipt article > span { color: var(--muted); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.receipt-follow-up { margin: 2rem 0; padding: 1.25rem; border: 1px solid var(--line); background: var(--soft); }
.receipt-follow-up h3 { margin-top: 0; }
.receipt-follow-up form { max-width: 560px; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.local-note { border-top: 1px solid var(--line); padding-top: 1rem; margin-top: 2rem; color: var(--muted); }
.callout { border-top: 2px solid var(--accent-dark); margin: 3rem 0; padding: 1rem 0; }
.legal-layout { display: grid; grid-template-columns: 220px 1fr; gap: 48px; padding: 3rem 0; }
.legal-layout > nav { display: flex; flex-direction: column; align-self: start; position: sticky; top: 1rem; padding-top: 0; }
.legal-copy { max-width: 760px; }
.legal-copy section { border-bottom: 1px solid var(--line); padding-bottom: 1.5rem; margin-bottom: 2rem; scroll-margin-top: 1rem; }
.legal-copy h2 { margin-top: 0; }
.honeypot { position: absolute !important; left: -10000px !important; }
.stats { display: flex; gap: 24px; margin-top: 1rem; }
.stats strong, .stats span { display: block; }
.operator-table { padding: 2rem 0; overflow-x: auto; }
table { border-collapse: collapse; width: 100%; margin: 1rem 0; }
table, th, td { border: 1px solid #ccc; }
th, td { padding: 10px; text-align: left; vertical-align: top; }
footer { margin-top: 48px; padding-top: 20px; border-top: 1px solid #000; color: var(--muted); font-size: .9rem; }
@media (max-width: 750px) {
  .form-section, .legal-layout, .prose-grid, .how-it-works, .receipt-grid { grid-template-columns: 1fr; }
  .legal-layout > nav { position: static; display: grid; grid-template-columns: 1fr 1fr; }
  .two-column { grid-template-columns: 1fr; }
  .stats { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition: none !important; } }
