:root {
  color-scheme: light;
  --color-background: #fcf9f8;
  --color-surface: #ffffff;
  --color-surface-tonal: #fff8f5;
  --color-surface-alt: #f0f4f9;
  --color-text-primary: #1b1b1c;
  --color-text-secondary: #5c403c;
  --color-border: #e5bdb8;
  --color-accent: #b81311;
  --color-accent-on: #ffffff;
  --color-brand-gradient-start: #f44336;
  --color-brand-gradient-end: #ff9800;
  --color-success: #236b3a;
  --color-warning: #7b5000;
  --color-danger: #ba1a1a;
  --font-family-primary: "Manrope";
  --font-family-fallback: system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --type-display-size: 2.5rem;
  --type-display-weight: var(--font-weight-extrabold);
  --type-display-line-height: 1.15;
  --type-display-tracking: -.02em;
  --type-h1-size: 1.875rem;
  --type-h1-weight: var(--font-weight-bold);
  --type-h1-line-height: 1.2;
  --type-h1-tracking: -.015em;
  --type-h2-size: 1.5rem;
  --type-h2-weight: var(--font-weight-bold);
  --type-h2-line-height: 1.3;
  --type-h2-tracking: -.01em;
  --type-h3-size: 1.25rem;
  --type-h3-weight: var(--font-weight-semibold);
  --type-h3-line-height: 1.35;
  --type-h3-tracking: 0;
  --type-h4-size: 1.125rem;
  --type-h4-weight: var(--font-weight-semibold);
  --type-h4-line-height: 1.4;
  --type-h4-tracking: 0;
  --type-body-size: 1rem;
  --type-body-weight: var(--font-weight-regular);
  --type-body-line-height: 1.5;
  --type-body-tracking: 0;
  --type-body-sm-size: .875rem;
  --type-body-sm-weight: var(--font-weight-regular);
  --type-body-sm-line-height: 1.45;
  --type-body-sm-tracking: 0;
  --type-label-size: .75rem;
  --type-label-weight: var(--font-weight-bold);
  --type-label-line-height: 1.4;
  --type-label-tracking: .06em;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-12: 3rem;
  --radius-card: 1rem;
  --radius-control: .5rem;
  --shadow-card: 0 10px 28px rgba(93, 62, 43, .08);
  font-family: var(--font-family-primary), var(--font-family-fallback);
  font-size: var(--type-body-size);
  font-weight: var(--type-body-weight);
  line-height: var(--type-body-line-height);
  letter-spacing: var(--type-body-tracking);
  color: var(--color-text-primary);
  background: var(--color-background);
}

