:root{--color-primary:#e53935;--color-secondary:#f5621e;--color-accent:#e8c94a;--color-bg-primary:#0b1910;--color-bg-secondary:#111c16;--color-bg-tertiary:#1a2d20;--color-text-primary:#f0ebe3;--color-text-muted:#8fa694;--color-text-subtle:hsla(37,30%,92%,.38);--color-border:hsla(0,0%,100%,.06);--color-border-hover:hsla(0,0%,100%,.14);--color-overlay:rgba(11,25,16,.92);--font-display:"Bebas Neue",sans-serif;--font-body:"DM Sans",sans-serif;--font-mono:"Space Mono",monospace;--font-size-xs:0.55rem;--font-size-sm:0.65rem;--font-size-base:0.82rem;--font-size-md:1rem;--font-size-lg:1.5rem;--font-size-xl:2rem;--font-size-2xl:3rem;--font-size-3xl:clamp(2.5rem,4.5vw,4rem);--font-size-hero:clamp(3.5rem,7vw,6.5rem);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--line-height-tight:0.9;--line-height-snug:1;--line-height-normal:1.5;--line-height-relaxed:1.65;--line-height-loose:1.8;--letter-spacing-tight:0.02em;--letter-spacing-normal:0.04em;--letter-spacing-wide:0.08em;--letter-spacing-wider:0.12em;--letter-spacing-widest:0.18em;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:2.5rem;--space-3xl:4rem;--space-4xl:5rem;--space-5xl:6rem;--section-padding-y:6rem;--section-padding-x:5rem;--section-padding-x-mobile:1.5rem;--border-radius-sm:2px;--border-radius-md:4px;--border-radius-lg:8px;--border-radius-full:50%;--border-width:1px;--transition-fast:0.18s ease;--transition-base:0.25s ease;--transition-slow:0.4s ease;--z-base:1;--z-dropdown:10;--z-sticky:50;--z-fixed:100;--z-modal:200;--z-tooltip:300;--breakpoint-sm:480px;--breakpoint-md:768px;--breakpoint-lg:960px;--breakpoint-xl:1200px;--bg-primary:var(--color-bg-primary);--bg-secondary:var(--color-bg-secondary);--bg-tertiary:var(--color-bg-tertiary);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-muted);--text-tertiary:var(--color-text-subtle);--accent:#f5621e;--accent-hover:#d94e0f;--border-color:var(--color-border);--font-sans:var(--font-body)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.65)}}@keyframes pinPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.3}50%{transform:translate(-50%,-50%) scale(1.8);opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(229,57,53,.3)}50%{box-shadow:0 0 20px rgba(229,57,53,.6)}}.animate-fadeUp{animation:fadeUp .6s ease both}.animate-fadeIn{animation:fadeIn .6s ease both}.animate-slideInLeft{animation:slideInLeft .5s ease both}.animate-slideInRight{animation:slideInRight .5s ease both}.animate-scaleIn{animation:scaleIn .4s ease both}.animate-pulse{animation:pulse 1.5s infinite}.animate-bounce{animation:bounce 2s ease-in-out infinite}.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}.delay-700{animation-delay:.7s}.delay-800{animation-delay:.8s}.transition-all{transition:all var(--transition-base)}.transition-colors{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}.hover-lift:hover{transform:translateY(-2px)}.hover-scale:hover{transform:scale(1.02)}.hover-glow:hover{box-shadow:0 0 20px rgba(229,57,53,.3)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body,html{height:100%}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-normal);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-wide)}p{line-height:var(--line-height-relaxed)}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;height:auto;display:block}.leaflet-container{height:100%;width:100%;background:#0a0a0a!important}.leaflet-container img{max-width:none;max-height:none}.leaflet-map-pane,.leaflet-tile-pane{background:#0a0a0a}ol,ul{list-style:none}.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}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);padding:1rem 2rem;background:var(--color-primary);color:#fff;z-index:9999;border-radius:var(--border-radius-md)}.skip-link:focus{top:1rem}:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:hsla(0,0%,100%,.1);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:hsla(0,0%,100%,.2)}::selection{background:var(--color-primary);color:#fff}