:root{--color-accent: #4285f4;--color-accent-hover: #5a9bff;--color-success: #34a853;--color-warning: #fbbc04;--color-error: #ea4335;--gradient-accent: linear-gradient(135deg, #4285f4, #34a853);--gradient-hero: linear-gradient(180deg, rgba(66, 133, 244, .1) 0%, transparent 50%);--font-sans: "Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", "Source Code Pro", monospace;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--container-max: 1200px;--container-padding: 1.5rem}[data-theme=dark]{--color-bg-primary: #0a0a0f;--color-bg-secondary: #12121a;--color-bg-tertiary: #1a1a25;--color-bg-card: #16161f;--color-bg-card-hover: #1e1e2a;--color-text-primary: #f5f5f7;--color-text-secondary: #a1a1aa;--color-text-muted: #71717a;--color-border: #27272a;--color-border-hover: #3f3f46;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(66, 133, 244, .3)}[data-theme=light]{--color-bg-primary: #ffffff;--color-bg-secondary: #f8f9fa;--color-bg-tertiary: #f1f3f5;--color-bg-card: #ffffff;--color-bg-card-hover: #f8f9fa;--color-text-primary: #1a1a2e;--color-text-secondary: #4a4a5a;--color-text-muted: #6b6b7b;--color-border: #e5e7eb;--color-border-hover: #d1d5db;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px rgba(66, 133, 244, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}img{max-width:100%;height:auto}.landing-container{max-width:var(--container-max);margin:0 auto;padding:0 var(--container-padding)}.landing-section{padding:var(--space-3xl) 0}@media(min-width:768px){.landing-section{padding:5rem 0}}.landing-title{font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.2;letter-spacing:-.02em}.landing-subtitle{font-size:clamp(1.125rem,2.5vw,1.5rem);font-weight:400;color:var(--color-text-secondary);line-height:1.5}.landing-section-title{font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;margin-bottom:var(--space-lg)}.landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.75rem 1.5rem;font-family:var(--font-sans);font-size:1rem;font-weight:500;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-normal)}.landing-btn-primary{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-md)}.landing-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow);color:#fff}.landing-btn-secondary{background:var(--color-bg-card);color:var(--color-text-primary);border:1px solid var(--color-border)}.landing-btn-secondary:hover{background:var(--color-bg-card-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.landing-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);transition:all var(--transition-normal)}.landing-card:hover{background:var(--color-bg-card-hover);border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:var(--shadow-lg)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in-up{animation:fadeInUp .6s ease forwards}.animate-fade-in{animation:fadeIn .6s ease forwards}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.theme-toggle-container:where(.astro-5w3752km){position:relative;display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .5rem;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.theme-toggle-container:where(.astro-5w3752km):hover{background:var(--color-bg-card-hover);border-color:var(--color-border-hover);color:var(--color-text-primary)}.theme-label:where(.astro-5w3752km){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon-sun:where(.astro-5w3752km),.icon-moon:where(.astro-5w3752km),.icon-laptop:where(.astro-5w3752km){flex-shrink:0;display:none}.theme-toggle-container:where(.astro-5w3752km)[data-theme-choice=light] .icon-sun:where(.astro-5w3752km){display:block}.theme-toggle-container:where(.astro-5w3752km)[data-theme-choice=dark] .icon-moon:where(.astro-5w3752km){display:block}.theme-toggle-container:where(.astro-5w3752km)[data-theme-choice=auto] .icon-laptop:where(.astro-5w3752km){display:block}.theme-select:where(.astro-5w3752km){appearance:none;background:transparent;border:none;color:inherit;font-size:inherit;font-family:inherit;cursor:pointer;padding-right:.25rem}.theme-select:where(.astro-5w3752km):focus{outline:none}.icon-chevron:where(.astro-5w3752km){flex-shrink:0;pointer-events:none}.nav-header:where(.astro-dlhdjriw){position:fixed;top:0;left:0;right:0;z-index:100;border-bottom:1px solid var(--color-border);backdrop-filter:blur(12px)}:where(.astro-dlhdjriw)[data-theme=dark] .nav-header:where(.astro-dlhdjriw){background:#0a0a0fe6}:where(.astro-dlhdjriw)[data-theme=light] .nav-header:where(.astro-dlhdjriw){background:#ffffffe6}.nav-container:where(.astro-dlhdjriw){display:flex;align-items:center;justify-content:space-between;height:4rem;gap:var(--space-lg)}.nav-logo:where(.astro-dlhdjriw){display:flex;align-items:center;flex-shrink:0}.nav-logo:where(.astro-dlhdjriw) img:where(.astro-dlhdjriw){height:5rem;width:auto}@media(max-width:768px){.nav-logo:where(.astro-dlhdjriw) img:where(.astro-dlhdjriw){height:4.5rem}}.nav-links:where(.astro-dlhdjriw){display:none;align-items:center;gap:var(--space-xs)}@media(min-width:768px){.nav-links:where(.astro-dlhdjriw){display:flex}}.nav-link:where(.astro-dlhdjriw){display:inline-flex;align-items:center;gap:.25rem;padding:.5rem .875rem;font-size:.9375rem;font-weight:500;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-link:where(.astro-dlhdjriw):hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.nav-actions:where(.astro-dlhdjriw){display:flex;align-items:center;gap:var(--space-sm)}.nav-social-links:where(.astro-dlhdjriw){display:none;align-items:center;gap:.25rem}@media(min-width:768px){.nav-social-links:where(.astro-dlhdjriw){display:flex}}.nav-social-link:where(.astro-dlhdjriw){display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.nav-social-link:where(.astro-dlhdjriw):hover{color:var(--color-text-primary);background:var(--color-bg-tertiary)}.nav-divider:where(.astro-dlhdjriw){display:none;width:1px;height:1.5rem;background:var(--color-border);margin:0 .25rem}@media(min-width:768px){.nav-divider:where(.astro-dlhdjriw){display:block}}.nav-mobile-toggle:where(.astro-dlhdjriw){display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast)}.nav-mobile-toggle:where(.astro-dlhdjriw):hover{color:var(--color-text-primary)}@media(min-width:768px){.nav-mobile-toggle:where(.astro-dlhdjriw){display:none}}.icon-close:where(.astro-dlhdjriw){display:none}.nav-mobile-toggle:where(.astro-dlhdjriw)[aria-expanded=true] .icon-menu:where(.astro-dlhdjriw){display:none}.nav-mobile-toggle:where(.astro-dlhdjriw)[aria-expanded=true] .icon-close:where(.astro-dlhdjriw){display:block}.mobile-menu:where(.astro-dlhdjriw){display:none;position:fixed;top:4rem;left:0;right:0;bottom:0;background:var(--color-bg-primary);z-index:99;overflow-y:auto}.mobile-menu:where(.astro-dlhdjriw).is-open{display:block}@media(min-width:768px){.mobile-menu:where(.astro-dlhdjriw){display:none!important}}.mobile-menu-content:where(.astro-dlhdjriw){display:flex;flex-direction:column;padding:var(--space-lg);gap:var(--space-xs)}.mobile-nav-link:where(.astro-dlhdjriw){display:block;padding:1rem;font-size:1.125rem;font-weight:500;color:var(--color-text-primary);border-radius:var(--radius-md);transition:background var(--transition-fast)}.mobile-nav-link:where(.astro-dlhdjriw):hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.hero-section:where(.astro-7vszemnk){position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:5rem;padding-bottom:var(--space-3xl);overflow:hidden}.hero-bg:where(.astro-7vszemnk){position:absolute;inset:0;z-index:-1}.hero-gradient:where(.astro-7vszemnk){position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(66,133,244,.15),transparent)}:where(.astro-7vszemnk)[data-theme=light] .hero-gradient:where(.astro-7vszemnk){background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(66,133,244,.08),transparent)}.hero-grid:where(.astro-7vszemnk){position:absolute;inset:0;background-image:linear-gradient(rgba(66,133,244,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(66,133,244,.03) 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(to bottom,black 0%,transparent 70%)}.hero-content:where(.astro-7vszemnk){display:grid;grid-template-columns:1fr;gap:var(--space-3xl);align-items:center}@media(min-width:1024px){.hero-content:where(.astro-7vszemnk){grid-template-columns:1fr 1fr}}.hero-text:where(.astro-7vszemnk){text-align:center}@media(min-width:1024px){.hero-text:where(.astro-7vszemnk){text-align:left}}.hero-title:where(.astro-7vszemnk){font-size:clamp(2.25rem,6vw,4rem);font-weight:700;line-height:1.1;letter-spacing:-.03em;margin-bottom:var(--space-lg)}.hero-highlight:where(.astro-7vszemnk){background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle:where(.astro-7vszemnk){font-size:clamp(1rem,2vw,1.25rem);color:var(--color-text-secondary);line-height:1.7;max-width:540px;margin-bottom:var(--space-xl)}@media(min-width:1024px){.hero-subtitle:where(.astro-7vszemnk){margin-left:0;margin-right:auto}}@media(max-width:1023px){.hero-subtitle:where(.astro-7vszemnk){margin:0 auto var(--space-xl)}}.hero-cta:where(.astro-7vszemnk){display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center}@media(min-width:1024px){.hero-cta:where(.astro-7vszemnk){justify-content:flex-start}}.hero-visual:where(.astro-7vszemnk){display:flex;flex-direction:column;align-items:center;gap:var(--space-xl)}.hero-image-wrapper:where(.astro-7vszemnk){position:relative;width:280px;height:280px}@media(min-width:768px){.hero-image-wrapper:where(.astro-7vszemnk){width:340px;height:340px}}.hero-image:where(.astro-7vszemnk){width:100%;height:100%;object-fit:cover;border-radius:var(--radius-xl);border:2px solid var(--color-border);box-shadow:var(--shadow-lg)}.hero-image-glow:where(.astro-7vszemnk){position:absolute;inset:-20px;background:var(--gradient-accent);opacity:.2;filter:blur(40px);z-index:-1;border-radius:50%}.hero-stats:where(.astro-7vszemnk){display:flex;gap:var(--space-xl);padding:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.stat-item:where(.astro-7vszemnk){display:flex;flex-direction:column;align-items:center;text-align:center}.stat-value:where(.astro-7vszemnk){font-size:1.5rem;font-weight:700;color:var(--color-accent);line-height:1}.stat-label:where(.astro-7vszemnk){font-size:.75rem;color:var(--color-text-muted);margin-top:var(--space-xs);white-space:nowrap}.about-section:where(.astro-grtude7j){background:var(--color-bg-secondary)}.section-header:where(.astro-grtude7j){text-align:center;margin-bottom:var(--space-3xl)}.section-tag:where(.astro-grtude7j){display:inline-block;padding:.375rem .875rem;background:#4285f41a;color:var(--color-accent);font-size:.875rem;font-weight:600;border-radius:var(--radius-full);margin-bottom:var(--space-md)}.about-content:where(.astro-grtude7j){display:grid;grid-template-columns:1fr;gap:var(--space-2xl)}@media(min-width:1024px){.about-content:where(.astro-grtude7j){grid-template-columns:1.5fr 1fr;gap:var(--space-3xl)}}.about-main:where(.astro-grtude7j){display:flex;flex-direction:column;gap:var(--space-lg)}.about-intro:where(.astro-grtude7j){font-size:1.25rem;color:var(--color-text-primary);line-height:1.7}.about-body:where(.astro-grtude7j){font-size:1.0625rem;color:var(--color-text-secondary);line-height:1.8}.about-body:where(.astro-grtude7j) strong:where(.astro-grtude7j){color:var(--color-text-primary);font-weight:600}.about-quote:where(.astro-grtude7j){margin:var(--space-lg) 0;padding:var(--space-lg) var(--space-xl);background:var(--color-bg-card);border-left:4px solid var(--color-accent);border-radius:0 var(--radius-lg) var(--radius-lg) 0;font-size:1.125rem;font-style:italic;color:var(--color-text-primary)}.about-sidebar:where(.astro-grtude7j){display:flex;flex-direction:column;gap:var(--space-lg)}.about-card:where(.astro-grtude7j){background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl)}.about-card-title:where(.astro-grtude7j){font-size:1.125rem;font-weight:600;margin-bottom:var(--space-lg);color:var(--color-text-primary)}.about-interests:where(.astro-grtude7j){list-style:none;display:flex;flex-direction:column;gap:var(--space-md)}.about-interests:where(.astro-grtude7j) li:where(.astro-grtude7j){display:flex;align-items:flex-start;gap:var(--space-md)}.interest-icon:where(.astro-grtude7j){font-size:1.5rem;flex-shrink:0}.about-interests:where(.astro-grtude7j) strong:where(.astro-grtude7j){display:block;color:var(--color-text-primary);font-weight:600;margin-bottom:.125rem}.about-interests:where(.astro-grtude7j) span:where(.astro-grtude7j){font-size:.875rem;color:var(--color-text-muted)}.about-card-text:where(.astro-grtude7j){font-size:.9375rem;color:var(--color-text-secondary);line-height:1.7}.about-card-text:where(.astro-grtude7j) strong:where(.astro-grtude7j){color:var(--color-accent);font-weight:600}.about-card-text:where(.astro-grtude7j) em:where(.astro-grtude7j){font-style:normal;color:var(--color-text-primary)}.skills-section:where(.astro-5qd7ts44){background:var(--color-bg-primary)}.section-header:where(.astro-5qd7ts44){text-align:center;margin-bottom:var(--space-3xl)}.section-tag:where(.astro-5qd7ts44){display:inline-block;padding:.375rem .875rem;background:#4285f41a;color:var(--color-accent);font-size:.875rem;font-weight:600;border-radius:var(--radius-full);margin-bottom:var(--space-md)}.section-description:where(.astro-5qd7ts44){font-size:1.125rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto}.skills-grid:where(.astro-5qd7ts44){display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media(min-width:640px){.skills-grid:where(.astro-5qd7ts44){grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.skills-grid:where(.astro-5qd7ts44){grid-template-columns:repeat(4,1fr)}}.skill-card:where(.astro-5qd7ts44){display:flex;flex-direction:column;gap:var(--space-md);text-align:center}.skill-icon:where(.astro-5qd7ts44){font-size:2.5rem;line-height:1}.skill-title:where(.astro-5qd7ts44){font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.skill-description:where(.astro-5qd7ts44){font-size:.9375rem;color:var(--color-text-secondary);line-height:1.6;flex-grow:1}.skill-tags:where(.astro-5qd7ts44){display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs);margin-top:auto}.skill-tag:where(.astro-5qd7ts44){padding:.25rem .625rem;background:var(--color-bg-tertiary);color:var(--color-text-muted);font-size:.75rem;font-weight:500;border-radius:var(--radius-sm)}.achievements-section:where(.astro-cg6sxjaf){background:var(--color-bg-secondary)}.section-header:where(.astro-cg6sxjaf){text-align:center;margin-bottom:var(--space-3xl)}.section-tag:where(.astro-cg6sxjaf){display:inline-block;padding:.375rem .875rem;background:#4285f41a;color:var(--color-accent);font-size:.875rem;font-weight:600;border-radius:var(--radius-full);margin-bottom:var(--space-md)}.section-description:where(.astro-cg6sxjaf){font-size:1.125rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto}.achievements-grid:where(.astro-cg6sxjaf){display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media(min-width:768px){.achievements-grid:where(.astro-cg6sxjaf){grid-template-columns:repeat(2,1fr)}}.achievement-card:where(.astro-cg6sxjaf){background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);transition:all var(--transition-normal)}.achievement-card:where(.astro-cg6sxjaf):hover{background:var(--color-bg-card-hover);border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.achievement-header:where(.astro-cg6sxjaf){display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.achievement-icon:where(.astro-cg6sxjaf){font-size:2rem}.achievement-year:where(.astro-cg6sxjaf){padding:.25rem .75rem;background:var(--gradient-accent);color:#fff;font-size:.75rem;font-weight:600;border-radius:var(--radius-full)}.achievement-title:where(.astro-cg6sxjaf){font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.achievement-title:where(.astro-cg6sxjaf) a:where(.astro-cg6sxjaf){display:inline-flex;align-items:center;gap:.375rem;color:inherit}.achievement-title:where(.astro-cg6sxjaf) a:where(.astro-cg6sxjaf):hover{color:var(--color-accent)}.external-link:where(.astro-cg6sxjaf){opacity:.5}.achievement-description:where(.astro-cg6sxjaf){font-size:.9375rem;color:var(--color-text-secondary);line-height:1.6}.achievements-cta:where(.astro-cg6sxjaf){margin-top:var(--space-3xl);text-align:center}.cta-text:where(.astro-cg6sxjaf){max-width:700px;margin:0 auto;padding:var(--space-xl);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);font-size:1.0625rem;color:var(--color-text-secondary);line-height:1.7;font-style:italic}.projects-section:where(.astro-3bkgdtqq){background:var(--color-bg-primary)}.section-header:where(.astro-3bkgdtqq){text-align:center;margin-bottom:var(--space-3xl)}.section-tag:where(.astro-3bkgdtqq){display:inline-block;padding:.375rem .875rem;background:#4285f41a;color:var(--color-accent);font-size:.875rem;font-weight:600;border-radius:var(--radius-full);margin-bottom:var(--space-md)}.section-description:where(.astro-3bkgdtqq){font-size:1.125rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto}.projects-grid:where(.astro-3bkgdtqq){display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media(min-width:768px){.projects-grid:where(.astro-3bkgdtqq){grid-template-columns:repeat(3,1fr)}}.project-card:where(.astro-3bkgdtqq){position:relative;display:flex;flex-direction:column;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);transition:all var(--transition-normal)}.project-card:where(.astro-3bkgdtqq):hover{background:var(--color-bg-card-hover);border-color:var(--color-border-hover);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.project-card:where(.astro-3bkgdtqq).featured{border-color:var(--color-accent);background:linear-gradient(135deg,rgba(66,133,244,.05) 0%,var(--color-bg-card) 100%)}.project-card:where(.astro-3bkgdtqq).featured:hover{box-shadow:var(--shadow-lg),var(--shadow-glow)}.featured-badge:where(.astro-3bkgdtqq){position:absolute;top:var(--space-md);right:var(--space-md);padding:.25rem .625rem;background:var(--gradient-accent);color:#fff;font-size:.6875rem;font-weight:600;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.05em}.project-icon:where(.astro-3bkgdtqq){font-size:2.5rem;margin-bottom:var(--space-md)}.project-title:where(.astro-3bkgdtqq){font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.project-title:where(.astro-3bkgdtqq) a:where(.astro-3bkgdtqq){display:inline-flex;align-items:center;gap:.375rem;color:inherit}.project-title:where(.astro-3bkgdtqq) a:where(.astro-3bkgdtqq):hover{color:var(--color-accent)}.external-link:where(.astro-3bkgdtqq){opacity:.5}.project-description:where(.astro-3bkgdtqq){font-size:.9375rem;color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--space-lg);flex-grow:1}.project-tags:where(.astro-3bkgdtqq){display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-lg)}.project-tag:where(.astro-3bkgdtqq){padding:.25rem .625rem;background:var(--color-bg-tertiary);color:var(--color-text-muted);font-size:.75rem;font-weight:500;border-radius:var(--radius-sm)}.project-link:where(.astro-3bkgdtqq){display:inline-flex;align-items:center;gap:.5rem;margin-top:auto;font-size:.875rem;font-weight:500;color:var(--color-accent)}.project-link:where(.astro-3bkgdtqq):hover{gap:.75rem}.blog-section:where(.astro-l46mbcxg){background:var(--color-bg-primary)}.section-header:where(.astro-l46mbcxg){text-align:center;margin-bottom:var(--space-3xl)}.section-tag:where(.astro-l46mbcxg){display:inline-block;padding:.375rem .875rem;background:#4285f41a;color:var(--color-accent);font-size:.875rem;font-weight:600;border-radius:var(--radius-full);margin-bottom:var(--space-md)}.section-description:where(.astro-l46mbcxg){font-size:1.125rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto}.blog-grid:where(.astro-l46mbcxg){display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media(min-width:768px){.blog-grid:where(.astro-l46mbcxg){grid-template-columns:repeat(3,1fr)}}.blog-card:where(.astro-l46mbcxg){display:flex;flex-direction:column;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-xl);transition:all var(--transition-normal);opacity:.7}.blog-card:where(.astro-l46mbcxg):hover{opacity:1;background:var(--color-bg-card-hover);border-color:var(--color-border-hover);transform:translateY(-4px)}.blog-meta:where(.astro-l46mbcxg){display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.blog-category:where(.astro-l46mbcxg){padding:.25rem .625rem;background:#4285f41a;color:var(--color-accent);font-size:.75rem;font-weight:600;border-radius:var(--radius-sm)}.blog-date:where(.astro-l46mbcxg){font-size:.75rem;color:var(--color-text-muted)}.blog-title:where(.astro-l46mbcxg){font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-sm);line-height:1.4}.blog-excerpt:where(.astro-l46mbcxg){font-size:.9375rem;color:var(--color-text-secondary);line-height:1.6;flex-grow:1;margin-bottom:var(--space-lg)}.blog-footer:where(.astro-l46mbcxg){display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-md);border-top:1px solid var(--color-border)}.blog-read-time:where(.astro-l46mbcxg){font-size:.8125rem;color:var(--color-text-muted)}.blog-cta:where(.astro-l46mbcxg){margin-top:var(--space-3xl);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg)}.cta-message:where(.astro-l46mbcxg){display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:.9375rem;color:var(--color-text-secondary)}.cta-icon:where(.astro-l46mbcxg){font-size:1.25rem}.resources-section:where(.astro-ij53cdig){background:var(--color-bg-secondary)}.section-header:where(.astro-ij53cdig){text-align:center;margin-bottom:var(--space-3xl)}.section-tag:where(.astro-ij53cdig){display:inline-block;padding:.375rem .875rem;background:#4285f41a;color:var(--color-accent);font-size:.875rem;font-weight:600;border-radius:var(--radius-full);margin-bottom:var(--space-md)}.section-description:where(.astro-ij53cdig){font-size:1.125rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto}.resources-grid:where(.astro-ij53cdig){display:grid;grid-template-columns:1fr;gap:var(--space-md);max-width:800px;margin:0 auto}@media(min-width:640px){.resources-grid:where(.astro-ij53cdig){grid-template-columns:repeat(2,1fr)}}.resource-card:where(.astro-ij53cdig){display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-normal);color:var(--color-text-primary)}.resource-card:where(.astro-ij53cdig):hover{background:var(--color-bg-card-hover);border-color:var(--color-border-hover);transform:translate(4px);box-shadow:var(--shadow-md);color:var(--color-text-primary)}.resource-icon:where(.astro-ij53cdig){display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;flex-shrink:0;background:var(--color-bg-tertiary);border-radius:var(--radius-lg);color:var(--color-text-secondary);transition:all var(--transition-fast)}.resource-card:where(.astro-ij53cdig):hover .resource-icon:where(.astro-ij53cdig){background:var(--color-accent);color:#fff}.resource-content:where(.astro-ij53cdig){flex-grow:1}.resource-title:where(.astro-ij53cdig){font-size:1.0625rem;font-weight:600;margin-bottom:.25rem}.resource-description:where(.astro-ij53cdig){font-size:.875rem;color:var(--color-text-muted)}.resource-arrow:where(.astro-ij53cdig){flex-shrink:0;color:var(--color-text-muted);opacity:0;transform:translate(-8px);transition:all var(--transition-fast)}.resource-card:where(.astro-ij53cdig):hover .resource-arrow:where(.astro-ij53cdig){opacity:1;transform:translate(0);color:var(--color-accent)}.landing-footer:where(.astro-qa6fgxkw){background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--space-3xl) 0 var(--space-xl)}.footer-content:where(.astro-qa6fgxkw){display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-2xl)}@media(min-width:768px){.footer-content:where(.astro-qa6fgxkw){flex-direction:row;justify-content:space-between}}.footer-brand:where(.astro-qa6fgxkw){text-align:center}@media(min-width:768px){.footer-brand:where(.astro-qa6fgxkw){text-align:left}}.footer-logo:where(.astro-qa6fgxkw){font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.footer-tagline:where(.astro-qa6fgxkw){margin-top:var(--space-xs);font-size:.875rem;color:var(--color-text-muted)}.footer-social:where(.astro-qa6fgxkw){display:flex;align-items:center;gap:var(--space-sm)}.social-link:where(.astro-qa6fgxkw){display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:var(--radius-md);transition:all var(--transition-fast)}.social-link:where(.astro-qa6fgxkw):hover{color:var(--color-text-primary);background:var(--color-bg-card-hover);transform:translateY(-2px)}.footer-bottom:where(.astro-qa6fgxkw){display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding-top:var(--space-xl);border-top:1px solid var(--color-border);text-align:center}@media(min-width:768px){.footer-bottom:where(.astro-qa6fgxkw){flex-direction:row;justify-content:space-between}}.footer-copyright:where(.astro-qa6fgxkw),.footer-built:where(.astro-qa6fgxkw){font-size:.875rem;color:var(--color-text-muted)}.footer-built:where(.astro-qa6fgxkw) a:where(.astro-qa6fgxkw){color:var(--color-text-secondary)}.footer-built:where(.astro-qa6fgxkw) a:where(.astro-qa6fgxkw):hover{color:var(--color-accent)}main:where(.astro-j7pv25f6){position:relative;z-index:1}.cta-section:where(.astro-j7pv25f6){padding:5rem 0;background:var(--color-bg-primary);text-align:center}.cta-content:where(.astro-j7pv25f6){max-width:600px;margin:0 auto}.cta-title:where(.astro-j7pv25f6){font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-md)}.cta-description:where(.astro-j7pv25f6){font-size:1.125rem;color:var(--color-text-secondary);margin-bottom:var(--space-xl);line-height:1.7}