@font-face { font-family: Manrope; src: url("/assets/fonts/Manrope_400Regular.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: Manrope; src: url("/assets/fonts/Manrope_500Medium.ttf") format("truetype"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: Manrope; src: url("/assets/fonts/Manrope_600SemiBold.ttf") format("truetype"); font-style: normal; font-weight: 600; font-display: swap; }
@font-face { font-family: Manrope; src: url("/assets/fonts/Manrope_700Bold.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: Manrope; src: url("/assets/fonts/Manrope_800ExtraBold.ttf") format("truetype"); font-style: normal; font-weight: 800; font-display: swap; }

* { box-sizing: border-box; }
body { min-width: 320px; margin: 0; background: var(--color-background); }
a { color: var(--color-accent); text-underline-offset: .2em; }
a:hover { text-decoration-thickness: .12em; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 3px; }
.skip-link { position: absolute; left: -9999px; top: var(--space-2); z-index: 5; padding: var(--space-3) var(--space-4); background: var(--color-surface); border-radius: var(--radius-control); }
.skip-link:focus { left: var(--space-4); }
.shell { width: min(100% - 2.5rem, 68rem); margin-inline: auto; }
.site-header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-6); }
.brand { color: var(--color-text-primary); font-size: var(--type-h3-size); font-weight: var(--font-weight-extrabold); letter-spacing: var(--type-h3-tracking); text-decoration: none; }
.brand span { color: var(--color-accent); }
.nav { display: flex; flex-wrap: wrap; gap: var(--space-4); font-size: var(--type-body-sm-size); font-weight: var(--font-weight-semibold); line-height: var(--type-body-sm-line-height); }
.nav a { color: var(--color-text-secondary); }
.hero { padding: clamp(2.5rem, 8vw, 5.5rem) 0 var(--space-8); }
.eyebrow { margin: 0 0 var(--space-3); color: var(--color-accent); font-size: var(--type-label-size); font-weight: var(--type-label-weight); line-height: var(--type-label-line-height); letter-spacing: var(--type-label-tracking); text-transform: uppercase; }
h1, h2, h3, h4 { color: var(--color-text-primary); }
h1 { max-width: 16ch; margin: 0; font-size: var(--type-display-size); font-weight: var(--type-display-weight); line-height: var(--type-display-line-height); letter-spacing: var(--type-display-tracking); }
h2 { margin: 0 0 var(--space-3); font-size: var(--type-h2-size); font-weight: var(--type-h2-weight); line-height: var(--type-h2-line-height); letter-spacing: var(--type-h2-tracking); }
h3 { margin: 0 0 var(--space-2); font-size: var(--type-h4-size); font-weight: var(--type-h4-weight); line-height: var(--type-h4-line-height); letter-spacing: var(--type-h4-tracking); }
p, li { color: var(--color-text-secondary); }
.lead { max-width: 62ch; margin: var(--space-4) 0 0; font-size: var(--type-h4-size); font-weight: var(--type-h4-weight); line-height: var(--type-h4-line-height); letter-spacing: var(--type-h4-tracking); }
.page-intro { padding: var(--space-12) 0 var(--space-6); }
.page-intro h1 { font-size: var(--type-h1-size); font-weight: var(--type-h1-weight); line-height: var(--type-h1-line-height); letter-spacing: var(--type-h1-tracking); }
.page-intro p { max-width: 68ch; margin: var(--space-3) 0 0; }
.section { margin-block: var(--space-8); }
.grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.card { min-width: 0; padding: var(--space-6); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); box-shadow: var(--shadow-card); }
.card p:last-child, .legal-section p:last-child { margin-bottom: 0; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .65rem 1rem; border: 0; border-radius: var(--radius-control); background: linear-gradient(100deg, var(--color-brand-gradient-start), var(--color-brand-gradient-end)); color: var(--color-accent-on); font: inherit; font-weight: var(--font-weight-bold); text-decoration: none; cursor: pointer; }
.button:disabled { cursor: wait; opacity: .65; }
.button-secondary { border: 1px solid var(--color-border); background: var(--color-surface); color: var(--color-accent); }
.inline-links { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); padding: 0; list-style: none; }
.legal-copy { max-width: 72ch; }
.legal-section { margin-block: var(--space-6); padding: var(--space-6); background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-card); }
.legal-section h2 { font-size: var(--type-h3-size); font-weight: var(--type-h3-weight); line-height: var(--type-h3-line-height); letter-spacing: var(--type-h3-tracking); }
.legal-section p { margin-block: var(--space-3); }
.form-stack { display: grid; gap: var(--space-4); }
.field { display: grid; gap: var(--space-2); }
.field label { color: var(--color-text-primary); font-size: var(--type-body-sm-size); font-weight: var(--font-weight-semibold); line-height: var(--type-body-sm-line-height); letter-spacing: var(--type-body-sm-tracking); }
.field input { width: 100%; min-height: 2.75rem; padding: .65rem .75rem; border: 1px solid var(--color-border); border-radius: var(--radius-control); background: var(--color-surface); color: var(--color-text-primary); font: inherit; }
.check-row { display: flex; align-items: flex-start; gap: var(--space-3); }
.check-row input { margin-top: .35rem; accent-color: var(--color-accent); }
.check-row label { color: var(--color-text-secondary); font-size: var(--type-body-sm-size); font-weight: var(--type-body-sm-weight); line-height: var(--type-body-sm-line-height); letter-spacing: var(--type-body-sm-tracking); }
.notice { min-height: 1.5rem; margin-top: var(--space-3); color: var(--color-text-secondary); }
.notice[data-state="error"] { color: var(--color-danger); }
.notice[data-state="success"] { color: var(--color-success); }
.hidden { display: none !important; }
.footer { margin-top: var(--space-12); padding: var(--space-8) 0; border-top: 1px solid var(--color-border); }
.footer p { margin: var(--space-2) 0; font-size: var(--type-body-sm-size); font-weight: var(--type-body-sm-weight); line-height: var(--type-body-sm-line-height); letter-spacing: var(--type-body-sm-tracking); }
.footer-nav { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-6); margin-top: var(--space-4); }
.muted { color: var(--color-text-secondary); font-size: var(--type-body-sm-size); font-weight: var(--type-body-sm-weight); line-height: var(--type-body-sm-line-height); letter-spacing: var(--type-body-sm-tracking); }
.identity { display: grid; gap: var(--space-2); }
.identity p { margin: 0; }

@media (max-width: 47.99rem) {
  :root { --type-display-size: 2rem; --type-h1-size: 1.75rem; --type-h2-size: 1.375rem; --type-h3-size: 1.125rem; --type-h4-size: 1rem; }
  .shell { width: min(100% - 2rem, 68rem); }
  .site-header { align-items: flex-start; flex-direction: column; }
  .nav { gap: var(--space-3) var(--space-4); }
  .grid { grid-template-columns: 1fr; }
  .hero { padding-top: var(--space-8); }
}
