:root{--color-bg: #ffffff;--color-bg-alt: #f8f8f8;--color-surface: #f2f2f2;--color-text: #1a1a1a;--color-text-secondary: #666666;--color-text-tertiary: #999999;--color-accent: #ff5722;--color-accent-hover: #e64a19;--color-border: #e0e0e0;--color-border-strong: #cccccc;--font-display: "Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Space Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3.5rem;--text-6xl: 4.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--max-width: 1200px;--content-width: 720px;--gutter: clamp(1.5rem, 4vw, 3rem);--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .1);--ease: cubic-bezier(.25, .1, .25, 1);--duration-fast: .15s;--duration-normal: .25s}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:400;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:500;line-height:1.2;letter-spacing:-.02em;color:var(--color-text)}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{margin-bottom:var(--space-4)}a{color:inherit;text-decoration:none}strong{font-weight:600}.label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}.container--narrow{max-width:var(--content-width)}.grid{display:grid;gap:var(--space-6)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}@media(max-width:768px){.grid--2,.grid--3{grid-template-columns:1fr}}.section{padding:var(--space-20) 0}.section--alt{background:var(--color-bg-alt)}.divider{height:1px;background:var(--color-border);border:none}::selection{background-color:var(--color-accent);color:#fff}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}img{max-width:100%;height:auto;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUpSmall{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes scaleInUp{0%{opacity:0;transform:scale(.96) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes blurIn{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}@keyframes revealUp{0%{opacity:0;clip-path:inset(100% 0 0 0);transform:translateY(8px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:translateY(0)}}@keyframes subtlePulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@keyframes drawLine{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-fade-in{opacity:0;animation:fadeIn .6s var(--ease-out) forwards}.animate-fade-in-up{opacity:0;animation:fadeInUp .6s var(--ease-out) forwards}.animate-fade-in-up-sm{opacity:0;animation:fadeInUpSmall .5s var(--ease-out) forwards}.animate-scale-in{opacity:0;animation:scaleIn .5s var(--ease-out) forwards}.animate-blur-in{opacity:0;animation:blurIn .6s var(--ease-out) forwards}.stagger>*{opacity:0;animation:fadeInUp .5s var(--ease-out) forwards}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:60ms}.stagger>*:nth-child(3){animation-delay:.12s}.stagger>*:nth-child(4){animation-delay:.18s}.stagger>*:nth-child(5){animation-delay:.24s}.stagger>*:nth-child(6){animation-delay:.3s}.stagger>*:nth-child(7){animation-delay:.36s}.stagger>*:nth-child(8){animation-delay:.42s}.stagger>*:nth-child(9){animation-delay:.48s}.stagger>*:nth-child(10){animation-delay:.54s}.stagger-slow>*{opacity:0;animation:fadeInUpSmall .5s var(--ease-out) forwards}.stagger-slow>*:nth-child(1){animation-delay:0ms}.stagger-slow>*:nth-child(2){animation-delay:.1s}.stagger-slow>*:nth-child(3){animation-delay:.2s}.stagger-slow>*:nth-child(4){animation-delay:.3s}.stagger-slow>*:nth-child(5){animation-delay:.4s}.stagger-slow>*:nth-child(6){animation-delay:.5s}.stagger-slow>*:nth-child(7){animation-delay:.6s}.stagger-slow>*:nth-child(8){animation-delay:.7s}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.delay-600{animation-delay:.6s}.hover-lift{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-lift-lg{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out)}.hover-lift-lg:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl)}.hover-scale{transition:transform var(--duration-normal) var(--ease-out)}.hover-scale:hover{transform:scale(1.02)}.hover-scale-subtle{transition:transform var(--duration-slow) var(--ease-out)}.hover-scale-subtle:hover{transform:scale(1.03)}.link-underline{position:relative;display:inline-block}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:currentColor;transition:width var(--duration-normal) var(--ease-out)}.link-underline:hover:after{width:100%}.link-underline-fade{position:relative;display:inline-block}.link-underline-fade:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:currentColor;opacity:0;transition:opacity var(--duration-fast) var(--ease-out)}.link-underline-fade:hover:after{opacity:1}.link-arrow{display:inline-flex;align-items:center;gap:var(--space-2)}.link-arrow svg,.link-arrow .arrow{transition:transform var(--duration-normal) var(--ease-out)}.link-arrow:hover svg,.link-arrow:hover .arrow{transform:translate(4px)}.card-interactive{transition:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out)}.card-interactive:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.img-zoom{overflow:hidden}.img-zoom img{transition:transform var(--duration-slow) var(--ease-out)}.img-zoom:hover img{transform:scale(1.05)}.btn-bounce{transition:transform var(--duration-fast) var(--ease-spring),background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.btn-bounce:hover{transform:translateY(-2px)}.btn-bounce:active{transform:translateY(0)}.skeleton{background:linear-gradient(90deg,var(--color-surface) 25%,var(--color-bg) 50%,var(--color-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@media(prefers-reduced-motion:reduce){.animate-fade-in,.animate-fade-in-up,.animate-fade-in-up-sm,.animate-scale-in,.animate-blur-in,.stagger>*,.stagger-slow>*{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}.hover-lift,.hover-lift-lg,.hover-scale,.hover-scale-subtle,.link-underline:after,.link-underline-fade:after,.card-interactive,.img-zoom img,.btn-bounce{transition:none!important}}.header[data-astro-cid-pux6a34n]{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.nav[data-astro-cid-pux6a34n]{display:flex;align-items:center;justify-content:space-between;height:64px}.nav__logo[data-astro-cid-pux6a34n]{font-size:var(--text-base);font-weight:600;color:var(--color-text);letter-spacing:-.02em}.nav__logo[data-astro-cid-pux6a34n]:hover{color:var(--color-accent)}.nav__list[data-astro-cid-pux6a34n]{display:flex;align-items:center;gap:var(--space-8);list-style:none}.nav__link[data-astro-cid-pux6a34n]{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-secondary);padding:var(--space-2) 0;border-bottom:1px solid transparent;transition:color var(--duration-fast) var(--ease),border-color var(--duration-fast) var(--ease)}.nav__link[data-astro-cid-pux6a34n]:hover,.nav__link[data-astro-cid-pux6a34n].is-active{color:var(--color-text)}.nav__link[data-astro-cid-pux6a34n].is-active{border-bottom-color:var(--color-text)}.nav__toggle[data-astro-cid-pux6a34n]{display:none;width:32px;height:32px;padding:0;background:none;border:none;cursor:pointer}.nav__toggle-icon[data-astro-cid-pux6a34n]{display:block;width:20px;height:2px;background:var(--color-text);position:relative;margin:0 auto}.nav__toggle-icon[data-astro-cid-pux6a34n]:before,.nav__toggle-icon[data-astro-cid-pux6a34n]:after{content:"";position:absolute;left:0;width:100%;height:2px;background:var(--color-text);transition:transform var(--duration-fast) var(--ease)}.nav__toggle-icon[data-astro-cid-pux6a34n]:before{top:-6px}.nav__toggle-icon[data-astro-cid-pux6a34n]:after{top:6px}.nav__toggle[data-astro-cid-pux6a34n][aria-expanded=true] .nav__toggle-icon[data-astro-cid-pux6a34n]{background:transparent}.nav__toggle[data-astro-cid-pux6a34n][aria-expanded=true] .nav__toggle-icon[data-astro-cid-pux6a34n]:before{transform:rotate(45deg) translate(4px,4px)}.nav__toggle[data-astro-cid-pux6a34n][aria-expanded=true] .nav__toggle-icon[data-astro-cid-pux6a34n]:after{transform:rotate(-45deg) translate(4px,-4px)}@media(max-width:640px){.nav__toggle[data-astro-cid-pux6a34n]{display:block}.nav__list[data-astro-cid-pux6a34n]{position:fixed;inset:64px 0 0;flex-direction:column;justify-content:flex-start;gap:0;padding:var(--space-8) var(--gutter);background:var(--color-bg);border-top:1px solid var(--color-border);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity var(--duration-fast) var(--ease),visibility var(--duration-fast) var(--ease),transform var(--duration-fast) var(--ease)}.nav__list[data-astro-cid-pux6a34n].is-open{opacity:1;visibility:visible;transform:translateY(0)}.nav__link[data-astro-cid-pux6a34n]{display:block;padding:var(--space-4) 0;font-size:var(--text-sm);border-bottom:1px solid var(--color-border)}.nav__link[data-astro-cid-pux6a34n].is-active{color:var(--color-accent);border-bottom-color:var(--color-border)}}.footer[data-astro-cid-sz7xmlte]{border-top:1px solid var(--color-border);padding:var(--space-16) 0 var(--space-8);margin-top:var(--space-24)}.footer__grid[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:2fr 1fr 1fr;gap:var(--space-12);padding-bottom:var(--space-12);border-bottom:1px solid var(--color-border)}.footer__logo[data-astro-cid-sz7xmlte]{font-size:var(--text-base);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2);display:inline-block}.footer__logo[data-astro-cid-sz7xmlte]:hover{color:var(--color-accent)}.footer__tagline[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.footer__label[data-astro-cid-sz7xmlte]{display:block;margin-bottom:var(--space-4)}.footer__list[data-astro-cid-sz7xmlte]{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.footer__link[data-astro-cid-sz7xmlte]{font-size:var(--text-sm);color:var(--color-text-secondary);transition:color var(--duration-fast) var(--ease)}.footer__link[data-astro-cid-sz7xmlte]:hover{color:var(--color-text)}.footer__bottom[data-astro-cid-sz7xmlte]{padding-top:var(--space-8)}.footer__copyright[data-astro-cid-sz7xmlte]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);margin:0}@media(max-width:768px){.footer__grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr 1fr}.footer__brand[data-astro-cid-sz7xmlte]{grid-column:1 / -1}}@media(max-width:480px){.footer__grid[data-astro-cid-sz7xmlte]{grid-template-columns:1fr;gap:var(--space-8)}}
