@font-face{font-family:'BrandHeading';src:url('/assets/fonts/BrandHeading.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'BrandBody';src:url('/assets/fonts/BrandBody.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'BrandBody';src:url('/assets/fonts/BrandBodyBold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root {
  --f-color-background: #FFFDF9;
  --f-color-surface: #F8F4EE;
  --f-color-surface-muted: #EFE8DE;
  --f-color-text: #1C1917;
  --f-color-text-muted: #57534E;
  --f-color-border: #E2D9CC;
  --f-color-primary: #5B2A86;
  --f-color-on-primary: #FFFFFF;
  --f-color-accent: #BC842E;
  --f-color-on-accent: #1C1917;
  --f-color-success: #0E9F6E;
  --f-color-warning: #B7791F;
  --f-color-danger: #D92D20;
  --f-color-focus: #5B2A86;
  --f-font-sans: 'BrandBody', Inter, Roboto, "Helvetica Neue", "Arial Nova", "Nimbus Sans", Arial, sans-serif;
  --f-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --f-font-heading: 'BrandHeading', Didot, "Bodoni MT", "Noto Serif Display", "URW Palladio L", P052, Sylfaen, serif;
  --f-font-size-xs: 12px;
  --f-font-size-sm: 14px;
  --f-font-size-md: 16px;
  --f-font-size-lg: 18px;
  --f-font-size-xl: 22px;
  --f-font-size-2xl: 28px;
  --f-font-size-3xl: 36px;
  --f-font-weight-regular: 400;
  --f-font-weight-medium: 500;
  --f-font-weight-bold: 700;
  --f-line-height-tight: 1.2;
  --f-line-height-normal: 1.5;
  --f-line-height-relaxed: 1.7;
  --f-space-0: 0px;
  --f-space-1: 4px;
  --f-space-2: 8px;
  --f-space-3: 12px;
  --f-space-4: 16px;
  --f-space-5: 20px;
  --f-space-6: 24px;
  --f-space-8: 32px;
  --f-space-10: 40px;
  --f-space-12: 48px;
  --f-space-16: 64px;
  --f-radius-none: 0px;
  --f-radius-sm: 4px;
  --f-radius-md: 8px;
  --f-radius-lg: 12px;
  --f-radius-xl: 20px;
  --f-radius-full: 9999px;
  --f-shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
  --f-shadow-md: 0 4px 12px rgba(0,0,0,0.08);
  --f-shadow-lg: 0 12px 32px rgba(0,0,0,0.12);
  --f-motion-fast: 120ms;
  --f-motion-normal: 200ms;
  --f-motion-slow: 320ms;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --f-color-background: #14110F;
    --f-color-surface: #1E1A17;
    --f-color-surface-muted: #2A2521;
    --f-color-text: #F7F3EE;
    --f-color-text-muted: #B3AAA0;
    --f-color-border: #3A332D;
    --f-color-primary: #BE93E6;
    --f-color-on-primary: #1C1917;
    --f-color-accent: #F7C46A;
    --f-color-on-accent: #1C1917;
    --f-color-success: #34D399;
    --f-color-warning: #F6C453;
    --f-color-danger: #F97066;
    --f-color-focus: #BE93E6;
  }
}

:root[data-theme="dark"] {
  --f-color-background: #14110F;
  --f-color-surface: #1E1A17;
  --f-color-surface-muted: #2A2521;
  --f-color-text: #F7F3EE;
  --f-color-text-muted: #B3AAA0;
  --f-color-border: #3A332D;
  --f-color-primary: #BE93E6;
  --f-color-on-primary: #1C1917;
  --f-color-accent: #F7C46A;
  --f-color-on-accent: #1C1917;
  --f-color-success: #34D399;
  --f-color-warning: #F6C453;
  --f-color-danger: #F97066;
  --f-color-focus: #BE93E6;
}

*{box-sizing:border-box}
body{margin:0;background:var(--f-color-background);color:var(--f-color-text);font:var(--f-font-size-md)/var(--f-line-height-normal) var(--f-font-sans)}
main{max-width:640px;margin:0 auto;padding:var(--f-space-10) var(--f-space-4);display:grid;gap:var(--f-space-8)}
h1{font-family:var(--f-font-heading);font-size:var(--f-font-size-3xl);line-height:var(--f-line-height-tight);margin:0 0 var(--f-space-4)}
h2{font-family:var(--f-font-heading);font-size:var(--f-font-size-xl);margin:var(--f-space-6) 0 var(--f-space-2)}
header.site{max-width:640px;margin:0 auto;padding:var(--f-space-6) var(--f-space-4) 0}
.logo{display:inline-flex;align-items:center;gap:var(--f-space-2);color:var(--f-color-text);text-decoration:none;font:var(--f-font-weight-bold) var(--f-font-size-lg)/1 var(--f-font-heading)}
.logo img{border-radius:var(--f-radius-md)}
.tagline{font-family:var(--f-font-heading);font-size:var(--f-font-size-xl);color:var(--f-color-primary);margin:0 0 var(--f-space-2)}
a{color:var(--f-color-primary)}
.lead{font-size:var(--f-font-size-lg);color:var(--f-color-text-muted)}
.benefits{padding-left:var(--f-space-5)}
.card{background:var(--f-color-surface);border:1px solid var(--f-color-border);border-radius:var(--f-radius-lg);padding:var(--f-space-6)}
form{display:grid;gap:var(--f-space-3)}
label{font-weight:var(--f-font-weight-medium);font-size:var(--f-font-size-sm)}
input[type=email]{font:inherit;padding:var(--f-space-3);border:1px solid var(--f-color-border);border-radius:var(--f-radius-md);background:var(--f-color-background);color:var(--f-color-text)}
.check{display:flex;gap:var(--f-space-2);align-items:flex-start;font-weight:var(--f-font-weight-regular)}
button,.button{display:inline-block;font:inherit;font-weight:var(--f-font-weight-bold);background:var(--f-color-primary);color:var(--f-color-on-primary);border:0;border-radius:var(--f-radius-md);padding:var(--f-space-3) var(--f-space-5);cursor:pointer;text-decoration:none;text-align:center}
button[disabled]{opacity:.6;cursor:wait}
.note,.meta{font-size:var(--f-font-size-sm);color:var(--f-color-text-muted)}
#waitlist-status:empty{display:none}
#waitlist-status.error{color:var(--f-color-danger)}
#waitlist-status.ok{color:var(--f-color-success)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
footer{max-width:640px;margin:0 auto;padding:var(--f-space-6) var(--f-space-4);font-size:var(--f-font-size-sm);color:var(--f-color-text-muted);display:grid;gap:var(--f-space-2)}
:focus-visible{outline:3px solid var(--f-color-focus);outline-offset:2px}
