:root{--color-primary: #6366f1;--color-primary-light: #818cf8;--color-primary-dark: #4f46e5;--color-accent: #06b6d4;--color-accent-light: #22d3ee;--gradient-start: #6366f1;--gradient-mid: #8b5cf6;--gradient-end: #06b6d4;--gradient-hero: linear-gradient(135deg, #6366f1, #8b5cf6, #a855f7);--gradient-primary: linear-gradient(135deg, var(--gradient-start), var(--gradient-mid), var(--gradient-end));--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--bg: #fafafc;--surface: #ffffff;--card: #ffffff;--border: #e5e7eb;--text: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--max-width: 1200px;--max-width-wide: 1400px;--max-width-narrow: 800px;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 48px;--space-xxxl: 64px;--space-section: 96px;color-scheme:light}:root[data-theme=dark]{--bg: #0a0a0f;--surface: #111118;--card: #16161d;--border: #2d2d3a;--text: #f9fafb;--text-secondary: #9ca3af;--text-tertiary: #6b7280;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit}[hidden]{display:none!important}.container{max-width:var(--max-width);margin:0 auto;padding:0 24px}.container-wide{max-width:var(--max-width-wide);margin:0 auto;padding:0 24px}.container-narrow{max-width:var(--max-width-narrow);margin:0 auto;padding:0 24px}section{padding:56px 0;position:relative;isolation:isolate}.section-alt{background:color-mix(in srgb,var(--surface) 60%,transparent)}.section-alt[data-bg]{background:none}@media(max-width:640px){section{padding:40px 0}.container,.container-wide,.container-narrow{padding:0 20px}}h1,h2,h3,h4{font-weight:800;line-height:1.15;margin:0}.gradient-text{background:var(--gradient-hero);-webkit-background-clip:text;background-clip:text;color:transparent}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border-radius:999px;background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);font-weight:600;font-size:.875rem;letter-spacing:.02em}.section-header{text-align:center;max-width:640px;margin:0 auto 36px}.section-header h2{font-size:clamp(1.75rem,4vw,2.5rem);margin:16px 0}.section-header p{color:var(--text-secondary);font-size:1.05rem}.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;border-radius:var(--radius-md);font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 8px 24px color-mix(in srgb,var(--color-primary) 35%,transparent)}.btn-outline{background:var(--surface);color:var(--text);border:1.5px solid color-mix(in srgb,var(--text) 24%,transparent);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),border-color .2s ease,color .2s ease,background .2s ease,box-shadow .25s ease}.btn-outline:hover{color:var(--color-primary);border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,var(--surface));box-shadow:var(--shadow-md)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;transition:transform .2s ease,border-color .2s ease}.card:hover{border-color:color-mix(in srgb,var(--color-primary) 40%,var(--border))}.icon-badge{width:48px;height:48px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 15%,transparent),color-mix(in srgb,var(--color-accent) 10%,transparent));color:var(--color-primary);flex-shrink:0}.chip{display:inline-flex;padding:6px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);font-size:.8rem}.grid{display:grid;gap:20px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.section-more{display:flex;justify-content:center;margin-top:32px}.section-more .btn{display:inline-flex;align-items:center;gap:8px}.fade-in{opacity:0;translate:0 16px;transition:opacity .6s ease,translate .6s ease}@media(prefers-reduced-motion:reduce){.fade-in{opacity:1;translate:none;transition:none}html{scroll-behavior:auto}}:root{--ease: cubic-bezier(.22, 1, .36, 1);--shadow-sm: 0 1px 2px rgba(17, 24, 39, .05), 0 1px 1px rgba(17, 24, 39, .03);--shadow-md: 0 4px 12px rgba(17, 24, 39, .05), 0 14px 32px rgba(17, 24, 39, .07);--shadow-lg: 0 10px 28px rgba(17, 24, 39, .08), 0 36px 70px rgba(99, 102, 241, .16)}:root[data-theme=dark]{--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .35), 0 14px 32px rgba(0, 0, 0, .35);--shadow-lg: 0 10px 28px rgba(0, 0, 0, .4), 0 36px 70px rgba(99, 102, 241, .22)}@property --float{syntax: "<length>"; inherits: false; initial-value: 0px;}body{font-feature-settings:"cv11","ss01";text-rendering:optimizeLegibility;overflow-x:clip}h1,h2,h3,h4{letter-spacing:-.025em}::selection{background:color-mix(in srgb,var(--color-primary) 28%,transparent)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:8px}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.28s}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:0 50%;background:var(--gradient-primary);z-index:100;pointer-events:none}.cursor-glow{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;transition:opacity .5s ease;background:radial-gradient(520px circle at var(--cx, 50%) var(--cy, 50%),color-mix(in srgb,var(--color-primary) 8%,transparent),transparent 62%)}.cursor-glow.on{opacity:1}@media(hover:none){.cursor-glow{display:none}}.card,.work-card,.project-card,.post-card{position:relative;isolation:isolate;box-shadow:var(--shadow-sm);transform:perspective(1000px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(var(--lift, 0px));transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s ease,opacity .6s ease,translate .6s ease;will-change:transform}.card:hover,.work-card:hover,.project-card:hover,.post-card:hover{--lift: -6px;box-shadow:var(--shadow-md)}.card:after,.work-card:after,.project-card:after,.post-card:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s ease;background:radial-gradient(340px circle at var(--mx, 50%) var(--my, 50%),color-mix(in srgb,var(--color-primary) 13%,transparent),transparent 65%)}.card:hover:after,.work-card:hover:after,.project-card:hover:after,.post-card:hover:after{opacity:1}.btn{translate:var(--tx, 0px) var(--ty, 0px);transition:transform .25s var(--ease),box-shadow .25s ease,translate .2s var(--ease);position:relative;overflow:hidden}.btn-primary:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);transform:translate(-130%)}.btn-primary:hover:after{transform:translate(130%);transition:transform .8s var(--ease)}.btn:active{transform:scale(.97)}.fade-in{opacity:0;translate:0 24px;transition:opacity .7s var(--ease) var(--stagger, 0ms),translate .7s var(--ease) var(--stagger, 0ms)}.fade-in:is(.card,.work-card,.project-card,.post-card){transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s ease,opacity .7s var(--ease) var(--stagger, 0ms),translate .7s var(--ease) var(--stagger, 0ms)}.fade-in.is-visible{opacity:1;translate:0 0}@media(prefers-reduced-motion:reduce){.scroll-progress,.cursor-glow{display:none}.card,.work-card,.project-card,.post-card{transform:none!important}}[data-bg]:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 16%,#000 84%,transparent 100%)}[data-bg=grid]:before{background:radial-gradient(700px 420px at 8% 20%,color-mix(in srgb,var(--color-primary) 16%,transparent),transparent 70%),radial-gradient(700px 420px at 94% 80%,color-mix(in srgb,var(--color-accent) 14%,transparent),transparent 70%),linear-gradient(to right,color-mix(in srgb,var(--text) 8%,transparent) 1px,transparent 1px) 0 0 / 56px 56px,linear-gradient(to bottom,color-mix(in srgb,var(--text) 8%,transparent) 1px,transparent 1px) 0 0 / 56px 56px,color-mix(in srgb,var(--color-primary) 3.5%,transparent)}[data-bg=dots]:before{background:radial-gradient(700px 420px at 90% 15%,color-mix(in srgb,#c084fc 16%,transparent),transparent 70%),radial-gradient(700px 420px at 6% 85%,color-mix(in srgb,var(--color-accent) 14%,transparent),transparent 70%),radial-gradient(color-mix(in srgb,var(--text) 22%,transparent) 1.2px,transparent 1.5px) 0 0 / 24px 24px,color-mix(in srgb,var(--color-accent) 3%,transparent)}[data-bg=wash]:before{background:radial-gradient(760px 460px at 12% 30%,color-mix(in srgb,var(--color-primary) 18%,transparent),transparent 70%),radial-gradient(760px 460px at 90% 70%,color-mix(in srgb,var(--color-accent) 16%,transparent),transparent 70%),color-mix(in srgb,var(--color-primary) 3%,transparent)}[data-bg=aurora]:before{background:radial-gradient(760px 480px at 12% 25%,color-mix(in srgb,var(--color-primary) 24%,transparent),transparent 70%),radial-gradient(680px 440px at 92% 35%,color-mix(in srgb,var(--color-accent) 22%,transparent),transparent 70%),radial-gradient(640px 420px at 55% 100%,color-mix(in srgb,#c084fc 22%,transparent),transparent 70%)}.nav[data-astro-cid-dmqpwcec]{position:sticky;top:0;z-index:70;border-bottom:1px solid transparent;transition:border-color .3s ease,box-shadow .3s ease}.nav[data-astro-cid-dmqpwcec]:before{content:"";position:absolute;inset:0;z-index:-1;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px)}.nav[data-astro-cid-dmqpwcec].scrolled{border-color:var(--border);box-shadow:0 8px 30px #1118270d}.nav-inner[data-astro-cid-dmqpwcec]{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px}.brand[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;letter-spacing:-.02em}.brand-mark[data-astro-cid-dmqpwcec]{width:30px;height:30px;object-fit:contain;transition:transform .5s var(--ease)}.brand[data-astro-cid-dmqpwcec]:hover .brand-mark[data-astro-cid-dmqpwcec]{transform:rotate(-12deg) scale(1.08)}.nav-links[data-astro-cid-dmqpwcec]{display:flex;gap:6px;font-size:.92rem;font-weight:500}.nav-links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:not(.btn){position:relative;white-space:nowrap;padding:8px 14px;border-radius:999px;color:var(--text-secondary);transition:color .2s ease,background .2s ease}.nav-links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:not(.btn):hover{color:var(--text);background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.nav-links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec].active{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.drawer-only[data-astro-cid-dmqpwcec]{display:none!important}.nav-actions[data-astro-cid-dmqpwcec]{display:flex;align-items:center;gap:8px}.nav-cta[data-astro-cid-dmqpwcec]{padding:10px 20px;font-size:.9rem;white-space:nowrap;flex-shrink:0;gap:8px}.wave[data-astro-cid-dmqpwcec]{display:inline-block;transform-origin:70% 70%}.nav-cta[data-astro-cid-dmqpwcec]:hover .wave[data-astro-cid-dmqpwcec]{animation:wave .9s ease-in-out}@keyframes wave{0%,to{transform:rotate(0)}20%{transform:rotate(16deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(14deg)}80%{transform:rotate(-6deg)}}.icon-btn[data-astro-cid-dmqpwcec]{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .25s var(--ease),border-color .2s ease}.icon-btn[data-astro-cid-dmqpwcec]:hover{border-color:var(--color-primary)}.icon-btn[data-astro-cid-dmqpwcec]:active{transform:scale(.92)}.icon-moon[data-astro-cid-dmqpwcec]{display:none}:root[data-theme=dark] .icon-sun[data-astro-cid-dmqpwcec]{display:none}:root[data-theme=dark] .icon-moon[data-astro-cid-dmqpwcec]{display:flex}.nav-menu-btn[data-astro-cid-dmqpwcec]{display:none}.burger[data-astro-cid-dmqpwcec]{position:relative;width:18px;height:12px;display:block}.burger[data-astro-cid-dmqpwcec] i[data-astro-cid-dmqpwcec]{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease)}.burger[data-astro-cid-dmqpwcec] i[data-astro-cid-dmqpwcec]:first-child{top:1px}.burger[data-astro-cid-dmqpwcec] i[data-astro-cid-dmqpwcec]:last-child{top:9px}.nav-menu-btn[data-astro-cid-dmqpwcec][aria-expanded=true] .burger[data-astro-cid-dmqpwcec] i[data-astro-cid-dmqpwcec]:first-child{top:5px;transform:rotate(45deg)}.nav-menu-btn[data-astro-cid-dmqpwcec][aria-expanded=true] .burger[data-astro-cid-dmqpwcec] i[data-astro-cid-dmqpwcec]:last-child{top:5px;transform:rotate(-45deg)}@media(max-width:960px){.nav-menu-btn[data-astro-cid-dmqpwcec]{display:flex}.drawer-only[data-astro-cid-dmqpwcec]{display:block!important}.nav-links[data-astro-cid-dmqpwcec]{position:fixed;top:80px;right:16px;width:min(300px,calc(100vw - 32px));max-height:calc(100dvh - 96px);flex-direction:column;align-items:stretch;gap:2px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);overflow-y:auto;transform-origin:top right;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.96);transition:opacity .18s ease,transform .28s var(--ease),visibility 0s .18s}.nav-links[data-astro-cid-dmqpwcec].open{opacity:1;visibility:visible;transform:none;transition-delay:0s}.nav-links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:not(.btn){display:block;padding:12px 14px;border-radius:12px;font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--text)}.nav-links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:not(.btn):hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.nav-links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec].active{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.scrim[data-astro-cid-dmqpwcec]{position:fixed;inset:72px 0 0;background:#11182747;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility 0s .2s}.scrim[data-astro-cid-dmqpwcec].show{opacity:1;visibility:visible;transition-delay:0s}}@media(max-width:640px){.nav-inner[data-astro-cid-dmqpwcec]{gap:10px}.nav-actions[data-astro-cid-dmqpwcec]{gap:6px}.nav-cta[data-astro-cid-dmqpwcec]{padding:9px 14px;font-size:.82rem}.wave[data-astro-cid-dmqpwcec]{display:none}.icon-btn[data-astro-cid-dmqpwcec]{width:38px;height:38px;border-radius:11px}}@media(max-width:380px){.brand[data-astro-cid-dmqpwcec]{font-size:1rem;gap:8px}.brand-mark[data-astro-cid-dmqpwcec]{width:26px;height:26px}.nav-cta[data-astro-cid-dmqpwcec]{padding:8px 11px;font-size:.78rem}.icon-btn[data-astro-cid-dmqpwcec]{width:34px;height:34px}}.site-footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--border);padding-top:56px}.footer-top[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;padding-bottom:40px}.brand[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:10px;font-weight:700;margin-bottom:12px}.brand-mark[data-astro-cid-sz7xmlte]{width:28px;height:28px;object-fit:contain}.tagline[data-astro-cid-sz7xmlte]{color:var(--text-secondary);font-size:.9rem;max-width:280px}.col-title[data-astro-cid-sz7xmlte]{font-weight:600;margin-bottom:16px}.col-link[data-astro-cid-sz7xmlte]{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:.9rem;margin-bottom:12px}.footer-bottom[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;padding:24px 0;border-top:1px solid var(--border);color:var(--text-secondary);font-size:.85rem}.legal-links[data-astro-cid-sz7xmlte]{display:flex;gap:20px}.legal-text[data-astro-cid-sz7xmlte]{cursor:pointer}@media(max-width:640px){.footer-top[data-astro-cid-sz7xmlte]{grid-template-columns:1fr}.footer-bottom[data-astro-cid-sz7xmlte]{flex-direction:column;gap:12px;text-align:center}}
