@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Medium.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2)format("woff2-variations"),url(/fonts/InterVariable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/InterVariable-Italic.woff2)format("woff2-variations"),url(/fonts/InterVariable-Italic.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Regular.woff2)format("woff2"),url(/fonts/GeneralSans-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Italic.woff2)format("woff2"),url(/fonts/GeneralSans-Italic.woff)format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Medium.woff2)format("woff2"),url(/fonts/GeneralSans-Medium.woff)format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-MediumItalic.woff2)format("woff2"),url(/fonts/GeneralSans-MediumItalic.woff)format("woff");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Semibold.woff2)format("woff2"),url(/fonts/GeneralSans-Semibold.woff)format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-SemiboldItalic.woff2)format("woff2"),url(/fonts/GeneralSans-SemiboldItalic.woff)format("woff");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Bold.woff2)format("woff2"),url(/fonts/GeneralSans-Bold.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Light.woff2)format("woff2"),url(/fonts/GeneralSans-Light.woff)format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:General Sans;src:url(/fonts/GeneralSans-Extralight.woff2)format("woff2"),url(/fonts/GeneralSans-Extralight.woff)format("woff");font-weight:200;font-style:normal;font-display:swap}:root{--color-black:#000;--color-ink:#0a0a0a;--color-graphite:#171717;--color-charcoal:#262626;--color-stone:#525252;--color-slate:#737373;--color-mist:#a3a3a0;--color-cloud:#d4d4d1;--color-linen:#e5e5e2;--color-paper:#f0f0ec;--color-bone:#fafaf7;--color-white:#fff;--accent-success-light:#4f7059;--accent-success-dark:#86a990;--accent-warning-light:#9a7a3d;--accent-warning-dark:#c7a769;--accent-danger-light:#9b5050;--accent-danger-dark:#c68585;--accent-info-light:#4f6f8f;--accent-info-dark:#8aa8c7;--accent-sage-light:#7aa38a;--accent-sage-dark:#5a8a6e}:root,[data-theme=light]{--bg-base:#fafaf7;--bg-elevated:#fff;--bg-subtle:#f0f0ec;--bg-inverse:#0a0a0a;--text-primary:#0a0a0a;--text-secondary:#525252;--text-tertiary:#737373;--text-disabled:#a3a3a0;--text-inverse:#fafaf7;--border-subtle:#e5e5e2;--border-default:#d4d4d1;--border-strong:#a3a3a0;--action-primary:#0a0a0a;--action-primary-hover:#262626;--action-primary-active:#525252;--action-on-primary:#fafaf7;--focus-ring:#0a0a0a;--focus-offset:#fafaf7;--state-success:#4f7059;--state-warning:#9a7a3d;--state-danger:#9b5050;--state-info:#4f6f8f;--state-success-bg:#4f70591a;--state-warning-bg:#9a7a3d1a;--state-danger-bg:#9b50501a;--state-info-bg:#4f6f8f1a;--shadow-xs:0 1px 2px #0a0a0a0a;--shadow-sm:0 2px 4px #0a0a0a0a, 0 1px 2px #0a0a0a0f;--shadow-md:0 4px 12px #0a0a0a0f, 0 2px 4px #0a0a0a0a;--shadow-lg:0 12px 24px #0a0a0a14, 0 4px 8px #0a0a0a0a;--shadow-xl:0 24px 48px #0a0a0a1a, 0 8px 16px #0a0a0a0a}[data-theme=dark]{--bg-base:#0a0a0a;--bg-elevated:#171717;--bg-subtle:#262626;--bg-inverse:#fafaf7;--text-primary:#fafaf7;--text-secondary:#d4d4d1;--text-tertiary:#a3a3a0;--text-disabled:#525252;--text-inverse:#0a0a0a;--border-subtle:#262626;--border-default:#404040;--border-strong:#737373;--action-primary:#fafaf7;--action-primary-hover:#fff;--action-primary-active:#e5e5e2;--action-on-primary:#0a0a0a;--focus-ring:#fafaf7;--focus-offset:#0a0a0a;--state-success:#86a990;--state-warning:#c7a769;--state-danger:#c68585;--state-info:#8aa8c7;--shadow-xs:0 1px 2px #0006;--shadow-sm:0 2px 4px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 12px #00000080, 0 2px 4px #0000004d;--shadow-lg:0 12px 24px #0009, 0 4px 8px #0000004d;--shadow-xl:0 24px 48px #000000b3, 0 8px 16px #0006}:root{--font-display:"General Sans", "Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", "DM Mono", ui-monospace, monospace;--fs-display-2xl:72px;--lh-display-2xl:80px;--fs-display-xl:60px;--lh-display-xl:68px;--fs-display-l:48px;--lh-display-l:56px;--fs-h1:36px;--lh-h1:44px;--fs-h2:28px;--lh-h2:36px;--fs-h3:22px;--lh-h3:30px;--fs-h4:18px;--lh-h4:26px;--fs-body-l:18px;--lh-body-l:28px;--fs-body-m:16px;--lh-body-m:26px;--fs-body-s:14px;--lh-body-s:22px;--fs-caption:13px;--lh-caption:20px;--fs-label:12px;--lh-label:16px;--fs-mono-m:14px;--lh-mono-m:22px;--fs-mono-s:12px;--lh-mono-s:18px;--fw-regular:400;--fw-medium:500;--fw-semibold:600}.t-display-2xl{font-family:var(--font-display);font-size:var(--fs-display-2xl);line-height:var(--lh-display-2xl);letter-spacing:-.02em;font-weight:600}.t-display-xl{font-family:var(--font-display);font-size:var(--fs-display-xl);line-height:var(--lh-display-xl);letter-spacing:-.02em;font-weight:600}.t-display-l{font-family:var(--font-display);font-size:var(--fs-display-l);line-height:var(--lh-display-l);letter-spacing:-.015em;font-weight:600}.t-h1{font-family:var(--font-display);font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:-.01em;font-weight:600}.t-h2{font-family:var(--font-display);font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:-.01em;font-weight:600}.t-h3{font-family:var(--font-display);font-size:var(--fs-h3);line-height:var(--lh-h3);letter-spacing:-.005em;font-weight:600}.t-h4{font-family:var(--font-display);font-size:var(--fs-h4);line-height:var(--lh-h4);font-weight:600}.t-body-l{font-family:var(--font-body);font-size:var(--fs-body-l);line-height:var(--lh-body-l);font-weight:400}.t-body-m{font-family:var(--font-body);font-size:var(--fs-body-m);line-height:var(--lh-body-m);font-weight:400}.t-body-s{font-family:var(--font-body);font-size:var(--fs-body-s);line-height:var(--lh-body-s);font-weight:400}.t-caption{font-family:var(--font-body);font-size:var(--fs-caption);line-height:var(--lh-caption);letter-spacing:.005em;font-weight:500}.t-label{font-family:var(--font-body);font-size:var(--fs-label);line-height:var(--lh-label);letter-spacing:.04em;text-transform:uppercase;font-weight:500}.t-mono-m{font-family:var(--font-mono);font-size:var(--fs-mono-m);line-height:var(--lh-mono-m);font-feature-settings:"tnum";font-weight:400}.t-mono-s{font-family:var(--font-mono);font-size:var(--fs-mono-s);line-height:var(--lh-mono-s);font-feature-settings:"tnum";font-weight:400}@extend .t-h1;@extend .t-h2;@extend .t-body-m;.dd-prose p{max-width:70ch}:root{--space-0:0;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:40px;--space-10:48px;--space-11:64px;--space-12:80px;--space-13:96px;--space-14:128px;--space-15:160px;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-decelerate:cubic-bezier(0, 0, .2, 1);--ease-accelerate:cubic-bezier(.4, 0, 1, 1);--ease-soft-spring:cubic-bezier(.25, .46, .45, .94);--duration-instant:.1s;--duration-fast:.15s;--duration-base:.25s;--duration-slow:.4s;--duration-slower:.6s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}html,body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);font-size:var(--fs-body-m);line-height:var(--lh-body-m);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-xs)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-body);transition:background-color .25s var(--ease-standard), color .25s var(--ease-standard)}::selection{background:var(--text-primary);color:var(--bg-base)}.skip{background:var(--text-primary);color:var(--bg-base);border-radius:var(--radius-sm);z-index:1000;padding:10px 16px;font-size:14px;position:absolute;top:0;left:-9999px}.skip:focus{top:16px;left:16px}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%;display:block}[data-density=comfortable]{--pad-section:96px;--pad-section-lg:128px}[data-density=spacious]{--pad-section:128px;--pad-section-lg:160px}.container{max-width:1200px;margin:0 auto;padding:0 32px}@media (width<=640px){.container{padding:0 20px}}.container-narrow{max-width:720px;margin:0 auto;padding:0 32px}.container-wide{max-width:1320px;margin:0 auto;padding:0 32px}@media (width<=640px){.container-wide{padding:0 20px}}.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:12px;font-weight:500}.rule{background:var(--border-subtle);border:0;width:100%;height:1px}.btn{font-family:var(--font-body);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s var(--ease-standard), color .15s var(--ease-standard), border-color .15s var(--ease-standard), transform .1s var(--ease-standard);white-space:nowrap;border:0;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:15px;font-weight:500;display:inline-flex}.btn:active{transform:scale(.985)}.btn-primary{background:var(--action-primary);color:var(--action-on-primary)}.btn-primary:hover{background:var(--action-primary-hover)}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-default);background:0 0}.btn-secondary:hover{background:var(--bg-subtle)}.btn-ghost{color:var(--text-primary);background:0 0;padding:10px 14px}.btn-ghost:hover{background:var(--bg-subtle)}.btn-sm{border-radius:var(--radius-sm);padding:9px 14px;font-size:14px}.card{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:transform .25s var(--ease-standard), box-shadow .25s var(--ease-standard), border-color .25s var(--ease-standard);padding:28px}.card.interactive{cursor:pointer}.card.interactive:hover{box-shadow:var(--shadow-sm);border-color:var(--border-default);transform:translateY(-2px)}.link-arrow{font-family:var(--font-body);color:var(--text-primary);cursor:pointer;transition:color .15s var(--ease-standard), gap .2s var(--ease-standard);align-items:center;gap:6px;font-size:15px;font-weight:500;display:inline-flex}.link-arrow:hover{gap:10px}.link-arrow:after{content:"→";font-family:var(--font-mono);transition:transform .2s var(--ease-standard)}.chip{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-subtle);border-radius:var(--radius-full);letter-spacing:.02em;align-items:center;padding:6px 12px;font-size:12px;font-weight:500;display:inline-flex}.chip-outline{border:1px solid var(--border-subtle);background:0 0}.field{flex-direction:column;gap:10px;display:flex}.field label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:500}.field label .req{color:var(--text-secondary);opacity:.7;margin-left:4px}.field input,.field textarea,.field select{font-family:var(--font-body);background:var(--bg-base);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);transition:border-color .15s var(--ease-standard), box-shadow .15s var(--ease-standard), background-color .15s var(--ease-standard);resize:vertical;appearance:none;width:100%;padding:14px 16px;font-size:16px;line-height:1.4}.field input::placeholder,.field textarea::placeholder{color:var(--text-tertiary);opacity:.7}.field textarea{min-height:140px;line-height:1.55}.field input:hover,.field textarea:hover,.field select:hover{border-color:var(--border-default);background:var(--bg-elevated)}.field input:focus,.field textarea:focus,.field select:focus{background:var(--bg-elevated);border-color:var(--text-primary);box-shadow:0 0 0 4px var(--focus-ring,#0a0a0a14);outline:none}[data-theme=dark] .field input:focus,[data-theme=dark] .field textarea:focus,[data-theme=dark] .field select:focus{box-shadow:0 0 0 4px #fafaf71a}.field input:disabled,.field textarea:disabled,.field select:disabled{opacity:.55;cursor:not-allowed}.field select{color:var(--text-primary);background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 22px),calc(100% - 16px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:44px}.field .helper{color:var(--text-tertiary);font-size:13px;line-height:1.5}.field .error-msg{font-family:var(--font-mono);color:var(--danger,#b0524a);letter-spacing:.02em;font-size:12px}.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--danger,#b0524a)}.cursor{vertical-align:-.08em;background:currentColor;width:.5em;height:.95em;margin-left:.08em;animation:1.1s steps(2,start) infinite blink;display:inline-block}@keyframes blink{to{visibility:hidden}}.watermark{pointer-events:none;-webkit-user-select:none;user-select:none;font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-primary);opacity:.04;white-space:nowrap;font-size:clamp(180px,28vw,360px);font-weight:600;line-height:.85;position:absolute}.dotted{background-image:radial-gradient(var(--border-subtle) 1px, transparent 1px);background-size:16px 16px}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .6s var(--ease-decelerate) both}.hairline{background:var(--border-subtle);height:1px;margin:0}.tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);align-items:center;gap:8px;font-size:11px;font-weight:500;display:inline-flex}.tag-dot{background:var(--text-tertiary);border-radius:50%;width:6px;height:6px}.tag.sage .tag-dot{background:var(--accent-sage-light)}.page-enter{animation:pageFade .25s var(--ease-decelerate) both}@keyframes pageFade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (width<=720px){.hide-mobile{display:none!important}}.show-mobile{display:none!important}@media (width<=720px){.show-mobile{display:flex!important}}.footer-link{color:var(--text-secondary);transition:color .15s var(--ease-standard);align-items:center;gap:6px;font-size:15px;display:inline-flex}.footer-link:hover{color:var(--text-primary)}.nav-link{color:var(--text-secondary);border-radius:var(--radius-sm);transition:color .15s var(--ease-standard), background .15s var(--ease-standard);padding:8px 12px;font-size:14px;font-weight:500}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.flex{display:flex}.col{flex-direction:column}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.gap-32{gap:32px}.gap-48{gap:48px}.wrap{flex-wrap:wrap}.center{justify-content:center;align-items:center}.between{justify-content:space-between;align-items:center}.mono{font-family:var(--font-mono)}.mono-s{font-family:var(--font-mono);letter-spacing:.04em;font-size:12px}
