.float-contact[data-v-0983c92a]{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:999}.contact-bar[data-v-0983c92a]{display:flex;flex-direction:column;background:var(--geo-primary-500);border-radius:12px 0 0 12px;box-shadow:-4px 4px 20px #0003;overflow:visible}.contact-icon[data-v-0983c92a]{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;cursor:pointer;transition:all .3s ease;position:relative;z-index:1}.wechat-icon[data-v-0983c92a]{background:#07c160;border-radius:12px 0 0}.contact-icon.phone-icon[data-v-0983c92a]{background:var(--geo-cta-400);border-radius:0 0 0 12px;color:#fff}.contact-icon[data-v-0983c92a]:hover,.contact-icon.active[data-v-0983c92a]{width:56px;padding-left:8px}.divider[data-v-0983c92a]{height:1px;background:#ffffff4d;margin:0;position:relative;z-index:2}.popup[data-v-0983c92a]{position:absolute;right:100%;top:50%;transform:translateY(-50%);background:#fff;border-radius:12px;box-shadow:-10px 10px 40px #00000026;padding:16px;min-width:220px;margin-right:12px}.wechat-popup[data-v-0983c92a]{top:30%}.phone-popup[data-v-0983c92a]{top:70%}.popup-header[data-v-0983c92a]{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #eee}.popup-title[data-v-0983c92a]{font-weight:600;font-size:16px;color:var(--geo-gray-900)}.popup-tip[data-v-0983c92a]{margin-top:12px;padding-top:12px;border-top:1px solid #eee;font-size:12px;color:var(--geo-gray-400);text-align:center}.wechat-list[data-v-0983c92a]{display:flex;flex-direction:column;gap:12px}.wechat-item[data-v-0983c92a]{display:flex;align-items:center;gap:12px;padding:8px;border-radius:8px;transition:background .2s}.wechat-item[data-v-0983c92a]:hover{background:#f5f5f5}.wechat-qrcode[data-v-0983c92a]{width:70px;height:70px;border-radius:8px;object-fit:cover;border:1px solid #eee}.wechat-name[data-v-0983c92a]{font-size:14px;color:var(--geo-gray-700);font-weight:500}.phone-list[data-v-0983c92a]{display:flex;flex-direction:column;gap:8px}.phone-item[data-v-0983c92a]{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;transition:background .2s}.phone-item[data-v-0983c92a]:hover{background:#f5f5f5}.phone-item .phone-icon[data-v-0983c92a]{color:var(--geo-cta-400);font-size:16px}.phone-number[data-v-0983c92a]{font-size:16px;font-weight:600;color:var(--geo-gray-800);text-decoration:none;letter-spacing:.5px}.phone-number[data-v-0983c92a]:hover{color:var(--geo-cta-400)}.popup-slide-enter-active[data-v-0983c92a],.popup-slide-leave-active[data-v-0983c92a]{transition:all .3s ease}.popup-slide-enter-from[data-v-0983c92a],.popup-slide-leave-to[data-v-0983c92a]{opacity:0;transform:translateY(-50%) translate(20px)}@media(max-width:768px){.contact-icon[data-v-0983c92a]{width:44px;height:44px;font-size:18px}.contact-icon[data-v-0983c92a]:hover,.contact-icon.active[data-v-0983c92a]{width:50px}.popup[data-v-0983c92a]{position:fixed;right:60px;min-width:180px}.wechat-qrcode[data-v-0983c92a]{width:60px;height:60px}}@font-face{font-family:iconfont;src:url(/assets/iconfont-CKF3Lifo.woff2?t=1785422751538) format("woff2"),url(/assets/iconfont-C4Q55efo.woff?t=1785422751538) format("woff"),url(/assets/iconfont-DYpd6NDA.ttf?t=1785422751538) format("truetype")}.iconfont{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-ads-data:before{content:""}.icon-datav-data:before{content:""}.icon-cdp-data:before{content:""}.icon-dataworks-data:before{content:""}.icon-eprofile-data:before{content:""}.icon-bi-data:before{content:""}.icon-graphanalytics-data:before{content:""}.icon-datahub-data:before{content:""}.icon-ide-data:before{content:""}.icon-odps-data:before{content:""}.icon-openad-data:before{content:""}.icon-porana-data:before{content:""}.icon-ruleengine-data:before{content:""}.icon-sc:before{content:""}.icon-re-data:before{content:""}.icon-prophet-data:before{content:""}.icon-dataphin:before{content:""}.icon-openanalytics:before{content:""}.icon-openad:before{content:""}.icon-graphanalytics:before{content:""}.icon-iplus:before{content:""}.icon-graphcompute:before{content:""}.icon-airec:before{content:""}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{--geo-primary-900: #0a1628;--geo-primary-800: #0f1f3a;--geo-primary-700: #152d54;--geo-primary-600: #1b3a6e;--geo-primary-500: #1e4682;--geo-primary-400: #2b5ea7;--geo-primary-300: #3d7ccc;--geo-primary-200: #6a9fdf;--geo-primary-100: #a3c5f0;--geo-primary-50: #dce9f8;--geo-accent-600: #0d4f3c;--geo-accent-500: #0f6b4f;--geo-accent-400: #128a64;--geo-accent-300: #16a87a;--geo-accent-200: #2ecc91;--geo-accent-100: #5fe0b0;--geo-accent-50: #b8f3da;--geo-accent-light: #e6faf3;--geo-cta-600: #c2410c;--geo-cta-500: #e8550f;--geo-cta-400: #f97316;--geo-cta-300: #fb923c;--geo-cta-200: #fdb87a;--geo-cta-100: #fed7b0;--geo-cta-50: #fff2e5;--geo-gray-900: #111827;--geo-gray-800: #1f2937;--geo-gray-700: #374151;--geo-gray-600: #4b5563;--geo-gray-500: #6b7280;--geo-gray-400: #9ca3af;--geo-gray-300: #d1d5db;--geo-gray-200: #e5e7eb;--geo-gray-100: #f3f4f6;--geo-gray-50: #f9fafb;--geo-white: #ffffff;--geo-success: #10b981;--geo-warning: #f59e0b;--geo-error: #ef4444;--geo-info: #3b82f6;--geo-gradient-hero: linear-gradient(160deg, #0a1628 0%, #0f1f3a 30%, #152d54 60%, #0f3d3a 100%);--geo-gradient-card: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);--geo-gradient-cta: linear-gradient(135deg, #f97316 0%, #e8550f 50%, #dc2626 100%);--geo-gradient-accent: linear-gradient(135deg, #16a87a 0%, #0f6b4f 100%);--geo-gradient-blue-card: linear-gradient(145deg, #1b3a6e 0%, #152d54 100%);--geo-gradient-glow: radial-gradient(ellipse at center, rgba(45, 140, 200, .25) 0%, transparent 70%);--geo-font-display: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;--geo-font-body: "PingFang SC", "Microsoft YaHei", "Inter", -apple-system, sans-serif;--geo-font-mono: "SF Mono", "JetBrains Mono", "Consolas", monospace;--geo-text-xs: .75rem;--geo-text-sm: .875rem;--geo-text-base: 1rem;--geo-text-lg: 1.125rem;--geo-text-xl: 1.25rem;--geo-text-2xl: 1.5rem;--geo-text-3xl: 1.875rem;--geo-text-4xl: 2.25rem;--geo-text-5xl: 3rem;--geo-text-6xl: 3.75rem;--geo-text-hero: 4.5rem;--geo-space-1: .25rem;--geo-space-2: .5rem;--geo-space-3: .75rem;--geo-space-4: 1rem;--geo-space-5: 1.25rem;--geo-space-6: 1.5rem;--geo-space-8: 2rem;--geo-space-10: 2.5rem;--geo-space-12: 3rem;--geo-space-16: 4rem;--geo-space-20: 5rem;--geo-space-24: 6rem;--geo-space-32: 8rem;--geo-radius-sm: .375rem;--geo-radius-md: .5rem;--geo-radius-lg: .75rem;--geo-radius-xl: 1rem;--geo-radius-2xl: 1.5rem;--geo-radius-3xl: 2rem;--geo-radius-full: 9999px;--geo-shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--geo-shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--geo-shadow-md: 0 4px 6px rgba(0, 0, 0, .05), 0 2px 4px rgba(0, 0, 0, .04);--geo-shadow-lg: 0 10px 25px rgba(0, 0, 0, .08), 0 4px 10px rgba(0, 0, 0, .04);--geo-shadow-xl: 0 20px 50px rgba(0, 0, 0, .12), 0 8px 20px rgba(0, 0, 0, .06);--geo-shadow-2xl: 0 32px 64px rgba(0, 0, 0, .16), 0 12px 28px rgba(0, 0, 0, .08);--geo-shadow-glow: 0 0 40px rgba(22, 168, 122, .2), 0 0 80px rgba(22, 168, 122, .08);--geo-shadow-card-hover: 0 24px 56px rgba(0, 0, 0, .14), 0 8px 18px rgba(0, 0, 0, .06);--geo-transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--geo-transition-base: .25s cubic-bezier(.4, 0, .2, 1);--geo-transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--geo-transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--geo-container-max: 1280px;--geo-container-narrow: 960px;--geo-container-wide: 1440px}:root{--ant-primary-color: #1e4682;--ant-link-color: #2b5ea7;--ant-border-radius-base: 8px;--ant-font-size-base: 16px;--ant-font-family: var(--geo-font-body)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--geo-font-body);color:var(--geo-gray-800);background:var(--geo-gray-50);line-height:1.7;overflow-x:hidden;min-height:100vh}#app{min-height:100vh;display:flex;flex-direction:column}a{color:var(--geo-primary-400);text-decoration:none;transition:color var(--geo-transition-fast)}a:hover{color:var(--geo-primary-500)}h1,h2,h3,h4,h5,h6{font-family:var(--geo-font-display);color:var(--geo-gray-900);line-height:1.2;letter-spacing:-.02em}h1{font-size:var(--geo-text-6xl);font-weight:700}h2{font-size:var(--geo-text-5xl);font-weight:700}h3{font-size:var(--geo-text-4xl);font-weight:600}h4{font-size:var(--geo-text-2xl);font-weight:600}p{color:var(--geo-gray-700);line-height:1.7}.container{width:100%;max-width:var(--geo-container-max);margin:0 auto;padding:0 var(--geo-space-6)}.container-narrow{max-width:var(--geo-container-narrow)}.container-wide{max-width:var(--geo-container-wide)}.section{padding:var(--geo-space-24) 0}.section-sm{padding:var(--geo-space-16) 0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--geo-primary-500)}.text-accent{color:var(--geo-accent-300)}.text-cta{color:var(--geo-cta-400)}.text-gray{color:var(--geo-gray-500)}.text-white{color:var(--geo-white)}.font-display{font-family:var(--geo-font-display)}.font-body{font-family:var(--geo-font-body)}.font-mono{font-family:var(--geo-font-mono)}.gradient-text{background:var(--geo-gradient-cta);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.geo-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--geo-space-2);font-family:var(--geo-font-body);font-weight:600;font-size:var(--geo-text-base);padding:var(--geo-space-3) var(--geo-space-6);border-radius:var(--geo-radius-lg);border:none;cursor:pointer;transition:all var(--geo-transition-base);text-decoration:none;white-space:nowrap;letter-spacing:.01em;position:relative;overflow:hidden}.geo-btn:active{transform:scale(.96)}.geo-btn-primary{background:var(--geo-gradient-cta);color:var(--geo-white);box-shadow:0 4px 16px #f9731659}.geo-btn-primary:hover{box-shadow:0 8px 28px #f9731680;transform:translateY(-2px);color:var(--geo-white)}.geo-btn-secondary{background:var(--geo-white);color:var(--geo-primary-500);border:2px solid var(--geo-primary-200);box-shadow:var(--geo-shadow-xs)}.geo-btn-secondary:hover{border-color:var(--geo-primary-400);background:var(--geo-primary-50);box-shadow:var(--geo-shadow-sm)}.geo-btn-accent{background:var(--geo-gradient-accent);color:var(--geo-white);box-shadow:0 4px 16px #16a87a59}.geo-btn-accent:hover{box-shadow:0 8px 28px #16a87a80;transform:translateY(-2px);color:var(--geo-white)}.geo-btn-ghost{background:transparent;color:var(--geo-primary-400);border:2px solid transparent}.geo-btn-ghost:hover{background:var(--geo-primary-50);border-color:var(--geo-primary-100)}.geo-btn-lg{padding:var(--geo-space-4) var(--geo-space-10);font-size:var(--geo-text-lg);border-radius:var(--geo-radius-xl)}.geo-btn-sm{padding:var(--geo-space-2) var(--geo-space-4);font-size:var(--geo-text-sm);border-radius:var(--geo-radius-md)}.geo-btn-pulse{animation:btnPulse 2s infinite}@keyframes btnPulse{0%,to{box-shadow:0 4px 16px #f9731659}50%{box-shadow:0 4px 32px #f9731699,0 0 0 12px #f9731614}}.geo-card{background:var(--geo-white);border-radius:var(--geo-radius-2xl);padding:var(--geo-space-8);box-shadow:var(--geo-shadow-sm);border:1px solid var(--geo-gray-100);transition:all var(--geo-transition-base);position:relative}.geo-card:hover{box-shadow:var(--geo-shadow-card-hover);transform:translateY(-4px);border-color:transparent}.geo-card-glow{border:1px solid transparent;background:var(--geo-gradient-card);position:relative}.geo-card-glow:before{content:"";position:absolute;inset:-1px;border-radius:var(--geo-radius-2xl);padding:1px;background:linear-gradient(135deg,var(--geo-accent-200),transparent 60%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.geo-card-stat{text-align:center;padding:var(--geo-space-6)}.geo-card-stat .stat-number{font-family:var(--geo-font-display);font-size:var(--geo-text-5xl);font-weight:800;background:var(--geo-gradient-cta);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}.geo-card-stat .stat-label{font-size:var(--geo-text-sm);color:var(--geo-gray-500);margin-top:var(--geo-space-2);font-weight:500}.geo-badge{display:inline-flex;align-items:center;gap:var(--geo-space-1);font-size:var(--geo-text-xs);font-weight:600;padding:var(--geo-space-1) var(--geo-space-3);border-radius:var(--geo-radius-full);letter-spacing:.03em}.geo-badge-primary{background:var(--geo-primary-50);color:var(--geo-primary-600)}.geo-badge-accent{background:var(--geo-accent-light);color:var(--geo-accent-600)}.geo-badge-cta{background:var(--geo-cta-50);color:var(--geo-cta-600)}.geo-badge-outline{background:transparent;border:1.5px solid var(--geo-gray-300);color:var(--geo-gray-600)}.section-header{text-align:center;margin-bottom:var(--geo-space-12)}.section-label{display:inline-block;font-size:var(--geo-text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--geo-accent-400);background:var(--geo-accent-light);padding:var(--geo-space-1) var(--geo-space-4);border-radius:var(--geo-radius-full);margin-bottom:var(--geo-space-3)}.section-title{font-family:var(--geo-font-display);font-size:var(--geo-text-4xl);font-weight:700;color:var(--geo-gray-900);letter-spacing:-.03em;line-height:1.2}.section-desc{color:var(--geo-gray-500);font-size:var(--geo-text-lg);max-width:640px;margin:var(--geo-space-4) auto 0}.icon-circle{width:52px;height:52px;border-radius:var(--geo-radius-xl);display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0}.icon-circle.blue{background:var(--geo-primary-50);color:var(--geo-primary-500)}.icon-circle.green{background:var(--geo-accent-light);color:var(--geo-accent-500)}.icon-circle.orange{background:var(--geo-cta-50);color:var(--geo-cta-500)}@media(max-width:1024px){.container{padding:0 var(--geo-space-4)}h1{font-size:var(--geo-text-5xl)}h2{font-size:var(--geo-text-4xl)}h3{font-size:var(--geo-text-3xl)}.section{padding:var(--geo-space-16) 0}}@media(max-width:768px){html{font-size:14px}h1{font-size:var(--geo-text-4xl)}h2{font-size:var(--geo-text-3xl)}h3{font-size:var(--geo-text-2xl)}.section{padding:var(--geo-space-12) 0}.section-header{margin-bottom:var(--geo-space-8)}.section-title{font-size:var(--geo-text-3xl)}.section-desc{font-size:var(--geo-text-base)}}@media(max-width:480px){h1{font-size:var(--geo-text-3xl)}h2{font-size:var(--geo-text-2xl)}h3{font-size:var(--geo-text-xl)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 4px 16px #f9731659}50%{box-shadow:0 4px 32px #f9731699,0 0 0 12px #f9731614}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}@keyframes skeleton{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,var(--geo-gray-100) 0px,var(--geo-gray-200) 40px,var(--geo-gray-100) 80px);background-size:200px 100%;animation:skeleton 1.5s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #16a87a4d}50%{box-shadow:0 0 40px #16a87a99,0 0 80px #16a87a33}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes countUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}.animate-fade-in-up{animation:fadeInUp .5s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .5s ease-out forwards}.animate-fade-in-left{animation:fadeInLeft .5s ease-out forwards}.animate-fade-in-right{animation:fadeInRight .5s ease-out forwards}.animate-scale-in{animation:scaleIn .5s ease-out forwards}.animate-bounce-in{animation:bounceIn .6s ease-out forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-spin-slow{animation:spinSlow 3s linear 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}.hover-lift{transition:transform var(--geo-transition-base),box-shadow var(--geo-transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--geo-shadow-card-hover)}.hover-glow{transition:box-shadow var(--geo-transition-base)}.hover-glow:hover{box-shadow:var(--geo-shadow-glow)}.grid{display:grid;gap:var(--geo-space-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}.hide-tablet{display:none}.show-tablet{display:block}}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hide-mobile{display:none}.show-mobile{display:block}.btn-full-mobile{width:100%}.stack-mobile{display:flex;flex-direction:column}.text-center-mobile{text-align:center}.hidden-mobile{display:none!important}.px-mobile{padding-left:var(--geo-space-4);padding-right:var(--geo-space-4)}}@media(max-width:480px){.gap-tight{gap:var(--geo-space-3)}.p-small{padding:var(--geo-space-4)}.rounded-sm{border-radius:var(--geo-radius-md)}}@media(min-width:1440px){.container{max-width:var(--geo-container-wide)}.gap-wide{gap:var(--geo-space-8)}}@media(min-width:1920px){.container{max-width:1600px}}@media(hover:none)and (pointer:coarse){.hover-lift:hover{transform:none}.geo-btn{min-height:44px;min-width:44px}a{padding:var(--geo-space-2)}}@media print{.no-print{display:none!important}body{background:#fff;color:#000}.geo-card{box-shadow:none;border:1px solid #ccc}.geo-btn{box-shadow:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}@media(prefers-contrast:high){.geo-btn-primary{background:#000;color:#fff;border:2px solid #fff}.geo-card{border:2px solid #000}}:focus-visible{outline:2px solid var(--geo-primary-400);outline-offset:2px}:focus:not(:focus-visible){outline:none}
