.bottom-tabbar[data-v-22b5a581]{z-index:300;background:#fff;border-top:1px solid #eef0f3;grid-template-columns:repeat(4,1fr);height:56px;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0000000f}.tabbar-item[data-v-22b5a581]{color:#7f8c8d;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;text-decoration:none;transition:color .2s;display:flex}.tabbar-icon[data-v-22b5a581]{font-size:20px;line-height:1}.tabbar-item.active[data-v-22b5a581]{color:#e74c3c;font-weight:600}@media (width<=768px){.bottom-tabbar[data-v-22b5a581]{padding-bottom:env(safe-area-inset-bottom);display:grid}}.main-content{min-height:calc(100vh - 364px);margin-top:64px}.call-btn{z-index:200;color:#fff;background:#e74c3c;border-radius:50px;align-items:center;gap:8px;padding:12px 20px;font-size:15px;display:none;position:fixed;bottom:24px;right:18px;box-shadow:0 4px 16px #e74c3c73}.call-icon{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.qq-widget{z-index:200;display:none;position:fixed;bottom:24px;right:18px}.qq-btn{color:#fff;background:linear-gradient(135deg,#12b7f5,#0c9ce0);border-radius:50px;align-items:center;gap:8px;padding:12px 20px;font-size:15px;text-decoration:none;transition:transform .25s,box-shadow .25s;display:flex;position:relative;box-shadow:0 4px 16px #12b7f573}.qq-btn:hover{transform:translateY(-3px);box-shadow:0 8px 22px #12b7f58c}.qq-btn:after{content:"";pointer-events:none;border:2px solid #12b7f58c;border-radius:50px;animation:2.2s ease-out infinite qq-pulse;position:absolute;inset:0}.qq-btn:hover:after{opacity:0;animation:none}@keyframes qq-pulse{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}.qq-icon{color:#12b7f5;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.qq-num{opacity:.92;font-size:13px}.qq-pop{text-align:left;opacity:0;visibility:hidden;background:#fff;border-radius:12px;width:232px;padding:16px;transition:opacity .25s,transform .25s,visibility .25s;position:absolute;bottom:calc(100% + 14px);right:0;transform:translateY(6px);box-shadow:0 10px 30px #00000029}.qq-pop.show{opacity:1;visibility:visible;transform:translateY(0)}.qq-pop:after{content:"";border-top:9px solid #fff;border-left:9px solid #0000;border-right:9px solid #0000;width:0;height:0;position:absolute;bottom:-8px;right:26px}.qq-pop-title{color:#2c3e50;margin-bottom:6px;font-size:14px;font-weight:700}.qq-pop-num{color:#666;margin-bottom:12px;font-size:13px}.qq-pop-num b{color:#12b7f5}.qq-pop-actions{gap:8px;display:flex}.qq-pop-link{text-align:center;color:#fff;background:linear-gradient(135deg,#12b7f5,#0c9ce0);border-radius:8px;flex:1;padding:8px 0;font-size:13px;text-decoration:none;transition:opacity .2s}.qq-pop-link:hover{opacity:.9}.qq-pop-copy{color:#2c3e50;cursor:pointer;background:#f1f2f6;border:none;border-radius:8px;flex:1;padding:8px 0;font-size:13px;transition:background .2s,color .2s}.qq-pop-copy:hover{background:#e3e6ed}.qq-pop-copy.copied{color:#fff;background:#27ae60}.qq-pop-tip{color:#27ae60;margin-top:10px;font-size:12px;display:block}@media (width<=768px){.call-btn{display:flex;bottom:74px}body{padding-bottom:56px}}@media (width>=769px){.qq-widget{display:block}}.services-detail-grid[data-v-a11542d9]{gap:25px;max-width:900px;margin:0 auto;padding-bottom:30px;display:grid}.service-detail-card[data-v-a11542d9]{background:#fff;border-radius:12px;gap:25px;padding:30px;transition:all .3s;display:flex;box-shadow:0 2px 12px #0000000f}.service-detail-card[data-v-a11542d9]:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0000001a}.service-detail-icon[data-v-a11542d9]{text-align:center;flex-shrink:0;width:70px;font-size:48px;line-height:1.2}.service-detail-body h3[data-v-a11542d9]{color:#2c3e50;margin-bottom:8px;font-size:18px}.service-detail-body p[data-v-a11542d9]{color:#666;margin-bottom:12px;font-size:14px;line-height:1.7}.service-features[data-v-a11542d9]{flex-wrap:wrap;gap:8px;list-style:none;display:flex}.service-features li[data-v-a11542d9]{color:#e74c3c;background:#e74c3c14;border-radius:15px;padding:4px 12px;font-size:13px}.anim-hidden[data-v-a11542d9]{opacity:0;transition:all .6s;transform:translateY(20px)}.anim-visible[data-v-a11542d9]{opacity:1;transform:translateY(0)}@media (width<=768px){.service-detail-card[data-v-a11542d9]{text-align:center;flex-direction:column}.service-detail-icon[data-v-a11542d9]{width:100%}.service-features[data-v-a11542d9]{justify-content:center}}.banner-content[data-v-f54003d5]{flex-direction:column;align-items:center;display:flex}.banner-text[data-v-f54003d5]{background:#00000073;border-radius:14px;margin-bottom:7px;padding:28px 46px 18px;display:inline-block}.banner-text p[data-v-f54003d5]{margin-bottom:0}@media (width<=600px){.banner-text[data-v-f54003d5]{margin-bottom:13px;padding:18px 24px 12px}}.detail-desc[data-v-fb1c50cb] a{color:#e74c3c;text-decoration:underline}.detail-desc[data-v-fb1c50cb] a:hover{text-decoration:none}.about-page-container[data-v-c957f51e]{max-width:960px}.about-db-section[data-v-c957f51e]{border-bottom:1px solid #eef0f4;padding:34px 0}.about-db-section[data-v-c957f51e]:first-child{padding-top:8px}.about-db-section[data-v-c957f51e]:last-child{border-bottom:none}.about-db-title[data-v-c957f51e]{color:#2c3e50;margin-bottom:18px;padding-left:14px;font-size:26px;position:relative}.about-db-title[data-v-c957f51e]:before{content:"";background:linear-gradient(#12b7f5,#0c9ce0);border-radius:3px;width:4px;height:22px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.about-db-image[data-v-c957f51e]{object-fit:cover;border-radius:12px;width:100%;max-height:460px;margin-bottom:20px;display:block}.about-db-content[data-v-c957f51e]{color:#444;font-size:16px;line-height:1.9}.about-db-content[data-v-c957f51e] h3{color:#2c3e50;margin:18px 0 8px;font-size:18px}.about-db-content[data-v-c957f51e] p{margin:0 0 12px}.about-db-content[data-v-c957f51e] a{color:#e74c3c;text-decoration:underline}@media (width<=600px){.about-db-title[data-v-c957f51e]{font-size:22px}.about-db-content[data-v-c957f51e]{font-size:15px}}.banner-content[data-v-4f8e536e]{flex-direction:column;align-items:center;display:flex}.banner-text[data-v-4f8e536e]{background:#00000073;border-radius:14px;margin-bottom:7px;padding:28px 46px 18px;display:inline-block}.banner-text p[data-v-4f8e536e]{margin-bottom:0}@media (width<=600px){.banner-text[data-v-4f8e536e]{margin-bottom:13px;padding:18px 24px 12px}}.news-detail-container[data-v-562a984d]{max-width:860px}.news-detail-title[data-v-562a984d]{color:#2c3e50;margin:22px 0 14px;font-size:28px;line-height:1.4}.news-detail-meta[data-v-562a984d]{align-items:center;gap:12px;margin-bottom:22px;display:flex}.news-detail-cover[data-v-562a984d]{object-fit:cover;border-radius:12px;width:100%;max-height:460px;margin-bottom:24px;display:block}.news-detail-content[data-v-562a984d]{white-space:pre-wrap;color:#444;font-size:16px;line-height:1.9}.news-detail-content[data-v-562a984d] a{color:#e74c3c;text-decoration:underline}.news-detail-content[data-v-562a984d] a:hover{text-decoration:none}.password-box[data-v-0da4589c]{background:#fff;border:1px solid #e3e6ed;border-radius:10px;max-width:440px;padding:22px}.success-msg[data-v-0da4589c]{color:#13824a;background:#e8f7ee;border:1px solid #bfe8cd;border-radius:6px;margin-bottom:14px;padding:10px 12px}.error-msg[data-v-0da4589c]{color:#b42318;background:#fdecea;border:1px solid #f5c6c2;border-radius:6px;margin-bottom:14px;padding:10px 12px}.ql-container{box-sizing:border-box;height:100%;margin:0;font-family:Helvetica,Arial,sans-serif;font-size:13px;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container:not(.ql-disabled) li[data-list=checked]>.ql-ui,.ql-container:not(.ql-disabled) li[data-list=unchecked]>.ql-ui{cursor:pointer}.ql-clipboard{height:1px;position:absolute;top:50%;left:-100000px;overflow-y:hidden}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word;outline:none;height:100%;padding:12px 15px;line-height:1.42;overflow-y:auto}.ql-editor>*{cursor:text}.ql-editor p,.ql-editor ol,.ql-editor pre,.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{margin:0;padding:0}@supports (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-set:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor p,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6{counter-reset:list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor table{border-collapse:collapse}.ql-editor td{border:1px solid #000;padding:2px 5px}.ql-editor ol{padding-left:1.5em}.ql-editor li{padding-left:1.5em;list-style-type:none;position:relative}.ql-editor li>.ql-ui:before{text-align:right;white-space:nowrap;width:1.2em;margin-left:-1.5em;margin-right:.3em;display:inline-block}.ql-editor li[data-list=checked]>.ql-ui,.ql-editor li[data-list=unchecked]>.ql-ui{color:#777}.ql-editor li[data-list=bullet]>.ql-ui:before{content:"•"}.ql-editor li[data-list=checked]>.ql-ui:before{content:"☑"}.ql-editor li[data-list=unchecked]>.ql-ui:before{content:"☐"}@supports (counter-set:none){.ql-editor li[data-list]{counter-set:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list]{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered]{counter-increment:list-0}.ql-editor li[data-list=ordered]>.ql-ui:before{content:counter(list-0, decimal) ". "}.ql-editor li[data-list=ordered].ql-indent-1{counter-increment:list-1}.ql-editor li[data-list=ordered].ql-indent-1>.ql-ui:before{content:counter(list-1, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-set:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-2{counter-increment:list-2}.ql-editor li[data-list=ordered].ql-indent-2>.ql-ui:before{content:counter(list-2, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-set:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-3{counter-increment:list-3}.ql-editor li[data-list=ordered].ql-indent-3>.ql-ui:before{content:counter(list-3, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-set:list-4 list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-4{counter-increment:list-4}.ql-editor li[data-list=ordered].ql-indent-4>.ql-ui:before{content:counter(list-4, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-set:list-5 list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-5{counter-increment:list-5}.ql-editor li[data-list=ordered].ql-indent-5>.ql-ui:before{content:counter(list-5, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-set:list-6 list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-6{counter-increment:list-6}.ql-editor li[data-list=ordered].ql-indent-6>.ql-ui:before{content:counter(list-6, decimal) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-set:list-7 list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-6{counter-reset:list-7 list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-7{counter-increment:list-7}.ql-editor li[data-list=ordered].ql-indent-7>.ql-ui:before{content:counter(list-7, lower-alpha) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-set:list-8 list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-7{counter-reset:list-8 list-9}}.ql-editor li[data-list=ordered].ql-indent-8{counter-increment:list-8}.ql-editor li[data-list=ordered].ql-indent-8>.ql-ui:before{content:counter(list-8, lower-roman) ". "}@supports (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-set:list-9}}@supports not (counter-set:none){.ql-editor li[data-list].ql-indent-8{counter-reset:list-9}}.ql-editor li[data-list=ordered].ql-indent-9{counter-increment:list-9}.ql-editor li[data-list=ordered].ql-indent-9>.ql-ui:before{content:counter(list-9, decimal) ". "}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor li.ql-direction-rtl{padding-right:1.5em}.ql-editor li.ql-direction-rtl>.ql-ui:before{text-align:left;margin-left:.3em;margin-right:-1.5em}.ql-editor table{table-layout:fixed;width:100%}.ql-editor table td{outline:none}.ql-editor .ql-code-block-container{font-family:monospace}.ql-editor .ql-video{max-width:100%;display:block}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{text-align:inherit;direction:rtl}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor .ql-ui{position:absolute}.ql-editor.ql-blank:before{color:#0009;content:attr(data-placeholder);pointer-events:none;font-style:italic;position:absolute;left:15px;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:"";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{cursor:pointer;float:left;background:0 0;border:none;width:28px;height:24px;padding:3px 5px;display:inline-block}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected{color:#06c}.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{vertical-align:middle;display:inline-block}.ql-snow .ql-formats:after{clear:both;content:"";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2px}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-thin,.ql-snow .ql-stroke.ql-thin{stroke-width:1px}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-top:5px;margin-bottom:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor .ql-code-block-container{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor .ql-code-block-container{margin-top:5px;margin-bottom:5px;padding:5px 10px}.ql-snow .ql-editor code{padding:2px 4px;font-size:85%}.ql-snow .ql-editor .ql-code-block-container{color:#f8f8f2;background-color:#23241f;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;float:left;vertical-align:middle;height:24px;font-size:14px;font-weight:500;display:inline-block;position:relative}.ql-snow .ql-picker-label{cursor:pointer;width:100%;height:100%;padding-left:8px;padding-right:2px;display:inline-block;position:relative}.ql-snow .ql-picker-label:before{line-height:22px;display:inline-block}.ql-snow .ql-picker-options{white-space:nowrap;background-color:#fff;min-width:100%;padding:4px 8px;display:none;position:absolute}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;padding-top:5px;padding-bottom:5px;display:block}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{z-index:1;margin-top:-1px;display:block;top:100%}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{width:24px;height:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{width:152px;padding:3px 5px}.ql-snow .ql-color-picker .ql-picker-item{float:left;border:1px solid #0000;width:16px;height:16px;margin:2px;padding:0}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{width:18px;margin-top:-9px;position:absolute;top:50%;right:0}.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-label:before,.ql-snow .ql-picker.ql-header .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{content:"Heading 1"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{content:"Heading 2"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{content:"Heading 3"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{content:"Heading 4"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{content:"Heading 5"}.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{content:"Heading 6"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-label:before,.ql-snow .ql-picker.ql-font .ql-picker-item:before{content:"Sans Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{content:"Serif"}.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{content:"Monospace"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-label:before,.ql-snow .ql-picker.ql-size .ql-picker-item:before{content:"Normal"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{content:"Small"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{content:"Large"}.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{content:"Huge"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-code-block-container{position:relative}.ql-code-block-container .ql-ui{top:5px;right:5px}.ql-toolbar.ql-snow{box-sizing:border-box;border:1px solid #ccc;padding:8px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid #0000}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid #0000;box-shadow:0 2px 8px #0003}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{color:#444;white-space:nowrap;background-color:#fff;border:1px solid #ccc;padding:5px 12px;box-shadow:0 0 5px #ddd}.ql-snow .ql-tooltip:before{content:"Visit URL:";margin-right:8px;line-height:26px}.ql-snow .ql-tooltip input[type=text]{border:1px solid #ccc;width:170px;height:26px;margin:0;padding:3px 5px;font-size:13px;display:none}.ql-snow .ql-tooltip a.ql-preview{text-overflow:ellipsis;vertical-align:top;max-width:200px;display:inline-block;overflow-x:hidden}.ql-snow .ql-tooltip a.ql-action:after{content:"Edit";border-right:1px solid #ccc;margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:"Remove";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{content:"Save";border-right:0;padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:"Enter link:"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:"Enter formula:"}.ql-snow .ql-tooltip[data-mode=video]:before{content:"Enter video:"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.editor-tip[data-v-6ffe57c1]{color:#999;margin-bottom:8px;font-size:12px}.case-description-editor[data-v-6ffe57c1]{background:#fff;border-radius:8px;overflow:hidden}.case-description-editor[data-v-6ffe57c1] .ql-toolbar{border-radius:8px 8px 0 0}.case-description-editor[data-v-6ffe57c1] .ql-container{font-size:15px}.case-description-editor[data-v-6ffe57c1] .ql-editor{min-height:260px}.content-toolbar-row[data-v-644eb26c]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.toolbar-btn[data-v-644eb26c]{color:#2c3e50;background:#f4f6f8;border:1px solid #e3e6ed}.toolbar-btn[data-v-644eb26c]:hover{background:#eef0f3}.topic-toolbar[data-v-644eb26c]{position:relative}.topic-dropdown[data-v-644eb26c]{z-index:30;background:#fff;border:1px solid #e3e6ed;border-radius:8px;flex-direction:column;min-width:190px;padding:6px;display:flex;position:absolute;top:110%;left:0;box-shadow:0 6px 18px #0000001a}.topic-option[data-v-644eb26c]{text-align:left;cursor:pointer;color:#2c3e50;background:0 0;border:none;border-radius:6px;padding:8px 10px}.topic-option[data-v-644eb26c]:hover{background:#f4f6f8}.editor-tip[data-v-644eb26c]{color:#999;font-size:12px}.news-cover-preview[data-v-644eb26c]{border:1px solid #e3e6ed;border-radius:8px;width:220px;height:124px;margin-bottom:8px;overflow:hidden}.news-cover-preview img[data-v-644eb26c]{object-fit:cover;width:100%;height:100%;display:block}.cover-upload-row[data-v-644eb26c]{align-items:center;gap:10px;display:flex}.news-editor[data-v-644eb26c]{background:#fff;border-radius:8px;overflow:hidden}.news-editor[data-v-644eb26c] .ql-toolbar{border-radius:8px 8px 0 0}.news-editor[data-v-644eb26c] .ql-container{font-size:15px}.news-editor[data-v-644eb26c] .ql-editor{min-height:320px}.editor-tip[data-v-8360184e]{color:#999;margin-bottom:8px;font-size:12px}.about-editor[data-v-8360184e]{background:#fff;border-radius:8px;overflow:hidden}.about-editor[data-v-8360184e] .ql-toolbar{border-radius:8px 8px 0 0}.about-editor[data-v-8360184e] .ql-container{font-size:15px}.about-editor[data-v-8360184e] .ql-editor{min-height:260px}.about-image-preview[data-v-8360184e]{border:1px solid #e3e6ed;border-radius:8px;width:220px;height:124px;margin-bottom:8px;overflow:hidden}.about-image-preview img[data-v-8360184e]{object-fit:cover;width:100%;height:100%;display:block}.visit-region[data-v-29fd11cb]{background:#f7f8fa;border-radius:10px;margin:18px 0;padding:14px 16px}.visit-region h3[data-v-29fd11cb]{margin:0 0 10px;font-size:15px}.visit-region-list[data-v-29fd11cb]{flex-wrap:wrap;gap:8px;display:flex}.region-chip[data-v-29fd11cb]{color:#2c3e50;background:#fff;border:1px solid #e4e6eb;border-radius:20px;padding:4px 10px;font-size:13px}.visit-filter[data-v-29fd11cb]{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.visit-filter input[data-v-29fd11cb]{border:1px solid #d8dbe0;border-radius:6px;min-width:140px;padding:7px 10px;font-size:13px}.pagination[data-v-29fd11cb]{align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:#f8f8f8;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}ul{list-style:none}img{max-width:100%;display:block}.container{max-width:1650px;margin:0 auto;padding:0 20px}.header{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2c3e50f2;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 20px #0000001a}.header .container{justify-content:space-between;align-items:center;height:64px;display:flex}.logo{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.logo-mark{color:#fff;background:linear-gradient(135deg,#e74c3c,#ff7847);border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;font-weight:800;display:inline-flex;box-shadow:0 3px 10px #e74c3c73}.logo-text{color:#fff;letter-spacing:3px;font-size:20px;font-weight:700;line-height:1.2}.logo-text span{color:#e74c3c}.nav-menu{gap:8px;display:flex}.nav-menu a{color:#fffc;border-radius:6px;padding:8px 16px;font-size:14px;transition:all .3s}.nav-menu a:hover,.nav-menu a.active{color:#fff;background:#ffffff1a}.nav-menu a.router-link-exact-active{color:#fff;background:#e74c3c4d}.nav-toggle{cursor:pointer;color:#fff;z-index:102;background:#e74c3ce6;border:none;border-radius:6px;flex-direction:row;align-items:center;gap:8px;width:auto;height:40px;padding:8px 14px;font-size:14px;line-height:1;display:none}.nav-toggle-bars{flex-direction:column;gap:5px;display:flex}.nav-toggle-bars span{background:#fff;border-radius:2px;width:18px;height:2px;transition:all .3s;display:block}.nav-toggle.active .nav-toggle-bars span:first-child{transform:translateY(7px)rotate(45deg)}.nav-toggle.active .nav-toggle-bars span:nth-child(2){opacity:0}.nav-toggle.active .nav-toggle-bars span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=768px){.nav-toggle{display:flex}.nav-menu{background:#2c3e50fa;flex-direction:column;align-items:stretch;gap:0;padding:10px 0;display:none;position:absolute;top:64px;left:0;right:0;box-shadow:0 8px 20px #0003}.nav-menu.open{display:flex}.nav-menu a{border-radius:0;padding:14px 24px;font-size:15px;display:block}}.banner{height:520px;margin-top:64px;position:relative;overflow:hidden}.banner-track{width:100%;height:100%;transition:transform .6s cubic-bezier(.25,.46,.45,.94);display:flex}.banner-slide{background-position:50%;background-size:cover;flex:0 0 100%;min-width:100%;height:100%;position:relative}.banner-slide img{object-fit:cover;width:100%;height:100%;display:block}.banner-slide a{width:100%;height:100%;display:block}.banner-slide:after{content:"";pointer-events:none;background:#00000080;position:absolute;inset:0}.banner-slide:first-child:after{display:none}.banner-content{text-align:center;z-index:2;color:#fff;pointer-events:none;width:90%;max-width:700px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.banner-content a{pointer-events:auto}.banner-content h1{margin-bottom:15px;font-size:40px}.banner-content p{opacity:.9;margin-bottom:25px;font-size:18px}.banner-dots{z-index:2;gap:8px;display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%)}.banner-dots span{cursor:pointer;background:#ffffff80;border-radius:50%;width:10px;height:10px;transition:all .3s}.banner-dots span.active{background:#e74c3c;border-radius:5px;width:28px}.btn{cursor:pointer;border:none;border-radius:6px;padding:12px 28px;font-size:15px;transition:all .3s;display:inline-block}.btn-primary{color:#fff;background:#e74c3c}.btn-primary:hover{background:#c0392b}.btn-outline{color:#fff;background:0 0;border:2px solid #fff}.btn-outline:hover{color:#333;background:#fff}.section{padding:60px 0}.section-cases{padding-top:28px;padding-bottom:32px;scroll-margin-top:80px}.section-alt{background:#fff}.section-services{padding-top:32px}.section-title{text-align:center;color:#2c3e50;margin-bottom:12px;font-size:28px}.section-subtitle{text-align:center;color:#888;margin-bottom:40px;font-size:15px}.about-section{background:#f8f8f8;padding:40px 0}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:50px;display:grid}.about-text h2{color:#2c3e50;margin-bottom:18px;font-size:26px}.about-text h2 span{color:#e74c3c;letter-spacing:2px;font-size:18px}.about-text p{color:#666;margin-bottom:12px;line-height:1.8}.about-stats{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px;display:grid}.stat-item{text-align:center;background:#fff;border-radius:8px;padding:15px;box-shadow:0 2px 8px #0000000f}.stat-num{color:#e74c3c;font-size:24px;font-weight:700}.stat-label{color:#999;margin-top:4px;font-size:13px}.about-image img{border-radius:10px;box-shadow:0 5px 25px #0000001a}.services-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px;display:grid}.service-card{text-align:center;cursor:default;background:#fff;border-radius:10px;padding:30px 20px;transition:all .3s;box-shadow:0 2px 12px #0000000f}.service-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px #0000001a}.service-icon{margin-bottom:12px;font-size:36px}.service-card h3{color:#2c3e50;margin-bottom:8px;font-size:16px}.service-card p{color:#888;font-size:13px;line-height:1.6}.case-grid-home{grid-template-columns:repeat(5,1fr);gap:20px;display:grid}.case-card{transition:all .3s}.case-card:hover{transform:translateY(-4px)}.case-img{background:#f0f2f5;border-radius:10px;height:220px;transition:box-shadow .3s;overflow:hidden;box-shadow:0 2px 8px #0000000f}.case-img img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.case-card:hover .case-img{box-shadow:0 8px 20px #0000001a}.case-card:hover .case-img img{transform:scale(1.05)}.case-info{text-align:center;padding:10px 0 0}.case-info h3{color:#2c3e50;margin-bottom:4px;font-size:15px}.case-pagination{justify-content:center;align-items:center;gap:16px;margin-top:30px;display:flex}.case-pagination .page-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:8px 22px;font-size:14px;transition:all .3s}.case-pagination .page-btn:hover:not(:disabled){color:#e74c3c;border-color:#e74c3c}.case-pagination .page-btn:disabled{opacity:.4;cursor:not-allowed}.case-pagination .page-info{color:#666;font-size:14px}.news-list{flex-direction:column;gap:16px;max-width:860px;margin:0 auto;padding-bottom:50px;display:flex}.news-list-item{background:#fff;border:1px solid #eef0f3;border-radius:12px;padding:20px 24px;text-decoration:none;transition:border-color .25s,box-shadow .25s,transform .25s;display:block}.news-list-item:hover{border-color:#e74c3c59;transform:translateY(-2px);box-shadow:0 8px 20px #00000012}.news-list-item.has-cover{align-items:center;gap:18px;display:flex}.news-list-cover{object-fit:cover;border-radius:10px;flex-shrink:0;width:180px;height:110px}.news-list-body{flex:1;min-width:0}.news-item-title{color:#2c3e50;margin-bottom:10px;font-size:17px;font-weight:600;line-height:1.6}.news-item-meta{align-items:center;gap:10px;display:flex}.news-category{color:#e74c3c;background:#e74c3c14;border-radius:15px;padding:4px 10px;font-size:12px;display:inline-block}.news-date{color:#999;font-size:12px}@media (width<=600px){.news-list-item{padding:16px 18px}.news-item-title{font-size:16px}.news-list-item.has-cover{flex-direction:column;align-items:stretch}.news-list-cover{width:100%;height:170px}}.news-section{background:#f7f8fa}.news-mini-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.news-mini-item{background:#fff;border:1px solid #eef0f3;border-radius:12px;padding:20px;text-decoration:none;transition:border-color .25s,box-shadow .25s,transform .25s;display:block}.news-mini-item:hover{border-color:#e74c3c59;transform:translateY(-2px);box-shadow:0 8px 20px #00000012}.news-mini-cover{object-fit:cover;border-radius:10px;width:100%;height:150px;margin-bottom:12px;display:block}.news-mini-category{color:#e74c3c;background:#e74c3c14;border-radius:15px;margin-bottom:12px;padding:4px 10px;font-size:12px;display:inline-block}.news-mini-item h3{color:#2c3e50;margin-bottom:12px;font-size:16px;line-height:1.6}.news-mini-date{color:#999;font-size:12px}.news-pagination{margin-top:24px}.news-more{text-align:center;margin-top:24px}.news-more-link{color:#fff;background:#e74c3c;border-radius:50px;padding:10px 22px;font-size:14px;text-decoration:none;transition:background .2s,transform .2s;display:inline-block}.news-more-link:hover{background:#d63b30;transform:translateY(-2px)}@media (width<=992px){.news-mini-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.news-mini-grid{grid-template-columns:1fr}}.contact-bar{color:#fff;text-align:center;background:linear-gradient(135deg,#2c3e50,#1a252f);padding:50px 0}.contact-bar h2{margin-bottom:10px;font-size:26px}.contact-bar p{opacity:.8;margin-bottom:8px}.phone-big{color:#e74c3c;letter-spacing:2px;font-size:36px;font-weight:700}.footer{color:#ffffffb3;background:#1a252f;padding:40px 0 20px}.footer-grid{grid-template-columns:2fr 1fr 1fr;gap:30px;margin-bottom:25px;display:grid}.footer-col h3{color:#fff;margin-bottom:15px;font-size:16px}.footer-brand{letter-spacing:2px;font-size:14px}.footer-col p,.footer-col li{font-size:13px;line-height:2}.footer-col a:hover{color:#e74c3c}.footer-bottom{text-align:center;border-top:1px solid #ffffff1a;padding-top:20px;font-size:12px}.footer-bottom .footer-icp{margin-top:6px}.footer-bottom a{color:#ffffffb3;text-decoration:none}.footer-bottom a:hover{color:#e74c3c}.page-header{color:#fff;text-align:center;background:linear-gradient(135deg,#2c3e50,#1a252f);margin-top:64px;padding:100px 0 50px}.page-header h1{margin-bottom:8px;font-size:32px}.page-header p{opacity:.8;font-size:15px}.category-tabs{flex-wrap:wrap;justify-content:center;gap:8px;margin:30px 0;display:flex}.category-tabs button{cursor:pointer;color:#666;background:#fff;border:1px solid #ddd;border-radius:20px;padding:8px 20px;font-size:14px;transition:all .3s}.category-tabs button:hover{color:#e74c3c;border-color:#e74c3c}.category-tabs button.active{color:#fff;background:#e74c3c;border-color:#e74c3c}.cases-page-grid{grid-template-columns:repeat(5,1fr);gap:20px;padding-bottom:50px;display:grid}.case-detail-section{margin-top:64px;padding:80px 0}.case-detail-section .back-link{margin-bottom:20px}.case-detail-section .back-link a{color:#e74c3c;font-size:14px}.case-detail-section .container{max-width:1850px}.case-detail-section .detail-img{border-radius:10px;margin-bottom:25px;overflow:hidden}.case-detail-section .detail-img img{width:100%}.case-detail-section .detail-title{color:#2c3e50;margin-bottom:10px;font-size:24px}.case-detail-section .detail-category{color:#e74c3c;margin-bottom:15px;font-size:13px}.case-detail-section .detail-desc{color:#666;font-size:15px;line-height:1.8}.case-detail-section .detail-meta{color:#999;margin-top:20px;font-size:13px}.contact-grid{grid-template-columns:1fr 1fr;gap:50px;padding-bottom:60px;display:grid}.contact-info h2{color:#2c3e50;margin-bottom:20px;font-size:22px}.contact-info .info-item{margin-bottom:15px}.contact-info .info-item label{color:#2c3e50;margin-bottom:3px;font-weight:600;display:block}.contact-info .info-item span{color:#666;font-size:14px}.form-group{margin-bottom:18px}.form-group label{color:#555;margin-bottom:6px;font-size:14px;display:block}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:6px;width:100%;padding:12px 15px;font-family:inherit;font-size:14px;transition:border-color .3s}.form-group input:focus,.form-group textarea:focus{border-color:#e74c3c;outline:none}.form-group textarea{resize:vertical;height:120px}.admin-body{background:#f0f2f5}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{color:#fff;z-index:50;background:#2c3e50;flex-direction:column;width:220px;display:flex;position:fixed;top:0;bottom:0;left:0}.admin-sidebar .sidebar-logo{letter-spacing:3px;border-bottom:1px solid #ffffff1a;padding:20px;font-size:18px;font-weight:700}.admin-sidebar .sidebar-logo span{color:#e74c3c}.admin-sidebar .sidebar-nav{flex:1;padding:10px 0}.admin-sidebar .sidebar-nav a{color:#ffffffb3;align-items:center;gap:8px;padding:12px 20px;font-size:14px;transition:all .3s;display:flex}.admin-sidebar .sidebar-nav a:hover,.admin-sidebar .sidebar-nav a.active{color:#fff;background:#ffffff1a}.admin-sidebar .sidebar-nav a.router-link-exact-active{color:#fff;background:#e74c3c4d}.admin-main{flex:1;margin-left:220px;padding:30px}.admin-main h2{color:#2c3e50;margin-bottom:20px;font-size:22px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:30px;display:grid}.stat-card{text-align:center;background:#fff;border-radius:10px;padding:25px;box-shadow:0 2px 8px #0000000f}.stat-card .num{color:#e74c3c;font-size:32px;font-weight:700}.stat-card .label{color:#888;margin-top:5px;font-size:14px}.admin-table{background:#fff;border-radius:10px;width:100%;overflow:hidden;box-shadow:0 2px 8px #0000000f}.admin-table th,.admin-table td{text-align:left;padding:12px 15px;font-size:14px}.admin-table th{color:#555;background:#f8f9fa;font-weight:600}.admin-table td{border-bottom:1px solid #f0f0f0}.admin-table tr:hover td{background:#fafafa}.btn-sm{padding:6px 14px;font-size:13px}.btn-danger{color:#fff;cursor:pointer;background:#e74c3c;border:none;border-radius:4px}.btn-danger:hover{background:#c0392b}.btn-success{color:#fff;cursor:pointer;background:#27ae60;border:none;border-radius:4px}.btn-success:hover{background:#219a52}.btn-info{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:4px}.btn-info:hover{background:#2980b9}.btn-sm+.btn-sm{margin-left:6px}.admin-form{background:#fff;border-radius:10px;max-width:600px;padding:30px;box-shadow:0 2px 8px #0000000f}.admin-form .form-actions{gap:10px;margin-top:20px;display:flex}.login-page{background:linear-gradient(135deg,#2c3e50,#1a252f);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-box{background:#fff;border-radius:12px;width:360px;padding:40px;box-shadow:0 10px 40px #0003}.login-box h2{text-align:center;color:#2c3e50;margin-bottom:25px}.login-box .error-msg{color:#e74c3c;text-align:center;margin-bottom:10px;font-size:13px}.login-box .form-group input{background:#f5f6fa}.text-center{text-align:center}.empty-state{text-align:center;color:#999;padding:60px 0}.anim-hidden{opacity:0;transition:all .6s;transform:translateY(20px)}.anim-visible{opacity:1;transform:translateY(0)}.anim-slide-left{transform:translate(-30px)}.anim-slide-right{transform:translate(30px)}.anim-scale-in{transform:scale(.9)}.anim-visible.anim-slide-left,.anim-visible.anim-slide-right{transform:translate(0)}.anim-visible.anim-scale-in{transform:scale(1)}@media (width<=992px){.case-grid-home,.cases-page-grid{grid-template-columns:repeat(2,1fr)}.contact-grid{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr;gap:30px}.footer-grid{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.banner{height:380px}.section-cases{padding-top:18px;padding-bottom:22px}.case-pagination{gap:10px;margin-top:20px}.case-pagination .page-btn{padding:7px 16px;font-size:13px}.about-section{padding:26px 0}.section-services{padding-top:22px}.logo-mark{border-radius:8px;width:30px;height:30px;font-size:17px}.logo-text{letter-spacing:1px;font-size:16px}.banner-content h1{font-size:28px}.banner-content p{font-size:16px}.case-grid-home,.cases-page-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-left:-12px;margin-right:-12px}.case-img{height:130px}.case-info{padding-top:4px}.case-detail-section .detail-img{margin-left:-14px;margin-right:-14px}.services-grid,.footer-grid,.stats-grid{grid-template-columns:1fr}.about-stats{grid-template-columns:repeat(3,1fr)}.phone-big{font-size:28px}.admin-sidebar{width:60px}.admin-sidebar .sidebar-logo,.admin-sidebar .sidebar-nav a span{display:none}.admin-main{margin-left:60px}}@media (width<=480px){.banner{height:300px}.about-stats{grid-template-columns:1fr}}.clickable-img{cursor:zoom-in}.img-preview-overlay{z-index:9999;cursor:zoom-out;background:#000000d9;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.img-preview-overlay img{cursor:default;border-radius:6px;max-width:92vw;max-height:88vh;box-shadow:0 10px 40px #00000080}.img-preview-close{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:36px;line-height:1;position:fixed;top:18px;right:24px}.lang-switch{flex-shrink:0;align-items:center;margin-left:18px;display:flex}.lang-switch select{color:#2c3e50;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;max-width:170px;padding:8px 12px;font-size:13px}@media (width<=768px){.lang-switch{margin-top:0;margin-left:8px}.lang-switch select{width:auto;max-width:110px;padding:7px 8px;font-size:12px}}
