:root {
  --blue: #006eff;
  --blue-dark: #0052d9;
  --cyan: #28bfff;
  --ink: #18233c;
  --ink-deep: #0e1830;
  --muted: #5f6b85;
  --line: #e3e8f2;
  --surface: #f5f8fd;
  --white: #fff;
  --page: 1400px;
  --header-height: 64px;
  --ease: cubic-bezier(.2, .7, .2, 1);
}

* { box-sizing: border-box; }
html {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
  overscroll-behavior-x: none;
  scroll-behavior: smooth;
}
body {
  max-width: 100%;
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: "Microsoft YaHei UI", "PingFang SC", "Noto Sans SC", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  overflow-x: clip;
  overscroll-behavior-x: none;
}
body.menu-open {
  position: fixed;
  right: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
}
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { color: inherit; }
svg { display: block; }
.page-shell { width: min(calc(100% - 80px), var(--page)); margin: 0 auto; }
.hero[id], .news-strip[id], .section[id], .cta-section[id] { scroll-margin-top: calc(var(--header-height) + 10px); }
.skip-link { position: fixed; z-index: 1000; top: -80px; left: 16px; padding: 10px 16px; color: #fff; background: var(--blue); transition: top .2s; }
.skip-link:focus { top: 12px; }

/* Header */
.site-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  color: #14213a;
  background: rgba(243, 249, 255, .72);
  border-bottom: 1px solid rgba(120, 156, 201, .16);
  backdrop-filter: blur(16px);
  transition: background .3s, box-shadow .3s;
}
.site-header.is-scrolled { background: rgba(255, 255, 255, .96); box-shadow: 0 8px 30px rgba(19, 53, 98, .08); }
.header-main { height: var(--header-height); display: flex; align-items: center; }
.brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; color: #15213b; font-size: 21px; font-weight: 700; letter-spacing: -.04em; }
.brand-mark { width: 34px; height: 28px; color: #0a9df1; }
.desktop-nav { height: 100%; display: flex; align-items: center; gap: 1px; margin-left: 34px; }
.nav-link { position: relative; height: 100%; padding: 0 13px; display: inline-flex; align-items: center; border: 0; background: transparent; color: #33415c; cursor: pointer; white-space: nowrap; transition: color .2s; }
.nav-link::after { content: ""; position: absolute; right: 13px; bottom: 0; left: 13px; height: 2px; background: var(--blue); transform: scaleX(0); transition: transform .25s var(--ease); }
.nav-link:hover, .nav-link:focus-visible, .nav-link.is-open { color: var(--blue); outline: 0; }
.nav-link:hover::after, .nav-link:focus-visible::after, .nav-link.is-open::after { transform: scaleX(1); }
.nav-link.is-highlight { color: var(--blue); font-weight: 600; }
.nav-trigger::before { content: ""; position: absolute; right: 2px; top: 50%; width: 5px; height: 5px; border-right: 1px solid; border-bottom: 1px solid; transform: translateY(-72%) rotate(45deg); opacity: .5; }
.header-actions { height: 100%; display: flex; align-items: center; gap: 20px; margin-left: auto; }
.header-text-link { white-space: nowrap; transition: color .2s; }
.header-text-link:hover { color: var(--blue); }
.search-button { width: 34px; height: 34px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; cursor: pointer; }
.search-button svg { width: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.register-button { align-self: stretch; min-width: 106px; margin-right: calc((min(100vw - 80px, var(--page)) - 100vw) / 2); display: grid; place-items: center; padding: 0 22px; color: #fff; background: var(--blue); font-weight: 600; transition: background .2s; }
.register-button:hover { background: #005bd8; }
.menu-toggle { display: none; width: 42px; height: 42px; padding: 10px; border: 0; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: currentColor; transition: transform .2s, opacity .2s; }
.menu-toggle.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.menu-toggle.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.mega-menu { position: absolute; top: 100%; left: 0; width: 100%; visibility: hidden; opacity: 0; background: rgba(255,255,255,.98); border-top: 1px solid var(--line); box-shadow: 0 22px 48px rgba(19, 46, 84, .12); transform: translateY(-8px); transition: opacity .22s, transform .22s, visibility .22s; }
.mega-menu.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
.mega-inner { display: grid; grid-template-columns: 280px 1fr; gap: 62px; padding-top: 38px; padding-bottom: 44px; }
.mega-intro { padding-right: 38px; border-right: 1px solid var(--line); }
.eyebrow { color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.mega-intro h2 { margin: 7px 0 9px; font-size: 24px; line-height: 1.35; }
.mega-intro p { margin: 0 0 20px; color: var(--muted); }
.mega-intro a { color: var(--blue); font-weight: 600; }
.mega-intro a span { margin-left: 6px; transition: margin .2s; }
.mega-intro a:hover span { margin-left: 10px; }
.mega-columns { display: grid; grid-template-columns: repeat(4, 1fr); gap: 42px; }
.mega-columns--three { grid-template-columns: repeat(3, 1fr); }
.mega-columns h3 { margin: 0 0 13px; color: #8992a6; font-size: 12px; font-weight: 500; }
.mega-columns a { display: block; padding: 7px 0; color: #263550; transition: color .2s, transform .2s; }
.mega-columns a:hover { color: var(--blue); transform: translateX(3px); }
.mega-columns em { margin-left: 6px; padding: 1px 4px; color: #f04a2f; background: #fff0ed; font-size: 9px; font-style: normal; }
.mega-inner--compact { grid-template-columns: 280px 1fr; }
.developer-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.developer-links a { padding: 20px; background: #f7f9fc; border: 1px solid transparent; transition: border .2s, transform .2s, background .2s; }
.developer-links a:hover { background: #fff; border-color: #b8d8ff; transform: translateY(-2px); }
.developer-links strong, .developer-links span { display: block; }
.developer-links strong { margin-bottom: 4px; font-size: 15px; }
.developer-links span { color: var(--muted); font-size: 12px; }
.mobile-nav { display: none; }

/* Hero */
.hero { position: relative; height: 610px; min-height: 560px; overflow: hidden; margin-top: 0; padding-top: var(--header-height); background: linear-gradient(112deg, #f7fbff 0%, #edf6ff 52%, #dff2ff 100%); }
.hero::after { content: ""; position: absolute; right: -9%; bottom: -40%; width: 74%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(50, 181, 255, .28), transparent 64%); filter: blur(10px); pointer-events: none; }
.hero-backdrop { position: absolute; inset: 0; opacity: .52; }
.hero-backdrop::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(92, 156, 222, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(92, 156, 222, .06) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(90deg, transparent 0%, #000 50%, #000 100%); }
.hero-backdrop span { position: absolute; border: 1px solid rgba(52, 154, 236, .15); border-radius: 50%; }
.hero-backdrop span:nth-child(1) { width: 520px; height: 520px; right: 1%; top: -140px; }
.hero-backdrop span:nth-child(2) { width: 760px; height: 760px; right: -8%; top: -240px; }
.hero-backdrop span:nth-child(3) { width: 950px; height: 950px; right: -12%; top: -300px; }
.hero-layout { position: relative; z-index: 2; height: 100%; display: grid; grid-template-columns: 210px minmax(0, 1fr); }
.hero-nav { align-self: center; width: 190px; padding: 6px 0; border-right: 1px solid rgba(88, 127, 177, .22); }
.hero-nav-item { position: relative; width: 100%; min-height: 58px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 9px; padding: 8px 20px 8px 0; overflow: hidden; color: #52627b; background: transparent; border: 0; text-align: left; cursor: pointer; transition: color .25s; }
.hero-nav-item::after { content: ""; position: absolute; top: 0; right: -1px; width: 2px; height: 100%; background: var(--blue); transform: scaleY(0); transition: transform .25s; }
.hero-nav-label { white-space: nowrap; }
.hero-nav-label i { margin-right: 7px; padding: 2px 5px; color: #fff; background: #2b8cff; font-size: 10px; font-style: normal; }
.hero-nav-progress { width: 100%; height: 1px; display: none; overflow: hidden; background: rgba(0,110,255,.14); }
.hero-nav-progress b { display: block; width: 100%; height: 100%; background: var(--blue); transform: scaleX(0); transform-origin: left; }
.hero-nav-item.is-active { color: var(--blue); font-weight: 600; }
.hero-nav-item.is-active::after { transform: scaleY(1); }
.hero-nav-item.is-active .hero-nav-progress { display: block; }
.hero-nav-item.is-active .hero-nav-progress b { animation: carouselProgress 6s linear forwards; }
.hero.is-paused .hero-nav-progress b { animation-play-state: paused; }
@keyframes carouselProgress { to { transform: scaleX(1); } }
.hero-stage { position: relative; min-width: 0; }
.hero-slide { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(380px, .9fr) 1.1fr; align-items: center; visibility: hidden; opacity: 0; pointer-events: none; transform: translateX(24px); transition: opacity .55s var(--ease), transform .55s var(--ease), visibility .55s; }
.hero-slide.is-active { visibility: visible; opacity: 1; pointer-events: auto; transform: translateX(0); }
.hero-copy { position: relative; z-index: 5; padding: 16px 0 28px 42px; }
.hero-kicker { margin: 0 0 18px; color: #445676; font-size: 15px; }
.hero-kicker span { margin-right: 10px; padding: 4px 9px; color: #0874eb; background: rgba(0, 110, 255, .09); font-size: 12px; font-weight: 600; }
.hero-copy h1, .hero-copy h2 { margin: 0; color: #101b31; font-size: clamp(42px, 4vw, 60px); font-weight: 500; line-height: 1.18; letter-spacing: -.04em; }
.hero-copy h1 strong, .hero-copy h2 strong { color: #0878f9; font-weight: 500; }
.hero-description { max-width: 600px; margin: 22px 0 29px; color: #50617d; font-size: 16px; line-height: 1.8; }
.hero-actions { display: flex; align-items: center; gap: 25px; }
.button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 26px; padding: 0 24px; border: 1px solid transparent; font-weight: 600; transition: background .2s, border .2s, color .2s, transform .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); }
.button--primary { color: #fff; background: var(--blue); box-shadow: 0 8px 20px rgba(0, 110, 255, .18); }
.button--primary:hover { background: #005bdb; box-shadow: 0 12px 28px rgba(0, 110, 255, .26); }
.button--outline { color: var(--ink); border-color: #bcc6d6; background: #fff; }
.button--outline:hover { color: var(--blue); border-color: var(--blue); }
.text-action { color: #30405a; font-weight: 600; }
.text-action span { margin-left: 3px; color: var(--blue); }

.hero-art { position: relative; height: 100%; min-width: 620px; }
.hero-art > * { position: absolute; }
.hero-art--network .planet { top: 84px; left: 21%; width: 370px; height: 370px; overflow: hidden; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; background: radial-gradient(circle at 35% 28%, #bdf4ff 0 8%, #57c4ff 30%, #147ce2 64%, #0756b2 100%); box-shadow: inset -26px -30px 60px rgba(1,53,148,.34), 0 40px 80px rgba(0,114,224,.24); transform: rotate(-9deg); }
.planet::before { content: ""; position: absolute; inset: -20%; border-radius: 42%; background: repeating-linear-gradient(90deg, transparent 0 7px, rgba(255,255,255,.2) 8px 9px); transform: rotate(30deg); opacity: .26; }
.planet::after { content: ""; position: absolute; left: 9%; top: 24%; width: 80%; height: 48%; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; box-shadow: 0 0 28px rgba(255,255,255,.35); }
.continent { position: absolute; display: block; background: rgba(214, 250, 255, .52); filter: blur(.2px); }
.continent.c1 { width: 110px; height: 70px; left: 75px; top: 85px; border-radius: 70% 32% 55% 44%; transform: rotate(22deg); }
.continent.c2 { width: 72px; height: 118px; left: 180px; top: 148px; border-radius: 50% 38% 60% 45%; transform: rotate(-18deg); }
.continent.c3 { width: 60px; height: 42px; left: 265px; top: 93px; border-radius: 50%; transform: rotate(12deg); }
.node { position: absolute; z-index: 2; width: 9px; height: 9px; border: 2px solid #fff; border-radius: 50%; background: #15ddff; box-shadow: 0 0 0 7px rgba(255,255,255,.14), 0 0 18px #fff; }
.node.n1 { top: 113px; left: 115px; }.node.n2 { top: 176px; left: 228px; }.node.n3 { top: 95px; left: 286px; }.node.n4 { top: 260px; left: 165px; }
.orbit { border: 1px solid rgba(69, 165, 236, .26); border-radius: 50%; }
.orbit--one { top: 102px; left: 12%; width: 500px; height: 320px; transform: rotate(-15deg); }
.orbit--two { top: 55px; left: 19%; width: 390px; height: 440px; transform: rotate(28deg); }
.orbit--three { top: 190px; left: 5%; width: 600px; height: 210px; transform: rotate(10deg); }
.metric-card { padding: 16px 18px; color: #264360; background: rgba(255,255,255,.86); border: 1px solid rgba(255,255,255,.9); box-shadow: 0 15px 40px rgba(33,103,168,.18); backdrop-filter: blur(10px); }
.metric-card--latency { right: 1%; bottom: 92px; width: 170px; }
.metric-card small, .metric-card strong { display: block; }
.metric-card small { color: #77889f; font-size: 11px; }
.metric-card strong { margin: 2px 0 10px; font-size: 26px; }
.metric-card strong em { margin-left: 2px; font-size: 11px; font-style: normal; font-weight: 500; }
.metric-card > span { height: 28px; display: flex; align-items: flex-end; gap: 5px; }
.metric-card > span i { flex: 1; height: var(--h); background: linear-gradient(#32c8ff,#1378ff); }
.region-chip { display: flex; align-items: center; gap: 7px; padding: 7px 11px; color: #225176; background: rgba(240, 252, 255, .88); border: 1px solid #fff; box-shadow: 0 8px 20px rgba(22,89,152,.14); font-size: 11px; }
.region-chip i { position: static; width: 6px; height: 6px; border-radius: 50%; background: #12bdff; box-shadow: 0 0 0 4px rgba(18,189,255,.15); }
.region-chip--one { top: 145px; left: 6%; }.region-chip--two { top: 310px; right: 7%; }

.data-board { top: 105px; left: 11%; width: 510px; height: 310px; overflow: hidden; color: #ddf3ff; background: linear-gradient(135deg, rgba(10,58,126,.94), rgba(5,122,194,.82)); border: 1px solid rgba(255,255,255,.52); box-shadow: 0 40px 70px rgba(0,75,164,.24); transform: perspective(900px) rotateY(-7deg) rotateX(2deg); }
.data-board::after { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, transparent 45%, rgba(255,255,255,.1) 46%, transparent 60%); pointer-events: none; }
.data-board-head { height: 49px; display: flex; align-items: center; gap: 6px; padding: 0 18px; border-bottom: 1px solid rgba(255,255,255,.12); font-size: 12px; }
.data-board-head span { margin-right: auto; }
.data-board-head i { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.38); }
.data-board-body { padding: 22px 25px; }
.data-stat { display: flex; align-items: baseline; gap: 12px; }
.data-stat small { display: block; color: #8cbddd; }
.data-stat strong { font-size: 24px; letter-spacing: .02em; }
.data-stat em { color: #57e6bc; font-size: 11px; font-style: normal; }
.data-chart { height: 130px; margin: 8px 0; padding-top: 6px; background-image: linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px); background-size: 100% 32px; }
.data-chart svg { width: 100%; height: 100%; }
.data-bars { display: flex; flex-direction: column; gap: 8px; }
.data-bars span { width: var(--w); height: 4px; background: linear-gradient(90deg, #26b4ff, rgba(74,221,255,.1)); }
.flow-card { width: 160px; display: grid; grid-template-columns: 34px 1fr; gap: 0 10px; padding: 13px 14px; color: #2a4965; background: rgba(255,255,255,.93); border: 1px solid #fff; box-shadow: 0 15px 36px rgba(14,80,145,.16); }
.flow-card i { position: static; grid-row: 1/3; width: 34px; height: 34px; border-radius: 50%; background: radial-gradient(circle, #fff 0 18%, #33c5ff 20% 35%, rgba(51,197,255,.2) 37%); }
.flow-card span { font-size: 10px; color: #7c8ba0; }.flow-card b { font-size: 14px; }
.flow-card--one { top: 80px; right: 5%; }.flow-card--two { bottom: 82px; left: 4%; }

.security-radar { top: 68px; left: 11%; width: 450px; height: 450px; border: 1px solid rgba(27,144,245,.18); border-radius: 50%; }
.security-radar::before, .security-radar::after, .security-radar span { content: ""; position: absolute; border: 1px solid rgba(27,144,245,.18); border-radius: 50%; }
.security-radar::before { inset: 16%; }.security-radar::after { inset: 32%; }
.security-radar span { inset: 46%; background: rgba(32,169,255,.14); }
.security-radar i { inset: 50%; width: 44%; height: 1px; background: linear-gradient(90deg,#28bdff,transparent); transform-origin: left; animation: radar 4s linear infinite; }
@keyframes radar { to { transform: rotate(360deg); } }
.shield { top: 140px; left: 29%; width: 180px; filter: drop-shadow(0 25px 34px rgba(0,106,210,.3)); animation: shieldFloat 4s ease-in-out infinite; }
.shield svg { width: 100%; }
@keyframes shieldFloat { 50% { transform: translateY(-10px); } }
.security-chip { display: grid; grid-template-columns: 32px 1fr; gap: 1px 10px; min-width: 168px; padding: 12px 15px; color: #284661; background: rgba(255,255,255,.9); border: 1px solid #fff; box-shadow: 0 16px 38px rgba(18,81,143,.16); }
.security-chip i { position: static; grid-row: 1/3; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #21b894; font-style: normal; }
.security-chip span { color: #7b899c; font-size: 10px; }.security-chip b { font-size: 15px; }
.security-chip--one { top: 120px; right: 3%; }.security-chip--two { bottom: 96px; left: 4%; }
.hero-controls { position: absolute; z-index: 10; right: 0; bottom: 26px; display: flex; align-items: center; gap: 13px; color: #5f718a; }
.hero-controls button { width: 32px; height: 32px; display: grid; place-items: center; padding: 0; border: 1px solid rgba(67,107,159,.26); background: rgba(255,255,255,.45); cursor: pointer; transition: color .2s, border .2s, background .2s; }
.hero-controls button:hover { color: var(--blue); border-color: var(--blue); background: #fff; }
.hero-controls span b { color: var(--blue); font-size: 16px; }
.hero-controls .pause-button { width: 28px; height: 28px; gap: 3px; border: 0; background: transparent; }
.pause-button i { width: 2px; height: 10px; background: currentColor; }
.pause-button.is-paused i:first-child { width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 8px solid currentColor; background: transparent; }
.pause-button.is-paused i:last-child { display: none; }

/* News */
.news-strip { position: relative; z-index: 5; background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 4px 18px rgba(24,55,99,.04); }
.news-grid { min-height: 96px; display: grid; grid-template-columns: repeat(4, 1fr); }
.news-item { position: relative; min-width: 0; display: flex; flex-direction: column; justify-content: center; padding: 17px 34px 17px 26px; border-right: 1px solid var(--line); transition: background .2s; }
.news-item:first-child { border-left: 1px solid var(--line); }
.news-item:hover { background: #f7faff; }
.news-item small, .news-item > span { margin-bottom: 3px; color: #8a95a8; font-size: 11px; }
.news-item > span { width: max-content; padding: 1px 6px; color: #fff; background: var(--blue); }
.news-item strong { overflow: hidden; font-size: 14px; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.news-item i { position: absolute; right: 18px; top: 50%; color: #8795a9; font-style: normal; transform: translateY(-50%); transition: right .2s, color .2s; }
.news-item:hover i { right: 14px; color: var(--blue); }
.news-item--accent { background: linear-gradient(105deg, #f1fbff, #f6faff); }

/* Shared sections */
.section { padding: 104px 0; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 50px; margin-bottom: 45px; }
.section-kicker { display: block; margin-bottom: 8px; color: #8b96aa; font-size: 12px; letter-spacing: .08em; }
.section-heading h2 { margin: 0; color: #111c31; font-size: clamp(30px, 3vw, 42px); font-weight: 500; line-height: 1.3; letter-spacing: -.035em; }
.section-heading > p { max-width: 480px; margin: 0 0 5px; color: var(--muted); font-size: 15px; }
.section-heading--center { flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.section-heading--center > p { margin: 0; }
.section-actions { display: flex; justify-content: center; gap: 14px; margin-top: 40px; }

/* Products */
.products-section { position: relative; overflow: hidden; background: #fff; }
.products-section::before, .products-section::after { content: ""; position: absolute; width: 130px; height: 130px; background-image: radial-gradient(#86c6ff 1px, transparent 1px); background-size: 11px 11px; opacity: .35; }
.products-section::before { top: 35px; left: -16px; }.products-section::after { right: -10px; bottom: 25px; }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.product-card { position: relative; min-width: 0; overflow: hidden; padding: 24px 24px 21px; background: #fff; border: 1px solid #dfe5ee; transition: transform .3s var(--ease), border .3s, box-shadow .3s; }
.product-card::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: linear-gradient(90deg, var(--blue), var(--cyan)); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.product-card:hover { z-index: 2; border-color: #acd4ff; box-shadow: 0 18px 50px rgba(18,68,125,.12); transform: translateY(-7px); }
.product-card:hover::before { transform: scaleX(1); }
.product-card-head { display: flex; align-items: center; gap: 8px; color: #63728a; font-size: 12px; }
.product-card-head > i { margin-left: auto; color: #cad1dc; font-style: normal; font-variant-numeric: tabular-nums; }
.product-icon { width: 31px; height: 31px; display: grid; place-items: center; color: var(--blue); background: #edf6ff; }
.product-icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; }
.product-card h3 { margin: 18px 0 8px; font-size: 22px; font-weight: 600; }
.product-card > p { min-height: 70px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.product-card ul { display: flex; gap: 14px; margin: 15px 0 21px; padding: 0; color: #58677e; font-size: 11px; list-style: none; }
.product-card li::before { content: "✓"; margin-right: 4px; color: #13a983; }
.product-card > a { min-height: 44px; display: flex; align-items: center; justify-content: space-between; margin-top: 8px; color: #3f4d63; font-weight: 600; }
.product-card > a span { color: var(--blue); transition: transform .2s; }
.product-card > a:hover { color: var(--blue); }.product-card > a:hover span { transform: translateX(4px); }
.product-visual { position: relative; height: 150px; overflow: hidden; background: linear-gradient(145deg, #e9f7ff, #ccecff); }
.product-visual > * { position: absolute; }
.server-visual { display: grid; place-items: center; background: linear-gradient(145deg, #e6f5ff, #a9ddff); }
.server-visual::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.4) 1px, transparent 1px), linear-gradient(90deg,rgba(255,255,255,.4) 1px,transparent 1px); background-size: 24px 24px; transform: perspective(200px) rotateX(55deg) scale(1.4) translateY(28px); }
.server-stack { position: relative; z-index: 2; width: 145px; transform: perspective(400px) rotateY(-18deg) rotateX(8deg); filter: drop-shadow(16px 19px 13px rgba(0,91,179,.2)); }
.server-stack span { height: 31px; display: flex; align-items: center; gap: 6px; margin: 3px; padding: 0 9px; background: linear-gradient(90deg,#1582e8,#35b9f5); border: 1px solid rgba(255,255,255,.72); }
.server-stack i { width: 5px; height: 5px; border-radius: 50%; background: #b9f7ff; }.server-stack b { width: 70px; height: 4px; margin-left: auto; background: rgba(255,255,255,.48); }
.server-glow { width: 190px; height: 30px; bottom: 9px; border-radius: 50%; background: rgba(0,112,229,.23); filter: blur(11px); }
.database-visual { background: linear-gradient(145deg,#eef7ff,#bbddff); }
.db-core { top: 41px; left: 50%; width: 95px; transform: translateX(-50%); filter: drop-shadow(0 14px 11px rgba(0,87,170,.2)); }
.db-core span { display: block; height: 28px; margin-top: -5px; border-radius: 50%; background: linear-gradient(90deg,#1685e6,#6cceff); border: 1px solid rgba(255,255,255,.65); box-shadow: inset 0 5px 4px rgba(255,255,255,.18); }
.db-ring { border: 1px solid rgba(0,113,219,.27); border-radius: 50%; transform: rotateX(63deg); }
.db-ring--one { inset: 23px 42px; }.db-ring--two { inset: 7px 17px; }
.db-dot { width: 7px; height: 7px; border-radius: 50%; background: #0c84e9; box-shadow: 0 0 0 5px rgba(12,132,233,.15); }
.db-dot.d1 { top: 32px; left: 34px; }.db-dot.d2 { top: 66px; right: 30px; }.db-dot.d3 { bottom: 26px; left: 50px; }
.storage-visual { background: linear-gradient(145deg,#e4f7ff,#a8ddfb); perspective: 500px; }
.storage-visual::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at center, rgba(255,255,255,.8), transparent 60%); }
.storage-cube { width: 70px; height: 70px; border: 1px solid rgba(255,255,255,.8); background: linear-gradient(135deg,rgba(42,156,237,.85),rgba(89,210,246,.5)); transform: rotateX(58deg) rotateZ(45deg); box-shadow: 12px 12px 22px rgba(0,105,187,.13); }
.storage-cube.c-front { z-index: 3; top: 54px; left: calc(50% - 35px); }.storage-cube.c-mid { z-index: 2; top: 36px; left: calc(50% - 60px); opacity: .7; }.storage-cube.c-back { top: 17px; left: calc(50% - 85px); opacity: .38; }
.storage-line { width: 70px; height: 1px; background: linear-gradient(90deg,transparent,#0085e7); transform-origin: left; }.storage-line.l1 { left: 25px; bottom: 28px; transform: rotate(-20deg); }.storage-line.l2 { right: -15px; top: 45px; transform: rotate(165deg); }
.model-visual { background: linear-gradient(145deg,#eaf4ff,#bdd6ff); }
.model-core { z-index: 3; top: 43px; left: calc(50% - 35px); width: 70px; height: 70px; display: grid; place-items: center; border-radius: 19px; background: linear-gradient(145deg,#177dff,#27c5ff); box-shadow: 0 17px 30px rgba(0,105,219,.24); transform: rotate(45deg); }
.model-core b { width: 28px; height: 28px; border: 2px solid rgba(255,255,255,.9); border-radius: 50%; }
.model-node { z-index: 2; width: 14px; height: 14px; border: 3px solid #fff; border-radius: 50%; background: #148fff; box-shadow: 0 4px 10px rgba(0,98,204,.22); }
.model-node.mn1 { top: 28px; left: 28px; }.model-node.mn2 { top: 28px; right: 28px; }.model-node.mn3 { bottom: 25px; left: 38px; }.model-node.mn4 { right: 37px; bottom: 22px; }
.model-link { z-index: 1; width: 92px; height: 1px; background: rgba(0,105,222,.36); transform-origin: left; }.model-link.ml1 { top: 35px; left: 40px; transform: rotate(21deg); }.model-link.ml2 { top: 34px; right: -37px; transform: rotate(158deg); }.model-link.ml3 { bottom: 32px; left: 49px; transform: rotate(-24deg); }.model-link.ml4 { right: -29px; bottom: 29px; transform: rotate(204deg); }

/* Solutions */
.solution-section { position: relative; overflow: hidden; color: #fff; background: #071b3d; }
.solution-section::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 78% 45%, rgba(0,140,255,.32), transparent 34%), linear-gradient(120deg, transparent 0 62%, rgba(28,112,210,.08) 62% 63%, transparent 63%); }
.solution-section .page-shell { position: relative; z-index: 2; }
.section-heading--light h2 { color: #fff; }.section-heading--light > p { color: #9fb2ce; }.section-heading--light .section-kicker { color: #65bfff; }
.solution-tabs { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); }
.solution-tabs button { position: relative; height: 76px; padding: 0; color: #9fb1ca; background: transparent; border: 0; border-right: 1px solid rgba(255,255,255,.1); font-size: 15px; cursor: pointer; transition: color .25s, background .25s; }
.solution-tabs button:first-child { border-left: 1px solid rgba(255,255,255,.1); }
.solution-tabs button::after { content: ""; position: absolute; bottom: -1px; left: 0; width: 100%; height: 3px; background: #28adff; transform: scaleX(0); transition: transform .25s; }
.solution-tabs button span { margin-right: 10px; color: #536d90; font-size: 11px; }
.solution-tabs button:hover, .solution-tabs button.is-active { color: #fff; background: rgba(54,153,255,.08); }.solution-tabs button.is-active::after { transform: scaleX(1); }
.solution-panel { min-height: 470px; display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 70px; }
.solution-panel .solution-copy { transition: opacity .18s, transform .18s; }
.solution-panel.is-changing .solution-copy { opacity: 0; transform: translateY(7px); }
.solution-copy { padding: 48px 0; }
.solution-number { color: #38b8ff; font-size: 11px; letter-spacing: .15em; }
.solution-copy h3 { margin: 14px 0 15px; font-size: 32px; font-weight: 500; }
.solution-copy > p { max-width: 510px; margin: 0 0 22px; color: #a9bad1; font-size: 15px; }
.solution-features { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 32px; color: #d8e5f5; font-size: 13px; }
.solution-features span::before { content: ""; display: inline-block; width: 5px; height: 5px; margin: 0 8px 2px 0; border-radius: 50%; background: #2fb8ff; box-shadow: 0 0 0 4px rgba(47,184,255,.1); }
.button--white { color: #075bcc; background: #fff; }.button--white:hover { color: #004eaf; background: #eaf7ff; }
.solution-scene { position: relative; height: 390px; perspective: 900px; }
.scene-grid { inset: 0; background-image: linear-gradient(rgba(69,157,241,.13) 1px, transparent 1px), linear-gradient(90deg,rgba(69,157,241,.13) 1px,transparent 1px); background-size: 37px 37px; transform: perspective(450px) rotateX(59deg) scale(1.1) translateY(40px); mask-image: radial-gradient(circle,#000,transparent 72%); }
.scene-screen { top: 50px; right: 5%; width: 570px; height: 310px; overflow: hidden; background: rgba(9,45,94,.84); border: 1px solid rgba(109,194,255,.42); box-shadow: 0 30px 70px rgba(0,0,0,.28); transform: rotateY(-6deg); backdrop-filter: blur(8px); }
.scene-screen-head { height: 42px; display: flex; align-items: center; gap: 5px; padding: 0 14px; color: #87ccf4; border-bottom: 1px solid rgba(255,255,255,.1); font-size: 9px; letter-spacing: .12em; }
.scene-screen-head span { margin-right: auto; }.scene-screen-head i { width: 5px; height: 5px; border-radius: 50%; background: #4c739c; }
.scene-screen-body { height: calc(100% - 42px); display: grid; grid-template-columns: 55px 1fr; }
.scene-sidebar { display: flex; flex-direction: column; align-items: center; gap: 19px; padding-top: 20px; background: rgba(0,16,45,.34); }
.scene-sidebar i { width: 17px; height: 3px; background: #416d9e; }.scene-sidebar i:first-child { background: #2cbcff; }
.scene-main { padding: 18px 22px; }
.scene-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.scene-stats span { padding: 10px 12px; background: rgba(35,118,193,.14); border: 1px solid rgba(83,158,221,.14); }
.scene-stats small, .scene-stats strong { display: block; }.scene-stats small { color: #729abd; font-size: 8px; }.scene-stats strong { color: #def5ff; font-size: 18px; font-weight: 500; }
.scene-chart { height: 114px; margin-top: 10px; background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px); background-size: 100% 28px; }.scene-chart svg { width: 100%; height: 100%; }
.scene-rows { display: flex; flex-direction: column; gap: 7px; }.scene-rows i { width: 100%; height: 4px; background: linear-gradient(90deg,rgba(44,174,255,.45),transparent); }.scene-rows i:nth-child(2) { width: 78%; }.scene-rows i:nth-child(3) { width: 88%; }
.scene-badge { display: grid; grid-template-columns: 30px 1fr; gap: 0 10px; min-width: 150px; padding: 11px 13px; color: #dcecff; background: rgba(8,39,80,.92); border: 1px solid rgba(88,179,243,.32); box-shadow: 0 15px 30px rgba(0,0,0,.22); }
.scene-badge i { position: static; grid-row: 1/3; width: 30px; height: 30px; border: 1px solid #2abaff; border-radius: 50%; background: radial-gradient(circle,#31c2ff 0 12%,transparent 14%); }.scene-badge span { color: #87a9ca; font-size: 9px; }.scene-badge b { color: #54e2bb; font-size: 12px; }
.scene-badge--one { top: 23px; left: 2%; }.scene-badge--two { right: 0; bottom: 8px; }

/* Pricing */
.pricing-section { background: #f5f8fc; }
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 1160px; margin: 0 auto; }
.price-card { position: relative; padding: 33px 34px 35px; background: #fff; border: 1px solid #e0e5ed; box-shadow: 0 10px 30px rgba(28,55,92,.04); transition: transform .3s, box-shadow .3s, border .3s; }
.price-card:hover { border-color: #bdd8f6; box-shadow: 0 18px 42px rgba(21,69,126,.1); transform: translateY(-5px); }
.price-card--featured { border: 2px solid var(--blue); padding: 32px 33px 34px; box-shadow: 0 15px 44px rgba(0,93,204,.13); }
.featured-label { position: absolute; top: -2px; right: -2px; padding: 6px 13px; color: #fff; background: var(--blue); font-size: 11px; }
.price-tag { color: var(--blue); font-size: 11px; font-weight: 600; }
.price-card h3 { margin: 7px 0 4px; font-size: 22px; }.price-card > p { min-height: 47px; margin: 0; color: var(--muted); }
.price-config { display: grid; grid-template-columns: repeat(3, 1fr); margin: 22px 0; padding: 17px 0; background: #f6f9fd; }
.price-config span { text-align: center; border-right: 1px solid #e2e8f0; }.price-config span:last-child { border: 0; }.price-config b,.price-config small { display: block; }.price-config b { color: #23334d; font-size: 14px; }.price-config small { color: #8b96a7; font-size: 10px; }
.price { display: flex; align-items: baseline; margin-top: 4px; }.price small { margin-right: 14px; color: #7a8799; }.price strong { color: #f05a34; font-size: 38px; line-height: 1; }.price strong i { margin-right: 2px; font-size: 16px; font-style: normal; }.price span { color: #7b8798; }
.price-card del { display: block; margin: 5px 0 22px; color: #a0a8b5; font-size: 11px; }
.price-card .button { width: 100%; }
.button--outline-blue { color: var(--blue); background: #fff; border-color: var(--blue); }.button--outline-blue:hover { color: #fff; background: var(--blue); }

/* Cases */
.cases-section { background: #fff; }
.case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.case-card { overflow: hidden; background: #fff; border: 1px solid var(--line); transition: border .3s, transform .3s, box-shadow .3s; }
.case-card:hover { border-color: #b9d8fa; box-shadow: 0 18px 42px rgba(28,62,108,.1); transform: translateY(-5px); }
.case-visual { position: relative; height: 190px; overflow: hidden; background: linear-gradient(135deg,#0b4093,#168fdd); }
.case-card--mobility .case-visual { background: linear-gradient(135deg,#122850,#066fbd); }.case-card--factory .case-visual { background: linear-gradient(135deg,#303a58,#06758f); }
.case-visual::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size: 30px 30px; mask-image: linear-gradient(90deg,transparent,#000); }
.case-logo { position: absolute; z-index: 3; top: 24px; left: 25px; width: 46px; height: 46px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.62); font-size: 17px; font-weight: 700; }
.case-lines { position: absolute; right: 14px; bottom: 0; width: 72%; height: 82%; transform: skewX(-15deg); }
.case-lines i { position: absolute; right: 0; left: 0; height: 1px; background: linear-gradient(90deg,transparent,rgba(113,223,255,.85),transparent); transform: rotate(-14deg); }.case-lines i:nth-child(1){top:24%}.case-lines i:nth-child(2){top:54%;left:10%}.case-lines i:nth-child(3){top:78%;left:-8%}
.map-route { position: absolute; right: 8%; bottom: 8%; width: 70%; height: 70%; border: 1px solid rgba(255,255,255,.13); border-radius: 50% 40% 50% 50%; transform: rotate(-8deg); }
.map-route::before { content: ""; position: absolute; inset: 20%; border: 1px solid rgba(255,255,255,.11); border-radius: 38% 55% 45% 50%; }
.map-route i { position: absolute; width: 8px; height: 8px; border: 2px solid #fff; border-radius: 50%; background: #27bfff; box-shadow: 0 0 0 6px rgba(39,191,255,.12); }.map-route i:nth-child(1){top:14%;left:23%}.map-route i:nth-child(2){top:55%;left:46%}.map-route i:nth-child(3){right:11%;bottom:16%}.map-route b { position: absolute; top: 21%; left: 25%; width: 64%; height: 50%; border-bottom: 2px dashed rgba(83,210,255,.75); border-radius: 50%; transform: rotate(12deg); }
.factory-data { position: absolute; right: 8%; bottom: 17%; width: 68%; height: 54%; display: flex; align-items: flex-end; gap: 9px; padding: 14px; border-left: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }.factory-data i { flex: 1; height: 45%; background: linear-gradient(#3de2dc,rgba(23,163,194,.3)); border-top: 1px solid #93fff1; }.factory-data i:nth-child(2){height:72%}.factory-data i:nth-child(3){height:58%}.factory-data i:nth-child(4){height:90%}
.case-copy { padding: 24px 25px 26px; }.case-copy > span { color: #738197; font-size: 11px; }.case-copy h3 { min-height: 58px; margin: 8px 0 10px; font-size: 20px; line-height: 1.45; }.case-copy p { min-height: 67px; margin: 0 0 17px; color: var(--muted); font-size: 13px; }.case-copy a { min-height: 44px; display: inline-flex; align-items: center; color: var(--blue); font-weight: 600; }
.brand-wall { display: grid; grid-template-columns: repeat(6, 1fr); margin-top: 46px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.brand-wall span { height: 84px; display: grid; place-items: center; color: #8490a4; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 16px; font-weight: 600; letter-spacing: .06em; filter: grayscale(1); transition: color .2s, background .2s; }.brand-wall span:hover { color: var(--blue); background: #f8fbff; }

/* CTA and footer */
.cta-section { position: relative; overflow: hidden; color: #fff; background: linear-gradient(110deg,#075ed2,#008ff0); }
.cta-section::before { content: ""; position: absolute; right: -10%; top: -100%; width: 780px; height: 780px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 90px rgba(255,255,255,.03), 0 0 0 180px rgba(255,255,255,.03); }
.cta-inner { position: relative; z-index: 2; min-height: 255px; display: flex; align-items: center; justify-content: space-between; gap: 50px; }.cta-inner > div > span { color: #9edcff; font-size: 11px; letter-spacing: .14em; }.cta-inner h2 { margin: 8px 0 8px; font-size: clamp(28px,3vw,38px); font-weight: 500; }.cta-inner p { margin: 0; color: #cbe9ff; font-size: 15px; }.cta-actions { display: flex; gap: 12px; flex: 0 0 auto; }.button--ghost { color: #fff; border-color: rgba(255,255,255,.7); }.button--ghost:hover { background: rgba(255,255,255,.1); }
.site-footer { color: #9aa6b9; background: #101a2b; }.site-footer .page-shell { padding-top: 46px; }.footer-top { display: flex; align-items: center; justify-content: space-between; padding-bottom: 34px; border-bottom: 1px solid rgba(255,255,255,.09); }.brand--footer { color: #fff; }.footer-promise { display: flex; gap: 45px; color: #c4ccda; }.footer-promise span::before { content: "✓"; display: inline-grid; place-items: center; width: 19px; height: 19px; margin-right: 8px; color: #42b9ff; border: 1px solid #285e89; border-radius: 50%; font-size: 10px; }
.footer-grid { display: grid; grid-template-columns: repeat(4,1fr) 1.35fr; gap: 45px; padding: 44px 0; }.footer-grid h3 { margin: 0 0 15px; color: #eef3fb; font-size: 14px; }.footer-grid a { display: block; width: max-content; padding: 4px 0; color: #8f9caf; font-size: 12px; transition: color .2s; }.footer-grid a:hover { color: #fff; }.footer-contact { padding-left: 35px; border-left: 1px solid rgba(255,255,255,.09); }.footer-contact strong { display: block; color: #fff; font-size: 24px; letter-spacing: .02em; }.footer-contact p { margin: 4px 0 12px; font-size: 11px; }.footer-contact a { padding: 6px 15px; color: #65c5ff; border: 1px solid #315271; }
.footer-bottom { min-height: 62px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgba(255,255,255,.08); font-size: 11px; }.footer-bottom div { display: flex; gap: 22px; }

/* Floating tools */
.floating-tools { position: fixed; z-index: 50; right: 18px; bottom: 42px; display: flex; flex-direction: column; padding: 4px 0; background: #fff; border: 1px solid #e0e7f0; box-shadow: 0 8px 28px rgba(20,57,104,.13); }
.floating-tools button { width: 54px; height: 55px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; padding: 0; color: #50627c; background: #fff; border: 0; border-bottom: 1px solid #edf0f5; cursor: pointer; transition: color .2s, background .2s; }.floating-tools button:last-child { border: 0; }.floating-tools button:hover { color: var(--blue); background: #f3f8ff; }.floating-tools svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }.floating-tools span { font-size: 9px; }.floating-tools .back-top { display: none; }.floating-tools .back-top.is-visible { display: flex; }
.toast { position: fixed; z-index: 200; left: 50%; bottom: 35px; min-width: 190px; padding: 10px 18px; color: #fff; background: rgba(14,28,50,.92); box-shadow: 0 9px 30px rgba(0,0,0,.2); text-align: center; opacity: 0; pointer-events: none; transform: translate(-50%, 14px); transition: opacity .25s, transform .25s; }.toast.is-visible { opacity: 1; transform: translate(-50%,0); }

.search-layer { position: fixed; z-index: 180; inset: 0; visibility: hidden; padding-top: 105px; background: rgba(10,25,49,.38); opacity: 0; backdrop-filter: blur(5px); transition: opacity .22s, visibility .22s; }
.search-layer.is-open { visibility: visible; opacity: 1; }
.search-dialog { width: min(calc(100% - 40px), 760px); margin: 0 auto; padding: 25px; background: #fff; box-shadow: 0 28px 80px rgba(8,29,60,.24); transform: translateY(-14px); transition: transform .25s var(--ease); }
.search-layer.is-open .search-dialog { transform: translateY(0); }
.search-form { height: 58px; display: flex; align-items: center; padding: 0 15px 0 19px; background: #f5f8fc; border: 1px solid #cdd6e3; transition: border .2s, box-shadow .2s; }
.search-form:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0,110,255,.08); }
.search-form svg { width: 22px; margin-right: 12px; fill: none; stroke: #65748a; stroke-width: 1.6; }
.search-form input { flex: 1; min-width: 0; color: var(--ink); background: transparent; border: 0; outline: 0; font-size: 16px; }
.search-form input::placeholder { color: #9aa5b5; }
.search-form > button { width: 34px; height: 34px; color: #8792a2; background: transparent; border: 0; font-size: 28px; line-height: 1; cursor: pointer; }
.search-suggestions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; padding-top: 18px; }
.search-suggestions span { margin-right: 4px; color: #8a96a7; font-size: 12px; }
.search-suggestions button { padding: 6px 11px; color: #506079; background: #f5f8fc; border: 0; cursor: pointer; transition: color .2s, background .2s; }
.search-suggestions button:hover { color: var(--blue); background: #eaf4ff; }

/* Reveal motion */
.reveal-ready { opacity: 0; transform: translateY(24px); transition: opacity .65s var(--ease), transform .65s var(--ease); }.reveal-ready.is-revealed { opacity: 1; transform: translateY(0); }

@media (max-width: 1260px) {
  :root { --page: 1160px; }
  .page-shell { width: min(calc(100% - 48px), var(--page)); }
  .desktop-nav { margin-left: 20px; }.nav-link { padding: 0 9px; }.nav-link::after { right: 9px; left: 9px; }
  .header-actions { gap: 12px; }.register-button { margin-right: calc((min(100vw - 48px,var(--page)) - 100vw)/2); }
  .hero-layout { grid-template-columns: 190px minmax(0,1fr); }.hero-copy { padding-left: 28px; }.hero-art { min-width: 520px; transform: scale(.9); transform-origin: center; }
  .product-card { padding-right: 18px; padding-left: 18px; }.product-card ul { flex-direction: column; gap: 3px; }.scene-screen { width: 500px; }
}

@media (max-width: 1050px) {
  html { scroll-behavior: auto; }
  body, main, .hero { touch-action: pan-y pinch-zoom; }
  .hero { overflow-anchor: none; }
  .site-header { backdrop-filter: none; }
  .desktop-nav, .header-text-link, .search-button { display: none; }.menu-toggle { display: block; touch-action: manipulation; }.header-actions { margin-left: auto; }.register-button { align-self: auto; height: 40px; min-width: auto; margin-right: 0; }
  .mobile-nav { position: absolute; top: 100%; right: 0; left: 0; height: calc(100vh - var(--header-height)); height: calc(100dvh - var(--header-height)); display: block; visibility: hidden; overflow: hidden; background: #fff; opacity: 0; pointer-events: none; transform: translateY(-6px); transition: opacity .22s, transform .22s, visibility .22s; }
  .mobile-nav.is-open { visibility: visible; opacity: 1; pointer-events: auto; transform: translateY(0); }
  .mobile-nav-viewport { position: absolute; inset: 0 0 calc(58px + env(safe-area-inset-bottom)); overflow: hidden; background: #fff; }
  .mobile-nav-pane { position: absolute; inset: 0; visibility: hidden; overflow-x: hidden; overflow-y: auto; background: #fff; opacity: 0; pointer-events: none; transform: translateX(100%); transition: transform .28s var(--ease), opacity .22s, visibility .28s; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
  .mobile-nav-pane.is-active { visibility: visible; opacity: 1; pointer-events: auto; transform: translateX(0); }
  .mobile-nav-root { z-index: 1; transform: translateX(0); }
  .mobile-nav-root.is-behind { visibility: visible; opacity: .25; pointer-events: none; transform: translateX(-24%); }
  .mobile-nav-sub { z-index: 2; padding-bottom: 28px; box-shadow: -15px 0 32px rgba(17,49,89,.08); }
  .mobile-nav-list { padding: 10px 24px 26px; }
  .mobile-nav-row { width: 100%; min-height: 55px; display: flex; align-items: center; padding: 0 4px; color: #1d2b44; background: transparent; border: 0; border-bottom: 1px solid #e8ecf2; text-align: left; cursor: pointer; touch-action: manipulation; }
  .mobile-nav-row span { font-size: 16px; }
  .mobile-nav-row i { margin-left: auto; color: #8b97a9; font-size: 25px; font-style: normal; font-weight: 300; }
  .mobile-nav-row em { margin-left: 8px; padding: 1px 5px; color: #e64b2f; background: #fff0ed; font-size: 9px; font-style: normal; }
  .mobile-nav-row--highlight span { color: var(--blue); font-weight: 600; }
  .mobile-nav-row:active, .mobile-category > button:active, .mobile-category-items a:active, .mobile-nav-footer a:active { background: #edf5ff; }
  .mobile-nav-footer { position: absolute; z-index: 5; right: 0; bottom: 0; left: 0; height: calc(58px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(3, 1fr); padding-bottom: env(safe-area-inset-bottom); background: #fff; border-top: 1px solid #dfe4ec; box-shadow: 0 -5px 18px rgba(18,46,80,.05); }
  .mobile-nav-footer a { display: grid; place-items: center; color: #33435d; border-right: 1px solid #e6eaf0; font-size: 13px; touch-action: manipulation; }
  .mobile-nav-footer a:last-child { border-right: 0; }
  .mobile-nav-footer a:first-child { color: var(--blue); font-weight: 600; }
  .mobile-sub-head { position: sticky; z-index: 3; top: 0; height: 58px; display: flex; align-items: center; padding: 0 22px; background: rgba(255,255,255,.97); border-bottom: 1px solid #e5e9ef; backdrop-filter: blur(10px); }
  .mobile-sub-head strong { position: absolute; left: 50%; font-size: 17px; transform: translateX(-50%); }
  .mobile-nav-back { width: 44px; height: 44px; display: grid; place-items: center; margin-left: -12px; padding: 0; color: #283750; background: transparent; border: 0; font-size: 33px; font-weight: 300; line-height: 1; cursor: pointer; touch-action: manipulation; }
  .mobile-product-search { height: 42px; display: flex; align-items: center; margin: 18px 24px 8px; padding: 0 13px; background: #f3f6fa; border: 1px solid #e0e5ec; }
  .mobile-product-search:focus-within { border-color: #7cb7ff; box-shadow: 0 0 0 3px rgba(0,110,255,.06); }
  .mobile-product-search svg { width: 18px; height: 18px; margin-right: 9px; fill: none; stroke: #7c899b; stroke-width: 1.6; }
  .mobile-product-search input { flex: 1; min-width: 0; background: transparent; border: 0; outline: 0; font-size: 13px; }
  .mobile-category-list { padding: 0 24px; }
  .mobile-category { border-bottom: 1px solid #e7ebf1; }
  .mobile-category > button { width: 100%; height: 52px; display: flex; align-items: center; padding: 0; background: transparent; border: 0; cursor: pointer; touch-action: manipulation; }
  .mobile-category > button span { color: #263550; font-size: 15px; font-weight: 600; }
  .mobile-category > button i { position: relative; width: 13px; height: 13px; margin-left: auto; }
  .mobile-category > button i::before, .mobile-category > button i::after { content: ""; position: absolute; top: 6px; left: 1px; width: 11px; height: 1px; background: #77859a; transition: transform .2s; }
  .mobile-category > button i::after { transform: rotate(90deg); }
  .mobile-category.is-open > button i::after { transform: rotate(0); }
  .mobile-category-items { max-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 15px; overflow: hidden; opacity: 0; transition: max-height .28s var(--ease), opacity .2s, padding .28s; }
  .mobile-category.is-open .mobile-category-items { max-height: 240px; padding: 0 0 15px; opacity: 1; }
  .mobile-category-items a { min-width: 0; min-height: 38px; display: flex; align-items: center; padding: 7px 0; overflow: hidden; color: #53627a; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; touch-action: manipulation; }
  .mobile-category-items a::before { content: ""; display: inline-block; width: 3px; height: 3px; margin: 0 7px 3px 0; border-radius: 50%; background: #82a0c1; }
  .mobile-category-items em { margin-left: 3px; color: #ef5336; font-size: 8px; font-style: normal; }
  .mobile-category.is-filtered-out, .mobile-category-items a.is-filtered-out { display: none; }
  .mobile-view-all { height: 45px; display: flex; align-items: center; justify-content: space-between; margin: 18px 24px 0; padding: 0 14px; color: var(--blue); background: #edf6ff; font-weight: 600; }
  .mobile-section-label { margin: 20px 24px 10px; color: #8995a6; font-size: 11px; }
  .mobile-solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 0 24px; }
  .mobile-solution-grid a { height: 76px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; color: #31415a; background: #f5f8fc; border: 1px solid #edf0f5; }
  .mobile-solution-grid svg { width: 22px; height: 22px; fill: none; stroke: #137df0; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.45; }
  .mobile-solution-grid span { font-size: 12px; }
  .mobile-scene-links { margin: 0 24px; border-top: 1px solid #e5e9ef; }
  .mobile-scene-links a { height: 49px; display: flex; align-items: center; color: #33435b; border-bottom: 1px solid #e5e9ef; }
  .mobile-scene-links i { margin-left: auto; color: #929eae; font-size: 22px; font-style: normal; }
  .mobile-developer-list { padding: 8px 24px 24px; }
  .mobile-developer-list a { min-height: 80px; display: flex; align-items: center; border-bottom: 1px solid #e6eaf0; }
  .mobile-developer-list span, .mobile-developer-list strong, .mobile-developer-list small { display: block; }
  .mobile-developer-list strong { margin-bottom: 3px; color: #263650; font-size: 15px; }
  .mobile-developer-list small { color: #8490a2; font-size: 11px; }
  .mobile-developer-list i { margin-left: auto; color: #8d99aa; font-size: 24px; font-style: normal; }
  .mobile-nav button:focus-visible, .mobile-nav a:focus-visible, .menu-toggle:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
  .mega-menu { display: none; }
  .hero { height: 620px; }.hero-layout { grid-template-columns: 1fr; }.hero-nav { position: absolute; z-index: 10; bottom: 14px; left: 0; width: auto; display: flex; gap: 7px; padding: 0; border: 0; }.hero-nav-item { position: relative; width: 42px; min-height: 32px; display: block; padding: 0; background: transparent; touch-action: manipulation; }.hero-nav-item::before { content: ""; position: absolute; top: 14px; right: 0; left: 0; height: 3px; background: rgba(0,88,193,.17); }.hero-nav-item::after, .hero-nav-label { display: none; }.hero-nav-progress { position: absolute; top: 14px; left: 0; height: 3px; display: block; }.hero-nav-item.is-active { width: 76px; }.hero-stage { height: 100%; }.hero-slide { grid-template-columns: .92fr 1.08fr; }.hero-copy { padding-left: 0; }.hero-copy h1,.hero-copy h2 { font-size: 44px; }.hero-description { font-size: 14px; }.hero-art { min-width: 440px; transform: scale(.78); transform-origin: center; }.hero-controls { bottom: 14px; }.hero-controls button:not(.pause-button),.hero-controls > span { display: none; }
  .news-grid { grid-template-columns: repeat(2,1fr); }.news-item:nth-child(2) { border-right: 1px solid var(--line); }.news-item:nth-child(n+3) { border-top: 1px solid var(--line); }
  .product-grid { grid-template-columns: repeat(2,1fr); }.product-card > p { min-height: auto; }.product-card ul { flex-direction: row; }
  .solution-panel { grid-template-columns: 1fr; gap: 0; }.solution-copy { padding-bottom: 10px; }.solution-scene { height: 380px; }.scene-screen { right: 10%; width: 70%; }
  .pricing-grid { max-width: 800px; grid-template-columns: 1fr 1fr; }.price-card:last-child { grid-column: 1/-1; max-width: calc(50% - 10px); margin: 0 auto; }
  .case-grid { grid-template-columns: 1fr 1fr; }.case-card:last-child { grid-column: 1/-1; }.case-card:last-child { display: grid; grid-template-columns: 1fr 1fr; }.case-card:last-child .case-visual { height: 100%; min-height: 230px; }.brand-wall { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 720px) {
  a, button { -webkit-tap-highlight-color: transparent; }
  :root { --header-height: 58px; }.page-shell { width: min(calc(100% - 32px), var(--page)); }.site-header { background: rgba(255,255,255,.94); }.header-main { height: var(--header-height); }.brand { font-size: 19px; }.brand-mark { width: 30px; }.register-button { display: none; }
  .hero { height: 700px; padding-top: var(--header-height); }.hero-backdrop span:nth-child(1) { right: -65%; }.hero-layout { width: 100%; }.hero-stage { width: 100%; }.hero-slide { display: block; padding: 0 20px; }.hero-copy { padding: 55px 0 0; text-align: center; }.hero-kicker { margin-bottom: 12px; font-size: 12px; }.hero-copy h1,.hero-copy h2 { font-size: 37px; line-height: 1.22; }.hero-description { max-width: 500px; margin: 16px auto 21px; font-size: 13px; line-height: 1.7; }.hero-actions { justify-content: center; gap: 15px; }.hero-actions .text-action { font-size: 12px; }.button { min-height: 42px; padding: 0 18px; }.hero-art { position: absolute; top: 292px; left: 50%; width: 620px; height: 430px; min-width: 620px; transform: translateX(-50%) scale(.66); transform-origin: top center; }.hero-nav { bottom: 22px; left: 20px; }.hero-controls { right: 15px; bottom: 7px; }
  .news-grid { width: 100%; grid-template-columns: 1fr 1fr; }.news-item { min-height: 78px; padding: 12px 26px 12px 15px; }.news-item:first-child { border-left: 0; }.news-item strong { font-size: 12px; }.news-item i { right: 10px; }
  .section { padding: 64px 0; }.section-heading { display: block; margin-bottom: 27px; }.section-heading h2 { font-size: 29px; }.section-heading > p { margin-top: 10px; font-size: 13px; }.section-heading--center { display: flex; }.section-kicker { margin-bottom: 5px; }
  .product-grid { grid-template-columns: 1fr; }.product-card { padding: 20px; }.product-card ul { flex-wrap: wrap; }.product-visual { height: 150px; }.section-actions { flex-direction: column; }.section-actions .button { width: 100%; }
  .solution-tabs { overflow: visible; grid-template-columns: repeat(5, minmax(0, 1fr)); }.solution-tabs button { min-width: 0; height: 58px; font-size: 13px; }.solution-tabs button span { display: none; }.solution-panel { min-height: 0; }.solution-copy { padding: 38px 0 20px; }.solution-copy h3 { font-size: 27px; }.solution-features { gap: 7px 15px; }.solution-scene { height: 285px; margin: 0; overflow: hidden; }.scene-screen { top: 18px; right: auto; left: 0; width: 100%; height: 250px; transform: none; }.scene-badge { display: none; }
  .pricing-grid { grid-template-columns: 1fr; }.price-card:last-child { grid-column: auto; max-width: none; margin: 0; }.price-card { padding: 28px 25px; }.price-card--featured { padding: 27px 24px; }
  .case-grid { grid-template-columns: 1fr; }.case-card:last-child { grid-column: auto; display: block; }.case-card:last-child .case-visual { height: 190px; min-height: auto; }.case-copy h3,.case-copy p { min-height: auto; }.brand-wall { grid-template-columns: repeat(2,1fr); }.brand-wall span { height: 65px; font-size: 13px; }
  .cta-inner { min-height: 320px; flex-direction: column; align-items: flex-start; justify-content: center; gap: 25px; }.cta-inner h2 { font-size: 28px; }.cta-actions { width: 100%; }.cta-actions .button { flex: 1; }
  .footer-top { display: block; }.footer-promise { flex-wrap: wrap; gap: 10px 22px; margin-top: 24px; }.footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 25px; }.footer-contact { grid-column: 1/-1; padding: 25px 0 0; border-top: 1px solid rgba(255,255,255,.09); border-left: 0; }.footer-bottom { display: block; padding: 18px 0; }.footer-bottom div { margin-top: 8px; flex-wrap: wrap; gap: 8px 18px; }
  .floating-tools { right: 8px; bottom: calc(18px + env(safe-area-inset-bottom)); }.floating-tools button { width: 45px; height: 48px; }.floating-tools button:not(.back-top) { display: none; }
  .hero-controls { display: none; }
  .footer-grid a { min-height: 32px; display: flex; align-items: center; }
}

@media (max-width: 430px) {
  .hero-copy { padding-top: 44px; }.hero-copy h1,.hero-copy h2 { font-size: 34px; }.hero-kicker span { margin-right: 5px; }.hero-art { top: 288px; }.news-grid { grid-template-columns: 1fr; }.news-item { border-right: 0; border-top: 1px solid var(--line); }.news-item:first-child { border-top: 0; }.solution-tabs button { font-size: 12px; }.solution-features { display: grid; }.price-config { margin-right: -10px; margin-left: -10px; }.cta-actions { flex-direction: column; }.footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}
