:root{--c-accent: #4c50e4;--c-accent-hover: #3437b8;--c-accent-tint: #e3e2fa;--c-ghost: #f4f3fb;--c-ghost-hover: #e9e7f5;--c-bg: #faf9f7;--c-surface: #fff;--c-on-accent: #fff;--c-bg-glass: rgba(250, 249, 247, .55);--c-bg-veil: rgba(250, 249, 247, .95);--c-surface-glass: rgba(255, 255, 255, .5);--c-surface-veil: rgba(255, 255, 255, .9);--c-ink: #1c1c2a;--c-body: #54546a;--c-excerpt: #6b6b80;--c-muted: #8484a0;--c-hairline: #e9e7f1;--c-on-image-soft: #f0efec;--c-danger: #b42318;--c-danger-hover: #8f1b13;--c-danger-tint: #fdecea;--ov-hero: linear-gradient(100deg, rgba(24, 22, 50, .5), rgba(24, 22, 50, .02));--ov-cover: linear-gradient(to top, rgba(20, 20, 32, .65), transparent);--ov-column: rgba(10, 10, 16, .28);--sh-card: 0 2px 10px rgba(28, 28, 42, .05);--sh-input: 0 2px 8px rgba(28, 28, 42, .05);--sh-lift: 0 8px 22px rgba(28, 28, 42, .1);--sh-accent: 0 6px 16px rgba(76, 80, 228, .35);--sh-neutral: 0 6px 16px rgba(28, 28, 42, .12);--sh-pill: 0 2px 10px rgba(28, 28, 42, .06);--sh-pill-glass: inset 0 1px 0 rgba(255, 255, 255, .6), 0 4px 16px rgba(28, 28, 42, .08);--sh-nav-glass: 0 1px 0 rgba(28, 28, 42, .06), 0 8px 24px rgba(28, 28, 42, .06);--ts-image: 0 2px 8px rgba(0, 0, 0, .55);--r-6: 6px;--r-8: 8px;--r-9: 9px;--r-10: 10px;--r-12: 12px;--r-14: 14px;--r-16: 16px;--r-20: 20px;--r-22: 22px;--w-page: 1140px;--w-home: 960px;--w-post: 1100px;--w-legal: 760px;--gutter: 32px;--inset-hero: max(56px, calc(50% - 514px) );--nav-offset: 36px;--sticky-top: 100px;--font-display: "Cormorant", Georgia, serif;--font-ui: "Karla", system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;--t-enter: .6s;--t-enter-lg: .7s;--stagger: .08s;--ease-indicator: cubic-bezier(.65, 0, .35, 1)}:root[data-theme=dark]{color-scheme:dark;--c-accent: #8d90f5;--c-accent-hover: #a9abf8;--c-accent-tint: #2a2b52;--c-ghost: #262633;--c-ghost-hover: #30303f;--c-bg: #14141c;--c-surface: #1e1e2a;--c-on-accent: #14141c;--c-bg-glass: rgba(20, 20, 28, .55);--c-bg-veil: rgba(20, 20, 28, .95);--c-surface-glass: rgba(30, 30, 42, .5);--c-surface-veil: rgba(30, 30, 42, .9);--c-ink: #f1f0f6;--c-body: #b9b9cb;--c-excerpt: #a3a3b8;--c-muted: #8a8aa4;--c-hairline: #2c2c3c;--c-danger: #f97066;--c-danger-hover: #fda29b;--c-danger-tint: #3a1a1a;--sh-card: 0 2px 10px rgba(0, 0, 0, .3);--sh-input: 0 2px 8px rgba(0, 0, 0, .3);--sh-lift: 0 8px 22px rgba(0, 0, 0, .45);--sh-accent: 0 6px 16px rgba(141, 144, 245, .3);--sh-neutral: 0 6px 16px rgba(0, 0, 0, .45);--sh-pill: 0 2px 10px rgba(0, 0, 0, .3);--sh-pill-glass: inset 0 1px 0 rgba(255, 255, 255, .08), 0 4px 16px rgba(0, 0, 0, .35);--sh-nav-glass: 0 1px 0 rgba(255, 255, 255, .05), 0 8px 24px rgba(0, 0, 0, .3)}@media(max-width:1023px){:root{--gutter: 24px}}@media(max-width:639px){:root{--gutter: 20px}}@font-face{font-family:Cormorant;font-style:italic;font-weight:500 600;font-display:swap;src:url(/fonts/cormorant-italic-variable.woff2) format("woff2")}@font-face{font-family:Karla;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/karla-variable.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;min-height:100vh;background:var(--c-bg);color:var(--c-ink);font-family:var(--font-ui)}h1,h2,h3,h4{margin:0;font-weight:inherit;font-size:inherit;text-wrap:balance}p{margin:0 0 1em;text-wrap:pretty}button,input,textarea{font:inherit;color:inherit}img{display:block;max-width:100%}a{color:var(--c-accent)}a:hover{color:var(--c-accent-hover)}:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:12px;z-index:100;transform:translateY(-150%);transition:transform .15s ease;background:var(--c-accent);color:var(--c-on-accent);padding:10px 18px;border-radius:var(--r-8);font:700 14px var(--font-ui);text-decoration:none}.skip-link:hover{color:var(--c-on-accent)}.skip-link:focus-visible{transform:translateY(0)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.js [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s ease-out,transform .7s ease-out}.js [data-reveal].is-revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important}.js [data-reveal]{opacity:1;transform:none;transition:none}}
