/* DESIGN.md implementation. Loaded after page styles and legacy bundles. */
:root{--qx-brand:#3327c7;--qx-brand-ink:#211b7a;--qx-action-hover:#29229b;--qx-ink:#202028;--qx-action:#17191c;--qx-copy:#66666d;--qx-border:#d5d1e8}
::selection{background:#dcd8fa;color:#17191c}
input,textarea{caret-color:var(--qx-brand-ink)}
a{text-underline-offset:.22em}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--qx-brand);outline-offset:4px}
.site-header :is(a,button):focus-visible,.footer :is(a,button):focus-visible{outline-color:#bcb5ff}
body .button,body.page-index :is(.motion-actions,.cloud-copy,.cta,.ai-feature-copy) .button,
body :is(.tp-plan button[data-plan],.sr-config button[data-server]){display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;box-sizing:border-box;padding:14px 24px;border:1px solid var(--qx-action);border-radius:30px;background:var(--qx-action);color:#fff;font:500 14px/1.5 Inter,system-ui,"Microsoft YaHei",sans-serif;text-align:center;text-decoration:none;box-shadow:none;transform:none;cursor:pointer;transition:background-color .18s,border-color .18s,color .18s}
body .button:hover,body.page-index :is(.motion-actions,.cloud-copy,.cta,.ai-feature-copy) .button:hover,
body :is(.tp-plan button[data-plan],.sr-config button[data-server]):hover{background:var(--qx-action-hover);border-color:var(--qx-action-hover);color:#fff;transform:none;box-shadow:none}
body :is(.button,.tp-plan button[data-plan],.sr-config button[data-server]):active{background:var(--qx-brand-ink);transform:none}
body :is(.button-outline,.button-secondary,.store-secondary){min-height:44px;padding:12px 20px;border:1px solid var(--qx-border);border-radius:30px;background:#fff;color:var(--qx-ink);font-size:14px;line-height:1.5;cursor:pointer;transition:background-color .18s,border-color .18s}
body :is(.button-outline,.button-secondary,.store-secondary):hover{background:#f2f0f5;border-color:var(--qx-brand-ink);color:var(--qx-brand-ink);transform:none}
body :is(.plain-link,.motion-text-link,.tp-text-link,.agent-card-consult,.sr-link){color:var(--qx-brand-ink);text-decoration-thickness:1px}
body :is(.plain-link,.motion-text-link,.tp-text-link,.agent-card-consult,.sr-link):hover{text-decoration:underline}
body :is(.dialog-close,.store-dialog-close,.tp-close){min-width:44px;min-height:44px;box-sizing:border-box}
body :is(.tp-cycle button,.tp-segment button,.sr-filters button,.sr-scene-controls button,.store-page-button,.category-tabs button){min-height:44px;box-sizing:border-box}
body :is(button:disabled,input:disabled,select:disabled,textarea:disabled){opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}
body button:disabled:hover{transform:none;box-shadow:none}
body main :is(.info-card p,.steps p,.store-description,.contact-aside p,.policy p,.document-rows p,.selector-layout>div>p,.form-layout>div>p){font-size:14px;line-height:1.85;color:var(--qx-copy)}
body :is(.token-plan-page,.agent-custom-page,.server-rental) :is(.tp-hero,.agent-custom-hero,.sr-hero)>div>p{color:var(--qx-copy);line-height:1.85}
body main :is(.agent-card-tags span,.form-note,.consent){color:#5f5f68;font-size:13px;line-height:1.8;letter-spacing:normal}
body :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:14px;line-height:1.5;color:var(--qx-ink);border-color:var(--qx-border)}
body :is(input,textarea)::placeholder{color:#66666d;opacity:1}
body input[type=checkbox],body input[type=radio]{accent-color:var(--qx-brand)}
/* A link inside a card does not make its parent actionable. */
body :is(article.service-card,.product-card,.store-card,.info-card,.agent-custom-grid article,.agent-custom-process li,.architecture-layer):hover{transform:none;box-shadow:none;cursor:default}
body :is(article.service-card,.product-card,.store-card,.info-card,.agent-custom-grid article,.agent-custom-process li,.architecture-layer):hover{border-color:var(--qx-border)}
body :is(a.service-card,a.cloud-business-item,a.asset-detail[href]):hover{transform:translateY(-2px)}
body .product-card:hover .product-photo img,body .store-product-image:hover img{transform:none}
body :is(.agent-custom-art b img,.tp-orbit-brand img){filter:none}
body :is(.tp-price,.sr-quote,.sr-config dd){font-variant-numeric:tabular-nums}
/* Product copy may wrap differently; keep the action divider at a shared baseline. */
body.page-index .product-grid>.product-card{display:flex;flex-direction:column}
body.page-index .product-grid .product-art{flex-shrink:0}
body.page-index .product-grid .product-info{display:flex;flex-direction:column;flex:1}
body.page-index .product-grid .product-info>p{flex:1}
body.page-index .product-grid .product-info>.plain-link{margin-top:17px}
/* One shared hardware surface for the hero, catalog and information cards. */
body:is(.page-hardware,.page-index) main .bc-card.bc-surface{position:relative;isolation:isolate;background:radial-gradient(ellipse at 76% 14%,#ffffff66 0%,#ffffff00 54%),linear-gradient(115deg,#edf0f6 5%,#e2e7f0 58%,#d4dce8 100%);background-size:100% 100%;background-position:center;border-color:#b8c3d4;box-shadow:inset 0 1px 0 #ffffffb3}
body:is(.page-hardware,.page-index) main .bc-card>.bc-material{display:none}
body:is(.page-hardware,.page-index) main .bc-card>:not(.bc-material){position:relative;z-index:1}
body:is(.page-hardware,.page-index) main .bc-card::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:url('hardware-precision-lines.svg') center right/78% 125% no-repeat;opacity:.46;mask-image:linear-gradient(90deg,transparent 25%,#000 49%,#000 85%,transparent)}
body:is(.page-hardware,.page-index) main .bc-card::after{content:"";position:absolute;inset:-40% -35%;z-index:0;pointer-events:none;background:linear-gradient(115deg,transparent 42%,#fff9 49%,#ffffffb3 50%,transparent 58%);transform:translateX(-35%);animation:qx-surface-light 16s ease-in-out infinite;animation-play-state:paused}
body:is(.page-hardware,.page-index) main .bc-card.bc-in-view::after{animation-play-state:running}
body.page-hardware main .store-card .store-card-body{background:transparent;isolation:auto}
body.page-hardware main .store-card .store-card-body::before,body.page-hardware main .store-card .store-card-body::after{content:none}
body.page-hardware main .store-hero h1{color:var(--qx-ink)}
body.page-hardware main .store-hero p{color:var(--qx-copy)}
@keyframes qx-surface-light{0%,12%{transform:translateX(-35%);opacity:0}25%{opacity:.8}65%{transform:translateX(35%);opacity:.6}78%,100%{transform:translateX(35%);opacity:0}}
@media(max-width:760px){body:is(.page-hardware,.page-index) main .bc-card::before{background-size:150% 90%;background-position:center 85%;mask-image:linear-gradient(180deg,transparent 20%,#000 52%,transparent 95%);opacity:.36}}
@media(prefers-reduced-motion:reduce){body:is(.page-hardware,.page-index) main .bc-card::after{animation:none;opacity:0}}
@media(max-width:760px){body .button{max-width:100%;white-space:normal}body :is(.hero-actions,.motion-actions,.tp-actions){flex-wrap:wrap}body main :is(.form-note,.consent){font-size:13px}}
@media(prefers-reduced-motion:reduce){body :is(a.service-card,a.cloud-business-item,a.asset-detail[href]):hover{transform:none}body :is(.button,.store-secondary,.button-outline,.button-secondary){transition:none}}

/* Pale hardware photographs need a separate, clearly bounded image surface. */
body.page-hardware .store-grid .store-product-image.light{background:linear-gradient(145deg,#f3f5f8,#dce3ed);border-bottom:1px solid #bac6d7}
body.page-hardware main .store-card.bc-card.bc-surface:hover{border-color:#a9b8ce}

/* Compact registration footer */
body .site-registration{margin:48px 0 0;padding:26px 22px 30px;border-top:1px solid #d5d1e8;background:#f8f9fc;text-align:center;color:#5f5f68;font:400 13px/1.8 Inter,system-ui,sans-serif}body .site-registration p{margin:0 0 8px;color:#5f5f68;font-size:13px}body .site-registration nav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px}body .site-registration a{color:#211b7a;text-decoration:none}body .site-registration a:hover{text-decoration:underline}body .privacy-consent{display:flex;align-items:flex-start;gap:8px;font-size:13px;line-height:1.8;color:#5f5f68;margin:18px 0 6px}body .privacy-consent input{width:18px;height:18px;flex:none;margin:3px 0 0}body .privacy-consent a{color:#211b7a;text-decoration:underline}body .privacy-form-note{font-size:12px;line-height:1.8;color:#5f5f68;margin:0 0 18px}

/* Keep the established full footer; add registration as its final two lines. */
body .footer+.site-registration{margin-top:0;background:#0c0c0f;border-top:1px solid #ffffff24;color:#c9c9d0}
body .footer+.site-registration p{color:#c9c9d0}
body .footer+.site-registration a{color:#e5e2eb}

/* Registration belongs to the existing footer, with no separate strip. */
body .footer .site-registration{margin:0 auto;padding:20px 22px 28px;background:transparent;border:0;color:#c9c9d0}body .footer .site-registration p{color:#c9c9d0}body .footer .site-registration a{color:#e5e2eb}
