@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap";.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.theme-toggle[data-astro-cid-l6lhmie6]{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;transition:color var(--duration-normal) var(--ease-out), background-color var(--duration-normal) var(--ease-out);-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.theme-toggle[data-astro-cid-l6lhmie6]:hover{color:var(--color-accent);background-color:var(--color-accent-subtle)}.icon[data-astro-cid-l6lhmie6]{transition:opacity var(--duration-normal) var(--ease-out), transform var(--duration-slow) var(--ease-spring);position:absolute}[data-theme=light] .icon-moon[data-astro-cid-l6lhmie6]{opacity:1;transform:rotate(0)scale(1)}[data-theme=light] .icon-sun[data-astro-cid-l6lhmie6]{opacity:0;transform:rotate(-90deg)scale(.5)}[data-theme=dark] .icon-sun[data-astro-cid-l6lhmie6]{opacity:1;transform:rotate(0)scale(1)}[data-theme=dark] .icon-moon[data-astro-cid-l6lhmie6]{opacity:0;transform:rotate(90deg)scale(.5)}.navbar[data-astro-cid-l7arcky5]{height:var(--nav-height);z-index:var(--z-nav);background:var(--color-bg-nav);-webkit-backdrop-filter:blur(20px);transition:border-color var(--duration-normal) var(--ease-out), box-shadow var(--duration-normal) var(--ease-out);border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.navbar[data-astro-cid-l7arcky5].scrolled{border-bottom-color:var(--color-border);box-shadow:0 1px 12px var(--color-shadow)}.navbar-spacer[data-astro-cid-l7arcky5]{height:var(--nav-height)}.navbar-inner[data-astro-cid-l7arcky5]{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar-logo[data-astro-cid-l7arcky5]{font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:-.03em;transition:color var(--duration-normal) var(--ease-out);font-size:1.6rem;font-weight:700;text-decoration:none}.navbar-logo[data-astro-cid-l7arcky5]:hover,.logo-dot[data-astro-cid-l7arcky5]{color:var(--color-accent)}.navbar-links[data-astro-cid-l7arcky5]{align-items:center;gap:var(--space-xs);list-style:none;display:flex}.nav-link[data-astro-cid-l7arcky5]{padding:var(--space-sm) var(--space-md);font-family:var(--font-heading);color:var(--color-text-secondary);border-radius:var(--radius-md);transition:color var(--duration-normal) var(--ease-out), background-color var(--duration-normal) var(--ease-out);font-size:.9rem;font-weight:500;text-decoration:none;display:inline-block;position:relative}.nav-link[data-astro-cid-l7arcky5]:hover{color:var(--color-text-primary);background-color:var(--color-accent-subtle)}.nav-link[data-astro-cid-l7arcky5].active{color:var(--color-accent)}.nav-link[data-astro-cid-l7arcky5].active:after{content:"";border-radius:var(--radius-full);background:var(--color-accent);width:4px;height:4px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.navbar-actions[data-astro-cid-l7arcky5]{align-items:center;gap:var(--space-xs);display:flex}.hamburger[data-astro-cid-l7arcky5]{cursor:pointer;border-radius:var(--radius-md);width:40px;height:40px;transition:background-color var(--duration-normal) var(--ease-out);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;display:none}.hamburger[data-astro-cid-l7arcky5]:hover{background-color:var(--color-accent-subtle)}.hamburger-line[data-astro-cid-l7arcky5]{background:var(--color-text-secondary);width:18px;height:2px;transition:transform var(--duration-normal) var(--ease-out), opacity var(--duration-normal) var(--ease-out);border-radius:2px;display:block}.hamburger[data-astro-cid-l7arcky5][aria-expanded=true] .hamburger-line[data-astro-cid-l7arcky5]:first-child{transform:translateY(7px)rotate(45deg)}.hamburger[data-astro-cid-l7arcky5][aria-expanded=true] .hamburger-line[data-astro-cid-l7arcky5]:nth-child(2){opacity:0}.hamburger[data-astro-cid-l7arcky5][aria-expanded=true] .hamburger-line[data-astro-cid-l7arcky5]:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-menu[data-astro-cid-l7arcky5]{inset:0;top:var(--nav-height);z-index:var(--z-overlay);background:var(--color-bg-primary);opacity:0;visibility:hidden;transition:opacity var(--duration-normal) var(--ease-out), visibility var(--duration-normal) var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed}.mobile-menu[data-astro-cid-l7arcky5].open{opacity:1;visibility:visible}.mobile-links[data-astro-cid-l7arcky5]{text-align:center;gap:var(--space-lg);flex-direction:column;list-style:none;display:flex}.mobile-links[data-astro-cid-l7arcky5] li[data-astro-cid-l7arcky5]{opacity:0;transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);transition-delay:var(--delay,0s);transform:translateY(16px)}.mobile-menu[data-astro-cid-l7arcky5].open .mobile-links[data-astro-cid-l7arcky5] li[data-astro-cid-l7arcky5]{opacity:1;transform:translateY(0)}.mobile-link[data-astro-cid-l7arcky5]{font-family:var(--font-heading);color:var(--color-text-secondary);letter-spacing:-.02em;transition:color var(--duration-normal) var(--ease-out);font-size:clamp(1.75rem,5vw,2.5rem);font-weight:600;text-decoration:none}.mobile-link[data-astro-cid-l7arcky5]:hover,.mobile-link[data-astro-cid-l7arcky5].active{color:var(--color-accent)}@media (width<=768px){.navbar-links[data-astro-cid-l7arcky5]{display:none}.hamburger[data-astro-cid-l7arcky5]{display:flex}}.social-links[data-astro-cid-y2qsmizv]{align-items:center;gap:var(--space-sm);display:flex}.social-links--sm[data-astro-cid-y2qsmizv]{gap:var(--space-xs)}.social-links--lg[data-astro-cid-y2qsmizv]{gap:var(--space-md)}.social-link[data-astro-cid-y2qsmizv]{padding:var(--space-sm);border-radius:var(--radius-md);color:var(--color-text-secondary);transition:color var(--duration-normal) var(--ease-out), background-color var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.social-link[data-astro-cid-y2qsmizv]:hover{color:var(--color-accent);background-color:var(--color-accent-subtle);transform:translateY(-2px)}.social-link[data-astro-cid-y2qsmizv]:active{transform:translateY(0)}.social-link[data-astro-cid-y2qsmizv] svg[data-astro-cid-y2qsmizv]{flex-shrink:0;display:block}.footer[data-astro-cid-jo6i4kqk]{border-top:1px solid var(--color-border);padding:var(--space-xl) 0}.footer-inner[data-astro-cid-jo6i4kqk]{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.footer-copy[data-astro-cid-jo6i4kqk]{color:var(--color-text-muted);font-size:.875rem}@media (width<=480px){.footer-inner[data-astro-cid-jo6i4kqk]{text-align:center;gap:var(--space-md);flex-direction:column}}:root{--font-heading:"Space Grotesk", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration-normal:.3s;--duration-slow:.5s;--duration-slower:.8s;--max-width:1200px;--nav-height:72px;--z-nav:100;--z-overlay:200;--z-modal:300}[data-theme=light]{--color-bg-primary:#f5f2ed;--color-bg-secondary:#eae6df;--color-bg-tertiary:#ddd8d0;--color-bg-card:#faf8f5;--color-bg-card-hover:#fff;--color-bg-nav:#f5f2edd9;--color-text-primary:#1a1e1c;--color-text-secondary:#4a5249;--color-text-tertiary:#6b736a;--color-text-muted:#8a918a;--color-accent:#3d6b47;--color-accent-hover:#2d5035;--color-accent-light:#e6f0e8;--color-accent-muted:#8baa7f;--color-accent-subtle:#3d6b4714;--color-border:#1a1e1c1a;--color-border-hover:#1a1e1c33;--color-shadow:#1a1e1c0f;--color-shadow-heavy:#1a1e1c1f;--color-tag-bg:#e6f0e8;--color-tag-text:#2d5035;--color-input-bg:#fff;--color-input-border:#1a1e1c26;--color-input-focus:#3d6b47;--color-success:#3d6b47;--color-error:#b54444}[data-theme=dark]{--color-bg-primary:#0a0f0d;--color-bg-secondary:#111916;--color-bg-tertiary:#1a231e;--color-bg-card:#141c18;--color-bg-card-hover:#1a241f;--color-bg-nav:#0a0f0dd9;--color-text-primary:#e8e4df;--color-text-secondary:#b5b0a9;--color-text-tertiary:#8a857e;--color-text-muted:#5e5a54;--color-accent:#8baa7f;--color-accent-hover:#a3c297;--color-accent-light:#1a2e1f;--color-accent-muted:#6b8f71;--color-accent-subtle:#8baa7f14;--color-border:#e8e4df14;--color-border-hover:#e8e4df26;--color-shadow:#0003;--color-shadow-heavy:#0006;--color-tag-bg:#1a2e1f;--color-tag-text:#8baa7f;--color-input-bg:#141c18;--color-input-border:#e8e4df1a;--color-input-focus:#8baa7f;--color-success:#8baa7f;--color-error:#d47474}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;color-scheme:light dark}body{font-family:var(--font-body);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--duration-slow) var(--ease-out), color var(--duration-slow) var(--ease-out);font-size:1rem;line-height:1.7;overflow-x:hidden}a{color:var(--color-accent);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}::selection{background:var(--color-accent);color:var(--color-bg-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-text-primary);letter-spacing:-.02em;font-weight:600;line-height:1.2}h1{font-size:clamp(2.5rem,6vw,5rem);font-weight:700}h2{font-size:clamp(1.8rem,4vw,3rem)}h3{font-size:clamp(1.3rem,2.5vw,1.75rem)}h4{font-size:1.25rem}p{color:var(--color-text-secondary);max-width:65ch}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-accent)}.font-mono{font-family:var(--font-mono)}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-xl);margin:0 auto}.section{padding:var(--space-5xl) 0}@media (width<=768px){.container{padding:0 var(--space-lg)}.section{padding:var(--space-3xl) 0}}.btn{align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);font-family:var(--font-heading);letter-spacing:-.01em;transition:all var(--duration-normal) var(--ease-out);padding:.75rem 1.75rem;font-size:.95rem;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";border-radius:inherit;opacity:0;transition:opacity var(--duration-normal) var(--ease-out);position:absolute;inset:0}.btn-primary{background:var(--color-accent);color:var(--color-bg-primary)}.btn-primary:hover{background:var(--color-accent-hover);color:var(--color-bg-primary);box-shadow:0 8px 25px var(--color-shadow-heavy);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:var(--color-text-primary);border:1.5px solid var(--color-border);background:0 0}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 8px 25px var(--color-shadow);transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.btn-icon{border-radius:var(--radius-md);color:var(--color-text-secondary);transition:all var(--duration-normal) var(--ease-out);padding:.6rem}.btn-icon:hover{color:var(--color-accent);background:var(--color-accent-subtle)}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all var(--duration-normal) var(--ease-out)}.card:hover{border-color:var(--color-border-hover);background:var(--color-bg-card-hover);box-shadow:0 12px 40px var(--color-shadow), 0 4px 12px var(--color-shadow);transform:translateY(-4px)}.tag{background:var(--color-tag-bg);color:var(--color-tag-text);border-radius:var(--radius-full);font-family:var(--font-mono);letter-spacing:-.01em;align-items:center;padding:.3rem .75rem;font-size:.8rem;font-weight:500;display:inline-flex}.reveal{opacity:0;transition:opacity var(--duration-slower) var(--ease-out), transform var(--duration-slower) var(--ease-out);transform:translateY(30px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transition:opacity var(--duration-slower) var(--ease-out), transform var(--duration-slower) var(--ease-out);transform:translate(-40px)}.reveal-left.visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transition:opacity var(--duration-slower) var(--ease-out), transform var(--duration-slower) var(--ease-out);transform:translate(40px)}.reveal-right.visible{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transition:opacity var(--duration-slower) var(--ease-out), transform var(--duration-slower) var(--ease-out);transform:scale(.92)}.reveal-scale.visible{opacity:1;transform:scale(1)}.stagger>*{opacity:0;transition:opacity var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);transform:translateY(20px)}.stagger.visible>:first-child{opacity:1;transition-delay:0s;transform:translateY(0)}.stagger.visible>:nth-child(2){opacity:1;transition-delay:80ms;transform:translateY(0)}.stagger.visible>:nth-child(3){opacity:1;transition-delay:.16s;transform:translateY(0)}.stagger.visible>:nth-child(4){opacity:1;transition-delay:.24s;transform:translateY(0)}.stagger.visible>:nth-child(5){opacity:1;transition-delay:.32s;transform:translateY(0)}.stagger.visible>:nth-child(6){opacity:1;transition-delay:.4s;transform:translateY(0)}.stagger.visible>:nth-child(7){opacity:1;transition-delay:.48s;transform:translateY(0)}.stagger.visible>:nth-child(8){opacity:1;transition-delay:.56s;transform:translateY(0)}body:after{content:"";pointer-events:none;z-index:9999;opacity:.025;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:128px 128px;position:fixed;inset:0}.section-heading{margin-bottom:var(--space-3xl)}.section-heading .eyebrow{font-family:var(--font-mono);color:var(--color-accent);margin-bottom:var(--space-sm);letter-spacing:.05em;font-size:.85rem;display:inline-block}.section-heading h2{margin-bottom:var(--space-md)}.section-heading p{color:var(--color-text-tertiary);font-size:1.1rem}.divider{background:var(--color-border);width:100%;height:1px;margin:var(--space-4xl) 0}.form-group{margin-bottom:var(--space-lg)}.form-label{font-family:var(--font-heading);color:var(--color-text-secondary);margin-bottom:var(--space-sm);font-size:.9rem;font-weight:500;display:block}.form-input,.form-textarea{background:var(--color-input-bg);border:1.5px solid var(--color-input-border);border-radius:var(--radius-md);width:100%;font-family:var(--font-body);color:var(--color-text-primary);transition:all var(--duration-normal) var(--ease-out);outline:none;padding:.85rem 1rem;font-size:1rem}.form-input:focus,.form-textarea:focus{border-color:var(--color-input-focus);box-shadow:0 0 0 3px var(--color-accent-subtle)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-textarea{resize:vertical;min-height:150px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-accent-muted);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-content{animation:fadeIn var(--duration-slow) var(--ease-out)}@media (width<=640px){h1{font-size:clamp(2rem,8vw,3rem)}}
