.logo[data-astro-cid-mfljk7je]{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--t-primary)}.logo[data-astro-cid-mfljk7je]:hover{color:var(--t-primary)}.logo-text[data-astro-cid-mfljk7je]{font-family:var(--f-ui);font-size:.875rem;font-weight:600;letter-spacing:.18em;color:var(--t-primary)}.nav[data-astro-cid-2d6zlvbr]{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);background:#1a1a1ed9;backdrop-filter:blur(12px);border-bottom:1px solid var(--b-subtle)}.nav-inner[data-astro-cid-2d6zlvbr]{display:flex;align-items:center;justify-content:space-between;height:100%}.nav-links[data-astro-cid-2d6zlvbr]{display:flex;align-items:center;gap:8px}.nav-link[data-astro-cid-2d6zlvbr],.dropdown-trigger[data-astro-cid-2d6zlvbr]{font-family:var(--f-ui);font-size:var(--fs-sm);font-weight:500;color:var(--t-muted);background:none;border:none;cursor:pointer;padding:6px 12px;border-radius:var(--r-sm);display:flex;align-items:center;gap:4px;transition:color var(--dur-micro) var(--ease-out)}.nav-link[data-astro-cid-2d6zlvbr]:hover,.dropdown-trigger[data-astro-cid-2d6zlvbr]:hover{color:var(--t-primary)}.nav-dropdown[data-astro-cid-2d6zlvbr]{position:relative}.dropdown-menu[data-astro-cid-2d6zlvbr]{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);display:grid;grid-template-columns:repeat(4,1fr);gap:4px;min-width:560px;background:var(--s-overlay);border:1px solid var(--b-default);border-radius:var(--r-md);padding:12px;box-shadow:var(--shadow-card);opacity:0;visibility:hidden;transform:translate(-50%) translateY(-4px);transition:opacity var(--dur-sm) var(--ease-out),transform var(--dur-sm) var(--ease-out-spring),visibility var(--dur-sm)}.nav-dropdown[data-astro-cid-2d6zlvbr]:hover .dropdown-menu[data-astro-cid-2d6zlvbr],.nav-dropdown[data-astro-cid-2d6zlvbr]:focus-within .dropdown-menu[data-astro-cid-2d6zlvbr]{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.dropdown-group[data-astro-cid-2d6zlvbr]{display:flex;flex-direction:column;gap:2px}.group-label[data-astro-cid-2d6zlvbr]{font-family:var(--f-ui);font-size:10px;font-weight:600;color:var(--t-ghost);text-transform:uppercase;letter-spacing:.08em;padding:4px 8px 6px}.dropdown-item[data-astro-cid-2d6zlvbr]{display:block;padding:6px 8px;font-family:var(--f-ui);font-size:13px;color:var(--t-muted);border-radius:var(--r-sm);white-space:nowrap;transition:color var(--dur-micro) var(--ease-out),background var(--dur-micro) var(--ease-out)}.dropdown-item[data-astro-cid-2d6zlvbr]:hover{color:var(--t-primary);background:var(--s-hover)}.dropdown-item[data-astro-cid-2d6zlvbr].active{color:var(--accent)}.nav-cta[data-astro-cid-2d6zlvbr]{font-family:var(--f-ui);font-size:var(--fs-sm);font-weight:600;color:var(--s-base);background:var(--accent);padding:8px 20px;border-radius:100px;transition:background var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out-spring)}.nav-cta[data-astro-cid-2d6zlvbr]:hover{background:var(--accent-hover);color:var(--s-base);transform:translateY(-1px)}.nav-cta[data-astro-cid-2d6zlvbr]:active{transform:translateY(1px) scale(.98)}.mobile-toggle[data-astro-cid-2d6zlvbr]{display:none;background:none;border:none;color:var(--t-muted);cursor:pointer;padding:4px}.mobile-menu[data-astro-cid-2d6zlvbr]{display:none}@media(max-width:639px){.nav-links[data-astro-cid-2d6zlvbr]{display:none}.nav-cta[data-astro-cid-2d6zlvbr]:not(.mobile-cta){display:none}.mobile-toggle[data-astro-cid-2d6zlvbr]{display:block}.mobile-menu[data-astro-cid-2d6zlvbr]{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:var(--s-raised);border-bottom:1px solid var(--b-subtle);padding:16px;max-height:calc(100vh - var(--nav-h));overflow-y:auto}.nav[data-astro-cid-2d6zlvbr].open .mobile-menu[data-astro-cid-2d6zlvbr]{display:block}.mobile-menu-inner[data-astro-cid-2d6zlvbr]{display:flex;flex-direction:column;gap:4px}.mobile-label[data-astro-cid-2d6zlvbr]{font-family:var(--f-ui);font-size:var(--fs-xs);font-weight:600;color:var(--t-dim);text-transform:uppercase;letter-spacing:.08em;padding:12px 12px 4px}.mobile-label[data-astro-cid-2d6zlvbr]:first-child{padding-top:4px}.mobile-link[data-astro-cid-2d6zlvbr]{font-family:var(--f-ui);font-size:var(--fs-sm);color:var(--t-muted);padding:10px 12px;border-radius:var(--r-sm)}.mobile-link[data-astro-cid-2d6zlvbr]:hover{color:var(--t-primary);background:var(--s-hover)}.mobile-link[data-astro-cid-2d6zlvbr].active{color:var(--accent)}.mobile-divider[data-astro-cid-2d6zlvbr]{height:1px;background:var(--b-subtle);margin:8px 0}.mobile-cta[data-astro-cid-2d6zlvbr]{text-align:center;margin-top:4px}}.footer[data-astro-cid-tgc5tww7]{background:var(--s-sunken);border-top:1px solid var(--b-subtle);padding:var(--sp-section) 0 var(--sp-block)}.footer-inner[data-astro-cid-tgc5tww7]{display:grid;grid-template-columns:1fr 3fr;gap:var(--sp-block)}.footer-brand[data-astro-cid-tgc5tww7]{display:flex;flex-direction:column;gap:12px}.footer-tagline[data-astro-cid-tgc5tww7]{font-size:var(--fs-sm);color:var(--t-dim);max-width:28ch}.footer-links[data-astro-cid-tgc5tww7]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-element)}.footer-col[data-astro-cid-tgc5tww7]{min-width:0}.footer-heading[data-astro-cid-tgc5tww7]{font-family:var(--f-ui);font-size:var(--fs-xs);font-weight:600;color:var(--t-dim);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px}.footer-list[data-astro-cid-tgc5tww7]{list-style:none;display:flex;flex-direction:column;gap:8px}.footer-list[data-astro-cid-tgc5tww7] a[data-astro-cid-tgc5tww7]{font-size:var(--fs-sm);color:var(--t-muted);transition:color var(--dur-micro) var(--ease-out)}.footer-list[data-astro-cid-tgc5tww7] a[data-astro-cid-tgc5tww7]:hover{color:var(--t-primary)}.footer-bottom[data-astro-cid-tgc5tww7]{margin-top:var(--sp-block);padding-top:var(--sp-element);border-top:1px solid var(--b-hairline)}.footer-meta[data-astro-cid-tgc5tww7]{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer-copy[data-astro-cid-tgc5tww7]{font-size:var(--fs-xs);color:var(--t-ghost)}.footer-utility-links[data-astro-cid-tgc5tww7]{display:flex;align-items:center;gap:16px}.footer-utility-links[data-astro-cid-tgc5tww7] a[data-astro-cid-tgc5tww7]{font-size:var(--fs-xs);color:var(--t-ghost)}.footer-utility-links[data-astro-cid-tgc5tww7] a[data-astro-cid-tgc5tww7]:hover{color:var(--t-primary)}@media(max-width:959px){.footer-inner[data-astro-cid-tgc5tww7]{grid-template-columns:1fr}.footer-links[data-astro-cid-tgc5tww7]{grid-template-columns:repeat(2,1fr)}}@media(max-width:639px){.footer-links[data-astro-cid-tgc5tww7]{grid-template-columns:1fr}}@font-face{font-family:Sora;src:url(/fonts/Sora-300.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/Sora-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/Sora-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/Sora-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Sora;src:url(/fonts/Sora-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-300.woff2) format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-500i.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Plus Jakarta Sans;src:url(/fonts/PlusJakartaSans-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:IBM Plex Mono;src:url(/fonts/IBMPlexMono-600.woff2) format("woff2");font-weight:600;font-display:swap}:root{--s-base: #1a1a1e;--s-raised: #201f24;--s-overlay: #28272d;--s-sunken: #141416;--s-hover: #2e2d34;--b-hairline: rgba(255, 255, 255, .04);--b-subtle: rgba(255, 255, 255, .07);--b-default: rgba(255, 255, 255, .11);--b-strong: rgba(255, 255, 255, .18);--t-primary: #ece8e2;--t-body: #cac5be;--t-muted: #aaa5a0;--t-dim: #8f8983;--t-ghost: #78736d;--accent: #d4885c;--accent-hover: #de9a72;--accent-text: #e8a47e;--accent-bg: rgba(212, 136, 92, .12);--accent-bg-strong: rgba(212, 136, 92, .2);--accent-border: rgba(212, 136, 92, .28);--f-ui: "Sora", system-ui, sans-serif;--f-prose: "Plus Jakarta Sans", system-ui, sans-serif;--f-mono: "IBM Plex Mono", "Cascadia Code", monospace;--fs-display: clamp(2.5rem, 5vw, 4rem);--fs-h1: clamp(1.75rem, 3vw, 2.5rem);--fs-h2: clamp(1.25rem, 2vw, 1.75rem);--fs-h3: clamp(1.125rem, 1.5vw, 1.25rem);--fs-lg: clamp(1.125rem, 1.6vw, 1.375rem);--fs-body: clamp(1rem, 1.2vw, 1.125rem);--fs-sm: .875rem;--fs-xs: .75rem;--fs-mono: .875rem;--sp-section: clamp(4rem, 8vw, 8rem);--sp-block: clamp(2rem, 4vw, 4rem);--sp-element: clamp(1rem, 2vw, 2rem);--sp-tight: .5rem;--max-w: 1200px;--max-w-narrow: 800px;--nav-h: 64px;--gutter: clamp(1.5rem, 4vw, 3rem);--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--ease-out-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-micro: .15s;--dur-sm: .2s;--dur-md: .3s;--dur-lg: .4s;--shadow-card: 0 4px 24px rgba(0, 0, 0, .3);--shadow-screenshot: 0 8px 40px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .2);--shadow-glow: 0 0 60px rgba(212, 136, 92, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{color-scheme:dark;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--f-prose);font-size:var(--fs-body);font-weight:400;line-height:1.65;color:var(--t-body);background-color:var(--s-base);min-height:100dvh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--f-ui);color:var(--t-primary);line-height:1.2;font-weight:600;text-wrap:balance}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}p{max-width:65ch;text-wrap:pretty}a{color:var(--accent-text);text-decoration:none;transition:color var(--dur-micro) var(--ease-out)}a:hover{color:var(--accent-hover)}img{display:block;max-width:100%;height:auto}::selection{background:var(--accent-bg-strong);color:var(--t-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--b-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--b-strong)}.grain{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.reveal{opacity:0;transform:translateY(24px)}.reveal.visible{animation:slide-up var(--dur-lg) var(--ease-out-spring) forwards}.reveal-left{opacity:0;transform:translate(-24px)}.reveal-left.visible{animation:slide-in-left var(--dur-lg) var(--ease-out-spring) forwards}.reveal-right{opacity:0;transform:translate(24px)}.reveal-right.visible{animation:slide-in-right var(--dur-lg) var(--ease-out-spring) forwards}.reveal-stagger.visible>:nth-child(1){animation-delay:0ms}.reveal-stagger.visible>:nth-child(2){animation-delay:80ms}.reveal-stagger.visible>:nth-child(3){animation-delay:.16s}.reveal-stagger.visible>:nth-child(4){animation-delay:.24s}.reveal-stagger.visible>:nth-child(5){animation-delay:.32s}.reveal-stagger.visible>:nth-child(6){animation-delay:.4s}.reveal-stagger.visible>:nth-child(7){animation-delay:.48s}.reveal-stagger.visible>:nth-child(8){animation-delay:.56s}.reveal-stagger.visible>:nth-child(9){animation-delay:.64s}.reveal-stagger.visible>:nth-child(10){animation-delay:.72s}.hover-lift{transition:transform var(--dur-sm) var(--ease-out-spring),box-shadow var(--dur-sm) var(--ease-out)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}@keyframes glow-pulse{0%,to{opacity:.6}50%{opacity:1}}.ai-section{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows var(--dur-lg) var(--ease-out-spring),opacity var(--dur-md) var(--ease-out)}.ai-section>.ai-inner{overflow:hidden}.ai-toggle-input:checked~.page-content .ai-section{grid-template-rows:1fr;opacity:1}.ai-section>.ai-inner>.ai-content{border-left:2px solid var(--accent);padding-left:var(--sp-element);margin-top:var(--sp-block);background:linear-gradient(90deg,var(--accent-bg) 0%,transparent 40%);border-radius:0 var(--r-md) var(--r-md) 0;padding:var(--sp-element)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}.container-narrow{max-width:var(--max-w-narrow);margin:0 auto;padding:0 var(--gutter)}.section{padding:var(--sp-section) 0}.text-accent{color:var(--accent)}.text-muted{color:var(--t-muted)}.text-dim{color:var(--t-dim)}.text-primary{color:var(--t-primary)}.font-ui{font-family:var(--f-ui)}.font-prose{font-family:var(--f-prose)}.font-mono{font-family:var(--f-mono)}
