.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}:root{--color-primary-50: #f0fbfb;--color-primary-100: #dcf4f2;--color-primary-200: #bce9e4;--color-primary-300: #9de1da;--color-primary-400: #62c3ba;--color-primary-500: #31a297;--color-primary-600: #25857b;--color-primary-700: #1d6961;--color-primary-800: #18524c;--color-primary-900: #123c37;--color-accent-50: #fff1f2;--color-accent-100: #ffe4e6;--color-accent-500: #f43f5e;--color-accent-600: #e11d48;--color-gray-50: #f8fafc;--color-gray-100: #f1f5f9;--color-gray-200: #e2e8f0;--color-gray-300: #cbd5e1;--color-gray-400: #94a3b8;--color-gray-500: #64748b;--color-gray-600: #475569;--color-gray-700: #334155;--color-gray-800: #1e293b;--color-gray-900: #0f172a;--color-bg: #ffffff;--color-bg-subtle: #f8fafc;--color-bg-muted: #f1f5f9;--color-surface: rgba(255, 255, 255, .8);--color-surface-solid: #ffffff;--color-surface-raised: #ffffff;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text: #0f172a;--color-text-muted: #475569;--color-text-subtle: #94a3b8;--color-text-inverse: #ffffff;--color-link: #31a297;--color-link-hover: #25857b;--font-heading: "Outfit", system-ui, -apple-system, sans-serif;--font-sans: "Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Menlo, monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--font-light: 300;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-tight: 1.15;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--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;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-full: 9999px;--shadow-sm: 0 2px 8px -2px rgba(15, 23, 42, .05);--shadow-md: 0 4px 16px -4px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 32px -8px rgba(15, 23, 42, .12);--shadow-xl: 0 24px 48px -12px rgba(15, 23, 42, .18);--shadow-colored: 0 12px 32px -8px rgba(49, 162, 151, .25);--shadow-focus: 0 0 0 4px rgba(49, 162, 151, .15);--glass-bg: rgba(255, 255, 255, .7);--glass-border: 1px solid rgba(255, 255, 255, .5);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;background-image:radial-gradient(var(--color-border) 1px,transparent 1px);background-size:40px 40px;background-attachment:fixed}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-bold);line-height:var(--leading-tight);color:var(--color-text);letter-spacing:-.02em}img,video,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{color:var(--color-text-muted)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-link-hover)}button{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.container{width:100%;max-width:1320px;margin-inline:auto;padding-inline:var(--space-6)}@media(min-width:1024px){.container{padding-inline:var(--space-12)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-family:var(--font-heading);font-weight:var(--font-semibold);font-size:var(--text-base);transition:all var(--transition-bounce);border:none;text-align:center;position:relative;overflow:hidden}.btn-primary{background:var(--color-primary-500);color:#fff;box-shadow:var(--shadow-colored)}.btn-primary:hover{background:var(--color-primary-600);transform:translateY(-2px);box-shadow:0 16px 32px -8px #31a29759;color:#fff}.btn-primary:active{transform:translateY(1px)}.btn-outline{background:transparent;color:var(--color-primary-500);border:2px solid var(--color-primary-500)}.btn-outline:hover{background:var(--color-primary-50);transform:translateY(-2px)}.tag{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold);font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.05em;background-color:var(--color-primary-50);color:var(--color-primary-600)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards;opacity:0}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}.card{background:var(--color-surface-solid);border-radius:var(--radius-xl);padding:var(--space-8);border:1px solid var(--color-border);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px);border-color:var(--color-primary-200)}.text-gradient{background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-primary-700) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}
