@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600&family=Instrument+Serif:ital@0;1&display=swap";:root{--color-bg: rgb(10, 11, 9);--color-surface-1: rgb(17, 19, 16);--color-surface-2: rgb(26, 30, 26);--color-pale: rgb(232, 224, 208);--color-muted: rgb(122, 128, 118);--color-teal: rgb(20, 168, 158);--color-teal-dim: rgb(14, 124, 123);--color-teal-glow: rgba(20, 168, 158, .18);--color-orange: rgb(242, 100, 25);--color-orange-dim: rgb(196, 78, 16);--color-orange-glow: rgba(242, 100, 25, .18);--color-border: rgba(232, 224, 208, .08);--color-border-strong: rgba(232, 224, 208, .16);--background: var(--color-bg);--foreground: var(--color-pale);--card: var(--color-surface-1);--card-foreground: var(--color-pale);--secondary: var(--color-surface-2);--secondary-foreground: var(--color-pale);--primary: var(--color-teal);--primary-foreground: var(--color-bg);--accent: var(--color-pale);--accent-foreground: var(--color-bg);--muted-foreground: var(--color-muted);--border: var(--color-border);--ring: var(--color-teal);--success: var(--color-teal);--warning: var(--color-orange);--danger: var(--color-orange-dim)}:root{--font-display: "Instrument Serif", ui-serif, Georgia, "Times New Roman", serif;--font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "DM Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-display: 112px;--text-h1: 64px;--text-h2: 44px;--text-h3: 28px;--text-lead: 20px;--text-body: 15px;--text-sm: 14px;--text-label: 12px;--text-mono: 13px;--text-mono-sm: 12px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--leading-display: 1.04;--leading-tight: 1.2;--leading-body: 1.62;--tracking-display: -.01em;--tracking-label: .06em;--tracking-tight: -.005em}:root{--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--radius-sm: 4px;--radius-default: 6px;--radius-lg: 12px;--radius-full: 999px;--hairline: inset 0 0 0 1px var(--color-border);--hairline-focus: inset 0 0 0 1.5px var(--color-ring);--glow-teal: 0 0 0 1px var(--color-teal-glow), 0 8px 40px -12px var(--color-teal-glow);--glow-orange: 0 0 0 1px var(--color-orange-glow), 0 8px 40px -12px var(--color-orange-glow);--shadow-card: 0 1px 2px rgba(0,0,0,.4), inset 0 0 0 1px var(--color-border);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-base: .2s;--dur-slow: .36s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{font-family:var(--font-display);font-weight:var(--weight-regular);letter-spacing:var(--tracking-display);line-height:var(--leading-display);color:var(--foreground);margin:0}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3);line-height:var(--leading-tight)}p{margin:0;text-wrap:pretty}a{color:var(--color-teal-dim);text-decoration:underline;text-underline-offset:2px}a:hover{color:var(--color-teal)}code,pre,kbd{font-family:var(--font-mono);font-size:var(--text-mono)}::selection{background:var(--color-teal-glow);color:var(--color-pale)}.eyebrow{font-family:var(--font-sans);font-weight:var(--weight-medium);font-size:var(--text-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-teal-dim)}@media (max-width: 640px){.r-sx{padding-left:18px!important;padding-right:18px!important}}.r-grid-stats{grid-template-columns:repeat(4,1fr)}@media (max-width: 600px){.r-grid-stats{grid-template-columns:repeat(2,1fr)}}.r-grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 900px){.r-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.r-grid-3{grid-template-columns:1fr}}.r-grid-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 720px){.r-grid-2{grid-template-columns:1fr}}.r-grid-contact{grid-template-columns:repeat(4,1fr)}@media (max-width: 640px){.r-grid-contact{grid-template-columns:repeat(2,1fr)}}.r-about-intro{grid-template-columns:1.15fr .85fr}@media (max-width: 860px){.r-about-intro{grid-template-columns:1fr;gap:36px!important}}.r-flagship{grid-template-columns:1.3fr 1fr}@media (max-width: 760px){.r-flagship{grid-template-columns:1fr}.r-flagship-side{box-shadow:inset 0 1px 0 0 var(--color-border)!important}}.r-pub{grid-template-columns:132px 1fr auto}@media (max-width: 600px){.r-pub{grid-template-columns:1fr;gap:14px!important}}.r-timeline{grid-template-columns:160px 1fr}@media (max-width: 600px){.r-timeline{grid-template-columns:80px 1fr;gap:14px!important}}.r-blog-row{display:flex;align-items:center;gap:24px}@media (max-width: 720px){.r-blog-row{flex-direction:column;align-items:stretch;gap:16px}.r-blog-row .r-blog-img{width:100%!important;height:180px!important}.r-blog-actions{flex-direction:row!important}}.r-nav-toggle,.r-nav-menu{display:none}@media (max-width: 600px){.r-nav{padding-left:16px!important;padding-right:16px!important}.r-nav-links{display:none!important}.r-nav-toggle{display:inline-flex!important}.r-nav-menu{display:block}.r-brand{font-size:20px!important}}html{scroll-behavior:smooth}body{margin:0;background:var(--background);overflow-x:hidden}#root{min-height:100vh}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--color-surface-2);border-radius:999px;border:3px solid var(--color-bg)}@keyframes heroUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes pageIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes drawerIn{0%{transform:translate(440px)}to{transform:translate(0)}}@keyframes msgIn{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@keyframes pulseDot{0%,to{transform:scale(1);opacity:.55}50%{transform:scale(1.5);opacity:1}}@keyframes scrollNudge{0%,to{transform:translateY(0);opacity:.5}50%{transform:translateY(5px);opacity:1}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-delay:0ms!important;transition-duration:.001ms!important}}
