@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap");

:root {
  --navy: #071b35;
  --navy-2: #0a2448;
  --blue: #1768f2;
  --blue-dark: #0f52c9;
  --cyan: #19d6d1;
  --orange: #ff914d;
  --ink: #10243f;
  --muted: #66778e;
  --line: #dfe7f2;
  --soft: #f4f7fb;
  --white: #ffffff;
  --shadow: 0 18px 60px rgba(13, 42, 80, .1);
  --radius: 18px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: "Noto Sans SC", sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { display: block; width: 100%; }
.container { width: min(1200px, calc(100% - 48px)); margin: 0 auto; }

.header { position: absolute; z-index: 50; inset: 0 0 auto; height: 76px; border-bottom: 1px solid rgba(255,255,255,.12); color: white; }
.nav-shell { width: min(1320px, calc(100% - 48px)); height: 100%; margin: 0 auto; display: flex; align-items: center; gap: 44px; }
.logo { display: inline-flex; align-items: center; gap: 10px; color: white; cursor: pointer; user-select: none; }
.logo-mark { width: 136px; height: auto; display: block; flex: none; }
.logo-copy { display: flex; flex-direction: column; line-height: 1; }
.logo-copy b { font-size: 18px; letter-spacing: 1.5px; }.logo-copy small { margin-top: 5px; font: 600 7px/1 Manrope; letter-spacing: 1.1px; opacity: .52; }
.logo-dark { color: var(--navy); }
nav { display: flex; align-items: center; justify-content: center; flex: 1; gap: 26px; height: 100%; }
nav a { position: relative; display: flex; flex-direction: column; align-items: center; gap: 5px; border: 0; background: none; color: rgba(255,255,255,.74); font-size: 14px; white-space: nowrap; text-decoration: none; }
nav a em { font: 600 9px/1 Manrope; font-style: normal; letter-spacing: 1.1px; color: rgba(255,255,255,.36); }
nav a:hover, nav a.active { color: white; }
nav a:hover em, nav a.active em { color: rgba(255,255,255,.62); }
nav a.active::after { content: ""; position: absolute; left: 50%; bottom: -9px; width: 20px; height: 2px; background: var(--cyan); transform: translateX(-50%); }
.nav-cta { display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 20px; border: 1px solid rgba(255,255,255,.28); border-radius: 10px; color: white; background: rgba(255,255,255,.08); }
.nav-cta:hover { background: var(--blue); border-color: var(--blue); }
.menu-btn, .mobile-nav-cta { display: none; }

.hero { position: relative; min-height: 800px; overflow: hidden; color: white; background: radial-gradient(circle at 75% 26%, #124783 0, var(--navy) 38%, #05162c 76%); }
.hero-grid, .cta-grid { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(82,151,255,.35) 1px, transparent 1px), linear-gradient(90deg, rgba(82,151,255,.35) 1px, transparent 1px); background-size: 58px 58px; mask-image: linear-gradient(to right, black, transparent 70%); }
.hero-glow { position: absolute; width: 600px; height: 600px; border-radius: 50%; top: 90px; right: 6%; background: rgba(23,104,242,.16); filter: blur(50px); }
.hero-inner { position: relative; z-index: 2; padding: 170px 0 120px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 80px; }
.hero-badge { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 24px; color: #a9c9f5; font-size: 13px; letter-spacing: 2px; }
.hero-badge span { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 12px var(--cyan); }
.hero h1, .sub-hero h1, .partner-hero h1 { margin: 0; font-size: clamp(48px, 4.25vw, 68px); line-height: 1.17; letter-spacing: -2.5px; }
.hero h1 em, .sub-hero h1 em, .partner-hero h1 em { font-style: normal; color: #64a3ff; text-shadow: 0 0 28px rgba(48,127,243,.32);font-size:45px; }
.hero-copy > p, .sub-hero-inner > div > p, .partner-hero-inner > div > p { max-width: 550px; margin: 28px 0 34px; color: #aebbd0; font-size: 17px; line-height: 1.9; }
.hero-actions { display: flex; gap: 14px; }
.btn { height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 13px; padding: 0 23px; border: 1px solid var(--blue); border-radius: 10px; color: white; background: var(--blue); font-weight: 600; text-decoration: none; box-shadow: 0 9px 28px rgba(23,104,242,.25); transition: .2s; }
.btn:hover { background: var(--blue-dark); transform: translateY(-2px); }
.btn-secondary { color: var(--ink); border-color: var(--line); background: white; box-shadow: none; }
.hero .btn-secondary, .sub-hero .btn-secondary { color: white; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.06); }
.hero .btn-secondary:hover { border-color: white; background: rgba(255,255,255,.12); }
.hero-trust { display: flex; gap: 22px; margin-top: 30px; color: #8495ad; font-size: 12px; }
.hero-trust span::before { content: "✓"; margin-right: 6px; color: var(--cyan); }
.hero-visual { position: relative; height: 520px; }
.event-photo { position: absolute; overflow: hidden; inset: 0 0 20px 0; border: 1px solid rgba(129,180,255,.35); border-radius: 5px 70px 5px 5px; box-shadow: 0 30px 80px rgba(0,0,0,.42); transform: perspective(1200px) rotateY(-4deg); }
.event-photo img { height: 100%; object-fit: cover; filter: saturate(.85) contrast(1.08); }
.photo-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2,15,34,.08), rgba(5,20,45,.7)), linear-gradient(90deg, rgba(11,40,77,.35), transparent); }
.event-caption { position: absolute; left: 34px; bottom: 30px; display: grid; gap: 5px; }
.event-caption span { width: max-content; padding: 4px 8px; color: var(--cyan); background: rgba(6,30,57,.75); border: 1px solid rgba(25,214,209,.35); font: 700 10px Manrope; letter-spacing: 1px; }
.event-caption strong { font-size: 21px; }.event-caption small { color: #b8c8dc; }
.floating-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 12px; min-width: 235px; padding: 15px 18px; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; background: rgba(8,31,62,.8); box-shadow: 0 16px 40px rgba(0,0,0,.28); backdrop-filter: blur(14px); }
.floating-card small { display: block; color: #91a5c0; font-size: 11px; }.floating-card b { display: block; margin-top: 3px; font-size: 13px; }
.mini-icon { width: 40px; height: 40px; display: grid; place-items: center; color: var(--cyan); border-radius: 10px; background: rgba(25,214,209,.12); }
.checkin { top: 55px; left: -34px; }.checkin > span { margin-left: auto; color: var(--cyan); font: 700 15px Manrope; }
.interaction { right: -27px; bottom: 0; }.live-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 11px var(--orange); }
.bars { margin-left: auto; display: flex; align-items: end; gap: 3px; height: 27px; }.bars i { width: 4px; border-radius: 3px; background: var(--cyan); }.bars i:nth-child(1){height:10px}.bars i:nth-child(2){height:18px}.bars i:nth-child(3){height:13px}.bars i:nth-child(4){height:24px}
.brand-ticker { position: absolute; inset: auto 0 0; height: 70px; display: flex; align-items: center; border-top: 1px solid rgba(255,255,255,.1); background: rgba(3,18,38,.64); backdrop-filter: blur(12px); }
.brand-ticker .container { display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.62); }.brand-ticker span { color: #6c85a5; font-size: 12px; letter-spacing: 2px; }.brand-ticker b { font-size: 14px; font-weight: 500; }.brand-ticker b a { color: white; text-decoration: none; }.brand-ticker b a:hover { color: var(--cyan); }.brand-ticker i { width: 4px; height: 4px; border-radius: 50%; background: #345273; }

.section { padding-top: 112px; padding-bottom: 112px; }
.section-title { max-width: 800px; }
.section-title .eyebrow, .eyebrow { margin-bottom: 15px; color: var(--blue); font: 700 12px Manrope; letter-spacing: 2.4px; }
.section-title h2, .trust-section h2, .contact-cta h2, .application h2 { margin: 0; color: var(--navy); font-size: clamp(32px, 3vw, 44px); line-height: 1.32; letter-spacing: -1.2px; }
.section-title p { margin: 18px 0 0; color: var(--muted); line-height: 1.8; font-size: 15px; }
.cap-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 58px; }
.cap-card { position: relative; min-height: 280px; padding: 30px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; transition: .25s; }
.cap-card:hover { border-color: #a9c8fa; box-shadow: var(--shadow); transform: translateY(-5px); }
.cap-card::after { content: ""; position: absolute; right: -45px; bottom: -55px; width: 130px; height: 130px; border-radius: 50%; background: #eef5ff; }
.cap-index { position: absolute; right: 22px; top: 20px; color: #c7d2e0; font: 600 12px Manrope; letter-spacing: 1px; }
.cap-icon, .product-icon, .support-icon { width: 51px; height: 51px; display: grid; place-items: center; color: var(--blue); border-radius: 13px; background: #ebf3ff; }
.cap-card h3, .product-card h3 { margin: 25px 0 10px; font-size: 19px; }.cap-card p, .product-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.75; }
.cap-card button { position: absolute; z-index: 2; bottom: 26px; left: 30px; display: flex; align-items: center; gap: 7px; padding: 0; border: 0; color: var(--blue); background: none; font-size: 13px; }
.soft-section, .partner-section { background: var(--soft); }
.split-title { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.text-link { display: flex; align-items: center; gap: 8px; padding: 0 0 5px; border: 0; color: var(--blue); background: none; font-size: 14px; white-space: nowrap; text-decoration: none; cursor: pointer; }
.scenario-grid { display: grid; grid-template-columns: 1.35fr repeat(3, 1fr); height: 430px; gap: 16px; margin-top: 54px; }
.scenario-card { position: relative; overflow: hidden; border-radius: var(--radius); color: white; }
.scenario-card img { height: 100%; object-fit: cover; transition: .45s; }.scenario-card:hover img { transform: scale(1.04); }
.scenario-shade, .case-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 25%, rgba(4,17,34,.92)); }
.scenario-content { position: absolute; inset: auto 25px 25px; }.scenario-content > span { color: rgba(255,255,255,.55); font: 600 11px Manrope; }
.scenario-content h3 { margin: 10px 0 8px; font-size: 23px; }.scenario-content p { min-height: 44px; margin: 0; color: #c4d0dd; font-size: 13px; line-height: 1.6; }.scenario-content small { display: block; margin-top: 15px; color: #7be8e2; }
.product-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 52px; }
.product-card { position: relative; min-height: 250px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: white; transition: .25s; }
.product-card:hover { box-shadow: var(--shadow); transform: translateY(-4px); }
.product-card.highlight { border: 1px solid #77b1ff; background: linear-gradient(145deg, #f8fbff, #eef6ff); }
.hot-tag { display: inline-flex; padding: 5px 10px; color: var(--blue); border-radius: 20px; background: #e3efff; font-size: 11px; font-weight: 600; }
.product-card .hot-tag { position: absolute; top: 20px; right: 20px; }
.product-bottom { position: absolute; left: 28px; right: 28px; bottom: 25px; display: flex; align-items: center; justify-content: space-between; }
.product-bottom b { color: var(--blue); font-size: 14px; }.product-bottom a { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--blue); background: white; }
.trust-section { padding: 96px 0; color: white; background: linear-gradient(120deg, #071b35, #0c3264); }
.trust-inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; }
.trust-section h2 { color: white; }.trust-section p { max-width: 450px; color: #99acc3; line-height: 1.8; }
.stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: rgba(255,255,255,.12); }
.stats div { padding: 30px 34px; background: #0a2a53; }.stats b { display: block; color: white; font: 600 37px Manrope; }.stats sup { color: var(--cyan); font-size: 17px; }.stats span { color: #9db0c8; font-size: 13px; }
.cases .section-title { margin-bottom: 52px; }
.case-grid { display: grid; grid-template-columns: 1.55fr 1fr; height: 460px; gap: 18px; }
.case-card { position: relative; overflow: hidden; border-radius: var(--radius); color: white; }.case-card img { height: 100%; object-fit: cover; transition: .5s; }.case-card:hover img { transform: scale(1.035); }
.case-copy { position: absolute; left: 30px; right: 30px; bottom: 27px; }.case-copy div { display: flex; gap: 8px; }.case-copy span { padding: 5px 9px; border: 1px solid rgba(255,255,255,.3); border-radius: 5px; background: rgba(7,27,53,.4); font-size: 11px; }.case-copy h3 { margin: 15px 0 7px; font-size: 23px; }.case-copy p { margin: 0; color: #c6d2df; font-size: 13px; }
.partner-types { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 52px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.partner-types > div { position: relative; min-height: 245px; padding: 30px; background: white; }.partner-types > div > span { position: absolute; right: 24px; color: #c9d4e1; font: 600 11px Manrope; }
.partner-icon { color: var(--blue); }.partner-types h3 { margin: 25px 0 9px; }.partner-types p { color: var(--muted); font-size: 13px; line-height: 1.7; }
.contact-cta { position: relative; overflow: hidden; padding: 72px 0; color: white; background: linear-gradient(120deg, #0e58d6, #1045a5); }
.contact-cta .cta-grid { opacity: .18; mask-image: none; }
.contact-cta .container { position: relative; display: flex; align-items: center; justify-content: space-between; }
.contact-cta span { font: 700 11px Manrope; letter-spacing: 2px; color: #9de5e1; }.contact-cta h2 { margin-top: 10px; color: white; }.contact-cta p { margin: 10px 0 0; color: #c3d8f6; }
.contact-cta .btn { color: var(--navy); border-color: white; background: white; box-shadow: none; }
footer { color: #8da0b8; background: #06172e; }
.footer-main { display: grid; grid-template-columns: 2fr repeat(3, 1fr) .8fr; gap: 45px; padding-top: 65px; padding-bottom: 55px; }
.footer-brand p { max-width: 270px; margin: 20px 0 10px; line-height: 1.7; }.footer-brand small { color: #4f6988; }
footer h4 { margin: 0 0 20px; color: white; font-size: 14px; }footer a {text-decoration:none; display: block; margin: 11px 0; color: #8295ad; font-size: 13px; }
.footer-contact b { display: block; margin-bottom: 15px; color: white; font: 600 20px Manrope; }
.qr > div { width: 84px; height: 84px; position: relative; padding: 8px; background: white; background-image: repeating-linear-gradient(45deg,#0b2445 0 3px,transparent 3px 7px); }
.qr i { position: absolute; width: 20px; height: 20px; border: 4px solid #06172e; background: white; }.qr i:nth-child(1){top:7px;left:7px}.qr i:nth-child(2){top:7px;right:7px}.qr i:nth-child(3){bottom:7px;left:7px}.qr i:nth-child(4){bottom:12px;right:9px;width:12px;height:12px}.qr i:nth-child(5){top:36px;left:37px;width:10px;height:10px}
.qr span { display: block; margin-top: 9px; font-size: 11px; white-space: nowrap; }
.copyright { padding: 20px 0; display: flex; justify-content: space-between; border-top: 1px solid #142a45; color: #536b87; font-size: 11px; }
.mobile-fixed-cta { display: none; }

/* Product page */
.sub-hero { position: relative; min-height: 610px; overflow: hidden; color: white; background: radial-gradient(circle at 70% 40%, #123f79, var(--navy) 55%); }
.sub-hero-inner { position: relative; z-index: 2; padding-top: 155px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 100px; }
.sub-hero h1, .partner-hero h1 { font-size: 52px; }
.product-console { position: relative; padding: 28px; border: 1px solid rgba(110,172,255,.35); border-radius: 20px; background: rgba(7,32,67,.74); box-shadow: 0 35px 80px rgba(0,0,0,.35); backdrop-filter: blur(10px); }
.console-top { display: flex; align-items: center; gap: 10px; padding-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.1); }.console-top span { width: 8px; height: 8px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 10px var(--cyan); }.console-top b { font-size: 13px; }.console-top small { margin-left: auto; color: var(--cyan); }
.console-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 22px 0; }.console-stats div { padding: 17px; border-radius: 10px; background: rgba(255,255,255,.055); }.console-stats small { display: block; color: #8da5c1; font-size: 10px; }.console-stats b { display: block; margin-top: 8px; font: 600 21px Manrope; }
.console-chart { height: 110px; display: flex; align-items: end; gap: 10px; padding: 15px; border-bottom: 1px solid rgba(255,255,255,.14); }.console-chart i { flex: 1; height: 40%; border-radius: 3px 3px 0 0; background: linear-gradient(#25d8d1,#1768f2); opacity: .75; }.console-chart i:nth-child(2n){height:65%}.console-chart i:nth-child(3n){height:87%}.console-chart i:nth-child(5n){height:52%}
.category-nav { position: sticky; z-index: 20; top: 0; background: white; box-shadow: 0 5px 24px rgba(16,36,63,.08); }.category-nav .container { height: 76px; display: flex; justify-content: center; gap: 60px; }.category-nav a { display: flex; align-items: center; gap: 8px; padding: 0 12px; border: 0; border-bottom: 2px solid transparent; color: var(--muted); background: transparent; text-decoration: none; }.category-nav a.active { color: var(--blue); border-color: var(--blue); }
.product-modules { padding-bottom: 40px; }.module-row { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 100px; padding-bottom: 110px; }.module-row.reverse .module-visual { order: 2; }
.module-visual { padding: 35px; border-radius: 25px; background: var(--soft); }.module-art { height: 330px; position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 18px; color: white; border-radius: 18px; background: linear-gradient(145deg,#0b2750,#1768f2); }.module-art::before,.module-art::after { content:""; position:absolute; width:220px;height:220px;border:1px solid rgba(255,255,255,.12);border-radius:50%;}.module-art::after{width:330px;height:330px}.module-art svg,.module-art > span{z-index:2}.module-art > span{font-size:20px;font-weight:600}.art-1{background:linear-gradient(145deg,#102758,#4d45d7)}.art-2{background:linear-gradient(145deg,#092e49,#059eaa)}.art-3{background:linear-gradient(145deg,#102744,#315f91)}
.art-lines { position: absolute; inset: auto 35px 28px; display: flex; gap: 8px; }.art-lines i { width: 40px; height: 3px; background: rgba(255,255,255,.25); }.art-lines i:first-child{width:90px;background:var(--cyan)}
.module-no { color: #a8b8ca; font: 600 12px Manrope; letter-spacing: 2px; }.module-copy h2 { margin: 13px 0 7px; color: var(--navy); font-size: 36px; }.module-copy h3 { margin: 0 0 20px; color: var(--blue); font-size: 16px; }.module-copy > p { color: var(--muted); line-height: 1.9; }
.tag-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 25px 0; }.tag-row span { padding: 7px 12px; color: #526882; border-radius: 6px; background: var(--soft); font-size: 12px; }.delivery { display: flex; align-items: center; gap: 12px; margin-bottom: 26px; }.delivery small{color:#97a6b8}.delivery b{font-size:13px}
.photo-product { margin-bottom: 110px; overflow: hidden; display: grid; grid-template-columns: 1fr .95fr; border-radius: 24px; background: #091f3d; color: white; }.photo-product-copy { padding: 60px; }.photo-product h2 { margin: 18px 0; font-size: 36px; }.photo-product-copy > p { color: #9eb0c7; line-height: 1.8; }.photo-product ul { list-style: none; padding: 0; margin: 25px 0; display: grid; gap: 12px; }.photo-product li { display: flex; gap: 10px; align-items: center; color: #c5d1df; font-size: 13px; }.photo-product li svg { color: var(--cyan); }.price { margin-bottom: 28px; }.price small { display:block;color:#7790ad}.price b { display:block;margin:5px 0;color:white;font:600 36px Manrope}.price em{font:500 14px "Noto Sans SC"}.price p{margin:0;color:#758ba6;font-size:11px}
.photo-product-image { position: relative; min-height: 560px; }.photo-product-image img { height: 100%; object-fit: cover; opacity: .82; }.photo-product-image::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,#091f3d,transparent 50%)}.photo-product-image > div{position:absolute;z-index:2;right:30px;bottom:30px;display:flex;align-items:center;gap:12px;padding:17px 20px;border:1px solid rgba(255,255,255,.2);border-radius:12px;background:rgba(3,21,45,.72);backdrop-filter:blur(10px)}

/* Partner page */
.partner-hero { position: relative; min-height: 690px; overflow: hidden; color: white; background: radial-gradient(circle at 75% 40%, #154886, #071b35 54%); }
.partner-hero-inner { position: relative; z-index: 2; padding-top: 175px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; }
.partner-note { display: flex; align-items: center; gap: 9px; margin-top: 27px; color: #89a0bd; font-size: 12px; }.partner-note svg{color:var(--cyan)}
.partner-orbit { position: relative; width: 440px; height: 440px; margin-left: auto; border: 1px solid rgba(80,149,241,.24); border-radius: 50%; }.partner-orbit::before { content:"";position:absolute;inset:65px;border:1px solid rgba(80,149,241,.25);border-radius:50%}.partner-orbit::after{content:"";position:absolute;inset:130px;border-radius:50%;background:rgba(23,104,242,.13);box-shadow:0 0 80px rgba(23,104,242,.24)}
.orbit-center { position: absolute; z-index: 2; inset: 150px 105px; display:grid;place-items:center;border:1px solid rgba(117,180,255,.35);border-radius:18px;background:white;box-shadow:0 20px 50px rgba(0,0,0,.3)}.orbit-item { position:absolute;z-index:3;padding:10px 16px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:rgba(10,43,84,.88);font-size:12px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.orbit-0{top:23px;left:176px}.orbit-1{right:-20px;top:196px}.orbit-2{bottom:18px;left:169px}.orbit-3{left:-18px;top:196px}
.support-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:52px}.support-grid article{position:relative;padding:30px;border:1px solid var(--line);border-radius:var(--radius)}.support-grid article > span{position:absolute;right:24px;color:#cad4df;font:600 11px Manrope}.support-grid h3{margin:20px 0 8px}.support-grid p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.type-section{background:var(--soft)}.cooperate-types{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}.cooperate-types article{padding:35px;border-radius:var(--radius);background:white;box-shadow:0 8px 30px rgba(17,45,80,.05)}.cooperate-types b{color:var(--blue);font:600 12px Manrope}.cooperate-types h3{margin:18px 0 14px;font-size:20px}.cooperate-types p{min-height:90px;color:var(--muted);font-size:13px;line-height:1.8}.cooperate-types span{display:block;padding-top:17px;border-top:1px solid var(--line);color:#7f8fa3;font-size:11px}
.process-line{display:grid;grid-template-columns:repeat(5,1fr);margin-top:55px}.process-line > div{position:relative;text-align:center}.process-line > div::after{content:"";position:absolute;top:21px;left:60%;width:80%;height:1px;background:var(--line)}.process-line > div:last-child::after{display:none}.process-line b{position:relative;z-index:2;width:44px;height:44px;display:grid;place-items:center;margin:0 auto 15px;color:white;border-radius:50%;background:var(--blue);font:600 14px Manrope;box-shadow:0 0 0 7px #edf4ff}.process-line span{display:block;font-weight:600}.process-line small{display:block;margin-top:7px;color:var(--muted)}
.application{padding:100px 0;color:white;background:#071b35}.application-inner{display:grid;grid-template-columns:.75fr 1.25fr;gap:90px}.application .eyebrow{color:var(--cyan)}.application h2{color:white}.application-inner > div > p{color:#91a4bc;line-height:1.8}.app-contact{display:flex;align-items:center;gap:14px;margin-top:35px}.app-contact svg{color:var(--cyan)}.app-contact small{display:block;color:#7187a3}.app-contact b{display:block;margin-top:3px;font:600 20px Manrope}
.application form{padding:35px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:rgba(255,255,255,.04)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid label{display:block}.form-grid label.wide{grid-column:1/-1}.form-grid label > span{display:block;margin-bottom:8px;color:#aebed1;font-size:12px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;height:45px;padding:0 13px;color:white;border:1px solid #304967;border-radius:7px;outline:none;background:#0b264a}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#4d97ff}.form-grid textarea{height:72px;padding-top:11px;resize:none}.form-grid ::placeholder{color:#5f7693}.form-submit{width:100%;height:48px;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px;border:0;border-radius:8px;color:white;background:var(--blue);font-weight:600}.privacy{display:block;margin-top:10px;text-align:center;color:#536b87}

/* Homepage experience system */
.cap-image-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 58px; }
.cap-image-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: white; transition: .25s; }
.cap-image-card:hover { box-shadow: var(--shadow); transform: translateY(-5px); }
.cap-image { position: relative; height: 215px; overflow: hidden; }
.cap-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(5,22,46,.58)); }
.cap-image img { height: 100%; object-fit: cover; transition: .45s; }.cap-image-card:hover img { transform: scale(1.04); }
.cap-image > span { position: absolute; z-index: 2; right: 18px; bottom: 14px; color: rgba(255,255,255,.8); font: 600 12px Manrope; letter-spacing: 1px; }
.cap-image-copy { position: relative; padding: 28px 28px 25px; }.cap-image-copy .cap-icon { position: absolute; top: -25px; left: 28px; border: 5px solid white; }
.cap-image-copy h3 { margin: 11px 0 10px; font-size: 20px; }.cap-image-copy p { min-height: 70px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.cap-image-copy a { display: flex; align-items: center; gap: 7px; margin-top: 18px; padding: 0; border: 0; color: var(--blue); background: none; font-size: 18px; text-decoration: none; }
.flow-section { position: relative; overflow: hidden; padding: 100px 0; color: white; background: linear-gradient(120deg,#061a34,#0b3263); }
.flow-section::after { content: ""; position: absolute; width: 560px; height: 560px; top: -280px; right: -120px; border-radius: 50%; background: rgba(24,107,244,.18); filter: blur(25px); }
.section-title.light h2 { color: white; }.section-title.light p { color: #94a9c2; }.section-title.light .eyebrow { color: var(--cyan); }
.journey { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 52px; }
.journey::before { content: ""; position: absolute; left: 14%; right: 14%; top: 31px; height: 1px; background: linear-gradient(90deg,transparent,#3275c8,transparent); }
.journey article { position: relative; min-height: 260px; padding: 30px; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); background: rgba(255,255,255,.045); backdrop-filter: blur(12px); }
.journey article.journey-focus { border-color: rgba(66,158,255,.6); background: linear-gradient(145deg,rgba(23,104,242,.28),rgba(255,255,255,.05)); transform: translateY(-9px); }
.journey article > span { color: var(--cyan); font: 700 10px Manrope; letter-spacing: 2px; }.journey article > b { position: absolute; right: 28px; top: 25px; width: 42px; height: 42px; display: grid; place-items: center; color: white; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; font-size: 12px; }
.journey h3 { margin: 23px 0 27px; font-size: 20px; }.journey div { display: flex; flex-wrap: wrap; gap: 8px; }.journey i { padding: 6px 10px; color: #a9bdd5; border-radius: 5px; background: rgba(255,255,255,.07); font-size: 11px; font-style: normal; }
.scenario-grid.five { grid-template-columns: 1.25fr repeat(4,1fr); }
.service-section { padding: 100px 0; color: white; background: linear-gradient(120deg,#071b35,#0c3264); }
.assurance-flow { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 55px; }
.assurance-flow article { position: relative; padding: 0 20px; text-align: center; }
.assurance-flow article:not(:last-child)::after { content: ""; position: absolute; top: 32px; right: -15px; width: 30px; height: 1px; background: #3c628d; }
.assurance-flow article > b { position: absolute; top: -8px; right: 20px; color: #547495; font: 600 10px Manrope; }
.assurance-flow article > div { width: 64px; height: 64px; display: grid; place-items: center; margin: 0 auto 20px; color: var(--cyan); border: 1px solid rgba(84,161,255,.38); border-radius: 17px; background: rgba(33,94,165,.22); }
.assurance-flow h3 { margin: 0 0 8px; font-size: 16px; }.assurance-flow p { margin: 0; color: #8fa4bd; font-size: 12px; line-height: 1.7; }
.case-grid.three { grid-template-columns: repeat(3,1fr); height: 420px; }
.qualification-section { background: var(--soft); }
.qualification-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 50px; }
.qualification-grid article { position: relative; min-height: 245px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
.qualification-icon { width: 48px; height: 48px; display: grid; place-items: center; color: var(--blue); border-radius: 12px; background: #edf4ff; }
.qualification-grid article > span { position: absolute; top: 29px; right: 24px; padding: 5px 9px; color: #76889f; border-radius: 20px; background: var(--soft); font-size: 10px; }
.qualification-grid h3 { margin: 24px 0 9px; }.qualification-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.qualification-grid a { position: absolute; left: 28px; bottom: 24px; display: flex; align-items: center; gap: 6px; padding: 0; color: var(--blue); border: 0; background: none; font-size: 12px; text-decoration: none; }
.contact-cta .cta-actions { display: flex; gap: 12px; }.contact-cta .cta-actions .btn-secondary { color: white; border-color: rgba(255,255,255,.4); background: transparent; }

@media (max-width: 900px) {
  .container { width: min(100% - 32px, 600px); }
  .header { position: absolute; height: 66px; }.nav-shell { width: calc(100% - 32px); justify-content: space-between; }
  .nav-shell > div:first-child { flex: 1; }.logo-copy b{font-size:16px}.logo-copy small{display:none}.logo-mark{width:29px;height:auto}
  nav { position: absolute; display: none; top: 66px; left: -16px; right: -16px; height: auto; padding: 12px 20px 24px; flex-direction: column; gap: 0; background: #071b35; box-shadow: 0 24px 40px rgba(0,0,0,.3); }
  nav.nav-open { display: flex; }.nav-open a{height:auto;padding:9px 0;align-items:flex-start;gap:2px;text-align:left}.nav-open a em{letter-spacing:.9px}.nav-open a.active::after{display:none}.mobile-nav-cta{display:block!important;margin-top:9px!important;text-align:center!important;border-radius:8px!important;background:var(--blue)!important}
  .nav-cta { display: none; }.menu-btn{display:grid;place-items:center;width:40px;height:40px;padding:0;color:white;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.05)}
  .hero { min-height: 815px; }.hero-grid{background-size:42px 42px}.hero-inner{padding:115px 0 115px;display:block}.hero-copy{text-align:center}.hero-badge{margin-bottom:17px;font-size:11px}.hero h1{font-size:39px;line-height:1.22;letter-spacing:-1.5px}.hero-copy > p{margin:20px auto 25px;font-size:14px;line-height:1.75}.hero-actions{justify-content:center}.hero-actions .btn{padding:0 17px}.hero-trust{display:none}
  .hero-visual{height:310px;margin-top:38px}.event-photo{inset:0;border-radius:5px 38px 5px 5px;transform:none}.event-caption{left:18px;bottom:17px}.event-caption strong{font-size:16px}.checkin{top:18px;left:-5px;min-width:175px;padding:10px}.checkin .mini-icon{width:34px;height:34px}.checkin span{display:none}.floating-card small{font-size:9px}.floating-card b{font-size:11px}.interaction{display:none}
  .brand-ticker{height:58px}.brand-ticker .container{overflow:hidden;gap:20px;justify-content:flex-start;white-space:nowrap}.brand-ticker span,.brand-ticker i{display:none}.brand-ticker b{font-size:12px}
  .section{padding-top:72px;padding-bottom:72px}.section-title h2,.trust-section h2,.contact-cta h2,.application h2{font-size:28px}.section-title p{font-size:13px}.split-title{display:block}.split-title > .btn,.split-title > .text-link{margin-top:20px}
  .cap-grid{grid-template-columns:1fr;gap:12px;margin-top:35px}.cap-card{min-height:165px;padding:22px 22px 20px 88px}.cap-icon{position:absolute;left:22px;top:25px}.cap-card h3{margin:4px 0 7px}.cap-card button{position:static;margin-top:14px}
  .cap-image-grid{grid-template-columns:1fr;margin-top:35px}.cap-image{height:205px}.cap-image-copy p{min-height:0}.cap-image-copy .cap-icon{position:absolute}
  .flow-section{padding:72px 0}.journey{grid-template-columns:1fr;margin-top:35px}.journey::before{display:none}.journey article,.journey article.journey-focus{min-height:0;transform:none}.journey h3{margin-bottom:18px}
  .scenario-grid{height:auto;grid-template-columns:1fr;margin-top:35px}.scenario-card{height:270px}.scenario-content p{min-height:0}
  .scenario-grid.five{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-16px;padding-right:16px}.scenario-grid.five .scenario-card{min-width:86%;scroll-snap-align:start}
  .product-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-right:-16px;padding-right:16px;gap:12px;margin-top:35px}.product-card{min-width:82%;scroll-snap-align:start}
  .trust-section{padding:70px 0}.trust-inner{grid-template-columns:1fr;gap:35px}.stats div{padding:22px 15px}.stats b{font-size:26px}.stats span{font-size:11px}
  .service-section{padding:72px 0}.assurance-flow{grid-template-columns:1fr;gap:23px;margin-top:35px}.assurance-flow article{display:grid;grid-template-columns:55px 1fr;text-align:left;column-gap:16px}.assurance-flow article:not(:last-child)::after{left:27px;right:auto;top:55px;width:1px;height:24px}.assurance-flow article > b{display:none}.assurance-flow article > div{width:55px;height:55px;grid-row:1/3;margin:0}.assurance-flow h3{align-self:end}.assurance-flow p{margin-top:3px}
  .case-grid,.case-grid.three{grid-template-columns:1fr;height:auto}.case-card,.case-grid.three .case-card{height:300px}.case-card + .case-card{height:280px}
  .partner-types{grid-template-columns:1fr 1fr}.partner-types > div{min-height:220px;padding:22px}
  .qualification-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:35px}.qualification-grid article{min-height:245px;padding:20px}.qualification-grid article > span{top:20px;right:15px}.qualification-grid button{left:20px}
  .contact-cta{padding:58px 0}.contact-cta .container{display:block}.contact-cta p{font-size:13px}.contact-cta .cta-actions{margin-top:25px}.contact-cta .btn{margin-top:0;padding:0 15px}
  .footer-main{grid-template-columns:1fr 1fr;gap:35px;padding-top:50px}.footer-brand{grid-column:1/-1}.footer-contact,.qr{display:none}.copyright{margin-bottom:65px}
  .mobile-fixed-cta{position:fixed;z-index:60;display:flex;align-items:center;justify-content:center;gap:9px;left:12px;right:12px;bottom:12px;height:48px;border:0;border-radius:12px;color:white;background:var(--blue);font-weight:600;box-shadow:0 10px 30px rgba(10,51,118,.35)}
  .sub-hero{min-height:700px}.sub-hero-inner{padding-top:125px;grid-template-columns:1fr;gap:45px}.sub-hero h1,.partner-hero h1{font-size:37px}.sub-hero-inner > div > p,.partner-hero-inner > div > p{font-size:14px;margin:20px 0 25px}.product-console{padding:18px}.console-stats{gap:6px}.console-stats div{padding:10px}.console-stats b{font-size:15px}.console-chart{height:75px}
  .category-nav{overflow:auto}.category-nav .container{width:max-content;padding:0 20px;gap:25px}.category-nav a{font-size:12px}
  .module-row,.module-row.reverse{grid-template-columns:1fr;gap:35px;padding-bottom:75px}.module-row.reverse .module-visual,.product-modules > :nth-child(even) .module-visual{order:0}.module-visual{padding:18px}.module-art{height:250px}.module-copy h2{font-size:29px}
  .photo-product{width:calc(100% - 32px);grid-template-columns:1fr}.photo-product-copy{padding:32px 25px}.photo-product h2{font-size:28px}.photo-product-image{min-height:300px;order:-1}.photo-product-image::after{background:linear-gradient(0deg,#091f3d,transparent 55%)}
  .partner-hero{min-height:850px}.partner-hero-inner{padding-top:125px;grid-template-columns:1fr}.partner-orbit{width:310px;height:310px;margin:55px auto 0}.partner-orbit::before{inset:45px}.partner-orbit::after{inset:95px}.orbit-center{inset:105px 68px}.orbit-item:nth-child(2){left:111px}.orbit-item:nth-child(3){right:-14px;top:138px}.orbit-item:nth-child(4){left:106px}.orbit-item:nth-child(5){left:-14px;top:138px}
  .support-grid,.cooperate-types{grid-template-columns:1fr}.cooperate-types p{min-height:0}.process-line{grid-template-columns:1fr;gap:24px}.process-line > div{display:grid;grid-template-columns:44px 1fr;text-align:left;column-gap:17px}.process-line > div::after{top:48px;left:21px;width:1px;height:35px}.process-line b{grid-row:1/3;margin:0}.process-line span{align-self:end}.process-line small{margin:3px 0 0}
  .application-inner{grid-template-columns:1fr;gap:35px}.form-grid{grid-template-columns:1fr}.application form{padding:22px}.form-grid label.wide{grid-column:auto}
}

/* ========== zhihui 主题补充：列表页 / 详情页 / 分页 / 正文 ========== */
.scenario-card, .case-card { display: block; color: white; text-decoration: none; }
.cap-image-card h3 a, .product-card h3 a, .news-card h3 a { color: inherit; text-decoration: none; }
.cap-image-card h3 a:hover, .product-card h3 a:hover, .news-card h3 a:hover { color: var(--blue); }

/* 列表页/详情页顶部横幅 */
.list-hero { position: relative; overflow: hidden; padding: 165px 0 62px; color: white; background: radial-gradient(circle at 78% 30%, #12477f 0, var(--navy) 45%, #05162c 82%); }
.list-hero .hero-grid { opacity: .12; }
.list-hero-inner { position: relative; z-index: 2; }
.list-hero h1 { margin: 0; font-size: clamp(30px, 3.2vw, 46px); letter-spacing: -1px; }
.list-hero p { max-width: 640px; margin: 14px 0 0; color: #a9b8cd; line-height: 1.8; font-size: 15px; }
.crumb { margin-bottom: 18px; color: #7e93ad; font-size: 13px; }
.crumb a { color: #9fb4cc; text-decoration: none; }
.crumb a:hover { color: white; }

/* 文章列表 */
.news-list { padding: 62px 0 96px; }
.news-card { display: grid; grid-template-columns: 260px 1fr; gap: 28px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line); }
.news-card:first-child { padding-top: 0; }
.news-thumb { height: 168px; overflow: hidden; border-radius: 14px; background: var(--soft); }
.news-thumb img { height: 100%; object-fit: cover; transition: .4s; }
.news-card:hover .news-thumb img { transform: scale(1.05); }
.news-meta { display: flex; align-items: center; gap: 14px; color: #8496ab; font-size: 12px; }
.news-meta i { padding: 3px 9px; border-radius: 5px; background: var(--soft); color: var(--blue); font-style: normal; font-weight: 600; }
.news-card h3 { margin: 11px 0 9px; font-size: 21px; line-height: 1.5; color: var(--navy); }
.news-card > div > p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.8; }
.news-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 13px; color: var(--blue); font-size: 13px; text-decoration: none; }
.empty-tip { padding: 70px 0; text-align: center; color: var(--muted); }

/* 分页条 */
.pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 46px; }
.pagination a, .pagination span { min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); background: white; font-size: 13px; text-decoration: none; }
.pagination a:hover { color: var(--blue); border-color: #a9c8fa; }
.pagination .active, .pagination a.active, .pagination span.active { color: white; border-color: var(--blue); background: var(--blue); }
.pagination .pageinfo, .pagination .disabled { border: 0; background: none; }

/* 文章正文 */
.article-wrap { max-width: 860px; margin: 0 auto; padding: 62px 0 96px; }
.article-head h1 { margin: 0; color: var(--navy); font-size: clamp(28px, 3vw, 40px); line-height: 1.4; letter-spacing: -.6px; }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 18px 0 34px; padding-bottom: 22px; border-bottom: 1px solid var(--line); color: #8496ab; font-size: 13px; }
.article-meta a { color: var(--blue); text-decoration: none; }
.article-body { color: #2b3d55; font-size: 16px; line-height: 2; }
.article-body p { margin: 0 0 22px; }
.article-body img { max-width: 100%; height: auto; width: auto !important; border-radius: 12px; margin: 8px 0 22px; }
.article-body h2, .article-body h3 { margin: 38px 0 16px; color: var(--navy); line-height: 1.5; }
.article-body h2 { font-size: 25px; }
.article-body h3 { font-size: 20px; }
.article-body a { color: var(--blue); text-decoration: none; }
.article-body ul, .article-body ol { padding-left: 24px; }
.article-body table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 14px; }
.article-body th, .article-body td { padding: 11px 13px; border: 1px solid var(--line); }
.article-body blockquote { margin: 24px 0; padding: 18px 22px; border-left: 3px solid var(--blue); border-radius: 0 10px 10px 0; background: var(--soft); color: var(--muted); }
.article-body pre, .article-body code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 14px; }
.article-body pre { padding: 18px; overflow-x: auto; border-radius: 10px; background: #0b2340; color: #d6e4f5; }
.prevnext { display: flex; justify-content: space-between; gap: 20px; margin-top: 46px; padding-top: 24px; border-top: 1px solid var(--line); font-size: 14px; }
.prevnext a { color: var(--muted); text-decoration: none; }
.prevnext a:hover { color: var(--blue); }
.tag-row a { padding: 7px 12px; color: #526882; border-radius: 6px; background: var(--soft); font-size: 12px; text-decoration: none; }

/* 自由表单：必填星号与服务端返回提示 */
.form-grid label > span .req { color: var(--orange); }
.form-grid .tip { display: block; margin-top: 6px; color: #ff914d; font-size: 11px; }
.form-grid input[type=file] { height: auto; padding: 10px 13px; }
.form-grid .vertify-img { height: 40px; width: 108px; display: inline-block; margin-left: 8px; border-radius: 6px; cursor: pointer; }
.form-msg { margin-top: 16px; padding: 12px 15px; border-radius: 8px; background: rgba(255,145,77,.12); color: #ff914d; font-size: 13px; }

@media (max-width: 900px) {
  .list-hero { padding: 128px 0 46px; }
  .list-hero p { font-size: 13px; }
  .news-card { grid-template-columns: 1fr; gap: 16px; padding: 22px 0; }
  .news-thumb { height: 190px; }
  .news-card h3 { font-size: 18px; }
  .article-wrap { padding: 36px 0 72px; }
  .article-body { font-size: 15px; line-height: 1.9; }
  .prevnext { display: block; }
  .prevnext a { display: block; margin-bottom: 10px; }
}

/* ========== 图标精灵（替代 React 里的 <Icon name="x"/>） ========== */
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ico { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ico-sm { width: 16px; height: 16px; }
.ico-18 { width: 18px; height: 18px; }
.ico-lg { width: 30px; height: 30px; }
.ico-xl { width: 42px; height: 42px; }

.qr > div { position: relative; }
.qr-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: white; }

/* ========== 序号：用 CSS 计数器生成，模板里不放算术 ========== */
.cap-image-grid, .scenario-grid, .assurance-flow, .support-grid, .cooperate-types, .process-line { counter-reset: zh; }
.cap-image > span::before, .scenario-content > span::before,
.assurance-flow article > b::before, .support-grid article > span::before,
.cooperate-types article > b::before { counter-increment: zh; content: "0" counter(zh); }
.process-line > div > b::before { counter-increment: zh; content: counter(zh); }
.process-line > div > b { font-size: 0; }

/* ========== 图标按卡片位置挑选（替代 React 的 <Icon name>） ========== */
.icon-pick svg { display: none; }
.cap-image-grid > :nth-child(1) .icon-pick svg:nth-child(1), .cap-image-grid > :nth-child(2) .icon-pick svg:nth-child(2), .cap-image-grid > :nth-child(3) .icon-pick svg:nth-child(3),
.product-grid > :nth-child(1) .icon-pick svg:nth-child(1), .product-grid > :nth-child(2) .icon-pick svg:nth-child(2), .product-grid > :nth-child(3) .icon-pick svg:nth-child(3), .product-grid > :nth-child(4) .icon-pick svg:nth-child(4), .product-grid > :nth-child(5) .icon-pick svg:nth-child(5), .product-grid > :nth-child(6) .icon-pick svg:nth-child(6),
.assurance-flow > :nth-child(1) .icon-pick svg:nth-child(1), .assurance-flow > :nth-child(2) .icon-pick svg:nth-child(2), .assurance-flow > :nth-child(3) .icon-pick svg:nth-child(3), .assurance-flow > :nth-child(4) .icon-pick svg:nth-child(4), .assurance-flow > :nth-child(5) .icon-pick svg:nth-child(5),
.qualification-grid > :nth-child(1) .icon-pick svg:nth-child(1), .qualification-grid > :nth-child(2) .icon-pick svg:nth-child(2), .qualification-grid > :nth-child(3) .icon-pick svg:nth-child(3), .qualification-grid > :nth-child(4) .icon-pick svg:nth-child(4),
.support-grid > :nth-child(1) .icon-pick svg:nth-child(1), .support-grid > :nth-child(2) .icon-pick svg:nth-child(2), .support-grid > :nth-child(3) .icon-pick svg:nth-child(3), .support-grid > :nth-child(4) .icon-pick svg:nth-child(4), .support-grid > :nth-child(5) .icon-pick svg:nth-child(5), .support-grid > :nth-child(6) .icon-pick svg:nth-child(6),
.cooperate-types > :nth-child(1) .icon-pick svg:nth-child(1), .cooperate-types > :nth-child(2) .icon-pick svg:nth-child(2), .cooperate-types > :nth-child(3) .icon-pick svg:nth-child(3),
.product-modules > :nth-child(1) .icon-pick svg:nth-child(1), .product-modules > :nth-child(2) .icon-pick svg:nth-child(2), .product-modules > :nth-child(3) .icon-pick svg:nth-child(3), .product-modules > :nth-child(4) .icon-pick svg:nth-child(4), .product-modules > :nth-child(5) .icon-pick svg:nth-child(5), .product-modules > :nth-child(6) .icon-pick svg:nth-child(6) { display: block; }
/* 产品分组交替布局与配色（替代设计稿里的 art-0..3 与 reverse 序号类） */
.product-modules > :nth-child(even) .module-visual { order: 2; }
.product-modules > :nth-child(2) .module-art { background: linear-gradient(145deg,#102758,#4d45d7); }
.product-modules > :nth-child(3) .module-art { background: linear-gradient(145deg,#092e49,#059eaa); }
.product-modules > :nth-child(4) .module-art { background: linear-gradient(145deg,#102744,#315f91); }
.product-modules > :nth-child(5) .module-art { background: linear-gradient(145deg,#0b2750,#1768f2); }
.product-modules > :nth-child(6) .module-art { background: linear-gradient(145deg,#102758,#4d45d7); }
/* 超出上面数量的卡片，退回显示第 1 个图标 */
.cap-image-grid > :nth-child(n+4) .icon-pick svg:nth-child(1), .product-grid > :nth-child(n+7) .icon-pick svg:nth-child(1), .assurance-flow > :nth-child(n+6) .icon-pick svg:nth-child(1), .qualification-grid > :nth-child(n+5) .icon-pick svg:nth-child(1), .support-grid > :nth-child(n+7) .icon-pick svg:nth-child(1), .cooperate-types > :nth-child(n+4) .icon-pick svg:nth-child(1), .product-modules > :nth-child(n+7) .icon-pick svg:nth-child(1) { display: block; }

/* 滚动条最后一项后面多余的圆点 */
.brand-ticker .container > i:last-child { display: none; }
/* 案例卡第二个标签为空时不占位 */
.case-copy div span:empty, .case-library-copy > div span:empty { display: none; }

/* ========== 生态环位置（替代设计稿的 orbit-0..3 类） ========== */
.orbit-item:nth-child(2) { top: 23px; left: 176px; }
.orbit-item:nth-child(3) { right: -20px; top: 196px; }
.orbit-item:nth-child(4) { bottom: 18px; left: 169px; }
.orbit-item:nth-child(5) { left: -18px; top: 196px; }

/* ========== 详情页封面 ========== */
.article-cover { margin-bottom: 34px; border-radius: 16px; overflow: hidden; background: var(--soft); }
.article-cover img { width: 100%; max-height: 420px; object-fit: cover; }

/* ========== 联系页信息条 ========== */
.contact-info { display: grid; gap: 12px; margin-top: 26px; }
.contact-info > div { display: flex; align-items: center; gap: 10px; color: #91a4bc; font-size: 13px; }
.contact-info svg { color: var(--cyan); }
.contact-intro { margin-top: 28px; color: #91a4bc; font-size: 14px; }
.contact-intro p { margin: 0 0 12px; }

/* ========== 合作申请表单卡（联系人页 / 渠道合作页共用，表单 formid=3） ==========
   模板见：lists_single_contact.htm、lists_single_partner.htm */
.partner-form-card { width: 100%; }
.partner-form-card .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 20px; }
.partner-form-card .form-group { display: flex; flex-direction: column; margin-bottom: 18px; }
.partner-form-card label { margin-bottom: 8px; color: #b8cbe2; font-size: 13px; font-weight: 500; }
.partner-form-card label .req { margin-left: 2px; color: #38bdf8; }
.partner-form-card .form-control {
  width: 100%; box-sizing: border-box; padding: 13px 16px; color: #eaf2fb; font-size: 14px;
  border: 1px solid rgba(80, 140, 200, .22); border-radius: 10px; outline: none;
  background: rgba(8, 22, 40, .85);
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.partner-form-card .form-control::placeholder { color: #6b819c; }
.partner-form-card .form-control:focus {
  border-color: #2f8fe0; background: rgba(10, 28, 50, .95);
  box-shadow: 0 0 0 3px rgba(47, 143, 224, .18);
}
.partner-form-card textarea.form-control { min-height: 110px; resize: vertical; line-height: 1.6; }
.partner-form-card select.form-control {
  appearance: none; -webkit-appearance: none; -moz-appearance: none;
  padding-right: 42px; cursor: pointer;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2387a5c9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center;
}
.partner-form-card select.form-control option { color: #eaf2fb; background: #0d2340; }
.partner-form-card select.form-control option:disabled { color: #6b819c; }
.partner-form-card .btn-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; margin-top: 6px; padding: 15px 24px; color: #fff; font-size: 16px; font-weight: 700;
  border: none; border-radius: 10px; cursor: pointer;
  background: linear-gradient(135deg, #2f8fe0 0%, #1f6fd0 100%);
  box-shadow: 0 12px 28px rgba(47, 143, 224, .35);
  transition: transform .15s, box-shadow .2s, background .2s;
}
.partner-form-card .btn-submit:hover {
  background: linear-gradient(135deg, #3aa0f0 0%, #2277dd 100%);
  transform: translateY(-1px); box-shadow: 0 16px 34px rgba(47, 143, 224, .45);
}
.partner-form-card .btn-submit svg { width: 18px; height: 18px; }
.partner-form-card .privacy { display: block; margin-top: 16px; color: #7d92ad; font-size: 12px; line-height: 1.6; text-align: center; }

@media (max-width: 900px) {
  .orbit-item:nth-child(2) { left: 111px; top: 12px; }
  .orbit-item:nth-child(3) { right: -14px; top: 138px; }
  .orbit-item:nth-child(4) { left: 106px; bottom: 14px; }
  .orbit-item:nth-child(5) { left: -14px; top: 138px; }
  .form-auto { grid-template-columns: 1fr; }
  .partner-form-card .grid-2 { grid-template-columns: 1fr; gap: 0; }
}

/* ==========================================================================
   行业案例列表页 / 解决方案页 / 关于我们页（由设计稿 index.css 移植）
   模板见：lists_article_case.htm、lists_single_solutions.htm、lists_single_danye.htm
   ========================================================================== */

/* ---------- 行业案例 ---------- */
.case-hero { min-height: 700px; position: relative; overflow: hidden; color: white; background: radial-gradient(circle at 76% 38%, #174a86, #071b35 55%); }
.case-hero-inner { position: relative; z-index: 2; padding-top: 150px; display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 80px; }
.case-hero h1, .about-hero h1 { margin: 0; font-size: 54px; line-height: 1.22; letter-spacing: -2px; }
.case-hero h1 em, .about-hero h1 em { color: #6da8ff; font-style: normal; }
.case-hero-inner > div:first-child > p { margin: 25px 0 32px; color: #aebed1; line-height: 1.9; }
.case-hero-collage { position: relative; height: 455px; }
.case-hero-collage > div { position: absolute; overflow: hidden; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; box-shadow: 0 25px 70px rgba(0,0,0,.32); }
.case-hero-collage img { height: 100%; object-fit: cover; }
.case-hero-collage span { position: absolute; left: 15px; bottom: 14px; padding: 5px 9px; color: white; border-radius: 5px; background: rgba(5,24,50,.72); font-size: 11px; backdrop-filter: blur(8px); }
/* 拼图位置：按顺序取本栏目最新 3 篇案例的封面（模板里不放索引变量） */
.case-hero-collage > :nth-child(1) { inset: 20px 105px 25px 0; }
.case-hero-collage > :nth-child(2) { width: 210px; height: 180px; right: 0; top: 0; }
.case-hero-collage > :nth-child(3) { width: 210px; height: 180px; right: 0; bottom: 0; }
.case-filter { position: sticky; z-index: 20; top: 0; background: white; box-shadow: 0 5px 25px rgba(16,36,63,.08); }
.case-filter .container { height: 74px; display: flex; justify-content: center; gap: 10px; }
.case-filter a { display: flex; align-items: center; padding: 0 22px; color: var(--muted); border-bottom: 2px solid transparent; background: transparent; font-size: 14px; text-decoration: none; }
.case-filter a.active { color: var(--blue); border-color: var(--blue); }
.case-library .split-title > span { color: #91a0b3; font-size: 12px; }
.case-library-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 52px 22px; margin-top: 55px; counter-reset: zhCase; }
.case-library-grid > article:first-child { grid-column: 1/-1; display: grid; grid-template-columns: 1.25fr .75fr; gap: 38px; align-items: center; }
.case-library-image { position: relative; overflow: hidden; height: 320px; border-radius: var(--radius); }
.case-library-grid > article:first-child .case-library-image { height: 430px; }
.case-library-image img { height: 100%; object-fit: cover; transition: .45s; }
.case-library-grid article:hover img { transform: scale(1.035); }
.case-library-image > span { position: absolute; left: 18px; top: 18px; padding: 6px 11px; color: white; border-radius: 5px; background: rgba(6,27,55,.72); font-size: 11px; backdrop-filter: blur(8px); }
.case-library-image a.case-view { position: absolute; right: 18px; bottom: 18px; width: 42px; height: 42px; display: grid; place-items: center; color: var(--blue); border-radius: 50%; background: white; text-decoration: none; }
.case-library-copy { padding: 22px 4px 0; }
.case-library-copy small { color: var(--blue); font: 700 10px Manrope; letter-spacing: 2px; }
.case-library-copy small::before { counter-increment: zhCase; content: "CASE " counter(zhCase, decimal-leading-zero); }
.case-library-copy h2 { margin: 10px 0; color: var(--navy); font-size: 24px; }
.case-library-grid > article:first-child .case-library-copy h2 { font-size: 34px; }
.case-library-copy h2 a { color: inherit; text-decoration: none; }
.case-library-copy h2 a:hover { color: var(--blue); }
.case-library-copy > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.case-library-copy > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }
.case-library-copy > div span { padding: 6px 10px; color: #57708d; border-radius: 5px; background: var(--soft); font-size: 11px; }
.case-method { padding: 100px 0; color: white; background: #071b35; }
.case-method-grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 50px; counter-reset: zh; }
.case-method-grid article { position: relative; padding: 28px 30px; border-left: 1px solid #294665; }
.case-method-grid article:last-child { border-right: 1px solid #294665; }
.case-method-grid b { color: var(--cyan); font: 600 11px Manrope; }
.case-method-grid b::before { counter-increment: zh; content: "0" counter(zh); }
.case-method-grid h3 { margin: 25px 0 9px; font-size: 18px; }
.case-method-grid p { margin: 0; color: #8fa3bb; font-size: 12px; line-height: 1.7; }
.more-cases { display: flex; align-items: end; justify-content: space-between; }
.more-cases > div { display: flex; gap: 12px; padding-bottom: 5px; }

/* ---------- 关于我们 ---------- */
.about-hero { min-height: 670px; position: relative; overflow: hidden; color: white; background: #061a34; }
.about-hero-inner { position: relative; z-index: 2; padding-top: 175px; text-align: center; }
.about-hero h1 { font-size: 58px; }
.about-hero-inner > p { max-width: 730px; margin: 25px auto 32px; color: #aebed1; font-size: 16px; line-height: 1.9; }
.about-orb { position: absolute; border-radius: 50%; filter: blur(20px); }
.orb-one { width: 520px; height: 520px; top: 60px; left: -180px; background: rgba(23,104,242,.15); }
.orb-two { width: 420px; height: 420px; right: -120px; bottom: -180px; background: rgba(25,214,209,.1); }
.about-position { display: inline-flex; align-items: center; gap: 17px; padding: 16px 23px; border: 1px solid rgba(255,255,255,.16); border-radius: 40px; background: rgba(255,255,255,.045); backdrop-filter: blur(12px); }
.about-position span { font-size: 13px; }
.about-position i { color: var(--cyan); font-style: normal; }
/* 分隔符由模板循环输出，最后一项不显示 */
.about-position i:last-child { display: none; }
.about-intro { display: grid; grid-template-columns: 1.05fr .95fr; gap: 85px; align-items: center; }
.about-intro-image { position: relative; height: 500px; overflow: hidden; border-radius: 24px; }
.about-intro-image img { height: 100%; object-fit: cover; }
.about-intro-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 40%,rgba(5,22,45,.84)); }
.about-intro-image > div { position: absolute; z-index: 2; left: 35px; bottom: 31px; }
.about-intro-image span { color: var(--cyan); font: 700 10px Manrope; letter-spacing: 2px; }
.about-intro-image b { display: block; margin-top: 9px; color: white; font-size: 25px; line-height: 1.5; }
.about-intro-copy h2, .about-process h2 { margin: 0 0 22px; color: var(--navy); font-size: 40px; line-height: 1.35; }
.about-intro-body p { color: var(--muted); line-height: 1.9; }
.about-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; }
.about-tags span { padding: 8px 13px; color: var(--blue); border-radius: 20px; background: #eaf2ff; font-size: 11px; }
.about-capability { padding: 100px 0; color: white; background: linear-gradient(120deg,#071b35,#0b3263); }
.about-cap-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 52px; counter-reset: zh; }
.about-cap-grid article { position: relative; min-height: 315px; padding: 34px; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); background: rgba(255,255,255,.04); }
.about-cap-grid article > span { position: absolute; right: 28px; color: #52708f; font: 600 11px Manrope; }
.about-cap-grid article > span::before { counter-increment: zh; content: "0" counter(zh); }
.about-cap-grid article > div { width: 58px; height: 58px; display: grid; place-items: center; color: var(--cyan); border-radius: 15px; background: rgba(25,214,209,.1); }
.about-cap-grid h3 { margin: 25px 0 11px; font-size: 20px; }
.about-cap-grid p { color: #94a8bf; font-size: 13px; line-height: 1.8; }
.about-cap-grid small { position: absolute; left: 34px; bottom: 30px; color: #6884a0; }
.about-value-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 48px; counter-reset: zh; }
.about-value-grid article { position: relative; min-height: 235px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); }
.about-value-grid article > b { position: absolute; right: 24px; color: #c2cedb; font: 600 11px Manrope; }
.about-value-grid article > b::before { counter-increment: zh; content: "0" counter(zh); }
.about-value-grid article > div { color: var(--blue); }
.about-value-grid h3 { margin: 24px 0 9px; }
.about-value-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.about-process { padding: 100px 0; background: var(--soft); }
.about-process > .container { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.about-process > .container > div:first-child > p { color: var(--muted); line-height: 1.8; }
.about-process .btn { margin-top: 18px; }
.about-process-list { border-top: 1px solid var(--line); counter-reset: zh; }
.about-process-list article { display: grid; grid-template-columns: 55px 1fr; gap: 20px; padding: 21px 0; border-bottom: 1px solid var(--line); }
.about-process-list b { color: var(--blue); font: 600 11px Manrope; }
.about-process-list b::before { counter-increment: zh; content: "0" counter(zh); }
.about-process-list h3 { margin: 0 0 5px; font-size: 15px; }
.about-process-list p { margin: 0; color: var(--muted); font-size: 12px; }
.about-qualification > div:last-child { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; margin-top: 45px; }
.about-qualification article { display: grid; grid-template-columns: 45px 1fr; align-items: center; column-gap: 13px; min-height: 110px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; }
.about-qualification article > svg { grid-row: 1/3; color: var(--blue); }
.about-qualification article span { align-self: end; font-weight: 600; }
.about-qualification article small { align-self: start; color: #8b9bae; }

/* ---------- 解决方案 ---------- */
.solution-hero { position: relative; min-height: 760px; overflow: hidden; color: white; background: var(--navy); }
.solution-hero > img { position: absolute; inset: 0; height: 100%; object-fit: cover; opacity: .66; }
.solution-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,19,39,.98) 0%,rgba(5,23,47,.88) 42%,rgba(5,22,44,.28) 78%),linear-gradient(0deg,rgba(4,18,37,.9),transparent 50%); }
.solution-hero-copy { position: relative; z-index: 2; padding-top: 180px; }
.solution-hero-copy h1 { max-width: 780px; margin: 0; font-size: 58px; line-height: 1.2; letter-spacing: -2px; }
.solution-hero-copy h1 em { color: #70aaff; font-style: normal; }
.solution-hero-copy > p { max-width: 650px; margin: 26px 0 33px; color: #afbed0; font-size: 16px; line-height: 1.9; }
.solution-hero .btn-secondary { color: white; border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.08); }
.solution-metrics { position: absolute; z-index: 3; left: 50%; bottom: 0; height: 100px; display: grid; grid-template-columns: repeat(4,1fr); transform: translateX(-50%); border-top: 1px solid rgba(255,255,255,.16); background: rgba(5,22,45,.7); backdrop-filter: blur(12px); counter-reset: zh; }
.solution-metrics div { display: flex; align-items: center; gap: 13px; padding: 0 26px; border-right: 1px solid rgba(255,255,255,.1); }
.solution-metrics div:last-child { border: 0; }
.solution-metrics b { color: var(--cyan); font: 600 12px Manrope; }
.solution-metrics b::before { counter-increment: zh; content: "0" counter(zh); }
.solution-metrics span { color: #c7d2df; font-size: 13px; }
.solution-overview .section-title { max-width: 760px; }
.solution-scene-grid { display: grid; grid-template-columns: 1.25fr repeat(4,1fr); gap: 14px; height: 430px; margin-top: 52px; counter-reset: zh; }
.solution-scene-grid article { position: relative; overflow: hidden; padding: 25px; display: flex; flex-direction: column; justify-content: end; color: white; border-radius: var(--radius); }
.solution-scene-grid img, .solution-scene-grid article > div { position: absolute; inset: 0; height: 100%; object-fit: cover; transition: .45s; }
.solution-scene-grid article > div { background: linear-gradient(180deg,transparent 30%,rgba(4,18,37,.94)); }
.solution-scene-grid article:hover img { transform: scale(1.05); }
.solution-scene-grid span, .solution-scene-grid h3, .solution-scene-grid p, .solution-scene-grid a { position: relative; z-index: 2; }
.solution-scene-grid span { color: rgba(255,255,255,.55); font: 600 11px Manrope; }
.solution-scene-grid span::before { counter-increment: zh; content: "0" counter(zh); }
.solution-scene-grid h3 { margin: 10px 0 7px; font-size: 21px; }
.solution-scene-grid p { min-height: 38px; margin: 0; color: #c1cfde; font-size: 12px; line-height: 1.6; }
.solution-scene-grid a { display: flex; align-items: center; gap: 7px; margin-top: 16px; padding: 0; color: var(--cyan); font-size: 12px; text-decoration: none; }
.solution-detail-section { padding: 110px 0 30px; background: var(--soft); }
.solution-detail-head { display: flex; align-items: end; justify-content: space-between; }
.solution-detail-head > span { margin-bottom: 5px; padding: 9px 14px; color: var(--blue); border-radius: 30px; background: #e6f0ff; font-size: 12px; }
.solution-detail-list { margin-top: 65px; counter-reset: zhSol zhSolNo; }
.solution-detail-list > article { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 85px; padding-bottom: 100px; }
.solution-detail-list > article:nth-child(even) .solution-detail-image { order: 2; }
.solution-detail-image { position: relative; height: 400px; overflow: hidden; border-radius: 22px; box-shadow: var(--shadow); }
.solution-detail-image img { height: 100%; object-fit: cover; }
.solution-detail-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 55%,rgba(4,20,42,.55)); }
.solution-detail-image > span { position: absolute; z-index: 2; left: 24px; bottom: 17px; color: white; font: 600 34px Manrope; }
.solution-detail-image > span::before { counter-increment: zhSol; content: "0" counter(zhSol); }
.solution-detail-copy > small { color: var(--blue); font: 700 11px Manrope; letter-spacing: 2px; }
.solution-detail-copy > small::before { counter-increment: zhSolNo; content: "SOLUTION 0" counter(zhSolNo); }
.solution-detail-copy h2 { margin: 13px 0 6px; color: var(--navy); font-size: 37px; }
.solution-detail-copy h3 { margin: 0 0 18px; color: #416083; font-size: 17px; }
.solution-detail-copy > p { color: var(--muted); line-height: 1.85; }
.solution-detail-copy > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 25px 0; }
.solution-detail-copy > div span { display: flex; align-items: center; gap: 8px; color: #536b85; font-size: 12px; }
.solution-detail-copy > div svg { color: var(--blue); }
.solution-framework { padding: 100px 0; color: white; background: #071b35; }
.framework-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 52px; counter-reset: zh; }
.framework-grid article { position: relative; min-height: 310px; padding: 35px; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); background: rgba(255,255,255,.035); }
.framework-grid > :nth-child(2) { border-color: rgba(43,136,255,.7); background: linear-gradient(145deg,rgba(23,104,242,.28),rgba(255,255,255,.04)); }
.framework-grid article > span { position: absolute; right: 28px; top: 25px; color: #486582; font: 600 11px Manrope; }
.framework-grid article > span::before { counter-increment: zh; content: "0" counter(zh); }
.framework-grid article > div { width: 58px; height: 58px; display: grid; place-items: center; color: var(--cyan); border-radius: 15px; background: rgba(25,214,209,.1); }
.framework-grid h3 { margin: 25px 0 11px; font-size: 20px; }
.framework-grid p { color: #8fa3bb; font-size: 13px; line-height: 1.8; }
.framework-grid small { position: absolute; left: 35px; bottom: 30px; color: #6f8cab; letter-spacing: 1px; }
.solution-values > div { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 48px; }
.solution-values article { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); }
.solution-values article > div { color: var(--blue); }
.solution-values h3 { margin: 19px 0 9px; }
.solution-values p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }

@media (max-width: 900px) {
  .case-hero { min-height: 920px; }
  .case-hero-inner { padding-top: 120px; grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .case-hero h1, .about-hero h1 { font-size: 38px; }
  .case-hero-inner > div:first-child > p { font-size: 14px; }
  .case-hero-inner .btn { margin: auto; }
  .case-hero-collage { height: 380px; }
  .case-hero-collage > :nth-child(1) { inset: 0 55px 40px 0; }
  .case-hero-collage > :nth-child(2), .case-hero-collage > :nth-child(3) { width: 145px; height: 135px; }
  .case-filter { overflow: auto; }
  .case-filter .container { width: max-content; justify-content: flex-start; padding: 0 16px; }
  .case-filter a { padding: 0 14px; font-size: 12px; }
  .case-library-grid { grid-template-columns: 1fr; gap: 40px; }
  .case-library-grid > article:first-child { grid-column: auto; display: block; }
  .case-library-image, .case-library-grid > article:first-child .case-library-image { height: 265px; }
  .case-library-grid > article:first-child .case-library-copy h2, .case-library-copy h2 { font-size: 22px; }
  .case-method { padding: 72px 0; }
  .case-method-grid { grid-template-columns: 1fr 1fr; }
  .case-method-grid article { border-bottom: 1px solid #294665; }
  .case-method-grid article:nth-child(2) { border-right: 1px solid #294665; }
  .more-cases { display: block; }
  .more-cases > div { margin-top: 25px; }
  .about-hero { min-height: 690px; }
  .about-hero-inner { padding-top: 135px; }
  .about-hero-inner > p { font-size: 14px; }
  .about-position { display: grid; grid-template-columns: 1fr; padding: 14px 35px; border-radius: 18px; gap: 7px; }
  .about-position i { line-height: 1; }
  .about-intro { grid-template-columns: 1fr; gap: 38px; }
  .about-intro-image { height: 360px; }
  .about-intro-copy h2, .about-process h2 { font-size: 29px; }
  .about-capability { padding: 72px 0; }
  .about-cap-grid { grid-template-columns: 1fr; margin-top: 35px; }
  .about-cap-grid article { min-height: 280px; }
  .about-value-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .about-value-grid article { min-height: 225px; padding: 20px; }
  .about-process { padding: 72px 0; }
  .about-process > .container { grid-template-columns: 1fr; gap: 42px; }
  .about-qualification > div:last-child { grid-template-columns: 1fr 1fr; gap: 10px; }
  .about-qualification article { grid-template-columns: 38px 1fr; padding: 15px; }
  .solution-hero { min-height: 780px; }
  .solution-hero-shade { background: linear-gradient(180deg,rgba(4,19,39,.88),rgba(4,19,39,.92)); }
  .solution-hero-copy { padding-top: 125px; text-align: center; }
  .solution-hero-copy h1 { font-size: 38px; }
  .solution-hero-copy > p { font-size: 14px; }
  .solution-hero-copy .hero-actions { justify-content: center; }
  .solution-metrics { height: auto; left: 16px; right: 16px; bottom: 25px; width: auto; grid-template-columns: 1fr 1fr; transform: none; }
  .solution-metrics div { height: 58px; padding: 0 12px; border-bottom: 1px solid rgba(255,255,255,.1); }
  .solution-metrics div:nth-child(2) { border-right: 0; }
  .solution-metrics span { font-size: 11px; }
  .solution-scene-grid { display: flex; overflow-x: auto; height: 330px; margin-right: -16px; padding-right: 16px; scroll-snap-type: x mandatory; }
  .solution-scene-grid article { min-width: 84%; scroll-snap-align: start; }
  .solution-detail-section { padding-top: 72px; }
  .solution-detail-head { display: block; }
  .solution-detail-head > span { display: inline-block; margin-top: 20px; }
  .solution-detail-list { margin-top: 40px; }
  .solution-detail-list > article { grid-template-columns: 1fr; gap: 30px; padding-bottom: 70px; }
  .solution-detail-list > article:nth-child(even) .solution-detail-image { order: 0; }
  .solution-detail-image { height: 265px; }
  .solution-detail-copy h2 { font-size: 29px; }
  .solution-detail-copy > div { grid-template-columns: 1fr 1fr; }
  .solution-framework { padding: 72px 0; }
  .framework-grid { grid-template-columns: 1fr; margin-top: 35px; }
  .framework-grid article { min-height: 265px; }
  .solution-values > div { grid-template-columns: 1fr 1fr; gap: 10px; }
  .solution-values article { padding: 20px; }
  .solution-values h3 { font-size: 15px; }
  .solution-values p { font-size: 12px; }
}
