:root{--umap-blue-deep: #1D4ED8;--umap-blue-sky: #60A5FA;--umap-green: #7ED957;--umap-green-dark: #5CB338;--umap-dark: #0A0E1A;--umap-dark-900: #0F1419;--umap-dark-800: #111827;--umap-dark-700: #1F2937;--umap-sand: #F5E6D3;--umap-terracotta: #D97757;--umap-ocean: #2D5A7B;--color-success: #22C55E;--color-warning: #F59E0B;--color-error: #EF4444;--color-info: #3B82F6;--color-open: #10B981;--color-closed: #6B7280;--surface-base: var(--umap-dark);--surface-elevated: rgba(255, 255, 255, .04);--surface-glass: rgba(255, 255, 255, .06);--surface-overlay: rgba(10, 14, 26, .85);--surface-card: rgba(255, 255, 255, .03);--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .2);--border-accent: rgba(126, 217, 87, .4);--font-display: "Space Grotesk", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--text-xs: clamp(.7rem, .65rem + .25vw, .75rem);--text-sm: clamp(.8rem, .75rem + .25vw, .875rem);--text-base: clamp(.95rem, .9rem + .25vw, 1rem);--text-lg: clamp(1.05rem, .95rem + .5vw, 1.125rem);--text-xl: clamp(1.2rem, 1.05rem + .75vw, 1.25rem);--text-2xl: clamp(1.5rem, 1.25rem + 1.25vw, 1.5rem);--text-3xl: clamp(1.875rem, 1.5rem + 1.875vw, 1.875rem);--text-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 2.25rem);--text-5xl: clamp(3rem, 2rem + 5vw, 3rem);--text-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 3.75rem);--text-hero: clamp(4rem, 2.5rem + 7.5vw, 6rem);--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.6;--leading-loose: 1.75;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--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;--space-40: 10rem;--section-py-sm: clamp(3rem, 6vw, 4rem);--section-py: clamp(4rem, 8vw, 8rem);--section-py-lg: clamp(6rem, 12vw, 12rem);--section-px: clamp(1.5rem, 4vw, 2rem);--radius-xs: .25rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-2xl: 2rem;--radius-3xl: 2.5rem;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .08);--shadow-md: 0 4px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 8px 16px rgba(0, 0, 0, .16);--shadow-xl: 0 12px 24px rgba(0, 0, 0, .2);--shadow-2xl: 0 20px 40px rgba(0, 0, 0, .25);--shadow-glow-green: 0 0 40px rgba(126, 217, 87, .3);--shadow-glow-blue: 0 0 40px rgba(96, 165, 250, .3);--shadow-lift: 0 8px 24px rgba(0, 0, 0, .15);--blur-xs: 4px;--blur-sm: 8px;--blur-md: 12px;--blur-lg: 16px;--blur-xl: 24px;--blur-2xl: 32px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-in-out-smooth: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.68, -.55, .265, 1.55);--duration-instant: .1s;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s;--duration-slowest: .8s;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-drawer: 400;--z-overlay: 500;--z-modal: 1000;--z-toast: 2000;--z-tooltip: 3000;--container-max: 1280px;--container-narrow: 768px;--container-wide: 1440px;--reveal-distance: 40px;--reveal-stagger: .1s;--lift-distance: -4px;--parallax-speed: .3}@media (min-width: 1536px){:root{--container-max: 1440px;--container-wide: 1680px;--text-xs: clamp(.75rem, .7rem + .2vw, .8rem);--text-sm: clamp(.875rem, .82rem + .25vw, .95rem);--text-base: clamp(1rem, .95rem + .25vw, 1.1rem);--text-lg: clamp(1.125rem, 1rem + .35vw, 1.25rem);--text-xl: clamp(1.25rem, 1.1rem + .45vw, 1.5rem);--text-2xl: clamp(1.75rem, 1.4rem + .6vw, 2rem);--text-3xl: clamp(2.25rem, 1.8rem + .75vw, 2.5rem);--text-4xl: clamp(2.75rem, 2.1rem + 1vw, 3.25rem);--text-5xl: clamp(3.25rem, 2.4rem + 1.2vw, 4rem);--text-6xl: clamp(4rem, 3rem + 1.4vw, 4.75rem);--text-hero: clamp(5rem, 3.8rem + 2vw, 7rem);--section-py-sm: clamp(3.5rem, 4vw, 5rem);--section-py: clamp(5rem, 5vw, 9rem);--section-py-lg: clamp(7rem, 6vw, 13rem);--section-px: clamp(2rem, 3vw, 3rem)}}@media (min-width: 1920px){:root{--container-max: 1600px;--container-wide: 1920px;--section-py-sm: clamp(4rem, 3vw, 6rem);--section-py: clamp(6rem, 4vw, 10rem);--section-py-lg: clamp(8rem, 5vw, 14rem);--section-px: clamp(2.5rem, 3vw, 4rem)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}:root{--reveal-distance: 0px;--lift-distance: 0px;--parallax-speed: 0}}:root[data-theme=light]{--surface-base: #F8FAFC;--surface-elevated: #FFFFFF;--surface-glass: rgba(15, 23, 42, .04);--surface-overlay: rgba(15, 23, 42, .9);--surface-card: rgba(15, 23, 42, .02);--border-subtle: rgba(15, 23, 42, .08);--border-default: rgba(15, 23, 42, .15);--border-strong: rgba(15, 23, 42, .25);--border-accent: rgba(126, 217, 87, .6)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);color:#fff;background:var(--surface-base)}img,video{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer}a{color:inherit;text-decoration:none}::-moz-selection{background:var(--umap-green);color:var(--umap-dark)}::selection{background:var(--umap-green);color:var(--umap-dark)}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--section-px)}.container-narrow{max-width:var(--container-narrow);margin:0 auto;padding:0 var(--section-px)}.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 var(--section-px)}.section{position:relative;padding:var(--section-py) 0}.section-sm{padding:var(--section-py-sm) 0}.section-lg{padding:var(--section-py-lg) 0}.section-header{text-align:center;margin-bottom:var(--space-16)}.section-label{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-widest);color:#7ed957b3;margin-bottom:var(--space-3);display:block}.section-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-4)}.section-subtitle{font-size:var(--text-lg);color:#ffffffa6;max-width:42rem;margin:0 auto;line-height:var(--leading-relaxed)}.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-body);font-size:var(--text-sm);font-weight:600;line-height:1;text-decoration:none;cursor:pointer;transition:all var(--duration-normal) var(--ease-out-expo);border:1px solid transparent;white-space:nowrap;position:relative;overflow:hidden}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--umap-green),0 0 0 5px #7ed9574d}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:var(--umap-green);color:var(--umap-dark);box-shadow:var(--shadow-glow-green)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 50px #7ed95780}.btn-secondary{background:var(--surface-glass);color:#fff;border-color:var(--border-default);backdrop-filter:blur(var(--blur-sm))}.btn-secondary:hover:not(:disabled){background:#ffffff1f;border-color:var(--border-strong);transform:translateY(-2px)}.btn-ghost{background:transparent;color:#fffc}.btn-ghost:hover:not(:disabled){background:var(--surface-glass);color:#fff}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-icon{width:2.75rem;height:2.75rem;padding:0;border-radius:var(--radius-lg)}.card{position:relative;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--duration-normal) var(--ease-out-expo)}.card-glass{background:var(--surface-glass);backdrop-filter:blur(var(--blur-md));border-color:var(--border-default)}.card-hover{cursor:pointer}.card-hover:hover{transform:translateY(var(--lift-distance));box-shadow:var(--shadow-lift);border-color:var(--border-accent)}.card-glow:hover{box-shadow:0 0 40px 8px #7ed95733}.card-flip{perspective:1000px}.card-flip-inner{position:relative;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-out-expo);transform-style:preserve-3d}.card-flip:hover .card-flip-inner{transform:rotateY(180deg)}.card-flip-front,.card-flip-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-flip-back{transform:rotateY(180deg)}.card-body{padding:var(--space-6)}.card-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle)}.card-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;line-height:1;border:1px solid;text-transform:uppercase;letter-spacing:var(--tracking-wide)}.badge-success{background:#22c55e26;border-color:#22c55e66;color:#86efac}.badge-open{background:#10b98126;border-color:#10b98166;color:#6ee7b7}.badge-closed{background:#6b728026;border-color:#6b728066;color:#d1d5db}.badge-warning{background:#f59e0b26;border-color:#f59e0b66;color:#fcd34d}.badge-error{background:#ef444426;border-color:#ef444466;color:#fca5a5}.badge-info{background:#3b82f626;border-color:#3b82f666;color:#93c5fd}.badge-neutral{background:#ffffff14;border-color:#fff3;color:#ffffffbf}.input,.textarea,.select{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);background:#ffffff0f;border:1px solid var(--border-default);color:#fff;font-family:var(--font-body);font-size:var(--text-sm);transition:all var(--duration-normal) var(--ease-out-expo);outline:none}.input::-moz-placeholder,.textarea::-moz-placeholder{color:#fff6}.input::placeholder,.textarea::placeholder{color:#fff6}.input:hover,.textarea:hover,.select:hover{border-color:var(--border-strong);background:#ffffff14}.input:focus,.textarea:focus,.select:focus{border-color:var(--umap-green);background:#ffffff1a;box-shadow:0 0 0 3px #7ed95733}.textarea{resize:vertical;min-height:120px;line-height:var(--leading-relaxed)}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(240px,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)}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,1fr)}.lg\:grid-cols-4{grid-template-columns:repeat(4,1fr)}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-20) var(--space-6);text-align:center}.empty-state-icon{width:4rem;height:4rem;margin-bottom:var(--space-4);color:#ffffff40}.empty-state-title{font-size:var(--text-lg);font-weight:600;color:#fffc;margin-bottom:var(--space-2)}.empty-state-desc{font-size:var(--text-sm);color:#ffffff80;max-width:28rem;line-height:var(--leading-relaxed)}.overlay{position:fixed;inset:0;background:var(--surface-overlay);backdrop-filter:blur(var(--blur-xl));z-index:var(--z-overlay);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out-expo)}.overlay.active{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(var(--reveal-distance));transition:opacity var(--duration-slower) var(--ease-out-expo),transform var(--duration-slower) var(--ease-out-expo)}.reveal.active{opacity:1;transform:translateY(0)}.reveal-stagger-1{transition-delay:calc(var(--reveal-stagger) * 1)}.reveal-stagger-2{transition-delay:calc(var(--reveal-stagger) * 2)}.reveal-stagger-3{transition-delay:calc(var(--reveal-stagger) * 3)}.reveal-stagger-4{transition-delay:calc(var(--reveal-stagger) * 4)}.reveal-stagger-5{transition-delay:calc(var(--reveal-stagger) * 5)}.shine{position:relative;overflow:hidden}.shine:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left var(--duration-slower) var(--ease-out-expo)}.shine:hover:after{left:100%}.lift{transition:transform var(--duration-normal) var(--ease-out-expo)}.lift:hover{transform:translateY(var(--lift-distance))}.glow-on-hover{transition:box-shadow var(--duration-normal) var(--ease-out-expo)}.glow-on-hover:hover{box-shadow:0 0 40px 8px #7ed95740}.navbar-sticky{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);backdrop-filter:blur(var(--blur-xl));transition:all var(--duration-normal) var(--ease-out-expo)}.navbar-sticky.scrolled{background:#0a0e1ae6;border-bottom:1px solid var(--border-subtle);padding-top:.75rem;padding-bottom:.75rem}.nav-preview{position:absolute;top:100%;left:50%;transform:translate(-50%) translateY(10px);width:320px;padding:var(--space-4);background:var(--surface-glass);backdrop-filter:blur(var(--blur-xl));border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);opacity:0;pointer-events:none;transition:all var(--duration-normal) var(--ease-out-expo);z-index:var(--z-dropdown)}.nav-item:hover .nav-preview{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.nav-preview-img{width:100%;height:120px;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--space-3)}.nav-preview-title{font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-2)}.nav-preview-desc{font-size:var(--text-xs);color:#fff9;line-height:var(--leading-relaxed);margin-bottom:var(--space-3)}.nav-preview-cta{font-size:var(--text-xs);color:var(--umap-green);font-weight:600;display:inline-flex;align-items:center;gap:var(--space-1)}.drawer{position:fixed;inset:0;z-index:var(--z-drawer);pointer-events:none}.drawer-backdrop{position:absolute;inset:0;background:#0a0e1ad9;backdrop-filter:blur(var(--blur-xl));opacity:0;transition:opacity var(--duration-normal) var(--ease-out-expo)}.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(90vw,400px);background:var(--umap-dark-900);border-left:1px solid var(--border-subtle);transform:translate(100%);transition:transform var(--duration-slow) var(--ease-out-expo);overflow-y:auto;padding:var(--space-6)}.drawer.active{pointer-events:auto}.drawer.active .drawer-backdrop{opacity:1}.drawer.active .drawer-panel{transform:translate(0)}.drawer-section{margin-bottom:var(--space-8)}.drawer-section-title{font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:var(--tracking-wider);color:#ffffff80;margin-bottom:var(--space-3)}.drawer-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-3)}*:focus-visible{outline:none;box-shadow:0 0 0 3px var(--umap-green),0 0 0 5px #7ed9574d;border-radius:4px}.text-gradient{background:linear-gradient(135deg,#60a5fa,#7ed957);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.bg-gradient-primary{background:linear-gradient(135deg,var(--umap-blue-deep) 0%,var(--umap-blue-sky) 100%)}.bg-gradient-accent{background:linear-gradient(135deg,var(--umap-green) 0%,var(--umap-green-dark) 100%)}.glass{background:var(--surface-glass);backdrop-filter:blur(var(--blur-md));border:1px solid var(--border-default)}.parallax-slow{transition:transform .1s linear}.progress-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--umap-green),var(--umap-blue-sky));transform-origin:left;transform:scaleX(0);z-index:var(--z-tooltip);transition:transform .1s linear}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-4);background:var(--umap-green);color:var(--umap-dark);border-radius:var(--radius-md);z-index:var(--z-tooltip);font-weight:600;font-size:var(--text-sm);transition:top var(--duration-fast)}.skip-link:focus{top:var(--space-2)}
