:root{--color-bg: oklch(97.5% .008 75);--color-bg-alt: oklch(94.5% .012 75);--color-bg-dark: oklch(15% .01 75);--color-bg-elevated: oklch(97.5% .008 75 / .9);--color-bg-overlay: oklch(97.5% .008 75 / .35);--color-bg-overlay-strong: oklch(97.5% .008 75 / .92);--color-surface-soft: oklch(97% .01 75);--color-text: oklch(18% .01 75);--color-text-muted: oklch(48% .02 75);--color-text-on-dark-muted: oklch(97.5% .008 75 / .72);--color-accent: oklch(55% .18 28);--color-accent-hover: oklch(48% .18 28);--color-border: oklch(88% .015 75);--color-border-dark: oklch(25% .01 75);--font-display: "DM Serif Display", Georgia, "Times New Roman", serif;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--text-xs: clamp(.75rem, .7rem + .25vw, .8125rem);--text-sm: clamp(.8125rem, .75rem + .3vw, .9375rem);--text-base: clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg: clamp(1.125rem, 1rem + .6vw, 1.375rem);--text-xl: clamp(1.25rem, 1.1rem + .75vw, 1.625rem);--text-2xl: clamp(1.5rem, 1.2rem + 1.5vw, 2.25rem);--text-3xl: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);--text-4xl: clamp(2.5rem, 1.75rem + 4vw, 5rem);--text-5xl: clamp(3rem, 2rem + 5vw, 7rem);--space-3xs: clamp(.25rem, .2rem + .25vw, .375rem);--space-2xs: clamp(.5rem, .4rem + .5vw, .75rem);--space-xs: clamp(.75rem, .6rem + .75vw, 1rem);--space-sm: clamp(1rem, .8rem + 1vw, 1.5rem);--space-md: clamp(1.5rem, 1.2rem + 1.5vw, 2.5rem);--space-lg: clamp(2.5rem, 2rem + 2.5vw, 4rem);--space-xl: clamp(4rem, 3rem + 5vw, 8rem);--space-2xl: clamp(6rem, 4rem + 10vw, 14rem);--max-width: 1440px;--content-width: 1200px;--narrow-width: 720px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--duration-slower: .8s;--shadow-sm: 0 1px 2px oklch(0% 0 0 / .04);--shadow-md: 0 4px 12px oklch(0% 0 0 / .06);--shadow-lg: 0 12px 40px oklch(0% 0 0 / .08);--focus-ring: 0 0 0 3px color-mix(in oklab, var(--color-accent) 30%, transparent)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}::selection{background:var(--color-accent);color:var(--color-bg)}img,video,svg{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul,ol{list-style:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;line-height:1.1;letter-spacing:-.025em}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}p{max-width:65ch}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding-inline:var(--space-md)}.container--narrow{max-width:var(--narrow-width)}.section{padding-block:var(--space-xl)}.section--alt{background:var(--color-bg-alt)}.section--dark{background:var(--color-bg-dark);color:var(--color-bg)}.link{position:relative;display:inline-block}.link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:currentColor;transition:width var(--duration-normal) var(--ease-out-expo)}.link:hover:after{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;padding:1em 2em;font-size:var(--text-sm);font-weight:600;letter-spacing:.01em;border-radius:2px;transition:transform var(--duration-normal) var(--ease-out-expo),background-color var(--duration-normal) var(--ease-out-expo),color var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo)}.btn--primary{background:var(--color-accent);color:var(--color-bg)}.btn--primary:hover{background:var(--color-accent-hover);transform:translateY(-2px)}.btn--secondary{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn--secondary:hover{border-color:var(--color-text)}.btn--ghost{padding:.5em 0;background:transparent;color:var(--color-text)}.btn--ghost:hover{color:var(--color-accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid transparent;box-shadow:var(--focus-ring)}[data-animate]{opacity:0}[data-animate=fade-up]{transform:translateY(40px)}[data-animate=fade-in]{transform:translateY(0)}[data-animate=scale-in]{transform:scale(.95)}[data-animate=slide-right]{transform:translate(-40px)}[data-animate=slide-left]{transform:translate(40px)}.is-animated{opacity:1!important;transform:none!important}.split-text .char,.split-text .word{display:inline-block}.split-text .char{opacity:0;transform:translateY(100%)}.counter{font-variant-numeric:tabular-nums}@media(max-width:768px){.hide-mobile{display:none!important}}@media(min-width:769px){.hide-desktop{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}[data-animate]{opacity:1;transform:none}}
