/**
 * ============================================================
 *  future.css · 企业科技版视觉系统（当前主样式）
 *  分层：深色基线 → 导航页脚 → 企业科技白底覆盖
 * ============================================================
 */

/* ---------- 1. 深色基线变量与通用 ---------- */
:root{--jpy-primary:#2f6bff;--jpy-primary-dark:#1646d8;--jpy-secondary:#26d9ff;--jpy-accent:#8b5cf6;--jpy-dark:#050816;--jpy-dark-slate:#0b1126;--jpy-text:#e9efff;--jpy-muted:#99a7c2;--jpy-light:#73809b;--jpy-line:rgba(152,173,219,.16);--jpy-bg:#080d1d;--jpy-white:#fff;--jpy-wrapper:1440px;--jpy-wide:1600px;--jpy-header-h:88px;--jpy-radius:8px;--jpy-grad-primary:linear-gradient(110deg,#2f6bff,#26d9ff);--jpy-grad-dark:linear-gradient(145deg,#050816,#0b1737);--jpy-shadow:none}
html{background:var(--jpy-dark)}
body{font-size:16px;line-height:1.75;color:var(--jpy-text);background:var(--jpy-dark);overflow-x:hidden}
.wrapper{width:calc(100% - clamp(40px,7vw,128px));max-width:var(--jpy-wrapper)}
.wrapper-wide{width:calc(100% - clamp(40px,5vw,96px));max-width:var(--jpy-wide);margin:0 auto}
.page-main{padding-top:var(--jpy-header-h);background:var(--jpy-dark)}
.section{position:relative;padding:clamp(96px,9vw,152px) 0;background:var(--jpy-dark)}
.section.alt{background:#080d1d}.section.light{background:#eef3fb;color:#10182d}
.eyebrow{display:block;margin-bottom:22px;color:var(--jpy-secondary);font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:64px}
.section-heading h2{max-width:900px;font-size:clamp(38px,4.3vw,68px);font-weight:650;line-height:1.08;letter-spacing:-.04em}
.section-heading p{max-width:560px;color:var(--jpy-muted);font-size:17px}.light .section-heading p{color:#536079}
.text-link{display:inline-flex;align-items:center;gap:14px;color:var(--jpy-secondary);font-size:14px;font-weight:700;letter-spacing:.08em}.text-link:after{content:'→';font-size:20px}.text-link:hover{gap:22px}
.btn{min-width:168px;height:54px;padding:0 28px;border-radius:4px;border:1px solid transparent;box-shadow:none;font-size:14px;letter-spacing:.04em}
.btn-primary{background:#2f6bff;color:#fff}.btn-primary:hover{background:#3c78ff;transform:none;box-shadow:0 0 32px rgba(47,107,255,.35)}
.btn-outline{border-color:rgba(255,255,255,.35);background:transparent}.btn-outline:hover{background:#fff;color:#091128;transform:none;box-shadow:none}
.tech-grid{background-image:linear-gradient(rgba(81,115,179,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(81,115,179,.08) 1px,transparent 1px);background-size:72px 72px}

/* ---------- 2. 首屏 Hero ---------- */
.future-hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:#030612}
.future-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 76% 35%,rgba(47,107,255,.28),transparent 26%),radial-gradient(circle at 70% 52%,rgba(38,217,255,.10),transparent 35%),linear-gradient(90deg,rgba(3,6,18,.98) 15%,rgba(3,6,18,.72) 57%,rgba(3,6,18,.2));z-index:1}
.future-hero:after{content:'';position:absolute;width:min(62vw,980px);height:min(62vw,980px);right:-10%;top:5%;border:1px solid rgba(77,131,255,.28);border-radius:50%;box-shadow:0 0 0 90px rgba(47,107,255,.025),0 0 0 180px rgba(38,217,255,.018);animation:orbit 18s linear infinite}
@keyframes orbit{to{transform:rotate(360deg)}}
.hero-media{position:absolute;inset:0;background:url('../images/hero-bg.png') center/cover no-repeat;opacity:.72}
.hero-content{position:relative;z-index:2;width:calc(100% - clamp(40px,7vw,128px));max-width:var(--jpy-wide);margin:0 auto;padding:160px 0 100px}
.hero-kicker{display:flex;align-items:center;gap:14px;margin-bottom:28px;color:#b9c7e8;font-size:13px;letter-spacing:.14em}.hero-kicker:before{content:'';width:42px;height:1px;background:var(--jpy-secondary)}
.future-hero h1{max-width:1100px;font-size:clamp(54px,6.5vw,104px);font-weight:600;line-height:1.02;letter-spacing:-.055em}.future-hero h1 span{color:transparent;-webkit-text-stroke:1px rgba(184,205,255,.75)}
.hero-lead{max-width:740px;margin-top:34px;color:#aab8d4;font-size:clamp(17px,1.3vw,21px);line-height:1.8}
.hero-actions{margin-top:46px;display:flex;gap:14px;flex-wrap:wrap}
.hero-index{position:absolute;z-index:2;right:max(5vw,50px);bottom:52px;display:flex;gap:36px;color:#7f8ca6;font-size:12px;letter-spacing:.08em}.hero-index strong{display:block;color:#fff;font-size:28px;font-weight:500}

/* ---------- 3. 信任条 / 产品矩阵 / 方案 / 案例 ---------- */
.trust-rail{border-top:1px solid var(--jpy-line);border-bottom:1px solid var(--jpy-line);background:#060a16}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{padding:34px clamp(20px,3vw,48px);border-right:1px solid var(--jpy-line)}.trust-item:last-child{border:0}.trust-item strong{display:block;font-size:clamp(30px,3vw,48px);font-weight:500;line-height:1.1}.trust-item span{color:var(--jpy-muted);font-size:13px}
.product-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.product-panel{position:relative;min-height:430px;padding:clamp(32px,4vw,58px);border:1px solid var(--jpy-line);background:#0a1022;overflow:hidden}.product-panel:nth-child(1){grid-column:span 7}.product-panel:nth-child(2){grid-column:span 5}.product-panel:nth-child(3),.product-panel:nth-child(4){grid-column:span 6;min-height:360px}
.product-panel:before{content:'';position:absolute;width:360px;height:360px;right:-140px;bottom:-180px;border:1px solid rgba(47,107,255,.28);border-radius:50%;transition:.6s}.product-panel:hover:before{transform:scale(1.3);border-color:rgba(38,217,255,.5)}
.product-no{color:#60708f;font-size:12px;letter-spacing:.18em}.product-panel h3{margin-top:90px;font-size:clamp(30px,3vw,48px);font-weight:550;line-height:1.1}.product-panel p{max-width:560px;margin-top:20px;color:var(--jpy-muted);font-size:15px}.product-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}.product-tags span{padding:7px 10px;border:1px solid var(--jpy-line);color:#aab7cf;font-size:12px}.product-panel .text-link{position:absolute;right:42px;top:38px}
.solution-stack{border-top:1px solid var(--jpy-line)}
.solution-row{display:grid;grid-template-columns:90px 1fr 1.1fr auto;gap:32px;align-items:center;padding:34px 10px;border-bottom:1px solid var(--jpy-line)}.solution-row b{color:#50617f;font-size:13px}.solution-row h3{font-size:clamp(24px,2.2vw,34px);font-weight:500}.solution-row p{color:var(--jpy-muted);font-size:14px}.solution-row:hover h3{color:var(--jpy-secondary)}
.case-showcase{display:grid;grid-template-columns:1.35fr .65fr;gap:20px}.case-feature,.case-small{position:relative;display:block;overflow:hidden;border:1px solid var(--jpy-line);background:#0b1126}.case-feature{min-height:680px}.case-side{display:grid;gap:20px}.case-small{min-height:330px}.case-visual{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#0c1838,#111a33);overflow:hidden}.case-visual img{width:100%;height:100%;object-fit:cover;opacity:.72;transition:transform .7s,opacity .4s}.case-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(3,6,18,.94))}.case-feature:hover img,.case-small:hover img{transform:scale(1.035);opacity:.88}.case-meta{position:absolute;z-index:2;left:clamp(28px,4vw,60px);right:30px;bottom:clamp(28px,4vw,54px)}.case-meta span{color:var(--jpy-secondary);font-size:12px;letter-spacing:.12em}.case-meta h3{margin-top:10px;font-size:clamp(24px,3vw,46px);font-weight:520;line-height:1.16}.case-small .case-meta h3{font-size:clamp(20px,2vw,28px)}
.case-catalog{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.case-card-new{position:relative;overflow:hidden;display:block;border:1px solid var(--jpy-line);background:#091022}.case-card-new .case-visual{position:relative;aspect-ratio:16/10}.case-card-new .case-copy{padding:26px}.case-card-new h3{font-size:21px;font-weight:520}.case-card-new p{margin-top:8px;color:var(--jpy-muted);font-size:13px}
.case-filter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:42px}.case-filter button{padding:11px 18px;border:1px solid var(--jpy-line);border-radius:2px;background:transparent;color:var(--jpy-muted);cursor:pointer}.case-filter button.is-active,.case-filter button:hover{color:#fff;border-color:var(--jpy-primary);background:var(--jpy-primary)}

/* ---------- 4. 内页 Banner / 产品介绍 / 能力 / 流程 ---------- */
.page-banner{height:clamp(460px,55vh,620px);justify-content:flex-start;text-align:left;background:#050816 url('../images/hero-bg.png') center/cover no-repeat}.page-banner:before{background:linear-gradient(90deg,rgba(3,6,18,.98),rgba(3,6,18,.45))}.page-banner .inner{width:calc(100% - clamp(40px,7vw,128px));max-width:var(--jpy-wide);margin:0 auto}.page-banner h1{max-width:900px;font-size:clamp(48px,6vw,86px);font-weight:580;line-height:1.04;letter-spacing:-.045em}.page-banner p{max-width:760px;margin-top:26px;color:#a8b6d0;font-size:19px}.breadcrumb{margin-top:44px;color:#65728c}
.product-intro{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:clamp(40px,5vw,72px);align-items:start}.product-intro h2{max-width:640px;font-size:clamp(34px,3.3vw,54px);font-weight:550;line-height:1.13;letter-spacing:-.035em}.product-intro .lead{color:var(--jpy-muted);font-size:16px;line-height:1.75;max-width:720px}.product-intro .product-tags{margin-top:28px}.feature-lines{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:28px;border:1px solid var(--jpy-line);background:var(--jpy-line)}.feature-lines li{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;padding:22px 24px;background:#080d1d;color:#cbd5e8;font-size:14px;line-height:1.55}.feature-lines i{color:var(--jpy-secondary);font-style:normal;font-weight:600;font-size:13px;letter-spacing:.04em}
.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--jpy-line);border-left:1px solid var(--jpy-line)}.capability{min-height:300px;padding:38px;border-right:1px solid var(--jpy-line);border-bottom:1px solid var(--jpy-line)}.capability b{color:#516382;font-size:13px}.capability h3{margin-top:64px;font-size:26px;font-weight:520}.capability p{margin-top:14px;color:var(--jpy-muted);font-size:14px}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--jpy-line)}.process-step{min-height:260px;padding:34px;background:#080d1d;position:relative;overflow:hidden;transition:background .35s ease,transform .35s ease,box-shadow .35s ease}.process-step:before{content:'';position:absolute;left:0;top:0;width:3px;height:0;background:linear-gradient(180deg,var(--jpy-primary),var(--jpy-secondary));transition:height .45s ease}.process-step:hover:before,.process-step.is-in:before{height:100%}.process-step b{font-size:40px;font-weight:400;color:#304b89;display:inline-block;transition:color .35s,transform .35s}.process-step:hover b{color:var(--jpy-secondary);transform:translateY(-4px)}.process-step h3{margin-top:56px;font-size:20px}.process-step p{margin-top:10px;color:var(--jpy-muted);font-size:13px}
.about-manifesto{max-width:1180px;font-size:clamp(38px,4.8vw,74px);font-weight:520;line-height:1.22;letter-spacing:-.04em}.about-manifesto em{color:var(--jpy-secondary);font-style:normal}
.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--jpy-line)}.value-item{padding:50px;background:#080d1d}.value-item strong{font-size:46px;font-weight:450}.value-item h3{margin-top:54px;font-size:24px}.value-item p{margin-top:12px;color:var(--jpy-muted)}
.news-list-y{border-color:var(--jpy-line)}.news-row{grid-template-columns:120px 1fr auto;padding:30px 8px;border-color:var(--jpy-line)}.news-row:hover{background:#0b1228}.news-row h3{font-size:20px;color:#f3f6ff}.news-row p,.news-row .date{color:var(--jpy-muted)}
.contact-grid{grid-template-columns:.8fr 1.2fr;gap:20px}.contact-info,.contact-form{border-radius:0;border:1px solid var(--jpy-line);box-shadow:none}.contact-info{background:#0b1228}.contact-form{background:#f4f7fc;color:#111a30}.form-row input,.form-row textarea,.form-row select{border-radius:2px;background-color:#fff;border-color:#dbe3f0}.form-row select{min-height:52px;appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%2364708b' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px;cursor:pointer}
.cta-band{border-radius:0;min-height:310px;padding:70px;background:#0b1737}.cta-band h2{font-size:clamp(34px,4vw,58px);font-weight:520}
.quote-band{padding:110px 0;background:#07112b;border-top:1px solid rgba(66,116,234,.28)}.quote-grid{grid-template-columns:1fr .85fr;gap:8vw}.quote-copy h2{font-size:clamp(42px,5vw,76px);font-weight:520;line-height:1.08}.quote-copy p{font-size:17px}.quote-form{border-radius:0;padding:44px;background:#f1f5fb;box-shadow:none}.quote-form input,.quote-form select,.quote-form textarea{border-radius:2px}.quote-form .btn-submit{border-radius:2px;background:#2f6bff}

/* ---------- 5. 滚动显现 / 响应式 ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}.reveal.is-in{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.45s}
.page-banner .inner > .reveal{transform:translateY(28px)}.page-banner .inner > .reveal.is-in{transition-duration:.9s}
.page-banner .eyebrow.reveal{transition-delay:.05s}.page-banner h1.reveal{transition-delay:.15s}.page-banner p.reveal{transition-delay:.28s}.page-banner .breadcrumb.reveal{transition-delay:.4s}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:1100px){:root{--jpy-header-h:76px}.section-heading,.product-intro{grid-template-columns:1fr;display:grid}.product-intro .feature-lines{grid-template-columns:1fr}.product-bento{grid-template-columns:1fr}.product-panel:nth-child(n){grid-column:auto}.case-showcase{grid-template-columns:1fr}.case-feature{min-height:520px}.case-side{grid-template-columns:1fr 1fr}.capability-grid{grid-template-columns:repeat(2,1fr)}.process-grid{grid-template-columns:repeat(2,1fr)}.quote-grid{grid-template-columns:1fr}.hero-index{display:none}}
@media(max-width:700px){.wrapper,.wrapper-wide,.hero-content,.page-banner .inner{width:calc(100% - 36px)}.section{padding:80px 0}.future-hero{min-height:760px}.future-hero h1{font-size:48px}.hero-content{padding:130px 0 70px}.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}.product-panel{min-height:390px}.product-panel h3{margin-top:70px}.section-heading{margin-bottom:42px}.section-heading h2{font-size:38px}.solution-row{grid-template-columns:50px 1fr}.solution-row p,.solution-row .text-link{display:none}.case-side,.case-catalog{grid-template-columns:1fr}.case-feature{min-height:450px}.case-small{min-height:300px}.capability-grid,.value-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:1fr}.product-intro{gap:36px}.page-banner{height:480px}.page-banner h1{font-size:48px}.contact-grid{grid-template-columns:1fr}.quote-form{padding:28px}.quote-form .row{grid-template-columns:1fr}}

/* ---------- 6. 深色导航与页脚覆盖 ---------- */
.site-header{height:var(--jpy-header-h);background:rgba(3,6,18,.76);border-bottom-color:rgba(140,169,226,.12);backdrop-filter:blur(18px)}
.site-header.is-transparent{background:rgba(3,6,18,.22)}.site-header.is-scrolled,.site-header.is-transparent.is-scrolled,.site-header.is-open{background:rgba(3,6,18,.96);box-shadow:none;border-bottom-color:var(--jpy-line)}
.site-header .nav-link,.site-header .logo-text,.site-header.is-transparent.is-scrolled .nav-link,.site-header.is-transparent.is-open .nav-link,.site-header.is-transparent.is-scrolled .logo-text,.site-header.is-transparent.is-open .logo-text{color:#eef4ff}
.site-header .nav-link:hover,.site-header .nav-link.is-active{color:var(--jpy-secondary)}
.header-inner{height:var(--jpy-header-h)}.logo-mark{display:none!important}.logo-text{display:none!important}.logo-img{height:42px;width:auto;max-width:210px;object-fit:contain;display:block}
/* 页脚 .footer-qr 覆盖已移除：二维码改由右侧浮标提供 */
.nav-link{padding:12px 16px;font-size:14px}.nav-link:after{bottom:0;height:1px;background:var(--jpy-secondary)}
.header-tel{border:0;color:#9cabc7;padding:8px 8px}.btn-cta{height:42px;border-radius:3px;background:#2f6bff;box-shadow:none}.btn-cta:hover{transform:none;filter:none;background:#3c78ff;box-shadow:0 0 28px rgba(47,107,255,.35)}
.mega-panel{top:calc(100% + 12px);width:720px;padding:24px;border-radius:12px;background:#080e20;border-color:rgba(255,255,255,0.12);box-shadow:0 28px 70px rgba(0,0,0,.6)}.mega-panel.mega-wide{width:900px;display:grid;grid-template-columns:280px 1fr;gap:24px}
.mega-intro{padding:12px 20px;border-right:1px solid rgba(255,255,255,0.12)}.mega-intro span{color:var(--jpy-secondary);font-size:10px;letter-spacing:.16em}.mega-intro strong{display:block;margin-top:28px;font-size:24px;line-height:1.35;color:#fff}.mega-intro p{margin-top:14px;color:rgba(255,255,255,.6);font-size:13px}
.mega-card{display:flex;align-items:center;gap:16px;border-radius:8px;background:#0c142a;padding:16px;border:1px solid rgba(255,255,255,0.04);transition:all .3s ease}.mega-card:hover{background:#112042;border-color:rgba(21,94,239,0.3);transform:translateY(-2px)}.mega-card iconify-icon{font-size:24px;color:var(--jpy-secondary);flex-shrink:0;transition:transform .3s ease}.mega-card:hover iconify-icon{transform:scale(1.1)}.mega-card strong{display:block;color:#fff;font-size:14px;font-weight:700;margin-bottom:3px}.mega-card span{display:block;color:#8290aa;font-size:12px}
.site-footer{background:#030611}.footer-nav-bar{background:#050916}.footer-main{padding-top:74px}.footer-top{grid-template-columns:1.6fr repeat(3,1fr);gap:60px}.footer-phone{color:var(--jpy-secondary)}.float-consult{display:none}
.nav-mobile{
  background:linear-gradient(180deg,#050916 0%,#071225 55%,#0a1630 100%);
  border-color:transparent;
}
.nav-mobile a{
  color:#e8eefc;
  border-bottom-color:rgba(255,255,255,.08);
}
.nav-mobile a.is-active{
  color:#68b5ff;
}
.nav-mobile a:not(.mobile-cta):active{
  background:rgba(255,255,255,.03);
}
.nav-mobile .mobile-cta{
  color:#fff;
  background:#2f6bff;
  border:0;
  box-shadow:0 14px 32px rgba(47,107,255,.35);
}
.site-header.is-open{
  background:rgba(5,9,22,.98);
  border-bottom-color:rgba(255,255,255,.06);
  height:100vh;
  height:100dvh;
  overflow:hidden;
  backdrop-filter:none;
}
.site-header.is-transparent.is-open .nav-link,
.site-header.is-transparent.is-open .logo-text,
.site-header.is-transparent.is-open .header-tel{
  color:#eef4ff;
}
.site-header.is-transparent.is-open .menu-toggle span{
  background:#fff;
}
@media(max-width:1280px){.nav-link{padding:10px 9px;font-size:13px}}
@media(max-width:1100px){.header-actions .btn-cta{display:none}.site-header .menu-toggle span,.site-header.is-transparent.is-scrolled .menu-toggle span,.site-header.is-transparent.is-open .menu-toggle span{background:#fff}.mega-panel{display:none}.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:700px){
  .footer-top{grid-template-columns:1fr}
  .footer-nav-bar{display:none}
  /* 与 header.css 对齐：≤700 也合并导航入口 */
  .footer-nav-merge{
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:20px;
  }
  .footer-nav-merge .footer-col{display:contents}
  .footer-nav-merge .footer-col-biz h4{grid-column:1/-1;margin-bottom:14px}
  .footer-nav-merge .footer-col-biz .title-desktop{display:none}
  .footer-nav-merge .footer-col-biz .title-mobile{display:inline}
  .footer-nav-merge .footer-col-explore h4{display:none}
}

/* ============================================================
   7. 企业科技版覆盖：深海军蓝 × 白色内容面
   ============================================================ */
  /* 2026.07 企业科技版：深海军蓝 × 白色内容面 */
  :root{--jpy-primary:#155eef;--jpy-primary-dark:#0d42bc;--jpy-secondary:#00a9d6;--jpy-dark:#07101f;--jpy-dark-slate:#0e1b32;--jpy-text:#14213a;--jpy-muted:#60708b;--jpy-light:#8793a8;--jpy-line:#dfe6f0;--jpy-bg:#f4f7fb;--jpy-wrapper:1360px;--jpy-wide:1520px}
  html{background:#fff}
  body{color:var(--jpy-text);background:#fff}
  .page-main{background:#fff}
  .section{padding:clamp(82px,7vw,122px) 0;background:#fff;color:var(--jpy-text)}
  .section.alt{background:var(--jpy-bg);color:var(--jpy-text)}
  .section.tech-grid{background-color:#f4f7fb;background-image:linear-gradient(rgba(21,94,239,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(21,94,239,.045) 1px,transparent 1px)}
  .section-heading{margin-bottom:54px}.section-heading h2{font-size:clamp(34px,3.3vw,54px);line-height:1.13;letter-spacing:-.035em}.section-heading p{color:var(--jpy-muted);font-size:16px}
  .eyebrow{color:#1260df}.text-link{color:#1260df}.btn{height:50px}
  .future-hero{min-height:clamp(680px,82vh,820px);background:#07101f}
  .future-hero:before{background:radial-gradient(circle at 77% 36%,rgba(29,102,230,.25),transparent 28%),linear-gradient(90deg,rgba(7,16,31,.98) 10%,rgba(7,16,31,.8) 60%,rgba(7,16,31,.35));z-index:1}
  .future-hero:after{width:min(48vw,720px);height:min(48vw,720px);right:2%;top:8%;box-shadow:0 0 0 70px rgba(37,108,225,.025),0 0 0 140px rgba(0,169,214,.015)}
  .hero-content{padding:138px 0 88px}.future-hero h1{max-width:970px;color:#fff;font-size:clamp(48px,5vw,78px);line-height:1.06;letter-spacing:-.045em}.future-hero h1 span{-webkit-text-stroke:0;color:#fff}.hero-lead{max-width:680px;font-size:18px;color:var(--jpy-muted)}.future-hero .hero-lead{color:#c5d0e6}.hero-index{bottom:38px}
  
  /* 顶栏与菜单配色一致性修正：统一使用高质量深色底和白色内容 */
  .site-header {
    background: #07101f !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  }
  .site-header.is-scrolled {
    background: #07101f !important;
    box-shadow: 0 8px 32px rgba(3,6,18,0.24) !important;
  }
  .site-header .nav-link, .site-header .logo-text, .site-header .header-tel {
    color: #e2ecf9 !important;
  }
  .site-header .nav-link:hover, .site-header .nav-link.is-active {
    color: var(--jpy-secondary) !important;
  }
  .site-header .nav-caret {
    border-top-color: #e2ecf9 !important;
  }
  .site-header .menu-toggle span {
    background: #fff !important;
  }
  .site-header .btn-cta {
    background: var(--jpy-primary) !important;
    color: #fff !important;
  }
  .site-header .btn-cta:hover {
    background: #256bfa !important;
    box-shadow: 0 0 24px rgba(33,105,249,0.4) !important;
  }
  
  /* 二级菜单面板修正：解决亮色透底、悬浮突兀、箭头错位等问题 */
  .mega-panel {
    top: calc(100% + 4px) !important;
    background: #0a142c !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    box-shadow: 0 20px 50px rgba(0,0,0,0.55) !important;
    border-radius: 8px !important;
  }
  .mega-intro strong {
    color: #fff !important;
  }
  .mega-card {
    background: rgba(255,255,255,0.02) !important;
    border: 1px solid rgba(255,255,255,0.04) !important;
  }
  .mega-card:hover {
    background: rgba(21,94,239,0.12) !important;
    border-color: rgba(21,94,239,0.4) !important;
  }
  .mega-card strong {
    color: #fff !important;
  }
  .mega-card span {
    color: #92a1bd !important;
  }
  
  .trust-rail{background:#fff;border-color:var(--jpy-line);color:var(--jpy-text)}.trust-item{border-color:var(--jpy-line)}.trust-item strong{font-size:clamp(27px,2.5vw,40px);color:#10203c}.trust-item span{color:var(--jpy-muted)}
.product-bento{gap:20px}.product-panel{min-height:390px;background:#fff;color:var(--jpy-text);border-color:#dce5f0;box-shadow:0 10px 35px rgba(21,48,87,.045);transform-style:preserve-3d;transition:transform .18s ease,box-shadow .35s ease,border-color .35s ease}.product-panel:nth-child(3),.product-panel:nth-child(4){min-height:330px}.product-panel:hover{border-color:rgba(21,94,239,.38);box-shadow:0 24px 65px rgba(29,67,122,.13)}.product-panel:before{border-color:rgba(21,94,239,.16)}.product-panel h3{margin-top:74px;color:#10203c}.product-panel p{color:var(--jpy-muted)}.product-tags span{border-color:#dbe4ef;color:#63718a;background:#f8fafc}.product-no{color:#8b9ab0}
.solution-stack{border-color:#d9e2ee}.solution-row{border-color:#d9e2ee;transition:background .3s,padding .3s}.solution-row h3{color:#172640}.solution-row p{color:var(--jpy-muted)}.solution-row:hover{padding-left:24px;background:#f5f8fc}.solution-row:hover h3{color:#155eef}
.case-showcase,.case-catalog{perspective:1400px}.case-feature,.case-small,.case-card-new{border-color:#d8e1ec;background:#fff;box-shadow:0 14px 45px rgba(21,48,87,.08);transform-style:preserve-3d;transition:transform .18s ease,box-shadow .35s ease}.case-feature:hover,.case-small:hover,.case-card-new:hover{box-shadow:0 32px 80px rgba(22,55,103,.18)}.case-card-new .case-copy{background:#fff;color:var(--jpy-text)}.case-card-new p{color:var(--jpy-muted)}.case-meta h3{color:#fff}.case-meta span{color:var(--jpy-secondary)}
.case-feature{min-height:600px}.case-small{min-height:290px}.case-filter button{color:#66758d;border-color:#d7e0eb;background:#fff}.case-filter button.is-active,.case-filter button:hover{background:#155eef;border-color:#155eef}
.about-manifesto{font-size:clamp(34px,4vw,62px);color:#14213a}.about-manifesto em{color:#155eef}
.value-grid{background:#dce4ef}.value-item{background:#fff;color:#172640}.value-item p{color:var(--jpy-muted)}.value-item strong{color:#155eef}
.capability-grid{border-color:#dce4ef}.capability{min-height:270px;border-color:#dce4ef;background:#fff;color:#172640;transition:background .3s,transform .3s}.capability:hover{background:#f4f8ff;transform:translateY(-5px)}.capability p{color:var(--jpy-muted)}
.process-grid{background:#dce4ef}.process-step{min-height:235px;background:#fff;color:#172640;transition:background .35s,transform .35s,box-shadow .35s}.process-step:hover{background:#edf4ff;transform:translateY(-6px);box-shadow:0 18px 40px rgba(21,48,87,.08)}.process-step b{color:#9eb0d0}.process-step:hover b{color:#155eef}.process-step h3{margin-top:42px}.process-step p{color:var(--jpy-muted)}
.cta-band{position:relative;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease}.cta-band:after{content:'';position:absolute;right:-8%;top:-40%;width:280px;height:280px;border-radius:50%;border:1px solid rgba(255,255,255,.08);animation:orbit 22s linear infinite;pointer-events:none}.cta-band:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(7,16,31,.28)}
.value-item,.capability{transition:background .35s,transform .35s,box-shadow .35s}.value-item:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(21,48,87,.08)}
.news-row{transition:background .3s,transform .3s,padding .3s}.news-row:hover{transform:translateX(6px)}
.solution-row{transition:background .3s,padding .3s,transform .3s}.solution-row:hover{transform:translateX(4px)}
.news-list-y{border-color:#dce4ef}.news-row{border-color:#dce4ef}.news-row h3{color:#182741}.news-row p,.news-row .date{color:var(--jpy-muted)}.news-row:hover{background:#f3f7fc}
.product-intro h2{font-size:clamp(34px,3.3vw,54px);color:#15233d;line-height:1.13;letter-spacing:-.035em}.product-intro .lead{color:#566681;font-size:16px;line-height:1.75}.feature-lines{border-color:#dce4ef;background:#dce4ef}.feature-lines li{color:#263650;background:#fff;transition:background .3s}.feature-lines li:hover{background:#f4f8ff}.feature-lines i{color:#155eef}
.page-banner{height:clamp(430px,50vh,560px)}.page-banner h1,.page-banner p,.page-banner .breadcrumb,.page-banner .eyebrow{color:#fff}.page-banner p{color:#a8b6d0}.page-banner .breadcrumb{color:#65728c}.page-banner .eyebrow{color:var(--jpy-secondary)}.page-banner h1{font-size:clamp(44px,5vw,72px);color:#fff}
.cta-band{min-height:260px;background:#0b1a34;color:#fff}.cta-band h2{font-size:clamp(30px,3.2vw,48px);color:#fff}.cta-band p{color:#a8b6d0}
.quote-band{padding:94px 0;background:#0a1932;color:#fff}.quote-copy h2{font-size:clamp(38px,4vw,62px);color:#fff}.quote-form{background:#fff}
.contact-info{background:#0b1a34;color:#fff}.contact-form{background:#f7f9fc}

/* ---------- 8. 光晕跟随 / Canvas / 3D 倾斜 ---------- */
.float-glow{position:absolute;pointer-events:none;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(21,94,239,0.08),transparent 70%);filter:blur(16px);transform:translate(-50%,-50%);opacity:0;transition:opacity .4s ease;z-index:0}.has-pointer-glow:hover .float-glow{opacity:1}
#tech-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.55;pointer-events:none}.future-hero .hero-content,.future-hero .hero-index{z-index:3}
.tilt-card>*{transform:translateZ(16px)}.case-visual{transform:translateZ(1px)}.tilt-card{transition:transform .5s cubic-bezier(.25,1,.5,1),box-shadow .4s ease,border-color .4s ease,background .4s ease!important}.tilt-card:hover{transition:transform .08s linear,box-shadow .4s ease,border-color .4s ease!important}
.reveal{transform:translateY(16px)}
@media(max-width:1100px){.future-hero{min-height:680px}.hero-content{padding:125px 0 80px}.case-feature{min-height:500px}}
@media(max-width:700px){.section{padding:72px 0}.future-hero{min-height:680px}.future-hero h1{font-size:43px}.hero-content{padding:112px 0 64px}.hero-lead{font-size:16px}.trust-item{padding:24px 18px}.product-panel{min-height:350px}.section-heading h2{font-size:34px}.case-feature{min-height:420px}.page-banner{height:440px}.page-banner h1{font-size:43px}}

/* ---------- 9. 公司动态列表卡片 & 关于我们融合布局 ---------- */
.news-card-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 32px;
}
.news-card-row {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #dce4ef;
  border-radius: 0;
  overflow: hidden;
  transition: all 0.35s cubic-bezier(.22,1,.36,1);
  box-shadow: 0 8px 30px rgba(21,48,87,0.02);
}
.news-card-row:hover {
  border-color: rgba(21,94,239,0.3);
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(21,48,87,0.08);
}
.news-card-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: #091128;
}
.news-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s cubic-bezier(.22,1,.36,1);
}
.news-card-row:hover .news-card-img img {
  transform: scale(1.06);
}
.news-card-body {
  padding: 24px 26px 28px;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.news-card-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
  font-size: 13px;
  color: var(--jpy-muted);
}
.news-card-tag {
  background: #edf4ff;
  color: var(--jpy-primary);
  padding: 4px 10px;
  border-radius: 2px;
  font-weight: 600;
}
.news-card-row h3 {
  font-size: 18px;
  font-weight: 600;
  color: #10203c;
  margin: 0 0 10px 0;
  transition: color 0.3s;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card-row:hover h3 {
  color: var(--jpy-primary);
}
.news-card-row p {
  font-size: 14px;
  color: var(--jpy-muted);
  line-height: 1.6;
  margin: 0 0 16px 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex: 1;
}
.news-card-more {
  margin-top: auto;
  font-size: 14px;
  font-weight: 600;
  color: var(--jpy-primary);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: gap 0.3s;
}
.news-card-row:hover .news-card-more {
  gap: 10px;
}

.about-merged-layout {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: clamp(48px, 5vw, 80px);
  align-items: start;
}
.about-merged-left h2 {
  font-size: clamp(34px, 3.3vw, 54px);
  font-weight: 550;
  color: #15233d;
  line-height: 1.13;
  letter-spacing: -.035em;
  margin: 12px 0 28px 0;
}
.about-merged-desc p {
  font-size: 16px;
  line-height: 1.75;
  color: var(--jpy-muted);
  margin-bottom: 18px;
  max-width: 640px;
}
.about-merged-desc p:last-child {
  margin-bottom: 0;
}
.about-merged-right {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.about-advantage-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
  background: #fff;
  border: 1px solid var(--jpy-line);
  border-radius: 0;
  padding: 34px;
  box-shadow: 0 10px 35px rgba(21,48,87,.045);
  transition: border-color .35s, transform .35s, box-shadow .35s;
  min-height: 260px;
}
.about-advantage-card:hover {
  border-color: rgba(21,94,239,.38);
  transform: translateY(-5px);
  box-shadow: 0 24px 65px rgba(29,67,122,.13);
}
.about-advantage-card .advantage-icon {
  width: 48px;
  height: 48px;
  border-radius: 4px;
  background: #edf4ff;
  color: var(--jpy-primary);
  display: grid;
  place-items: center;
  font-size: 22px;
  flex-shrink: 0;
  transition: background .35s, color .35s;
}
.about-advantage-card:hover .advantage-icon {
  background: var(--jpy-primary);
  color: #fff;
}
.about-advantage-card .advantage-content h3 {
  font-size: 24px;
  font-weight: 520;
  color: #10203c;
  margin: 6px 0 12px 0;
}
.about-advantage-card .advantage-content p {
  font-size: 14px;
  line-height: 1.7;
  color: var(--jpy-muted);
  margin: 0;
}

@media(max-width: 1100px) {
  .about-merged-layout {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .about-merged-right {
    grid-template-columns: 1fr 1fr;
  }
}
@media(max-width: 1100px) {
  .news-card-list {
    grid-template-columns: 1fr 1fr;
  }
}
@media(max-width: 700px) {
  .news-card-list {
    grid-template-columns: 1fr;
  }
  .news-card-body {
    padding: 20px 18px 24px;
  }
}
@media(max-width: 700px) {
  .about-merged-right {
    grid-template-columns: 1fr;
  }
  .about-advantage-card {
    min-height: 0;
    padding: 28px;
  }
}

/* ---------- 10. 多端小程序 Bento 布局与图标美化 ---------- */
.bento-platform-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-top: 48px;
}
.bento-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--jpy-line);
  border-radius: 12px;
  padding: 40px;
  overflow: hidden;
  box-shadow: 0 10px 35px rgba(21,48,87,0.035);
  transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 320px;
}
.bento-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 65px rgba(21,48,87,0.1);
  border-color: rgba(21,94,239,0.38);
}
.bento-card-double {
  grid-column: span 2;
}
.bento-card-accent {
  background: linear-gradient(135deg, #07c160, #04be02);
  border-color: transparent !important;
  color: #fff !important;
}
.bento-card-accent:hover {
  box-shadow: 0 24px 65px rgba(4,190,2,0.3);
}
.bento-card-accent h3, .bento-card-accent p, .bento-card-accent b {
  color: #fff !important;
}
.bento-card b {
  font-size: 12px;
  font-weight: 700;
  color: var(--jpy-muted);
  letter-spacing: 0.12em;
}
.bento-card h3 {
  font-size: 24px;
  font-weight: 600;
  color: #10203c;
  margin-top: 24px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.bento-card p {
  font-size: 14px;
  color: var(--jpy-muted);
  margin-top: 12px;
  line-height: 1.7;
}
.bento-icon {
  font-size: 40px;
  color: #155eef;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 68px;
  background: #f4f8ff;
  border-radius: 12px;
  transition: all 0.3s;
}
.bento-card:hover .bento-icon {
  transform: scale(1.05);
}
.bento-card-accent .bento-icon {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.bento-card-dy {
  background: linear-gradient(135deg, #161823, #06070a);
  border-color: transparent !important;
  color: #fff !important;
}
.bento-card-dy h3, .bento-card-dy p, .bento-card-dy b {
  color: #fff !important;
}
.bento-card-dy:hover {
  box-shadow: 0 24px 65px rgba(22,24,35,0.4);
}
.bento-card-dy .bento-icon {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

@media(max-width: 1100px) {
  .bento-platform-grid {
    grid-template-columns: 1fr;
  }
  .bento-card-double {
    grid-column: span 1;
  }
}


/* ============================================================
   10. 素材复用：区块遮罩 / 列表 hover / 内页 Banner 分化
   来源：jinpinyun2021 bg/banner + jinpinyun.cn a/b/banner2
   ============================================================ */

.section.sec-mask,
.section.sec-mask-wave,
.section.sec-mask-mesh,
.section.sec-mask-city {
  isolation: isolate;
}
.section.sec-mask::before,
.section.sec-mask-wave::before,
.section.sec-mask-mesh::before,
.section.sec-mask-city::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: .12;
}
.section.sec-mask::after,
.section.sec-mask-wave::after,
.section.sec-mask-mesh::after,
.section.sec-mask-city::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(244,247,251,.88) 55%, rgba(255,255,255,.94) 100%);
}
.section.sec-mask > *,
.section.sec-mask-wave > *,
.section.sec-mask-mesh > *,
.section.sec-mask-city > * {
  position: relative;
  z-index: 1;
}
.section.sec-mask-wave::before {
  background-image: url("../images/texture-wave.png");
  background-position: bottom center;
  background-size: 100% auto;
  opacity: .35;
}
.section.sec-mask-wave::after {
  background: linear-gradient(180deg, #fff 0%, rgba(255,255,255,.78) 45%, rgba(244,247,251,.92) 100%);
}
/* 首页：为什么选我们 → 案例精选，交界空白减半 */
.section.sec-mask-wave:has(+ .section.alt) {
  padding-bottom: clamp(41px, 3.5vw, 61px);
}
.section.sec-mask-wave + .section.alt {
  padding-top: clamp(41px, 3.5vw, 61px);
}
@media (max-width: 700px) {
  .section.sec-mask-wave:has(+ .section.alt) {
    padding-bottom: 36px;
  }
  .section.sec-mask-wave + .section.alt {
    padding-top: 36px;
  }
}
.section.sec-mask-mesh::before {
  background-image: url("../images/texture-mesh.png");
  background-size: cover;
  opacity: .22;
}
.section.sec-mask-mesh::after {
  background: linear-gradient(120deg, rgba(255,255,255,.94) 0%, rgba(244,247,251,.82) 100%);
}
.section.sec-mask-city::before {
  background-image: url("../images/sec-bg-city.jpg");
  opacity: .18;
  filter: grayscale(.2);
}
.section.sec-mask-city::after {
  background: linear-gradient(100deg, rgba(7,16,31,.04) 0%, rgba(244,247,251,.9) 40%, rgba(255,255,255,.96) 100%);
}
.section.alt.sec-mask-wave::after,
.section.alt.sec-mask-mesh::after,
.section.alt.sec-mask-city::after {
  background: linear-gradient(180deg, rgba(244,247,251,.94) 0%, rgba(244,247,251,.85) 100%);
}

.cta-band {
  background:
    linear-gradient(105deg, rgba(7,16,31,.92) 0%, rgba(11,26,52,.78) 48%, rgba(7,16,31,.7) 100%),
    url("../images/banner-service.jpg") center/cover no-repeat !important;
}
.quote-band {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(100deg, rgba(7,16,31,.94) 0%, rgba(10,25,50,.82) 55%, rgba(7,16,31,.72) 100%),
    url("../images/sec-bg-city.jpg") center/cover no-repeat !important;
}
.quote-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/texture-wave.png") bottom center / 100% auto no-repeat;
  opacity: .18;
  pointer-events: none;
}
.quote-band > * { position: relative; z-index: 1; }

.product-panel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: 0;
  transition: opacity .45s ease;
  background-size: cover;
  background-position: center;
  mix-blend-mode: luminosity;
}
.product-panel > * { position: relative; z-index: 1; }
.product-panel:nth-child(1)::after { background-image: url("../images/banner-biz.jpg?v=20260728f"); }
.product-panel:nth-child(2)::after { background-image: url("../images/banner-tech.jpg?v=20260728f"); }
.product-panel:nth-child(3)::after { background-image: url("../images/banner-soft.jpg?v=20260728f"); }
.product-panel:nth-child(4)::after { background-image: url("../images/banner-alt.jpg?v=20260728f"); }
.product-panel:hover::after { opacity: .1; }
.product-panel:hover {
  background-image: linear-gradient(165deg, #fff 35%, #f3f7ff 100%);
}

.solution-row {
  position: relative;
  overflow: hidden;
  z-index: 0;
}
.solution-row::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(245,248,252,.94) 0%, rgba(245,248,252,.88) 55%, rgba(245,248,252,.55) 100%),
    url("../images/hover-pattern-a.jpg") right center / cover no-repeat;
  opacity: 0;
  transition: opacity .35s ease;
}
.solution-row:nth-child(even)::before {
  background-image:
    linear-gradient(90deg, rgba(245,248,252,.94) 0%, rgba(245,248,252,.88) 55%, rgba(245,248,252,.55) 100%),
    url("../images/hover-pattern-b.jpg");
  background-position: right center;
  background-size: cover;
  background-repeat: no-repeat;
}
.solution-row:hover::before { opacity: 1; }
.solution-row:hover { background: transparent; }

.feature-lines li {
  position: relative;
  overflow: hidden;
  z-index: 0;
  transition: transform .3s ease;
}
.feature-lines li::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(244,248,255,.96), rgba(244,248,255,.82)),
    url("../images/texture-mesh.png") center / cover no-repeat;
  opacity: 0;
  transition: opacity .3s ease;
}
.feature-lines li:hover::before { opacity: 1; }
.feature-lines li:hover {
  background: transparent !important;
  transform: translateX(4px);
}

.process-step::after {
  content: "";
  position: absolute;
  right: -20%;
  bottom: -30%;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: url("../images/texture-wave.png") center / cover no-repeat;
  opacity: 0;
  transition: opacity .4s ease, transform .4s ease;
  pointer-events: none;
}
.process-step:hover::after {
  opacity: .22;
  transform: scale(1.15);
}

.capability,
.value-item,
.about-advantage-card {
  position: relative;
  overflow: hidden;
}
.capability::after,
.value-item::after {
  content: "";
  position: absolute;
  inset: auto -10% -35% auto;
  width: 200px;
  height: 200px;
  background: url("../images/texture-mesh.png") center / cover no-repeat;
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
}
.capability:hover::after,
.value-item:hover::after {
  opacity: .18;
}

.web-tab-btn {
  position: relative;
  overflow: hidden;
}
.web-tab-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/texture-mesh.png") right center / cover no-repeat;
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
.web-tab-btn:hover::after,
.web-tab-btn.active::after {
  opacity: .12;
}

.page-banner {
  background-color: #07101f;
  background-image: url("../images/hero-bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.page-banner.banner-biz { background-image: url("../images/banner-biz.jpg?v=20260728f"); }
.page-banner.banner-tech { background-image: url("../images/banner-tech.jpg?v=20260728f"); }
.page-banner.banner-soft { background-image: url("../images/banner-soft.jpg?v=20260728f"); }
.page-banner.banner-service { background-image: url("../images/banner-service.jpg?v=20260728f"); }
.page-banner.banner-case { background-image: url("../images/banner-case.jpg?v=20260728f"); }
.page-banner.banner-alt { background-image: url("../images/banner-alt.jpg?v=20260728f"); }
.page-banner.banner-brand { background-image: url("../images/banner-brand.jpg?v=20260728f"); }
.page-banner.banner-seo { background-image: url("../images/banner-seo.jpg?v=20260728f"); }
.page-banner.banner-faq { background-image: url("../images/banner-faq.jpg?v=20260728f"); }
.page-banner.banner-sec1 { background-image: url("../images/banner-sec1.jpg?v=20260728f"); }
.page-banner.banner-sec2 { background-image: url("../images/banner-sec2.jpg?v=20260728f"); }
.page-banner.banner-sec3 { background-image: url("../images/banner-sec3.jpg?v=20260728f"); }
.page-banner.banner-biz::before,
.page-banner.banner-tech::before,
.page-banner.banner-soft::before,
.page-banner.banner-service::before,
.page-banner.banner-case::before,
.page-banner.banner-alt::before,
.page-banner.banner-brand::before,
.page-banner.banner-seo::before,
.page-banner.banner-faq::before,
.page-banner.banner-sec1::before,
.page-banner.banner-sec2::before,
.page-banner.banner-sec3::before {
  background:
    linear-gradient(90deg, rgba(5, 12, 28, .92) 0%, rgba(7, 22, 48, .78) 42%, rgba(21, 94, 239, .28) 100%),
    linear-gradient(180deg, rgba(5, 12, 28, .35) 0%, rgba(5, 12, 28, .55) 100%) !important;
}

.news-card-row { position: relative; }
.news-card-row::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../images/texture-mesh.png") right center / 420px auto no-repeat;
  opacity: 0;
  transition: opacity .35s ease;
  pointer-events: none;
}
.news-card-row:hover::after { opacity: .08; }

/* ---------- 首页：ai-jinpinyun 文案结构 + CMS VI ---------- */
.home-product-bento .product-panel:nth-child(1),
.home-product-bento .product-panel:nth-child(2),
.home-product-bento .product-panel:nth-child(3) {
  grid-column: span 4;
  min-height: 420px;
}
.home-product-bento .product-panel:nth-child(1)::after {
  background-image: url("../images/banner-tech.jpg?v=20260728f");
}
.home-product-bento .product-panel:nth-child(2)::after {
  background-image: url("../images/banner-soft.jpg?v=20260728f");
}
.home-product-bento .product-panel:nth-child(3)::after {
  background-image: url("../images/banner-biz.jpg?v=20260728f");
}

.home-why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: #dce4ef;
  border: 1px solid #dce4ef;
}
.home-why-item {
  background: #fff;
  padding: clamp(28px, 3vw, 40px) 28px;
  transition: background .25s;
}
.home-why-item:hover { background: #f4f8ff; }
.home-why-item b {
  display: block;
  color: #155eef;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
}
.home-why-item h3 {
  margin: 22px 0 0;
  color: #15233d;
  font-size: 20px;
  font-weight: 600;
}
.home-why-item p {
  margin: 12px 0 0;
  color: #566681;
  font-size: 14px;
  line-height: 1.7;
}

.home-highlight {
  margin-top: 28px;
  padding: clamp(28px, 3vw, 40px);
  background: #0b1737;
  border: 1px solid rgba(21, 94, 239, .28);
  color: #e8eef8;
}
.home-highlight .eyebrow { color: #8eb0ff; }
.home-highlight p {
  margin: 16px 0 0;
  max-width: 920px;
  color: #c5d0e6;
  font-size: 18px;
  line-height: 1.7;
  font-weight: 500;
}
.home-highlight .text-link {
  display: inline-flex;
  margin-top: 22px;
  color: #fff;
}

.home-case-grid {
  grid-template-columns: repeat(4, 1fr);
}
.home-article-list {
  display: grid;
  gap: 14px;
}
.home-article-grid {
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.home-article-item {
  display: block;
  padding: 22px 24px;
  background: #fff;
  border: 1px solid #dce4ef;
  text-decoration: none;
  color: inherit;
  transition: border-color .25s, box-shadow .25s, transform .25s;
}
.home-article-item:hover {
  border-color: rgba(21, 94, 239, .35);
  box-shadow: 0 14px 36px rgba(21, 48, 87, .08);
  transform: translateY(-2px);
}
.home-article-item h3 {
  margin: 0;
  color: #15233d;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.home-article-item p {
  margin: 8px 0 0;
  color: #566681;
  font-size: 13px;
  line-height: 1.65;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.home-article-meta {
  display: block;
  margin-top: 12px;
  color: #8b9ab0;
  font-size: 12px;
}

@media (max-width: 1100px) {
  .home-product-bento .product-panel:nth-child(n) {
    grid-column: auto;
  }
  .home-why-grid,
  .home-case-grid,
  .home-article-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 700px) {
  .home-why-grid,
  .home-case-grid,
  .home-article-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .section.sec-mask-wave::before,
  .section.sec-mask-mesh::before,
  .section.sec-mask-city::before { opacity: .08; }
  .product-panel:hover::after { opacity: .06; }
  .solution-row::before { background-position: center; }
}
