@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap");*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fafafa;color:#1a1a2e;overflow-x:hidden;min-height:100vh}a{color:inherit;text-decoration:none}button{border:none;background:none;cursor:pointer}button,input,select,textarea{font-family:inherit}:root{--ec-pink:#e8649a;--ec-pink-light:#f08ab5;--ec-pink-dark:#d14a82;--ec-orange:#f5a455;--ec-orange-light:#f8bb7a;--ec-orange-dark:#e8913a;--ec-teal:#5fcfbe;--ec-teal-light:#7fd9cc;--ec-teal-dark:#4ab8a8;--ec-navy:#1a1a2e;--ec-navy-light:#2d2d44;--ec-primary:#5fcfbe;--ec-primary-hover:#4ab8a8;--ec-primary-glow:rgba(95,207,190,.4);--ec-secondary:#e8649a;--ec-accent:#f5a455;--ec-gray-900:#1a1a2e;--ec-gray-800:#2d2d44;--ec-gray-700:#4a4a5c;--ec-gray-600:#666;--ec-gray-500:#888;--ec-gray-400:#9ca3af;--ec-gray-300:#d1d5db;--ec-gray-200:#e5e7eb;--ec-gray-100:#f3f4f6;--ec-gray-50:#f9fafb;--ec-white:#fff;--ec-success:#10b981;--ec-warning:#f59e0b;--ec-error:#ef4444;--ec-info:#3b82f6;--ec-gradient-brand:linear-gradient(135deg,#e8649a,#f5a455 50%,#5fcfbe);--ec-gradient-primary:linear-gradient(135deg,#5fcfbe,#4ab8a8);--ec-gradient-warm:linear-gradient(135deg,#e8649a,#f5a455);--ec-gradient-cool:linear-gradient(135deg,#5fcfbe,#e8649a);--ec-gradient-subtle:linear-gradient(135deg,rgba(95,207,190,.1),rgba(232,100,154,.1));--ec-shadow-sm:0 1px 2px rgba(26,26,46,.05);--ec-shadow-md:0 4px 12px rgba(26,26,46,.08);--ec-shadow-lg:0 8px 24px rgba(26,26,46,.12);--ec-shadow-xl:0 16px 48px rgba(26,26,46,.16);--ec-shadow-glow:0 0 24px var(--ec-primary-glow);--ec-radius-xs:6px;--ec-radius-sm:8px;--ec-radius-md:12px;--ec-radius-lg:16px;--ec-radius-xl:20px;--ec-radius-2xl:24px;--ec-radius-3xl:32px;--ec-radius-full:9999px;--ec-transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--ec-transition-normal:250ms cubic-bezier(0.4,0,0.2,1);--ec-transition-slow:400ms cubic-bezier(0.4,0,0.2,1);--ec-transition-spring:500ms cubic-bezier(0.34,1.56,0.64,1)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes gradientFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes dotPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.85}}@keyframes morphGradient{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}25%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}50%{border-radius:50% 60% 30% 60%/30% 40% 70% 60%}75%{border-radius:60% 40% 60% 30%/60% 50% 40% 70%}}@keyframes rotateHue{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(1turn)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px rgba(95,207,190,.3),0 0 40px rgba(95,207,190,.1)}50%{box-shadow:0 0 30px rgba(95,207,190,.5),0 0 60px rgba(95,207,190,.2)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes revealMask{0%{-webkit-clip-path:inset(0 100% 0 0);clip-path:inset(0 100% 0 0)}to{-webkit-clip-path:inset(0 0 0 0);clip-path:inset(0 0 0 0)}}@keyframes borderFlow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes floatRotate{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-10px) rotate(2deg)}50%{transform:translateY(-5px) rotate(0deg)}75%{transform:translateY(-15px) rotate(-2deg)}}@keyframes ripple{0%{transform:scale(1);opacity:.5}to{transform:scale(2.5);opacity:0}}@keyframes textShine{0%{background-position:-200%}to{background-position:200%}}.animate-fade-in{animation:fadeIn .5s ease forwards}.animate-fade-in-up{animation:fadeInUp .5s ease forwards}.animate-fade-in-down{animation:fadeInDown .5s ease forwards}.animate-scale-in{animation:scaleIn .4s ease forwards}.animate-slide-in-right{animation:slideInRight .4s ease forwards}.animate-slide-in-left{animation:slideInLeft .4s ease forwards}.animate-float{animation:float 4s ease-in-out infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,var(--ec-gray-200) 0,var(--ec-gray-100) 50%,var(--ec-gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite}.animate-spin{animation:spin 1s linear infinite}.animate-gradient{background-size:200% 200%;animation:gradientFlow 6s ease infinite}.animate-breathe{animation:breathe 4s ease-in-out infinite}.animate-morph{animation:morphGradient 8s ease-in-out infinite}.animate-glow-pulse{animation:glowPulse 3s ease-in-out infinite}.animate-slide-up{animation:slideUpFade .6s ease forwards}.animate-reveal{animation:revealMask .8s ease forwards}.animate-border-flow{background-size:300% 300%;animation:borderFlow 4s linear infinite}.animate-float-rotate{animation:floatRotate 6s ease-in-out infinite}.animate-text-shine{background:linear-gradient(90deg,var(--ec-navy) 0,var(--ec-teal) 50%,var(--ec-navy) 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:textShine 3s linear infinite}.delay-75{animation-delay:75ms}.delay-100{animation-delay:.1s}.delay-150{animation-delay:.15s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.glass{background:hsla(0,0%,100%,.8);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.3)}.glass-subtle{background:hsla(0,0%,100%,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.glass-dark{background:rgba(26,26,46,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.1)}.text-gradient{background:var(--ec-gradient-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-primary{background:var(--ec-gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--ec-gray-100);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--ec-gray-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--ec-gray-400)}*{scrollbar-width:thin;scrollbar-color:var(--ec-gray-300) var(--ec-gray-100)}:focus-visible{outline:2px solid var(--ec-teal);outline-offset:2px}::selection{background:rgba(95,207,190,.3);color:var(--ec-navy)}.skeleton{background:linear-gradient(90deg,var(--ec-gray-200) 0,var(--ec-gray-100) 50%,var(--ec-gray-200) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--ec-radius-md)}.spinner{width:40px;height:40px;border:3px solid var(--ec-gray-200);border-top-color:var(--ec-teal);border-radius:50%;animation:spin .8s linear infinite}.spinner-sm{width:20px;height:20px;border-width:2px}.page-content{padding-top:100px}main{padding-top:80px}@media (max-width:768px){.desktop-only{display:none!important}.page-content{padding-top:70px}.map-stat-badge{display:none!important}.responsive-grid{grid-template-columns:1fr!important}h1{font-size:1.75rem!important}h2{font-size:1.35rem!important}.card-responsive{padding:16px!important;border-radius:16px!important}}@media (min-width:769px){.mobile-only{display:none!important}}@media (max-width:1024px){.desktop-nav{display:none!important}.mobile-nav{display:flex!important}}@media (min-width:1025px){.mobile-nav{display:none!important}}@media (min-width:769px) and (max-width:1024px){.tablet-adjust{padding:16px!important}.responsive-grid{grid-template-columns:repeat(2,1fr)!important}}@supports (padding:max(0px)){.safe-bottom{padding-bottom:max(24px,env(safe-area-inset-bottom))}.safe-top{padding-top:max(80px,env(safe-area-inset-top) + 60px)}}@media print{.no-print,footer,nav{display:none!important}body{background:#fff}.card{box-shadow:none;border:1px solid #ddd}}