:root{--color-primary:#1a1f2e;--color-primary-light:#252b3b;--color-primary-lighter:#2a3142;--color-accent:#06b6d4;--color-accent-hover:#0891b2;--color-accent-light:rgba(6,182,212,.1);--color-white:#fff;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--gradient-primary:linear-gradient(135deg,#1a1f2e,#252b3b 50%,#1a1f2e);--gradient-accent:linear-gradient(135deg,#06b6d4,#0284c7);--gradient-hero:linear-gradient(180deg,rgba(26,31,46,.95),rgba(37,43,59,.85));--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:8rem;--container-xs:640px;--container-sm:768px;--container-md:1024px;--container-lg:1280px;--container-xl:1536px;--container-max:1280px;--font-xs:0.75rem;--font-sm:0.875rem;--font-base:1rem;--font-lg:1.125rem;--font-xl:1.25rem;--font-2xl:1.5rem;--font-3xl:1.875rem;--font-4xl:2.25rem;--font-5xl:3rem;--font-6xl:3.75rem;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--transition-fast:150ms ease-in-out;--transition-base:300ms ease-in-out;--transition-slow:500ms ease-in-out;--z-base:0;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-modal:40;--z-popover:50;--z-tooltip:60}.container-responsive{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--space-md);padding-right:var(--space-md)}@media (min-width:768px){.container-responsive{padding-left:var(--space-lg);padding-right:var(--space-lg)}}@media (min-width:1024px){.container-responsive{padding-left:var(--space-xl);padding-right:var(--space-xl)}}.section-padding{padding-top:var(--space-3xl);padding-bottom:var(--space-3xl)}@media (min-width:768px){.section-padding{padding-top:var(--space-4xl);padding-bottom:var(--space-4xl)}}.grid-base{display:grid;gap:var(--space-md)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,1fr)}.md\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.md\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}@media (min-width:1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}.card-base{background:var(--color-primary-light);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-base)}.card-base:hover{background:var(--color-primary-lighter);border-color:var(--color-accent);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.btn-base{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);font-weight:500;border-radius:var(--radius-md);transition:all var(--transition-fast);cursor:pointer;border:none;outline:none}.btn-primary{background:var(--color-accent);color:var(--color-white)}.btn-primary:hover{background:var(--color-accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--color-white);color:var(--color-primary)}.btn-secondary:hover{background:var(--color-gray-100)}.heading-hero{font-size:clamp(var(--font-3xl),5vw,var(--font-6xl))}.heading-hero,.heading-section{font-weight:700;line-height:var(--leading-tight)}.heading-section{font-size:clamp(var(--font-2xl),4vw,var(--font-4xl))}.heading-card{font-size:var(--font-xl);font-weight:600;line-height:var(--leading-normal)}.text-body{font-size:var(--font-base);line-height:var(--leading-relaxed);color:var(--color-gray-400)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.animate-fadeIn{animation:fadeIn var(--transition-slow) ease-out}.animate-slideIn{animation:slideIn var(--transition-slow) ease-out}