/* Taiwu motion: progressive enhancement, no scroll capture, static by default. */
.service-card,.gpu-card{position:relative;isolation:isolate}.service-card{overflow:visible}html:not(.motion-ready) .service-card:hover{transform:none}.service-card h3,.gpu-card h3{position:relative;display:inline-block;transform-origin:left center;max-width:calc(100% - 10px);transition:transform .5s cubic-bezier(.22,.68,.2,1),color .5s,text-shadow .5s;z-index:1}.service-card h3::before,.gpu-card h3::before{content:'';position:absolute;inset:-8px -10px;z-index:-1;pointer-events:none;border-radius:18px;background:radial-gradient(ellipse,#a9e7edbd,transparent 78%);opacity:0;transition:opacity .5s}.service-card::before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(180px circle at var(--mx,90%) var(--my,0%),#16a1b52c,transparent 80%);opacity:0;pointer-events:none;transition:opacity .45s}.service-card:focus-visible,.gpu-card:focus-within{outline:2px solid #178ba1;outline-offset:4px}.service-card:focus-visible h3,.gpu-card:focus-within h3{transform:scale(1.045);color:#176d80;text-shadow:0 2px 15px #1599af40}.service-card:focus-visible h3::before,.gpu-card:focus-within h3::before,.service-card:focus-visible::before{opacity:1}
.tw-arrow{display:inline-grid;place-items:center;position:relative;width:34px;height:34px;flex:0 0 34px;vertical-align:middle;color:inherit;line-height:1}.tw-arrow svg{display:block;width:26px;height:26px;stroke:currentColor;stroke-width:1.6;fill:none;transition:transform .5s cubic-bezier(.22,.68,.2,1)}.tw-arrow-diagonal{overflow:hidden}.tw-arrow-diagonal>span{position:relative;width:34px;height:34px;transition:transform .5s cubic-bezier(.22,.68,.2,1)}.tw-arrow-diagonal svg{position:absolute;top:4px;left:4px}.tw-arrow-diagonal svg+svg{transform:translate(-34px,34px)}.service-card:focus-visible .tw-arrow-diagonal>span{transform:translate(34px,-34px)}.tw-arrow-ring{border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 25%,transparent);border-radius:50%;transition:background .4s}.tw-arrow-ring .tw-ring{position:absolute;inset:-1px;width:34px;height:34px;stroke-dasharray:101;stroke-dashoffset:101;transform:rotate(-90deg);transition:stroke-dashoffset .6s}.button.primary,.nav-contact{gap:14px}.button.primary:focus-visible .tw-ring,.nav-contact:focus-visible .tw-ring{stroke-dashoffset:0}.button.primary:focus-visible .tw-arrow-ring>svg:first-child,.nav-contact:focus-visible .tw-arrow-ring>svg:first-child{transform:translateX(3px)}.button.primary .tw-arrow-ring,.nav-contact .tw-arrow-ring{transform:none!important}.card-number>span.tw-arrow{font-size:inherit}
@media(any-hover:hover) and (any-pointer:fine){html:not(.motion-ready) .service-card:hover h3,html:not(.motion-ready) .gpu-card:hover h3{transform:scale(1.045);color:#176d80;text-shadow:0 2px 15px #1599af40}html:not(.motion-ready) .service-card:hover h3::before,html:not(.motion-ready) .gpu-card:hover h3::before,html:not(.motion-ready) .service-card:hover::before{opacity:1}html:not(.motion-ready) .service-card:hover .tw-arrow-diagonal>span{transform:translate(34px,-34px)}html:not(.motion-ready) .button.primary:hover .tw-ring,html:not(.motion-ready) .nav-contact:hover .tw-ring{stroke-dashoffset:0}html:not(.motion-ready) .button.primary:hover .tw-arrow-ring>svg:first-child,html:not(.motion-ready) .nav-contact:hover .tw-arrow-ring>svg:first-child{transform:translateX(3px)}}
.hero-hardware{isolation:isolate}.tw-orbits{position:absolute;inset:-19% -12%;width:124%;height:138%;overflow:visible;pointer-events:none;z-index:5}.tw-orbits path{fill:none;stroke:#2d9bae;stroke-width:1.2;opacity:.24}.tw-orbits .tw-trail{stroke:#079bb0;stroke-width:2.2;stroke-linecap:round;stroke-dasharray:30 245;opacity:.8;animation:tw-line 6s linear infinite paused}.tw-orbits .tw-reverse{stroke-dasharray:12 190;animation-direction:reverse;animation-duration:8s}.tw-dot{fill:#08a1b5;stroke:#efffff;stroke-width:2;filter:drop-shadow(0 0 3px #12b9c37d)}.server-vents{position:relative;overflow:hidden}.server-vents::after{content:'';position:absolute;inset:0;width:42%;background:linear-gradient(90deg,transparent,#00b6ca80,transparent);transform:translateX(-140%);animation:tw-scan 3.8s linear infinite paused}.server-row:nth-of-type(3) .server-vents::after{animation-delay:-1.2s}.server-row:nth-of-type(4) .server-vents::after{animation-delay:-2.4s}.gpu-art{position:relative;overflow:hidden}.tw-product-flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.tw-product-flow path{fill:none;stroke:#13a3b6;stroke-width:1.5}.tw-path-base{opacity:.17}.tw-product-flow .tw-path-moving{stroke-width:2.5;stroke-linecap:round;stroke-dasharray:18 100;opacity:.82;animation:tw-data 4.8s linear infinite paused}.tw-server-scan .tw-path-moving{stroke-dasharray:90 170;animation-duration:4.2s}.tw-rack-network .tw-path-moving{stroke-dasharray:7 50;animation-duration:5.5s}.motion-ready:not(.motion-paused) .tw-trail,.motion-ready:not(.motion-paused) .tw-path-moving,.motion-ready:not(.motion-paused) .server-vents::after{animation-play-state:running}.tw-motion-toggle{margin-left:16px;font:inherit;font-size:12px;border:1px solid #bfd6df;border-radius:20px;background:white;color:#315b6e;padding:7px 12px;cursor:pointer}.tw-motion-toggle:focus-visible{outline:2px solid #16859a;outline-offset:3px}.tw-motion-toggle:disabled{cursor:default}.tw-enter{animation:tw-reveal .8s cubic-bezier(.2,.7,.2,1) both}.motion-paused .tw-enter{animation-play-state:paused}@keyframes tw-line{to{stroke-dashoffset:-550}}@keyframes tw-scan{to{transform:translateX(350%)}}@keyframes tw-data{to{stroke-dashoffset:-236}}@keyframes tw-reveal{from{opacity:.4;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.tw-orbits{inset:-15% -8%;width:116%;height:130%}.tw-motion-toggle{margin:12px 0 0}.tw-arrow{width:30px;height:30px;flex-basis:30px}.tw-arrow-ring .tw-ring{width:30px;height:30px}.tw-arrow-ring>svg:first-child{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.tw-trail,.tw-path-moving,.server-vents::after,.tw-enter{animation:none!important}.tw-dot{display:none}.server-vents::after{opacity:0}.service-card h3,.gpu-card h3,.tw-arrow *,.service-card::before,.service-card h3::before,.gpu-card h3::before{transition:none!important}html:not(.motion-ready) .service-card:hover h3,.service-card:focus-visible h3,html:not(.motion-ready) .gpu-card:hover h3,.gpu-card:focus-within h3{transform:none!important;text-shadow:none}}

html:not(.motion-ready) .gpu-card:hover{transform:none}

/* v6: shared interaction language for every actionable card and CTA. */
.nav-contact{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;line-height:1;white-space:nowrap;box-sizing:border-box}.nav-contact .nav-label{display:block;line-height:1.2}.nav-contact .tw-arrow{align-self:center}
.card-foot a{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;line-height:1.3;text-decoration:none;border-radius:8px}.card-foot a:focus-visible{outline:2px solid #178ba1;outline-offset:4px}.gpu-card:focus-within .tw-arrow-diagonal>span{transform:translate(34px,-34px)}
.gpu-card::before{content:'';position:absolute;inset:0;border:1px solid transparent;border-radius:inherit;pointer-events:none;z-index:3;transition:border-color .4s}.gpu-card:focus-within::before{border-color:#2292a3}.service-card h3,.gpu-card h3{will-change:auto}.service-card:active h3,.gpu-card:active h3,.service-card.touch-feedback h3,.gpu-card.touch-feedback h3{transform:scale(1.045);color:#176d80;text-shadow:0 2px 15px #1599af40}.service-card:active h3::before,.gpu-card:active h3::before,.touch-feedback h3::before{opacity:1}.service-card:active .tw-arrow-diagonal>span,.gpu-card:active .tw-arrow-diagonal>span,.touch-feedback .tw-arrow-diagonal>span{transform:translate(34px,-34px)}.button.primary:active .tw-ring,.nav-contact:active .tw-ring{stroke-dashoffset:0}.button.primary:active,.nav-contact:active{filter:brightness(.96)}
@media(any-hover:hover) and (any-pointer:fine){html:not(.motion-ready) .gpu-card:hover .tw-arrow-diagonal>span{transform:translate(34px,-34px)}html:not(.motion-ready) .gpu-card:hover::before{border-color:#75bdc8}}
@media(prefers-reduced-motion:reduce){.service-card h3,.gpu-card h3{transform:none!important}.gpu-card::before,.button,.nav-contact{transition:none!important}.touch-feedback h3{transform:none!important}}

.detail-grid article h3,.steps article h3{transform-origin:left center;transition:transform .5s cubic-bezier(.22,.68,.2,1),color .5s,text-shadow .5s}.detail-grid article,.steps article{transition:border-color .4s}.detail-grid article:active h3,.steps article:active h3{color:#176d80;text-shadow:0 2px 15px #1599af40}
@media(any-hover:hover) and (any-pointer:fine){html:not(.motion-ready) .detail-grid article:hover h3,html:not(.motion-ready) .steps article:hover h3{transform:scale(1.025);color:#176d80;text-shadow:0 2px 15px #1599af40}}
.tw-orbit-detail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.tw-orbit-detail ellipse{fill:none;stroke:#159cae;stroke-width:2;stroke-dasharray:16 520;opacity:.75;animation:tw-detail 8s linear infinite paused}.tw-orbit-detail ellipse:nth-child(2){animation-delay:-2.5s}.tw-orbit-detail ellipse:nth-child(3){animation-delay:-5s}.motion-ready:not(.motion-paused) .tw-orbit-detail ellipse{animation-play-state:running}@keyframes tw-detail{to{stroke-dashoffset:-536}}
@media(prefers-reduced-motion:reduce){.tw-orbit-detail ellipse{animation:none!important}.detail-grid article h3,.steps article h3{transition:none!important;transform:none!important}}

.menu-toggle{min-height:44px;min-width:44px}.tw-motion-toggle{min-height:44px}.detail-grid article h3,.steps article h3{max-width:calc(100% - 8px)}

.service-card.pointer-hover h3,.gpu-card.pointer-hover h3{transform:scale(1.045);color:#176d80;text-shadow:0 2px 15px #1599af40}.pointer-hover h3::before,.service-card.pointer-hover::before{opacity:1}.pointer-hover .tw-arrow-diagonal>span{transform:translate(34px,-34px)}.pointer-hover .tw-arrow-diagonal,.service-card:focus-visible .tw-arrow-diagonal,.gpu-card:focus-within .tw-arrow-diagonal{color:#08657a;background:#dff4f6;box-shadow:0 0 0 1px #a4d5de;border-radius:8px;translate:2px -2px}.tw-arrow-diagonal{transition:background .35s,color .35s,box-shadow .35s,translate .35s}.button.primary.pointer-hover .tw-ring,.nav-contact.pointer-hover .tw-ring{stroke-dashoffset:0}.button.primary.pointer-hover .tw-arrow-ring>svg:first-child,.nav-contact.pointer-hover .tw-arrow-ring>svg:first-child{transform:translateX(3px)}.gpu-card.pointer-hover::before{border-color:#75bdc8}@media(any-hover:hover) and (any-pointer:fine){html:not(.motion-ready) .service-card:hover .tw-arrow-diagonal,html:not(.motion-ready) .gpu-card:hover .tw-arrow-diagonal{color:#08657a;background:#dff4f6;box-shadow:0 0 0 1px #a4d5de;border-radius:8px;translate:2px -2px}}@media(prefers-reduced-motion:reduce){.pointer-hover h3{transform:none!important}.tw-arrow-diagonal{transition:none;translate:none!important}}

.service-card:hover,.gpu-card:hover{transform:none}.detail-grid article.pointer-hover h3,.steps article.pointer-hover h3{transform:scale(1.025);color:#176d80;text-shadow:0 2px 15px #1599af40}@media(prefers-reduced-motion:reduce){.detail-grid article.pointer-hover h3,.steps article.pointer-hover h3{transform:none!important}}
