/* ==========================================================================
   nova · 两个照抄模块的样式：解决方案（tpm-portal-solution）/ 基础设施（tpm-portal-infrastructure）
   来源：腾讯云首页另存件 Main-202608171547.css，按类名前缀整段抽出（含被引用的 @keyframes），
        仅把外链图片改写成主题内相对路径。共享的 .tpm-portal-section 外壳样式在 section.css。
   ========================================================================== */
.tpm-portal-motion-icon{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;font-size:24px;line-height:1;cursor:pointer;color:rgba(0,0,0,.9);--motion-translate-10:10%;--motion-scale-0:0;--motion-scale-90:0.9;--motion-scale-110:1.1;--motion-rotate-45:45deg;--motion-draw-100:1;--motion-duration-300:300ms;--motion-duration-500:500ms;--motion-delay-75:75ms;--motion-delay-150:150ms;--motion-delay-300:300ms;--motion-delay-500:500ms;--motion-ease-out-cubic:cubic-bezier(0.215,0.61,0.355,1);--motion-ease-out-back:cubic-bezier(0.18,0.89,0.32,1.27);--motion-duration:300ms;--motion-timing:cubic-bezier(0.4,0,0.2,1);--motion-delay:0ms;--motion-perceptual-duration-multiplier:1;--motion-loop-count:1}
.tpm-portal-motion-icon__svg{display:block}
.tpm-portal-motion-icon svg *{transform-box:fill-box;-webkit-transform-origin:center;transform-origin:center}
.tpm-portal-motion-icon:not(.tpm-portal-motion-icon--animate) *{-webkit-animation:none!important;animation:none!important}
.tpm-portal-num-animate{overflow:hidden;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:end;align-items:flex-end}
.tpm-portal-num-animate.is-forward{-ms-flex-align:start;align-items:flex-start}
.tpm-portal-num-animate__text{color:#000;font-weight:500}
@media screen and (max-width:600px){.tpm-portal-num-animate__text{font-size:32px;line-height:40px}}
.tpm-portal-tab__item-icon.tpm-portal-motion-icon{width:16px;height:16px;-ms-flex-negative:0;flex-shrink:0;font-size:16px}
@media screen and (min-width:1600px){.tpm-portal-tab__item-icon.tpm-portal-motion-icon{width:20px;height:20px;font-size:20px}}
@media screen and (min-width:769px){.tpm-portal-solution__section.tpm-portal-section .tpm-portal-section__hd{margin-bottom:22px}}
.tpm-portal-solution__tab{max-width:1680px;margin:0 auto}
.tpm-portal-solution__tab-bar{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;-ms-flex-pack:center;justify-content:center}
.tpm-portal-solution__tab-bar,.tpm-portal-solution__tab-item{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}
.tpm-portal-solution__tab-item{position:relative;padding:10px 16px;cursor:pointer}
.tpm-portal-solution__tab-item:after{content:"";width:100%;height:2px;position:absolute;bottom:-1px;left:0;background:linear-gradient(90deg,#09caff,#0963ff);-webkit-transform-origin:left center;transform-origin:left center;-webkit-transform:scaleX(0) scaleY(0);transform:scaleX(0) scaleY(0);transition:-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out;transition:transform .15s ease-in-out,-webkit-transform .15s ease-in-out}
.tpm-portal-solution__tab-item.is-active:after{-webkit-transform:scaleX(1) scaleY(1);transform:scaleX(1) scaleY(1);transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}
.tpm-portal-solution__tab-item+.tpm-portal-solution__tab-item{margin-left:20px}
.tpm-portal-solution__tab-icon.tpm-portal-motion-icon{display:block;width:16px;height:16px;font-size:16px}
.tpm-portal-solution__tab-name{margin-left:8px;background:rgba(0,0,0,.9);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-size:14px;line-height:22px}
.tpm-portal-solution__tab-item.is-active .tpm-portal-solution__tab-name{font-weight:500;background:linear-gradient(180deg,#0074e8,#0058e8);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
@media screen and (min-width:769px){.tpm-portal-solution__tab-item:hover .tpm-portal-solution__tab-name{background:linear-gradient(180deg,#0074e8,#0058e8);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}}
.tpm-portal-solution__tab-content{margin-top:24px}
.tpm-portal-solution__tab-panel{width:0;height:0;opacity:0;pointer-events:none;overflow:hidden}
.tpm-portal-solution__tab-panel.is-active{width:100%;height:auto;opacity:1;pointer-events:auto;overflow:visible}
@media screen and (min-width:1600px){.tpm-portal-solution__tab-item+.tpm-portal-solution__tab-item{margin-left:24px}
.tpm-portal-solution__tab-icon.tpm-portal-motion-icon{width:20px;height:20px;font-size:20px}
.tpm-portal-solution__tab-name{margin-left:12px;font-size:16px;line-height:24px}}
@media screen and (max-width:768px){.tpm-portal-solution__tab-bar{width:100%;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:nowrap;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 16px}
.tpm-portal-solution__tab-bar::-webkit-scrollbar{display:none}
.tpm-portal-solution__tab-bar{-ms-overflow-style:none;scrollbar-width:none}
.tpm-portal-solution__tab-bar:after,.tpm-portal-solution__tab-bar:before{content:"";margin:auto}
.tpm-portal-solution__tab-item{-ms-flex-negative:0;flex-shrink:0;padding:13px 0}
.tpm-portal-solution__tab-item+.tpm-portal-solution__tab-item{margin-left:20px}
.tpm-portal-solution__tab-name{margin-left:8px}
.tpm-portal-solution__tab-content{margin-top:0}}
@media screen and (max-width:600px){.tpm-portal-solution__tab-item+.tpm-portal-solution__tab-item{margin-left:20px}
.tpm-portal-solution__tab-content{margin-top:0}}
.tpm-portal-solution__content{overflow:hidden;display:-ms-flexbox;display:flex;position:relative;border:1px solid #e1e1e1;background:#fff}
.tpm-portal-solution__left{position:relative;z-index:1;width:40%;-ms-flex-negative:0;flex-shrink:0;padding:32px 24px;border-right:1px solid #e1e1e1}
.tpm-portal-solution__left,.tpm-portal-solution__left-inner{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}
.tpm-portal-solution__left-inner{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;-ms-flex-positive:1;flex-grow:1;margin-bottom:auto}
.tpm-portal-solution__actions{-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}
.tpm-portal-solution__right{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:0;-ms-flex-positive:1;flex-grow:1}
.tpm-portal-solution__title{color:#000;font-size:24px;line-height:32px;font-weight:500}
.tpm-portal-solution__features{margin-top:24px}
.tpm-portal-solution__feature-item{position:relative;padding-left:24px}
.tpm-portal-solution__feature-item+.tpm-portal-solution__feature-item{margin-top:8px}
.tpm-portal-solution__feature-icon{position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:16px;height:16px;display:block;background-size:cover;background-image:url(../images/solution/tpm-portal-solution-icon-check.svg)}
.tpm-portal-solution__feature-text{display:block;width:100%;color:rgba(0,0,0,.7);font-size:14px;line-height:22px;white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:ellipsis}
.tpm-portal-solution__products{margin-top:24px}
.tpm-portal-solution__products-label{color:rgba(0,0,0,.88);font-size:14px;line-height:22px;font-weight:500}
.tpm-portal-solution__products-list{margin-top:12px;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:4px 12px}
.tpm-portal-solution__product-item,.tpm-portal-solution__products-list{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}
.tpm-portal-solution__product-item{cursor:pointer;position:relative}
.tpm-portal-solution__product-icon,.tpm-portal-solution__product-icon--active{width:16px;height:16px;display:block;background-size:cover}
.tpm-portal-solution__product-icon--active{opacity:0;position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:all .3s ease-in-out}
.tpm-portal-solution__product-name{margin-left:10px;color:#393939;font-size:14px;line-height:22px;transition:all .3s ease-in-out}
@media screen and (min-width:769px){.tpm-portal-solution__product-item:hover .tpm-portal-solution__product-icon--active{opacity:1}
.tpm-portal-solution__btn-link:hover .tpm-portal-solution__btn-link-text,.tpm-portal-solution__product-item:hover .tpm-portal-solution__product-name{color:#0052d9}
.tpm-portal-solution__btn-link:hover .tpm-portal-solution__btn-link-arrow:before{-webkit-transform:translateX(3px);transform:translateX(3px)}
.tpm-portal-solution__btn-link:hover .tpm-portal-solution__btn-link-arrow:after{-webkit-transform:translateX(0);transform:translateX(0);opacity:1}}
.tpm-portal-solution__products-divider{width:1px;height:14px;background:rgba(0,0,0,.15)}
.tpm-portal-solution__actions{margin-top:32px}
.tpm-portal-solution__btn-primary{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;min-width:120px;padding:0 8px;height:36px;background:linear-gradient(90deg,#0059eb,#2677ff);color:#fff;font-size:14px;line-height:22px;font-weight:400;text-decoration:none;cursor:pointer}
@media screen and (min-width:769px){.tpm-portal-solution__btn-primary{position:relative;overflow:hidden;--solution2-btn-mx:50%;--solution2-btn-my:50%}
.tpm-portal-solution__btn-primary:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:1;opacity:0;transition:opacity .25s ease;background:radial-gradient(200px circle at var(--solution2-btn-mx) var(--solution2-btn-my),hsla(0,0%,100%,.28),hsla(0,0%,100%,0) 65%)}
.tpm-portal-solution__btn-primary:hover:before{opacity:1}}
@media screen and (min-width:769px) and (prefers-reduced-motion:reduce){.tpm-portal-solution__btn-primary:before{transition:none}}
@media screen and (min-width:769px){.tpm-portal-solution__btn-primary-text{position:relative;z-index:2}}
.tpm-portal-solution__btn-link{margin-left:20px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}
.tpm-portal-solution__btn-link-text{color:rgba(0,0,0,.9);font-size:14px;line-height:22px}
.tpm-portal-solution__btn-link-arrow{position:relative;display:inline-block;margin-left:4px;width:16px;height:16px}
.tpm-portal-solution__btn-link-arrow:after,.tpm-portal-solution__btn-link-arrow:before{content:"";width:100%;height:100%;position:absolute;left:0;top:0;background-size:contain;background-repeat:no-repeat;background-position:50%;transition:all .3s ease-in-out}
.tpm-portal-solution__btn-link-arrow:before{background-image:url(../images/solution/tpm-portal-solution-link-arrow-default.svg)}
.tpm-portal-solution__btn-link-arrow:after{-webkit-transform:translateX(-3px);transform:translateX(-3px);opacity:0;background-image:url(../images/solution/tpm-portal-solution-link-arrow-active.svg)}
@media screen and (min-width:1400px){.tpm-portal-solution__btn-primary{min-width:140px}}
@media screen and (min-width:1600px){.tpm-portal-solution__left{padding:40px 32px}
.tpm-portal-solution__title{font-size:28px;line-height:36px}
.tpm-portal-solution__actions{margin-top:42px}
.tpm-portal-solution__btn-primary{min-width:160px}}
@media screen and (max-width:768px){.tpm-portal-solution__content{-ms-flex-direction:column;flex-direction:column;min-height:auto;padding:24px 16px 0;background:linear-gradient(180deg,#fff,#c6d5ff);border:0}
.tpm-portal-solution__left{border-right:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;width:100%;padding:0}
.tpm-portal-solution__left:before{display:none;content:none}
.tpm-portal-solution__right{width:100%;padding:0;background:none}
.tpm-portal-solution__title{font-size:18px;line-height:26px}
.tpm-portal-solution__features{margin-top:12px}
.tpm-portal-solution__feature{font-size:12px;line-height:20px}
.tpm-portal-solution__products{margin-top:20px}
.tpm-portal-solution__products-list{margin-top:12px;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;gap:0}
.tpm-portal-solution__products-divider{display:none}
.tpm-portal-solution__product-item{-ms-flex:1;flex:1;min-width:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;padding:12px 4px;background:rgba(0,96,255,.1);border-radius:2px;text-decoration:none}
.tpm-portal-solution__product-item+.tpm-portal-solution__product-item{margin-left:8px}
.tpm-portal-solution__product-icon{width:16px;height:16px}
.tpm-portal-solution__product-icon--active{display:none}
.tpm-portal-solution__product-name{margin-left:0;margin-top:8px;color:#393939;text-align:center;max-width:100%;font-size:12px;line-height:20px;white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:ellipsis}
.tpm-portal-solution__actions{margin-top:20px}
.tpm-portal-solution__btn-primary{-ms-flex-positive:1;flex-grow:1;width:0;padding:7px 16px;height:36px;min-width:0}
.tpm-portal-solution__btn-link{-ms-flex-negative:0;flex-shrink:0;width:calc(50% - 10px);padding:7px 16px;font-size:14px;line-height:22px;background:hsla(0,0%,100%,.75);-ms-flex-pack:center;justify-content:center}
.tpm-portal-solution__btn-link-arrow{display:none}}
.tpm-portal-solution__case-tabs{position:relative;z-index:1;-ms-flex-negative:0;flex-shrink:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;border-bottom:1px solid #e1e1e1;background:hsla(0,0%,100%,.5);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.tpm-portal-solution__case-tab{-ms-flex:1;flex:1;position:relative;cursor:pointer;line-height:0;padding:6px 12px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}
@media screen and (min-width:769px){.tpm-portal-solution__case-tab{transition:all .3s ease-in-out}
.tpm-portal-solution__case-tab:hover{box-shadow:0 4px 32px 0 rgba(16,52,113,.1)}}
.tpm-portal-solution__case-tab+.tpm-portal-solution__case-tab{border-left:1px solid #e1e1e1}
.tpm-portal-solution__case-tab-icon{height:42px;opacity:1}
.tpm-portal-solution__case-tab-icon--active{position:absolute;top:6px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);height:42px;opacity:0}
.tpm-portal-solution__case-tab.is-active .tpm-portal-solution__case-tab-icon{opacity:0}
.tpm-portal-solution__case-tab.is-active .tpm-portal-solution__case-tab-icon--active{opacity:1}
.tpm-portal-solution__case-panel{width:0;height:0;opacity:0;pointer-events:none;overflow:hidden}
.tpm-portal-solution__case-panel.is-active{-ms-flex-positive:1;flex-grow:1;width:100%;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;opacity:1;pointer-events:auto}
.tpm-portal-solution__case-content{position:relative;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;height:100%;padding:32px 0 40px 24px;width:520px}
.tpm-portal-solution__case-title{color:#000;font-size:16px;line-height:24px;font-weight:500;padding-right:20px;position:relative;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;transition:all .3s ease-in-out}
.tpm-portal-solution__case-title:after,.tpm-portal-solution__case-title:before{content:"";position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:16px;height:16px;background-size:cover}
.tpm-portal-solution__case-title:before{background-image:url(../images/solution/tpm-portal-solution-icon-case-arrow.svg)}
.tpm-portal-solution__case-title:after{background-image:url(../images/solution/tpm-portal-solution-icon-case-arrow-active.svg);opacity:0;transition:all .3s ease-in-out}
@media screen and (min-width:769px){.tpm-portal-solution__case-title:hover{color:#0052d9}
.tpm-portal-solution__case-title:hover:after{opacity:1}}
.tpm-portal-solution__case-desc{margin-bottom:auto;margin-top:12px;color:rgba(0,0,0,.7);font-size:12px;line-height:20px}
.tpm-portal-solution__case-desc a{color:#0052d9}
@media screen and (min-width:769px){.tpm-portal-solution__case-desc a:hover{-webkit-text-decoration-color:#0052d9;text-decoration-color:#0052d9;-webkit-text-decoration-line:underline;text-decoration-line:underline;-webkit-text-decoration-style:solid;text-decoration-style:solid;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-thickness:auto;text-underline-offset:auto;text-underline-position:from-font}}
.tpm-portal-solution__metrics{margin-top:48px;display:-ms-flexbox;display:flex}
.tpm-portal-solution__metric-item+.tpm-portal-solution__metric-item{margin-left:68px}
.tpm-portal-solution__metric-value{vertical-align:baseline}
.tpm-portal-solution__metric-number{color:#181818;font-size:32px;line-height:40px;font-family:DIN Alternate}
.tpm-portal-solution__metric-unit{color:#181818;font-size:16px;line-height:24px}
.tpm-portal-solution__metric-label{margin-top:4px;color:rgba(0,0,0,.7);font-size:12px;line-height:20px}
.tpm-portal-solution__case-img{position:absolute;left:0;top:0;width:100%;height:100%;background-repeat:no-repeat;background-size:auto 100%;background-position:100%;opacity:.5}
.tpm-portal-solution__case-decor-img{position:absolute;right:0;bottom:0;width:auto;height:100%;pointer-events:none}
@media screen and (min-width:1400px){.tpm-portal-solution__case-tab-icon,.tpm-portal-solution__case-tab-icon--active{height:52px}
.tpm-portal-solution__case-content{width:536px}
.tpm-portal-solution__case-desc{font-size:14px;line-height:22px}
.tpm-portal-solution__metric-number{font-size:36px;line-height:44px}}
@media screen and (min-width:1600px){.tpm-portal-solution__case-content{width:568px;padding:36px 0 48px 32px}
.tpm-portal-solution__case-title{font-size:18px;line-height:26px}
.tpm-portal-solution__metric-number{font-size:40px;line-height:48px}
.tpm-portal-solution__metric-label{color:#666}}
@media screen and (max-width:768px){.tpm-portal-solution__right{margin-top:20px;background:linear-gradient(182deg,#fff,#e5edff);position:relative;overflow:hidden}
.tpm-portal-solution__case-tabs{max-width:none;gap:0;-ms-flex-pack:center;justify-content:center;border-bottom:1px solid #eee}
.tpm-portal-solution__case-tab{padding:5px 0;-ms-flex:1;flex:1;width:0;height:45px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}
.tpm-portal-solution__case-tab-icon,.tpm-portal-solution__case-tab-icon--active{height:35px;width:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}
.tpm-portal-solution__case-tab-icon--active{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);height:calc(100% - 10px)}
.tpm-portal-solution__case-content{width:100%;padding:12px 16px 24px}
.tpm-portal-solution__case-title{font-size:16px;line-height:24px;font-weight:500;white-space:nowrap;word-break:keep-all;overflow:hidden;text-overflow:ellipsis}
.tpm-portal-solution__case-desc{margin-top:8px;font-size:12px;line-height:20px}
.tpm-portal-solution__metrics{margin-top:24px}
.tpm-portal-solution__metric-item+.tpm-portal-solution__metric-item{margin-left:24px}
.tpm-portal-solution__metric-number{font-size:24px;line-height:32px;font-weight:500}
.tpm-portal-solution__metric-unit{font-size:16px;line-height:24px}
.tpm-portal-solution__case-img{display:none}
.tpm-portal-solution__case-decor-img{height:auto;width:139px}}
@media screen and (max-width:600px){.tpm-portal-solution__case-content{padding:12px}
.tpm-portal-solution__metric-number{font-size:20px;line-height:28px}}
@media screen and (min-width:769px){.tpm-portal-solution__section.tpm-portal-section{background:#fff;position:relative}
.tpm-portal-solution__section.tpm-portal-section:after,.tpm-portal-solution__section.tpm-portal-section:before{content:"";max-width:2560px;width:100%;height:100%;position:absolute;top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}
.tpm-portal-solution__section.tpm-portal-section:before{background-image:url(../images/solution/tpm-portal-solution-bg-top.jpg);background-size:2560px auto;background-repeat:no-repeat;background-position:top}
.tpm-portal-solution__section.tpm-portal-section:after{background-image:url(../images/solution/tpm-portal-solution-bg-center.png);background-size:2560px auto;background-repeat:no-repeat;background-position:bottom}
.tpm-portal-solution__section.tpm-portal-section .tpm-portal-section__inner{padding-bottom:72px;position:relative;z-index:1}}
@media screen and (min-width:769px) and (min-width:2560px){.tpm-portal-solution__section.tpm-portal-section:after,.tpm-portal-solution__section.tpm-portal-section:before{-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}}
@media screen and (max-width:768px){.tpm-portal-solution__section.tpm-portal-section{background:none!important}
.tpm-portal-solution__section.tpm-portal-section .tpm-portal-section__inner{padding-bottom:0}
.tpm-portal-solution__section.tpm-portal-section .tpm-portal-section__hd{margin-bottom:11px}
.tpm-portal-solution__section.tpm-portal-section .tpm-portal-section__bd{padding:0}
.tpm-portal-solution__section.tpm-portal-section .tpm-portal-panel{background:#c6d5ff}
.tpm-portal-solution__inner{padding:0}}
.tpm-portal-infrastructure__earth{position:absolute;top:0;right:-100px;width:1505px;height:539px;-webkit-transform:scale(.65);transform:scale(.65);-webkit-transform-origin:right top;transform-origin:right top}
.tpm-portal-infrastructure__earth:before{opacity:1;content:"";position:absolute;left:0;top:0;width:100%;height:100%;background-size:cover;background-image:url(../images/solution/tpm-portal-infrastructure-image-earth-new.png);transition:all .3s linear}
.tpm-portal-infrastructure__dot-list{position:absolute;left:0;top:0;width:100%;height:100%;z-index:3}
.tpm-portal-infrastructure__dot{-webkit-transform:scale(1.2);transform:scale(1.2);-webkit-transform-origin:center;transform-origin:center;position:absolute;width:13px;height:13px;cursor:pointer;z-index:10}
.tpm-portal-infrastructure__dot:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background-size:cover;background-image:url(../images/solution/tpm-portal-infrastructure-dot.svg)}
.tpm-portal-infrastructure__dot.is-opacity:before{opacity:.6}
.tpm-portal-infrastructure__tooltip{transition:all .3s linear;position:absolute;background:hsla(0,0%,100%,.6);box-shadow:0 2px 8px rgba(0,0,0,.12);border-radius:4px;padding:6px}
.tpm-portal-infrastructure__tooltip:before{content:"";position:absolute;width:0;height:0;border:4px solid transparent;transition:all .3s ease-in-out}
.tpm-portal-infrastructure__tooltip:not(.placement-left):not(.placement-right){bottom:23px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}
.tpm-portal-infrastructure__tooltip:not(.placement-left):not(.placement-right):before{left:50%;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateX(-50%) rotate(45deg);transform:translateX(-50%) rotate(45deg);bottom:-4px;border-right-color:hsla(0,0%,100%,.6);border-bottom-color:hsla(0,0%,100%,.6)}
.tpm-portal-infrastructure__tooltip.placement-left{right:23px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}
.tpm-portal-infrastructure__tooltip.placement-left:before{right:-4px;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg);top:50%;border-right-color:hsla(0,0%,100%,.6);border-top-color:hsla(0,0%,100%,.6)}
.tpm-portal-infrastructure__tooltip.placement-right{left:23px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}
.tpm-portal-infrastructure__tooltip.placement-right:before{left:-4px;-webkit-transform-origin:center;transform-origin:center;-webkit-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg);top:50%;border-left-color:hsla(0,0%,100%,.6);border-bottom-color:hsla(0,0%,100%,.6)}
.tpm-portal-infrastructure__dot.is-active .tpm-portal-infrastructure__tooltip{padding:10px;background:#fff}
.tpm-portal-infrastructure__dot.is-active .tpm-portal-infrastructure__tooltip:not(.placement-left):not(.placement-right):before{border-right-color:#fff;border-bottom-color:#fff}
.tpm-portal-infrastructure__dot.is-active .tpm-portal-infrastructure__tooltip.placement-left:before{border-right-color:#fff;border-top-color:#fff}
.tpm-portal-infrastructure__dot.is-active .tpm-portal-infrastructure__tooltip.placement-right:before{border-left-color:#fff;border-bottom-color:#fff}
.tpm-portal-infrastructure__dot.is-fill .tpm-portal-infrastructure__tooltip{background:#0052d9}
.tpm-portal-infrastructure__dot.is-fill .tpm-portal-infrastructure__tooltip:not(.placement-left):not(.placement-right):before{border-right-color:#0052d9;border-bottom-color:#0052d9}
.tpm-portal-infrastructure__dot.is-fill .tpm-portal-infrastructure__tooltip.placement-left:before{border-right-color:#0052d9;border-top-color:#0052d9}
.tpm-portal-infrastructure__dot.is-fill .tpm-portal-infrastructure__tooltip.placement-right:before{border-left-color:#0052d9;border-bottom-color:#0052d9}
.tpm-portal-infrastructure__dot.is-active{z-index:1001}
.tpm-portal-infrastructure__dot.is-opacity .tpm-portal-infrastructure__tooltip{background:#f8f8f8}
.tpm-portal-infrastructure__tooltip-title{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;color:rgba(0,0,0,.9);white-space:nowrap;font-size:12px;line-height:20px;font-weight:600;transition:all .3s linear}
.tpm-portal-infrastructure__dot.is-active .tpm-portal-infrastructure__tooltip-title{color:#0052d9}
.tpm-portal-infrastructure__dot.is-opacity .tpm-portal-infrastructure__tooltip-title{color:rgba(0,0,0,.3)}
.tpm-portal-infrastructure__dot.is-fill .tpm-portal-infrastructure__tooltip-title{color:#fff}
.tpm-portal-infrastructure__tooltip-content{width:0;height:0;overflow:hidden;transition:all .3s linear}
.tpm-portal-infrastructure__list{padding-top:6px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}
.tpm-portal-infrastructure__list-item{min-width:120px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}
.tpm-portal-infrastructure__list-item+.tpm-portal-infrastructure__list-item{margin-top:4px}
.tpm-portal-infrastructure__list-text{color:rgba(0,0,0,.9);font-size:12px;line-height:20px}
.tpm-portal-infrastructure__list-num{margin-left:16px;color:#000;font-size:12px;line-height:20px}
@media screen and (min-width:1400px){.tpm-portal-infrastructure__earth{top:-20px;right:-80px;width:1505px;height:539px;-webkit-transform:scale(.75);transform:scale(.75);-webkit-transform-origin:right top;transform-origin:right top}}
@media screen and (min-width:1600px){.tpm-portal-infrastructure__earth{top:-50px;right:-110px;-webkit-transform:scale(.85);transform:scale(.85)}
.tpm-portal-infrastructure__dot{-webkit-transform:scale(1.1);transform:scale(1.1)}}
@media screen and (max-width:768px){.tpm-portal-infrastructure__earth{width:768px;height:268px;right:auto;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:.6;background-size:cover;background-image:url(../images/solution/tpm-portal-infrastructure-image-earth-mobile.png)}
.tpm-portal-infrastructure__earth:before{content:none;display:none}}
.tpm-portal-infrastructure{position:relative}
@media screen and (min-width:769px){.tpm-portal-infrastructure__section.tpm-portal-section .tpm-portal-section__link:not(:hover){background:#f5f8fd}}
.tpm-portal-infrastructure__section{border-bottom:1px solid #e9ebef;background:#f7faff}
.tpm-portal-infrastructure__section .tpm-portal-section__inner{padding-bottom:0}
.tpm-portal-infrastructure__section .tpm-portal-section__hd{position:relative;z-index:2;margin-bottom:56px}
.tpm-portal-infrastructure__inner{position:relative;z-index:1;padding:0 48px}
.tpm-portal-infrastructure__inner>.tpm-portal-module{position:relative}
.tpm-portal-infrastructure__items{position:relative;z-index:1;pointer-events:none}
.tpm-portal-infrastructure__items>div{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}
.tpm-portal-infrastructure__items>div+div{margin-top:56px}
.tpm-portal-infrastructure__item{min-width:136px}
.tpm-portal-infrastructure__item+.tpm-portal-infrastructure__item{margin-left:48px}
.tpm-portal-infrastructure__item-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;color:#000;font-weight:500;font-family:DIN Alternate}
.tpm-portal-infrastructure__item-text .tpm-portal-num-animate{height:44px}
.tpm-portal-infrastructure__item-text .tpm-portal-num-animate__text{font-size:36px;line-height:44px}
.tpm-portal-infrastructure__item-unit{font-size:32px;line-height:44px}
.tpm-portal-infrastructure__item-title{margin-top:8px;font-size:16px;line-height:24px;color:rgba(0,0,0,.8)}
.tpm-portal-infrastructure__logos-wrap{margin-top:110px;z-index:1;border-top:1px solid #fff;background:hsla(0,0%,100%,.85);padding:24px 48px;position:relative}
.tpm-portal-infrastructure__logos{max-width:1680px;margin:0 auto;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}
.tpm-portal-infrastructure__logo{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}
@media screen and (min-width:769px){.tpm-portal-infrastructure__logo{cursor:pointer}}
.tpm-portal-infrastructure__logo-icon{width:56px;height:56px;border-radius:50%;box-shadow:none;transition:all .3s ease-in-out}
.tpm-portal-infrastructure__logo-text{font-size:12px;line-height:18px;color:#4b5b76;margin-top:6px;transition:all .3s ease-in-out}
.tpm-portal-infrastructure__logo.is-compliance .tpm-portal-infrastructure__logo-text{color:#0052d9;padding-right:12px;position:relative}
.tpm-portal-infrastructure__logo.is-compliance .tpm-portal-infrastructure__logo-text:after{content:"";position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:all .3s ease-in-out;width:6px;height:10px;background-size:cover;background-image:url(../images/solution/tpm-portal-infrastructure-compliance-arrow.svg)}
@media screen and (min-width:769px){.tpm-portal-infrastructure__logo:hover .tpm-portal-infrastructure__logo-icon{box-shadow:0 0 10px 0 rgba(0,0,0,.1)}
.tpm-portal-infrastructure__logo:hover .tpm-portal-infrastructure__logo-text{color:#0052d9}
.tpm-portal-infrastructure__logo:hover .tpm-portal-infrastructure__logo-text:after{-webkit-transform:translate(4px,-50%);transform:translate(4px,-50%)}}
@media screen and (min-width:1400px){.tpm-portal-infrastructure__inner{padding:0 64px}
.tpm-portal-infrastructure__item-text .tpm-portal-num-animate{height:48px}
.tpm-portal-infrastructure__item-text .tpm-portal-num-animate__text{font-size:40px;line-height:48px}
.tpm-portal-infrastructure__item-unit{font-size:36px;line-height:48px}
.tpm-portal-infrastructure__logos-wrap{margin-top:120px;padding:24px 64px}
.tpm-portal-infrastructure__logo-icon{width:64px;height:64px}
.tpm-portal-infrastructure__logo-text{font-size:12px;line-height:20px}}
@media screen and (min-width:1600px){.tpm-portal-infrastructure__inner{padding:0 64px}
.tpm-portal-infrastructure__logos-wrap{margin-top:140px;padding:24px 64px}
.tpm-portal-infrastructure__logo-icon{width:80px;height:80px}
.tpm-portal-infrastructure__logo-text{font-size:14px;line-height:22px}}
@media screen and (min-width:1920px){.tpm-portal-infrastructure__inner{padding:0 120px}
.tpm-portal-infrastructure__logo-wrap{padding:24px 120px}}
@media screen and (max-width:768px){.tpm-portal-infrastructure__section.tpm-portal-section .tpm-portal-section__hd{margin-bottom:16px}
.tpm-portal-infrastructure__section.tpm-portal-section .tpm-portal-section__link{background:#f5f8fd}
.tpm-portal-infrastructure__inner{padding:0 24px}
.tpm-portal-infrastructure__logos-wrap{margin-top:36px;padding:16px 24px}
.tpm-portal-infrastructure__items{width:100%;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}
.tpm-portal-infrastructure__items>div+div{margin-top:36px}
.tpm-portal-infrastructure__item+.tpm-portal-infrastructure__item{margin-left:32px}
.tpm-portal-infrastructure__item{min-width:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center}
.tpm-portal-infrastructure__item-text,.tpm-portal-infrastructure__item-unit{font-size:32px;line-height:40px}
.tpm-portal-infrastructure__item-title{font-size:14px;line-height:22px}
.tpm-portal-infrastructure__logos{-ms-flex-wrap:wrap;flex-wrap:wrap}}
@media screen and (max-width:768px) and (min-width:601px){.tpm-portal-infrastructure__logo{width:calc(25% - 6px);margin-right:8px}
.tpm-portal-infrastructure__logo:last-child,.tpm-portal-infrastructure__logo:nth-child(4n+4){margin-right:0}
.tpm-portal-infrastructure__logo:nth-last-child(2){display:none}
.tpm-portal-infrastructure__logo:nth-child(n+5){margin-top:16px}}
@media screen and (max-width:768px){.tpm-portal-infrastructure__logo-icon{width:52px;height:52px}}
@media screen and (max-width:768px){.tpm-portal-infrastructure__logo-text{font-size:12px;line-height:20px}}
@media screen and (max-width:600px){.tpm-portal-infrastructure__inner{padding:0 16px}
.tpm-portal-infrastructure__items>div+div{margin-top:24px}
.tpm-portal-infrastructure__item+.tpm-portal-infrastructure__item{margin-left:24px}
.tpm-portal-infrastructure__item-text,.tpm-portal-infrastructure__item-unit{font-size:24px;line-height:32px}
.tpm-portal-infrastructure__item-title{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:140px;font-size:12px;line-height:20px}
.tpm-portal-infrastructure__compliance{padding:0}
.tpm-portal-infrastructure__logos-wrap{padding:16px}
.tpm-portal-infrastructure__logos{-ms-flex-wrap:wrap;flex-wrap:wrap}
.tpm-portal-infrastructure__logo{width:calc(33.33333% - 8px);margin-right:12px}
.tpm-portal-infrastructure__logo:nth-child(3n+3){margin-right:0}
.tpm-portal-infrastructure__logo:nth-child(n+4){margin-top:12px}
.tpm-portal-infrastructure__logo-icon{width:48px;height:48px}}
@media screen and (max-width:450px){.tpm-portal-infrastructure__compliance-img,.tpm-portal-infrastructure__logo-icon{width:40px;height:40px}}
.tpm-portal-modelhub__tab-item-icon.tpm-portal-motion-icon{width:16px;height:16px;font-size:16px;-ms-flex-negative:0;flex-shrink:0}
@media screen and (min-width:1600px){.tpm-portal-modelhub__tab-item-icon.tpm-portal-motion-icon{width:20px;height:20px;font-size:20px}}
.tpm-portal-capability__tab-item-icon.tpm-portal-motion-icon{width:16px;height:16px;font-size:16px;-ms-flex-negative:0;flex-shrink:0}
@media screen and (min-width:1600px){.tpm-portal-capability__tab-item-icon.tpm-portal-motion-icon{width:20px;height:20px;font-size:20px}}

/* ==========================================================================
   

/* ==== 补充抽取：客户 logo 墙 / 面板（38 条）==== */
.tpm-portal-panel{display:block;padding:28px 0 0}
.tpm-portal-panel__hd{max-width:1680px;margin:0 auto 24px;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}
@media screen and (min-width:769px){.tpm-portal-panel__hd:after,.tpm-portal-panel__hd:before{content:"";width:0;height:1px;-ms-flex-positive:1;flex-grow:1}
.tpm-portal-panel__hd:before{background:linear-gradient(90deg,rgba(95,121,164,0),rgba(95,121,164,.18))}
.tpm-portal-panel__hd:after{background:linear-gradient(270deg,rgba(95,121,164,0),rgba(95,121,164,.18))}}
.tpm-portal-panel__title{-ms-flex-negative:0;flex-shrink:0;font-size:14px;line-height:22px;color:#4b5b76;font-weight:400;max-width:100%}
@media screen and (min-width:769px){.tpm-portal-panel__title{margin:0 16px}}
.tpm-portal-panel__title a{margin-left:8px;color:#0052d9;font-size:14px;line-height:22px;position:relative;padding-right:18px}
.tpm-portal-panel__title a:after{content:"";position:absolute;top:50%;right:0;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:16px;height:16px;background-image:url(../images/solution/tpm-portal-panel-link-arrow.svg);background-size:cover;transition:all .3s ease-in-out}
@media screen and (min-width:769px){.tpm-portal-panel__title a:hover:after{-webkit-transform:translate(3px,-50%);transform:translate(3px,-50%)}}
@media screen and (max-width:768px){.tpm-portal-panel{padding:28px 0}
.tpm-portal-panel__hd{margin-bottom:16px;padding:0 24px}
.tpm-portal-panel__title{-ms-flex-negative:0;flex-shrink:0;font-size:12px;line-height:20px;color:#506fa2}
.tpm-portal-panel__title a{font-size:12px;line-height:20px;color:#0052d9}
.tpm-portal-panel__title a:after{background-image:url(../images/solution/tpm-portal-panel-link-arrow-mobile.svg)}}
@media screen and (max-width:600px){.tpm-portal-panel__hd{padding:0 16px}}
.tpm-portal-solution__feature-icon{position:absolute;left:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:16px;height:16px;display:block;background-size:cover;background-image:url(../images/solution/tpm-portal-solution-icon-check.svg)}
.tpm-portal-solution__btn-link-arrow:before{background-image:url(../images/solution/tpm-portal-solution-link-arrow-default.svg)}
.tpm-portal-solution__btn-link-arrow:after{-webkit-transform:translateX(-3px);transform:translateX(-3px);opacity:0;background-image:url(../images/solution/tpm-portal-solution-link-arrow-active.svg)}
.tpm-portal-solution__case-title:before{background-image:url(../images/solution/tpm-portal-solution-icon-case-arrow.svg)}
.tpm-portal-solution__case-title:after{background-image:url(../images/solution/tpm-portal-solution-icon-case-arrow-active.svg);opacity:0;transition:all .3s ease-in-out}
@media screen and (min-width:769px){.tpm-portal-solution__section.tpm-portal-section{background:#fff;position:relative}
.tpm-portal-solution__section.tpm-portal-section:after,.tpm-portal-solution__section.tpm-portal-section:before{content:"";max-width:2560px;width:100%;height:100%;position:absolute;top:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}
.tpm-portal-solution__section.tpm-portal-section:before{background-image:url(../images/solution/tpm-portal-solution-bg-top.jpg);background-size:2560px auto;background-repeat:no-repeat;background-position:top}
.tpm-portal-solution__section.tpm-portal-section:after{background-image:url(../images/solution/tpm-portal-solution-bg-center.png);background-size:2560px auto;background-repeat:no-repeat;background-position:bottom}
.tpm-portal-solution__section.tpm-portal-section .tpm-portal-section__inner{padding-bottom:72px;position:relative;z-index:1}}
.tpm-portal-infrastructure__earth:before{opacity:1;content:"";position:absolute;left:0;top:0;width:100%;height:100%;background-size:cover;background-image:url(../images/solution/tpm-portal-infrastructure-image-earth-new.png);transition:all .3s linear}
.tpm-portal-infrastructure__dot:before{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background-size:cover;background-image:url(../images/solution/tpm-portal-infrastructure-dot.svg)}
@media screen and (max-width:768px){.tpm-portal-infrastructure__earth{width:768px;height:268px;right:auto;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:.6;background-size:cover;background-image:url(../images/solution/tpm-portal-infrastructure-image-earth-mobile.png)}
.tpm-portal-infrastructure__earth:before{content:none;display:none}}
.tpm-portal-infrastructure__logo.is-compliance .tpm-portal-infrastructure__logo-text:after{content:"";position:absolute;right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:all .3s ease-in-out;width:6px;height:10px;background-size:cover;background-image:url(../images/solution/tpm-portal-infrastructure-compliance-arrow.svg)}
.tpm-portal-logo-wall{width:100%;overflow:hidden;position:relative;margin-bottom:24px}
.tpm-portal-logo-wall:last-child{margin-bottom:0}
.tpm-portal-logo-wall--scrolling{mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent)}
.tpm-portal-logo-wall--center .tpm-portal-logo-wall__track{-ms-flex-pack:center;justify-content:center}
.tpm-portal-logo-wall__track{white-space:nowrap;will-change:transform}
.tpm-portal-logo-wall__group,.tpm-portal-logo-wall__track{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}
.tpm-portal-logo-wall__group{-ms-flex-negative:0;flex-shrink:0}
.tpm-portal-logo-wall__group+.tpm-portal-logo-wall__group{margin-left:24px}
.tpm-portal-logo-wall__link{text-decoration:none}
.tpm-portal-logo-wall__item-wrapper,.tpm-portal-logo-wall__link{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-negative:0;flex-shrink:0}
.tpm-portal-logo-wall__item-wrapper+.tpm-portal-logo-wall__item-wrapper,.tpm-portal-logo-wall__item-wrapper+.tpm-portal-logo-wall__link,.tpm-portal-logo-wall__link+.tpm-portal-logo-wall__item-wrapper,.tpm-portal-logo-wall__link+.tpm-portal-logo-wall__link{margin-left:24px}
.tpm-portal-logo-wall__item{position:relative;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:120px;height:32px;-ms-flex-negative:0;flex-shrink:0;cursor:pointer;border-radius:4px}
@media screen and (min-width:769px){.tpm-portal-logo-wall__item{transition:all .3s ease-in-out}
.tpm-portal-logo-wall__item:hover .tpm-portal-logo-wall__item-normal{-webkit-transform:scale(1.1);transform:scale(1.1)}
.tpm-portal-logo-wall__item:hover .tpm-portal-logo-wall__item-active{-webkit-transform:translate(-50%,-50%) scale(1.1);transform:translate(-50%,-50%) scale(1.1)}}
.tpm-portal-logo-wall__item-normal{-webkit-transform-origin:center;transform-origin:center}
.tpm-portal-logo-wall__item-active,.tpm-portal-logo-wall__item-normal{display:block;height:100%;width:auto;-o-object-fit:contain;object-fit:contain;transition:all .3s ease-in-out}
.tpm-portal-logo-wall__item-active{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);opacity:0;-webkit-transform-origin:center;transform-origin:center}
.tpm-portal-logo-wall__item:hover .tpm-portal-logo-wall__item-active{opacity:1}
@media screen and (max-width:768px){.tpm-portal-logo-wall{margin-bottom:16px}
.tpm-portal-logo-wall:last-child{margin-bottom:0}
.tpm-portal-logo-wall--scrolling{mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent)}
.tpm-portal-logo-wall__group{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-negative:0;flex-shrink:0}
.tpm-portal-logo-wall__group+.tpm-portal-logo-wall__group,.tpm-portal-logo-wall__item-wrapper+.tpm-portal-logo-wall__item-wrapper,.tpm-portal-logo-wall__item-wrapper+.tpm-portal-logo-wall__link,.tpm-portal-logo-wall__link+.tpm-portal-logo-wall__item-wrapper,.tpm-portal-logo-wall__link+.tpm-portal-logo-wall__link{margin-left:12px}
.tpm-portal-logo-wall__item{cursor:default;width:90px;height:24px}
.tpm-portal-logo-wall__item-normal{display:none}
.tpm-portal-logo-wall__item-active{-webkit-transform:none;transform:none;opacity:1;position:static}}

/* 以下为「接本系统」的覆盖（不属于照抄内容）
   ========================================================================== */
/* 1) 进场动画：原站由 JS 写内联 opacity/translate，这里改成 class 驱动（.nv-in 加在 section 上） */
.tpm-portal-solution__tab-bar,.tpm-portal-solution__tab-content,
.tpm-portal-infrastructure__items,.tpm-portal-infrastructure__logos-wrap{
  opacity:0;transform:translateY(30px);
  transition:opacity .6s ease,transform .6s cubic-bezier(.22,.9,.28,1)}
.nv-in .tpm-portal-solution__tab-bar,.nv-in .tpm-portal-solution__tab-content,
.nv-in .tpm-portal-infrastructure__items,.nv-in .tpm-portal-infrastructure__logos-wrap{
  opacity:1;transform:translateY(0)}
/* 2) 切 tab / 切案例时淡入（面板本身是 width/height 切换，这里只补透明度过渡） */
.tpm-portal-solution__tab-panel,.tpm-portal-solution__case-panel{transition:opacity .28s ease}
/* 3) 产品图标：原站用两张外链 svg 切换，这里改成内联 svg + 悬停变主题蓝 */
.tpm-portal-solution__product-icon{background-image:none!important;color:#6b7688;
  display:flex;align-items:center;justify-content:center}
.tpm-portal-solution__product-icon svg{width:16px;height:16px;display:block}
.tpm-portal-solution__product-icon--active{display:none}
.tpm-portal-solution__product-item:hover .tpm-portal-solution__product-icon{color:#0052d9}
/* 4) 案例缩略 tab：原站放客户 logo 图，这里改成文字（不放别家 logo） */
.tpm-portal-solution__case-tab{line-height:normal}
.tpm-portal-solution__case-tab-text{font-size:14px;line-height:22px;color:rgba(0,0,0,.55);white-space:nowrap}
.tpm-portal-solution__case-tab.is-active .tpm-portal-solution__case-tab-text{color:#0052d9;font-weight:600}
/* 5) 地球上的圆点：原站由 JS 写内联宽高展开 tooltip，这里改成纯 CSS hover 展开 */
.tpm-portal-infrastructure__tooltip-content{width:auto;height:auto;max-height:0;opacity:0;
  overflow:hidden;transition:max-height .3s linear,opacity .3s linear}
.tpm-portal-infrastructure__dot:hover .tpm-portal-infrastructure__tooltip,
.tpm-portal-infrastructure__dot.is-active .tpm-portal-infrastructure__tooltip{padding:10px;background:#fff}
.tpm-portal-infrastructure__dot:hover .tpm-portal-infrastructure__tooltip-content,
.tpm-portal-infrastructure__dot.is-active .tpm-portal-infrastructure__tooltip-content{max-height:220px;opacity:1}
.tpm-portal-infrastructure__dot:hover .tpm-portal-infrastructure__tooltip-title{color:#0052d9}
.tpm-portal-infrastructure__dot{z-index:20}
.tpm-portal-infrastructure__dot:hover{z-index:1001}
/* 6) 数字滚动：CSS 变量 --d(目标数字) + .nv-in 触发，替代原站的 JS 卷轮 */
.nv-num{display:inline-block;overflow:hidden;vertical-align:bottom;height:44px}
.nv-num__inner{display:flex;flex-direction:column;transform:translateY(0);
  transition:transform 1.1s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i,0) * 55ms)}
.nv-num__inner>i{display:block;height:44px;font-style:normal;font-weight:500;color:#000;
  font-size:36px;line-height:44px;
  font-family:"DIN Alternate",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.nv-in .nv-num__inner{transform:translateY(calc(var(--d,0) * -44px))}
@media screen and (min-width:1600px){
  .nv-num{height:48px}
  .nv-num__inner>i{height:48px;font-size:40px;line-height:48px}
  .nv-in .nv-num__inner{transform:translateY(calc(var(--d,0) * -48px))}}
@media screen and (max-width:600px){
  .nv-num{height:40px}
  .nv-num__inner>i{height:40px;font-size:32px;line-height:40px}
  .nv-in .nv-num__inner{transform:translateY(calc(var(--d,0) * -40px))}}
/* 7) 两个模块自己的底色（style.css 里把 .tpm-portal-section 的底色清空了，给粒子让路） */
.tpm-portal-solution__section{background:#fff}
.tpm-portal-infrastructure__section{background:#f7faff}
/* 8) 资质那一排：不放别人的认证徽标，改成自有的服务保障文案 */
.tpm-portal-infrastructure__logo{cursor:default;justify-content:center}
.tpm-portal-infrastructure__logo-text{margin-top:0;font-size:13px;line-height:22px;color:#3d4757}
@media screen and (min-width:769px){
  .tpm-portal-infrastructure__logo:hover .tpm-portal-infrastructure__logo-text{color:#0052d9}}
/* 9) 底部「伙伴墙」：原站是客户 logo 图（120×32 图片盒），这里换成服务器系统 / 面板 / 环境图标
      （白底长方形图标位 + object-fit:contain，避免品牌图标被裁切）；滚动改用 CSS 动画（两组内容相同） */
.tpm-portal-logo-wall__item{width:104px;height:68px;padding:12px 20px;background:#fff;
  border:1px solid #d5e0f2;box-shadow:none;transition:border-color .3s ease}
.tpm-portal-logo-wall__link:hover .tpm-portal-logo-wall__item{border-color:#1256d4}
.nv-wall-logo{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;
  transition:transform .3s cubic-bezier(.22,.9,.28,1)}
.tpm-portal-logo-wall__link:hover .nv-wall-logo{transform:scale(1.12)}
.tpm-portal-logo-wall--scrolling .tpm-portal-logo-wall__track{animation:nvWallMove 52s linear infinite}
@keyframes nvWallMove{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-50% - 12px),0,0)}}
.tpm-portal-logo-wall--scrolling:hover .tpm-portal-logo-wall__track{animation-play-state:paused}
@media(max-width:768px){
  .tpm-portal-logo-wall__item{width:84px;height:56px;padding:10px 16px}}
@media(prefers-reduced-motion:reduce){
  .tpm-portal-logo-wall--scrolling .tpm-portal-logo-wall__track{animation:none}}
