:root{--color-accent: #7c3aed;--color-accent-light: #a78bfa;--color-accent-dark: #5b21b6;--color-accent-glow: rgba(124, 58, 237, .3);--color-accent-subtle: rgba(124, 58, 237, .1)}:root{--color-bg-primary: #0a0a0f;--color-bg-secondary: #13131a;--color-bg-tertiary: #1a1a24;--color-bg-card: rgba(255, 255, 255, .05);--color-bg-hover: rgba(255, 255, 255, .08);--color-bg-active: rgba(255, 255, 255, .12);--color-text-primary: #ffffff;--color-text-secondary: #a0a0b0;--color-text-tertiary: #6c6c7c;--color-text-inverse: #0a0a0f;--color-border: rgba(255, 255, 255, .1);--color-border-strong: rgba(255, 255, 255, .2);--color-success: #00b894;--color-warning: #fdcb6e;--color-error: #ff6b6b;--color-info: #74b9ff;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-blur: blur(20px)}:root{--spacing-2xs: 2px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px}:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.25rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75}:root{--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}:root{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .2);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .25);--shadow-accent: 0 4px 20px var(--color-accent-glow)}:root{--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s;--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--transition-fast: var(--duration-fast) var(--ease-in-out);--transition-normal: var(--duration-normal) var(--ease-in-out);--transition-slow: var(--duration-slow) var(--ease-out)}:root{--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 250;--z-modal: 300;--z-toast: 400;--z-contact-button: 500}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}img,video{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit;color:inherit;border:none;background:none;outline:none}button{cursor:pointer}ul,ol{list-style:none}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);font-size:var(--font-size-md);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh;min-height:100dvh;position:relative}#root{min-height:100vh;min-height:100dvh;position:relative;z-index:1}.app-background-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;background-repeat:no-repeat;pointer-events:none;overflow:hidden;will-change:opacity;transform:translateZ(0)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}html{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}::selection{background-color:var(--color-accent);color:var(--color-text-inverse)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-xs)}:focus:not(:focus-visible){outline:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sticky-top-group{position:sticky;top:0;z-index:calc(var(--z-sticky, 200) + 10)}@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(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.anim-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out) forwards}.anim-fade-up{animation:fadeInUp var(--duration-slow) var(--ease-out) forwards}.anim-fade-down{animation:fadeInDown var(--duration-normal) var(--ease-out) forwards}.anim-slide-left{animation:slideInLeft var(--duration-slow) var(--ease-out) forwards}.anim-slide-right{animation:slideInRight var(--duration-slow) var(--ease-out) forwards}.anim-scale-in{animation:scaleIn var(--duration-normal) var(--ease-spring) forwards}.anim-pulse{animation:pulse 2s var(--ease-in-out) infinite}.anim-spin{animation:spin 1s linear infinite}.anim-shake{animation:shake .5s var(--ease-in-out)}.stagger-1{animation-delay:0ms}.stagger-2{animation-delay:50ms}.stagger-3{animation-delay:.1s}.stagger-4{animation-delay:.15s}.stagger-5{animation-delay:.2s}.stagger-6{animation-delay:.25s}.stagger-7{animation-delay:.3s}.stagger-8{animation-delay:.35s}[class*=stagger-]{opacity:0;animation-fill-mode:both}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--color-bg-hover) 25%,var(--color-bg-active) 50%,var(--color-bg-hover) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.spinner-container{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl)}.spinner-container--fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--color-bg-primary);z-index:var(--z-overlay)}.spinner{border-radius:var(--radius-full);border-style:solid;border-color:var(--color-border);border-top-color:var(--color-accent);animation:spin .8s linear infinite}.spinner--sm{width:24px;height:24px;border-width:2px}.spinner--md{width:40px;height:40px;border-width:3px}.spinner--lg{width:64px;height:64px;border-width:4px}.header{position:relative;z-index:2;background:var(--header-bg, #0d0d14);border-bottom:1px solid var(--header-border-color, rgba(255, 255, 255, .06));display:flex;align-items:center;padding:var(--spacing-sm);min-height:72px;gap:var(--spacing-md);transition:box-shadow var(--duration-normal) var(--ease-out)}.header--scrolled{box-shadow:0 4px 24px #00000080}.header__brand{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;flex-shrink:0}.header__brand-logo{height:var(--header-logo-size, 56px);width:auto;max-width:var(--header-logo-size, 56px);object-fit:contain;border-radius:var(--radius-md);animation:headerFloatLogo 3s ease-in-out infinite;transition:transform var(--duration-normal) var(--ease-out)}.header__brand-logo:hover{animation-play-state:paused;transform:scale(1.05)}@keyframes headerFloatLogo{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.header__brand-info{display:flex;flex-direction:column;gap:2px;min-width:0;max-width:65vw}.header__brand-name{font-weight:var(--header-text-weight, 800);font-size:clamp(1rem,3.2vw,1.5rem);letter-spacing:var(--header-text-spacing, .2em);text-transform:var(--header-text-transform, uppercase);color:var(--header-text-color, #f0f0f5);text-shadow:0 1px 6px rgba(0,0,0,.2);white-space:normal;word-break:break-word;overflow-wrap:break-word;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.header__brand-slogan{font-size:clamp(.55rem,1.76vw,.825rem);font-weight:400;color:var(--header-text-color, rgba(240, 240, 245, .6));letter-spacing:.04em;text-transform:none;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:sloganPulse 4s var(--ease-in-out) infinite}@keyframes sloganPulse{0%,to{opacity:.6}50%{opacity:.9}}@media(max-width:768px){.header{padding:var(--spacing-sm);gap:var(--spacing-sm);min-height:68px}.header__brand-logo{height:calc(var(--header-logo-size, 56px) * .85);max-width:calc(var(--header-logo-size, 56px) * .85)}}@media(max-width:480px){.header{padding:var(--spacing-sm);min-height:64px}.header__brand-logo{height:calc(var(--header-logo-size, 56px) * .78);max-width:calc(var(--header-logo-size, 56px) * .78)}}@media(prefers-reduced-motion:reduce){.header__brand-logo{animation:none}.header__brand-logo:hover{transform:none}.header__brand-slogan{animation:none;opacity:.6}}@keyframes tickerScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.banner{position:relative;z-index:1;width:100%;overflow:hidden;background:var(--color-bg-elevated, #1e1e2a);border-bottom:1px solid rgba(255,255,255,.1);box-shadow:0 4px 20px #0003,0 0 60px var(--color-accent-glow, rgba(108, 92, 231, .3)) inset}.banner:before,.banner:after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none}.banner:before{left:0;background:linear-gradient(to right,var(--banner-edge-color, transparent),transparent)}.banner:after{right:0;background:linear-gradient(to left,var(--banner-edge-color, transparent),transparent)}.banner__track{display:flex;width:fit-content;animation:tickerScroll var(--banner-speed, 45s) linear infinite;will-change:transform;padding:var(--space-3) 0}.banner:hover .banner__track{animation-play-state:paused}.banner__text{display:inline-block;white-space:nowrap;font-size:var(--text-base);font-weight:700;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3),0 0 30px rgba(255,255,255,.2);letter-spacing:.05em;text-transform:uppercase;padding-right:100px}@media(max-width:768px){.banner__text{font-size:var(--text-sm);padding-right:60px}.banner__track{padding:var(--space-2) 0;animation-duration:var(--banner-speed-mobile, 35s)}.banner:before,.banner:after{width:40px}}@media(max-width:480px){.banner__text{font-size:var(--text-xs);font-weight:600}}@media(prefers-reduced-motion:reduce){.banner__track,.banner__text{animation:none}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:flex-end;justify-content:space-around;height:56px;padding-bottom:env(safe-area-inset-bottom,0px);background:color-mix(in srgb,var(--color-bg-secondary) 80%,transparent);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border-top:1px solid var(--color-border);box-shadow:0 -2px 24px #0003;animation:bottomNavSlideUp var(--duration-slow, .4s) var(--ease-out) both}.bottom-nav__glow-line{position:absolute;top:-1px;left:8%;right:8%;height:1px;background:linear-gradient(90deg,transparent 0%,var(--color-accent-glow) 25%,var(--color-accent) 50%,var(--color-accent-glow) 75%,transparent 100%);opacity:.5;pointer-events:none}@keyframes bottomNavSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.bottom-nav__item{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;flex:1;height:100%;padding:6px 0;background:none;border:none;cursor:pointer;outline:none;color:var(--color-text-tertiary);transition:color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-spring);-webkit-tap-highlight-color:transparent;position:relative}.bottom-nav__item:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px;border-radius:var(--radius-sm)}.bottom-nav__item--active{color:var(--color-accent)}@media(hover:hover){.bottom-nav__item:hover:not(.bottom-nav__item--active){color:var(--color-text-secondary)}.bottom-nav__item:hover .bottom-nav__icon{transform:translateY(-1px)}}.bottom-nav__item:active{transform:scale(.9)}.bottom-nav__icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:34px;height:26px}.bottom-nav__icon{width:21px;height:21px;position:relative;z-index:1;transition:transform var(--duration-fast) var(--ease-spring)}.bottom-nav__item--active .bottom-nav__icon{transform:scale(1.08)}.bottom-nav__label{font-size:9px;font-weight:500;letter-spacing:.03em;line-height:1;text-transform:uppercase;transition:color var(--duration-fast) var(--ease-out)}.bottom-nav__item--active .bottom-nav__label{font-weight:700}.bottom-nav__center-spacer{width:72px;flex-shrink:0}.bottom-nav__center{position:absolute;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:2;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;background:var(--color-bg-tertiary);color:var(--color-text-tertiary);border:1px solid var(--color-border);box-shadow:0 4px 12px #0000004d,inset 0 1px #ffffff0f;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-fast) var(--ease-out),background var(--duration-normal) var(--ease-out),color var(--duration-normal) var(--ease-out),border-color var(--duration-normal) var(--ease-out);animation:centerBtnAppear var(--duration-slow, .4s) var(--ease-spring) .1s both}.bottom-nav__center-ring{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:2px solid var(--color-border);pointer-events:none;transition:border-color var(--duration-normal) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.bottom-nav__center--active{background:var(--color-accent);color:#fff;border-color:transparent;box-shadow:0 4px 16px var(--color-accent-glow),0 2px 8px #0000004d,inset 0 1px #ffffff26}.bottom-nav__center--active .bottom-nav__center-ring{border-color:color-mix(in srgb,var(--color-accent) 40%,transparent);animation:ringPulse 2.5s var(--ease-in-out) infinite}@keyframes ringPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.4}}@keyframes centerBtnAppear{0%{opacity:0;transform:translate(-50%) scale(.5) translateY(20px)}to{opacity:1;transform:translate(-50%) scale(1) translateY(0)}}@media(hover:hover){.bottom-nav__center:hover{transform:translate(-50%) scale(1.06)}.bottom-nav__center:hover .bottom-nav__center-ring{transform:scale(1.06)}}.bottom-nav__center:active{transform:translate(-50%) scale(.93)}.bottom-nav__center:focus-visible{outline:2px solid #fff;outline-offset:3px}.bottom-nav__center-icon{width:26px;height:26px;position:relative;z-index:1}.bottom-nav-spacer{height:calc(68px + env(safe-area-inset-bottom,0px))}@media(max-width:360px){.bottom-nav__label{font-size:8px;letter-spacing:0}.bottom-nav__icon{width:19px;height:19px}.bottom-nav__center{width:50px;height:50px}.bottom-nav__center-spacer{width:60px}.bottom-nav__center-icon{width:23px;height:23px}}@media(max-width:320px){.bottom-nav__label{font-size:7px}.bottom-nav__center{width:46px;height:46px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}.bottom-nav__center-spacer{width:54px}}@media(prefers-reduced-motion:reduce){.bottom-nav,.bottom-nav__center{animation:none}.bottom-nav__item,.bottom-nav__icon{transition:none}.bottom-nav__center,.bottom-nav__center-ring{animation:none}}
