:root{--color-bg:#f7f6f2;--color-text:#11110f;--color-text-secondary:#66645f;--color-text-muted:#6b685f;--color-border:#dcd9d1;--color-border-strong:#c8c4ba;--color-surface:#fcfbf8;--color-proof-bg:#eceae3;--color-proof-border:#d2cfc6;--color-accent:#315bff;--color-accent-soft:#315bff14;--color-accent-hover:#264be0;--color-focus:var(--color-accent);--color-focus-ring:#315bff59;--color-success:#1e8e3e;--color-error:#d9381e;--color-warning:#e37400;--font-sans:var(--font-geist-sans), system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-serif:var(--font-newsreader), "Newsreader", "Charter", "Bitstream Charter", "Georgia", "Cambria", serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-size-display-xl:72px;--line-height-display-xl:.98;--font-size-display-l:56px;--line-height-display-l:1;--font-size-heading-xl:44px;--line-height-heading-xl:1.05;--font-size-heading-l:36px;--line-height-heading-l:1.1;--font-size-heading-m:28px;--line-height-heading-m:1.15;--font-size-heading-s:22px;--line-height-heading-s:1.2;--font-size-body-l:20px;--line-height-body-l:1.5;--font-size-body-m:18px;--line-height-body-m:1.55;--font-size-body-s:16px;--line-height-body-s:1.5;--font-size-meta:13px;--line-height-meta:1.4;--font-size-mono-meta:12px;--line-height-mono-meta:1.35;--letter-spacing-tight:-.025em;--letter-spacing-snug:-.015em;--letter-spacing-normal:0em;--letter-spacing-mono:-.005em;--space-base:4px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--space-40:160px;--section-gap:128px;--section-gap-desktop:128px;--section-gap-tablet:88px;--section-gap-mobile:72px;--container-max-width:1280px;--gutter:64px;--gutter-desktop:64px;--gutter-tablet:48px;--gutter-mobile:24px;--grid-columns:12;--grid-gap:var(--space-6);--radius-default:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:9999px;--border-width:1px;--border-subtle:var(--border-width) solid var(--color-border);--border-strong:var(--border-width) solid var(--color-border-strong);--shadow-subtle:0 1px 2px #11110f0a;--shadow-elevated:0 4px 12px #11110f0d;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-standard:cubic-bezier(.2, 0, 0, 1);--duration-fast:.15s;--duration-base:.25s;--duration-moderate:.4s;--transition-fast:var(--duration-fast) var(--ease-out);--transition-base:var(--duration-base) var(--ease-out);--transition-color:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);--z-base:0;--z-elevated:10;--z-sticky:100;--z-overlay:500;--z-modal:1000}@media (max-width:1023px){:root{--section-gap:var(--section-gap-tablet);--gutter:var(--gutter-tablet);--grid-columns:8}}@media (max-width:767px){:root{--section-gap:var(--section-gap-mobile);--gutter:var(--gutter-mobile);--grid-columns:4;--grid-gap:var(--space-4)}}
h1,h2,h3,h4,h5,h6{color:var(--color-text);font-family:var(--font-sans);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight);text-wrap:balance}p{color:var(--color-text);font-family:var(--font-sans);font-weight:var(--font-weight-regular);font-size:var(--font-size-body-m);line-height:var(--line-height-body-m);letter-spacing:var(--letter-spacing-normal);text-wrap:pretty}.display-xl{font-family:var(--font-sans);font-size:clamp(2.75rem, 5vw + 1rem, var(--font-size-display-xl));line-height:var(--line-height-display-xl);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight)}.display-l{font-family:var(--font-sans);font-size:clamp(2.25rem, 4vw + .75rem, var(--font-size-display-l));line-height:var(--line-height-display-l);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight)}.heading-xl{font-family:var(--font-sans);font-size:clamp(2rem, 3vw + .5rem, var(--font-size-heading-xl));line-height:var(--line-height-heading-xl);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight)}.heading-l{font-family:var(--font-sans);font-size:clamp(1.75rem, 2.5vw + .25rem, var(--font-size-heading-l));line-height:var(--line-height-heading-l);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-tight)}.heading-m{font-family:var(--font-sans);font-size:var(--font-size-heading-m);line-height:var(--line-height-heading-m);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-snug)}.heading-s{font-family:var(--font-sans);font-size:var(--font-size-heading-s);line-height:var(--line-height-heading-s);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-snug)}.body-l{font-family:var(--font-sans);font-size:var(--font-size-body-l);line-height:var(--line-height-body-l);font-weight:var(--font-weight-regular)}.body-m{font-family:var(--font-sans);font-size:var(--font-size-body-m);line-height:var(--line-height-body-m);font-weight:var(--font-weight-regular)}.body-s{font-family:var(--font-sans);font-size:var(--font-size-body-s);line-height:var(--line-height-body-s);font-weight:var(--font-weight-regular)}.meta{font-family:var(--font-sans);font-size:var(--font-size-meta);line-height:var(--line-height-meta);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.mono-meta{font-family:var(--font-mono);font-size:var(--font-size-mono-meta);line-height:var(--line-height-mono-meta);font-weight:var(--font-weight-medium);letter-spacing:var(--letter-spacing-mono);color:var(--color-text-secondary)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}.text-primary{color:var(--color-text)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}
.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--space-4);left:var(--space-4);z-index:var(--z-modal);padding:var(--space-2) var(--space-4);background-color:var(--color-surface);color:var(--color-text);border:var(--border-strong);border-radius:var(--radius-default);font-family:var(--font-mono);font-size:var(--font-size-mono-meta);transition:transform var(--transition-fast);text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{outline:2px solid var(--color-accent);outline-offset:2px;transform:translateY(0)}::selection{background-color:var(--color-accent-soft);color:var(--color-text)}.btn-primary{height:40px;padding:0 var(--space-4);background-color:var(--color-text);color:var(--color-surface);font-family:var(--font-sans);font-size:var(--font-size-body-s);font-weight:var(--font-weight-medium);border:1px solid var(--color-text);border-radius:var(--radius-default);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn-primary:hover{background-color:#2b2b27;border-color:#2b2b27}.btn-primary:active{opacity:.9}.btn-primary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-secondary{height:40px;padding:0 var(--space-4);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-body-s);font-weight:var(--font-weight-medium);border:var(--border-subtle);border-radius:var(--radius-default);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);background-color:#0000;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.btn-secondary:hover{background-color:var(--color-surface);border-color:var(--color-border-strong)}.btn-secondary:active{background-color:#11110f0d}.btn-secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.link-subtle{color:var(--color-text-secondary);transition:color var(--transition-fast);text-decoration:none}.link-subtle:hover{color:var(--color-text)}.link-accent{color:var(--color-accent);transition:opacity var(--transition-fast);text-decoration:none}.link-accent:hover{text-underline-offset:3px;text-decoration:underline}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;font-size:16px}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-body-m);line-height:var(--line-height-body-m);font-weight:var(--font-weight-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}#main-content:focus{outline:none}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}ul[role=list],ol[role=list]{list-style:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
