:root{--page-bg: #ffffff;--surface: #ffffff;--surface-muted: rgba(0, 0, 0, .02);--ink: #0a0a0a;--text-muted: rgba(0, 0, 0, .62);--text-soft: rgba(0, 0, 0, .45);--line: rgba(0, 0, 0, .12);--line-strong: rgba(0, 0, 0, .18);--wash: rgba(0, 0, 0, .05);--wash-strong: rgba(0, 0, 0, .07);--success: #0f766e;--success-soft: rgba(15, 118, 110, .1);--danger: #b42318;--danger-soft: rgba(180, 35, 24, .1);--shadow: 0 40px 80px rgba(0, 0, 0, .08);--shadow-ring: 0 0 0 1px rgba(0, 0, 0, .06);--container: 1200px;color-scheme:light;font-family:var(--font-geist),"Inter",ui-sans-serif,system-ui,sans-serif}:root{--resize-dur: .3s;--resize-ease: cubic-bezier(.22, 1, .36, 1);--digit-dur: .5s;--digit-distance: 8px;--digit-stagger: 70ms;--digit-blur: 2px;--digit-ease: cubic-bezier(.34, 1.45, .64, 1);--digit-dir-x: 0;--digit-dir-y: 1;--badge-slide-dur: .26s;--badge-pop-dur: .5s;--badge-pop-close-dur: .18s;--badge-fade-dur: .4s;--badge-fade-close-dur: .18s;--badge-blur: 2px;--badge-offset-x: -8.2px;--badge-offset-y: 12.4px;--badge-slide-ease: cubic-bezier(.22, 1, .36, 1);--badge-pop-ease: cubic-bezier(.34, 1.36, .64, 1);--badge-close-ease: cubic-bezier(.4, 0, .2, 1);--text-swap-dur: .15s;--text-swap-translate-y: 4px;--text-swap-blur: 2px;--text-swap-ease: ease-in-out;--dropdown-open-dur: .25s;--dropdown-close-dur: .15s;--dropdown-pre-scale: .97;--dropdown-closing-scale: .99;--dropdown-ease: cubic-bezier(.22, 1, .36, 1);--panel-open-dur: .4s;--panel-close-dur: .35s;--panel-translate-y: 100px;--panel-blur: 2px;--panel-ease: cubic-bezier(.22, 1, .36, 1);--page-slide-dur: .2s;--page-fade-dur: .2s;--page-slide-distance: 8px;--page-blur: 3px;--page-stagger: 0ms;--page-exit-enabled: 1;--page-slide-ease: cubic-bezier(.22, 1, .36, 1);--page-fade-ease: cubic-bezier(.22, 1, .36, 1);--icon-swap-dur: .2s;--icon-swap-blur: 2px;--icon-swap-start-scale: .25;--icon-swap-ease: ease-in-out;--check-opacity-dur: .55s;--check-rotate-dur: .55s;--check-rotate-from: 80deg;--check-bob-dur: .45s;--check-y-amount: 40px;--check-blur-dur: .5s;--check-blur-from: 10px;--check-path-dur: .55s;--check-path-delay: 80ms;--check-ease-out: cubic-bezier(.22, 1, .36, 1);--check-ease-opacity: cubic-bezier(.22, 1, .36, 1);--check-ease-rotate: cubic-bezier(.22, 1, .36, 1);--check-ease-bob: cubic-bezier(.34, 1.35, .64, 1);--check-ease-path: cubic-bezier(.22, 1, .36, 1);--avatar-lift: -4px;--avatar-dur: .32s;--avatar-scale: 1.05;--avatar-falloff: .45;--avatar-ease-in: cubic-bezier(.22, 1, .36, 1);--avatar-ease-out: cubic-bezier(.34, 3.85, .64, 1)}:root{--duration-exit: .15s;--duration-enter: .21s;--duration-move: .4s}@view-transition{navigation:auto}@keyframes fade{0%{filter:blur(3px);opacity:0}to{filter:blur(0);opacity:1}}@keyframes slide{0%{translate:var(--slide-offset)}to{translate:0}}@keyframes slide-y{0%{transform:translateY(var(--slide-y-offset, 10px))}to{transform:translateY(0)}}::view-transition-old(.fade-out){animation:var(--duration-exit) ease-in fade reverse}::view-transition-new(.fade-in){animation:var(--duration-enter) ease-out var(--duration-exit) both fade}::view-transition-old(.slide-down){animation:var(--duration-exit) ease-out both fade reverse,var(--duration-exit) ease-out both slide-y reverse}::view-transition-new(.slide-up){animation:var(--duration-enter) ease-in var(--duration-exit) both fade,var(--duration-move) ease-in both slide-y}::view-transition-new(.slide-from-right){--slide-offset: 60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-old(.slide-to-left){--slide-offset: -60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-new(.slide-from-left){--slide-offset: -60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-old(.slide-to-right){--slide-offset: 60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-old(.nav-forward){--slide-offset: -60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-new(.nav-forward){--slide-offset: 60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-old(.nav-back){--slide-offset: 60px;animation:var(--duration-exit) ease-in both fade reverse,var(--duration-move) ease-in-out both slide reverse}::view-transition-new(.nav-back){--slide-offset: -60px;animation:var(--duration-enter) ease-out var(--duration-exit) both fade,var(--duration-move) ease-in-out both slide}::view-transition-group(.morph){animation-duration:var(--duration-move)}::view-transition-image-pair(.morph){animation-name:via-blur}@keyframes via-blur{30%{filter:blur(3px)}}::view-transition-group(.text-morph){animation-duration:var(--duration-move)}::view-transition-old(.text-morph){display:none}::view-transition-new(.text-morph){animation:none;object-fit:none;object-position:left top}::view-transition-old(.scale-out){animation:var(--duration-exit) ease-in scale-down}::view-transition-new(.scale-in){animation:var(--duration-enter) ease-out var(--duration-exit) both scale-up}@keyframes scale-down{0%{transform:scale(1);opacity:1}to{transform:scale(.85);opacity:0}}@keyframes scale-up{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}::view-transition-group(persistent-nav){animation:none;z-index:100}::view-transition-old(persistent-nav){display:none}::view-transition-new(persistent-nav){animation:none}@media(prefers-reduced-motion:reduce){::view-transition-old(*),::view-transition-new(*),::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}*{box-sizing:border-box}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-width:320px;background:var(--page-bg);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}pre,code{font-family:SFMono-Regular,ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace}#root,.page-shell{min-height:100vh}.page-shell{padding:18px clamp(24px,4vw,48px) 40px}.site-header,.site-footer{width:min(100%,var(--container));margin:0 auto}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0 18px;background:#ffffffeb;backdrop-filter:blur(14px)}.brand-mark{display:inline-flex;align-items:center;gap:12px;font-size:20px;font-weight:600;letter-spacing:0;line-height:1}.brand-mark-icon{width:30px;height:30px;border-radius:8px;object-fit:cover;flex:none}.site-nav,.header-actions,.footer-links{display:flex;align-items:center;gap:12px}.site-nav a,.header-actions a:not(.button),.footer-links a{color:var(--text-soft);font-size:14px;line-height:20px}.site-nav a{display:inline-flex;align-items:center;min-height:36px;padding:0 10px;border-radius:8px;transition:background .16s ease,box-shadow .16s ease,color .16s ease}.site-nav a:hover,.header-actions a:not(.button):hover,.footer-links a:hover{color:var(--ink)}.site-nav a:hover{background:var(--surface-muted)}.site-nav a[aria-current=page]{background:var(--wash);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink)}.site-nav a[aria-current=page]:hover{background:var(--wash-strong)}.header-github-link{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:transparent;color:var(--ink);transition:opacity .16s ease,transform .16s ease}.header-github-link:hover{opacity:.92;transform:translateY(-1px)}.header-github-link-icon{width:22px;height:22px}.eyebrow{margin:0;color:var(--text-soft);font-size:11px;font-weight:500;line-height:16px;letter-spacing:.02em;text-transform:uppercase}.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border-radius:8px;font-size:13px;font-weight:500;line-height:19px;transition:opacity .16s ease,transform .16s ease,box-shadow .16s ease}.button-primary{background:var(--ink);color:var(--surface);box-shadow:0 10px 20px #0000001a}.button-secondary{border:1px solid var(--line);background:var(--surface);color:var(--text-soft);box-shadow:var(--shadow-ring)}.button:hover{opacity:.92;transform:translateY(-1px)}.marketing-form-feedback{margin:0;color:var(--text-soft);font-size:13px;line-height:1.6}.marketing-form-feedback-error{color:#b42318}.marketing-form-feedback-success{color:#0f766e}.contact-input,.contact-textarea{width:100%;border:1px solid rgba(15,23,42,.18);background:#fff;color:var(--ink);outline:none}.contact-input:focus,.contact-textarea:focus{border-color:#2563eb73;box-shadow:0 0 0 4px #2563eb1f}.contact-link-button{display:inline-flex;align-items:center;min-height:32px;padding:0 2px;border:0;background:transparent;color:var(--text-soft);font-size:14px;line-height:20px;cursor:pointer;text-decoration:none}.contact-link-button:hover{color:var(--ink)}.contact-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;margin-top:72px;padding-top:32px;border-top:1px solid var(--line)}.contact-section-header{max-width:520px}.contact-section h2{margin:0;color:var(--ink);font-size:clamp(2rem,4vw,3rem);font-weight:600;letter-spacing:0;line-height:1.02}.contact-section-copy{margin:18px 0 0;color:var(--text-muted);font-size:16px;line-height:1.65}.contact-form{display:grid;gap:18px}.contact-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.contact-field{display:grid;gap:8px}.contact-label{color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.contact-input,.contact-textarea{min-height:48px;padding:0 14px;border-radius:8px;box-shadow:inset 0 1px #ffffff4d;color:var(--ink);font-size:15px;line-height:1.5}.contact-textarea{min-height:152px;padding-top:14px;padding-bottom:14px;resize:vertical}.contact-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:6px}.contact-feedback{margin:0}.contact-submit{min-width:152px;min-height:44px;border-radius:10px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:72px;padding-top:24px;border-top:1px solid var(--line)}.contact-section+.site-footer{margin-top:32px}.site-footer p{margin:0;color:var(--text-soft);font-size:14px;line-height:20px}@media(max-width:1100px){.page-shell{padding-inline:32px}}@media(max-width:860px){.site-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;row-gap:12px;padding-top:12px;padding-bottom:14px}.brand-mark{grid-column:1;grid-row:1;gap:10px;font-size:20px}.brand-mark-icon{width:32px;height:32px;border-radius:8px}.page-shell{padding-inline:24px}.contact-section{grid-template-columns:1fr;gap:24px;margin-top:56px}.site-footer{flex-direction:column;align-items:flex-start}.site-nav{grid-column:1 / -1;grid-row:2;flex-wrap:wrap;gap:16px}.header-actions{grid-column:2;grid-row:1;justify-self:end}}@media(max-width:640px){.page-shell{padding:14px 16px 28px}.site-header{row-gap:10px;padding-bottom:16px}.contact-field-grid,.contact-actions{grid-template-columns:1fr}.contact-submit{width:100%}}@media(min-width:1440px){.page-shell{padding-inline:64px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
