/* ============================================================
   深渡智鉴 · 子页共享样式（浅色色调为主，普通下滑，无吸附）
   与首页 design/index.html 设计系统保持一致
   ============================================================ */
:root{
  --primary:#0A4DA6;
  --primary-light:#1E6FEB;
  --accent:#7C3AED;
  --accent-light:#A855F7;
  --cyan:#06B6D4;
  --dark:#030B1E;
  --dark-2:#071536;
  --light:#F8FAFF;
  --text:#0F172A;
  --text-muted:#475569;
  --glass:rgba(255,255,255,.08);
  --glass-border:rgba(255,255,255,.16);
  --card-bg:#FFFFFF;
  --card-border:rgba(10,77,166,.12);
  --soft-bg:#EEF3FB;
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--text);background:var(--light);-webkit-font-smoothing:antialiased}
body{line-height:1.7}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:100%;max-width:1360px;margin:0 auto;padding:0 5vw}

/* ---------- Navigation ---------- */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 5vw;height:72px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--card-border);transition:all .4s ease}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:23px;color:var(--text)}
.logo img{height:46px;width:auto}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none}
.nav-links a{color:var(--text-muted);text-decoration:none;font-size:15px;font-weight:500;transition:.3s;position:relative;padding:6px 0}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--primary-light),var(--accent-light));transition:width .3s}
.nav-links a:hover,.nav-links a.active{color:var(--primary)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer}
.nav-toggle span{width:24px;height:2px;background:var(--text);border-radius:2px}

/* ---------- Page hero (sub pages) ---------- */
.page-hero{position:relative;padding:150px 0 70px;background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:#fff;overflow:hidden}
.page-hero::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(255,255,255,.18),transparent 55%),radial-gradient(ellipse at 10% 90%,rgba(6,182,212,.22),transparent 50%);pointer-events:none}
.page-hero .container{position:relative;z-index:2}
.page-hero .crumb{font-size:13px;letter-spacing:1px;color:rgba(255,255,255,.7);margin-bottom:18px}
.page-hero .crumb a:hover{color:#fff}
.page-hero h1{font-size:clamp(32px,5vw,56px);font-weight:800;line-height:1.15;margin-bottom:18px}
.page-hero p{font-size:clamp(15px,1.8vw,19px);line-height:1.8;color:rgba(255,255,255,.85);max-width:760px}

/* ---------- Section ---------- */
.section{padding:90px 0;position:relative}
/* about page (.page-about): content spans the full viewport width.
   The .container max-width is dropped for this page so it reaches the screen edges
   (kept readable with a comfortable 5vw side padding). Alt backgrounds ride on the
   section itself (already full-bleed), avoiding the negative-margin ::before overflow. */
.page-about .container{max-width:none;padding-left:5vw;padding-right:5vw}
.page-about .section.alt{background:var(--soft-bg)}
.page-about .section.alt::before{display:none}
/* align about hero text x-axis with product center page-hero-v2 */
.page-about .page-hero .container{max-width:1360px;margin:0 auto;padding:0 5vw}
.section-head{text-align:center;max-width:760px;margin:0 auto 56px}
.section-head .eyebrow{display:inline-block;font-size:13px;letter-spacing:3px;font-weight:600;color:var(--primary-light);margin-bottom:14px}
.section-head h2{font-size:clamp(28px,3.6vw,42px);font-weight:800;margin-bottom:14px;color:var(--text)}
.section-head p{font-size:16px;color:var(--text-muted);line-height:1.8}

/* ---------- Reveal (cinematic, for all sub pages) ---------- */
.reveal{opacity:0;transform:translateY(80px) scale(.94);filter:blur(6px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),filter 1s cubic-bezier(.16,1,.3,1)}
.reveal.visible{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
.reveal-delay-1{transition-delay:.12s}.reveal-delay-2{transition-delay:.24s}.reveal-delay-3{transition-delay:.36s}.reveal-delay-4{transition-delay:.48s}
/* split media: slide in from side */
.split .split-media,.split-v2 .split-media{opacity:0;transform:translateX(-70px) scale(.96);transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}
.split.reverse .split-media,.split-v2.reverse .split-media{transform:translateX(70px) scale(.96)}
.split.visible .split-media,.split-v2.visible .split-media{opacity:1;transform:translateX(0) scale(1)}
/* feature grid cards: stagger pop */
.feature-grid .feature-card{opacity:0;transform:translateY(48px) scale(.95);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.feature-grid.visible .feature-card{opacity:1;transform:translateY(0) scale(1)}
.feature-grid .feature-card:nth-child(1){transition-delay:0s}
.feature-grid .feature-card:nth-child(2){transition-delay:.09s}
.feature-grid .feature-card:nth-child(3){transition-delay:.18s}
.feature-grid .feature-card:nth-child(4){transition-delay:.27s}
.feature-grid .feature-card:nth-child(5){transition-delay:.36s}
.feature-grid .feature-card:nth-child(6){transition-delay:.45s}
/* num strip: stagger pop */
.num-strip .num-item{opacity:0;transform:translateY(40px) scale(.9);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}
.num-strip.visible .num-item{opacity:1;transform:translateY(0) scale(1)}
.num-strip .num-item:nth-child(1){transition-delay:0s}
.num-strip .num-item:nth-child(2){transition-delay:.1s}
.num-strip .num-item:nth-child(3){transition-delay:.2s}
.num-strip .num-item:nth-child(4){transition-delay:.3s}

/* ---------- Cards ---------- */
.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:34px 30px;box-shadow:0 10px 34px rgba(10,77,166,.07);transition:.4s}
.card:hover{transform:translateY(-8px);box-shadow:0 22px 54px rgba(10,77,166,.16);border-color:rgba(30,111,235,.35)}
.card .icon{width:60px;height:60px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:28px;background:linear-gradient(135deg,rgba(30,111,235,.12),rgba(168,85,247,.12));margin-bottom:22px}
.card h3{font-size:21px;font-weight:700;margin-bottom:12px;color:var(--text)}
.card p{font-size:15px;color:var(--text-muted);line-height:1.75}

/* feature list */
.feature-list{list-style:none;display:grid;gap:14px}
.feature-list li{position:relative;padding-left:30px;font-size:16px;color:var(--text);line-height:1.75}
.feature-list li::before{content:'';position:absolute;left:0;top:9px;width:14px;height:14px;border-radius:4px;background:linear-gradient(135deg,var(--primary-light),var(--accent-light))}
.feature-list li b{color:var(--primary)}

/* image + text split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.split.reverse .split-media{order:2}
.split-media{border-radius:20px;overflow:hidden;box-shadow:0 18px 50px rgba(10,77,166,.14);background:#fff}
.split-media img{width:100%;height:auto;object-fit:cover}
/* company intro: smaller image, text top-aligned so it doesn't look over-padded */
.split--intro{align-items:flex-start}
.split--intro .split-media{max-width:380px;margin:0 auto}
.split-text h2{font-size:clamp(26px,3vw,36px);font-weight:800;margin-bottom:18px;color:var(--text)}
.split-text p{font-size:16px;color:var(--text-muted);line-height:1.85;margin-bottom:18px}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:32px}.split.reverse .split-media{order:0}}

/* stat strip */
.stat-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:10px}
.stat-box{background:#fff;border:1px solid var(--card-border);border-radius:18px;padding:30px 22px;text-align:center;box-shadow:0 8px 26px rgba(10,77,166,.06)}
.stat-box .num{font-size:clamp(34px,4vw,52px);font-weight:900;background:linear-gradient(135deg,var(--primary-light),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.stat-box .lbl{font-size:14px;color:var(--text-muted);margin-top:10px}
@media(max-width:768px){.stat-strip{grid-template-columns:repeat(2,1fr)}}

/* CTA band */
.cta-band{background:linear-gradient(135deg,var(--primary) 0%,var(--accent) 100%);color:#fff;border-radius:26px;padding:54px 48px;text-align:center;box-shadow:0 20px 60px rgba(10,77,166,.25)}
.cta-band h2{font-size:clamp(24px,3vw,34px);font-weight:800;margin-bottom:14px}
.cta-band p{font-size:16px;color:rgba(255,255,255,.85);margin-bottom:28px}
.btn-light{padding:14px 34px;border-radius:30px;background:#fff;color:var(--primary);font-size:15px;font-weight:700;border:none;cursor:pointer;transition:.3s;box-shadow:0 8px 26px rgba(0,0,0,.15)}
.btn-light:hover{transform:translateY(-3px);box-shadow:0 14px 36px rgba(0,0,0,.25)}
.btn-outline-light{padding:14px 34px;border-radius:30px;background:transparent;color:#fff;font-size:15px;font-weight:600;border:1.5px solid rgba(255,255,255,.5);cursor:pointer;transition:.3s}
.btn-outline-light:hover{background:rgba(255,255,255,.12);border-color:#fff}

/* breadcrumb pages nav (product / solution index cards) */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:1100px){.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* timeline */
.timeline{position:relative;max-width:860px;margin:0 auto;padding-left:30px}
.timeline::before{content:'';position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--primary-light),var(--accent-light))}
.tl-item{position:relative;padding:0 0 40px 30px}
.tl-item::before{content:'';position:absolute;left:-30px;top:4px;width:16px;height:16px;border-radius:50%;background:#fff;border:4px solid var(--primary-light)}
.tl-item .year{font-size:20px;font-weight:800;color:var(--primary);margin-bottom:6px}
.tl-item p{font-size:15px;color:var(--text-muted);line-height:1.8}

/* honor carousel: show 5 per row, arrow navigation */
.honor-carousel{position:relative;padding:0 50px}
.honor-viewport{overflow:hidden}
.honor-track{display:flex;gap:22px;will-change:transform}
.honor-card{flex:0 0 calc((100% - 4 * 22px) / 5);text-align:center}
.honor-card h4{font-size:14px;font-weight:600;color:var(--text);margin-bottom:14px;min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1.5}
.honor-card img{width:100%;border-radius:12px;border:1px solid var(--card-border);background:#fff;box-shadow:0 8px 24px rgba(10,77,166,.08);transition:.4s}
.honor-card img:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 18px 44px rgba(10,77,166,.18)}
.honor-prev,.honor-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--card-border);box-shadow:0 4px 14px rgba(10,77,166,.1);cursor:pointer;font-size:26px;line-height:1;color:var(--primary);transition:.3s;z-index:2;display:flex;align-items:center;justify-content:center}
.honor-prev{left:0}.honor-next{right:0}
.honor-prev:hover,.honor-next:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
@media(max-width:1100px){.honor-card{flex:0 0 calc((100% - 3 * 22px) / 4)}}
@media(max-width:900px){.honor-carousel{padding:0 40px}.honor-card{flex:0 0 calc((100% - 2 * 22px) / 3)}.honor-prev,.honor-next{width:36px;height:36px;font-size:20px}}
@media(max-width:680px){.honor-card{flex:0 0 calc((100% - 22px) / 2)}}
@media(max-width:480px){.honor-card{flex:0 0 100%}}

/* team */
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,300px));gap:18px;justify-content:center}
.team-card{background:#fff;border:1px solid var(--card-border);border-radius:20px;padding:16px;max-width:300px;margin:0 auto;box-shadow:0 10px 34px rgba(10,77,166,.08);transition:.4s;overflow:hidden}
.team-card:hover{transform:translateY(-8px);box-shadow:0 22px 54px rgba(10,77,166,.16)}
.team-photo{display:flex;justify-content:center;align-items:flex-start;margin-bottom:16px}
.team-photo img{width:auto;max-width:100%;max-height:340px;object-fit:contain;border-radius:14px;display:block;background:#eef2f8;transition:transform .6s cubic-bezier(.16,1,.3,1)}
.team-card:hover .team-photo img{transform:scale(1.05)}
.team-card h3{font-size:18px;font-weight:700;margin-bottom:5px;padding:0 8px}
.team-card .role{font-size:12.5px;color:var(--primary-light);font-weight:600;margin-bottom:10px;padding:0 8px}
.team-card p{font-size:13px;color:var(--text-muted);line-height:1.6;padding:0 8px}
@media(max-width:860px){.team-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}}

/* article card */
.article-list{display:grid;gap:24px}
.article-card{display:grid;grid-template-columns:280px 1fr;gap:28px;background:#fff;border:1px solid var(--card-border);border-radius:18px;overflow:hidden;box-shadow:0 8px 26px rgba(10,77,166,.07);transition:.4s}
.article-card:hover{transform:translateY(-6px);box-shadow:0 18px 46px rgba(10,77,166,.16)}
.article-card .thumb{background-size:cover;background-position:center;min-height:180px}
.article-card .body{padding:26px 28px 26px 0}
.article-card .date{font-size:13px;color:var(--primary-light);font-weight:600;margin-bottom:10px}
.article-card h3{font-size:20px;font-weight:700;margin-bottom:10px;color:var(--text)}
.article-card p{font-size:14px;color:var(--text-muted);line-height:1.75}
@media(max-width:680px){.article-card{grid-template-columns:1fr}.article-card .body{padding:0 22px 24px}}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.contact-info .item{display:flex;gap:16px;margin-bottom:26px}
.contact-info .item .ic{width:46px;height:46px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;font-size:20px;background:linear-gradient(135deg,rgba(30,111,235,.12),rgba(168,85,247,.12))}
.contact-info .item h4{font-size:15px;color:var(--text-muted);font-weight:600;margin-bottom:4px}
.contact-info .item p{font-size:16px;color:var(--text);font-weight:600}
.form-box{background:#fff;border:1px solid var(--card-border);border-radius:20px;padding:36px 32px;box-shadow:0 12px 40px rgba(10,77,166,.1)}
.form-box label{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:8px}
.form-box input,.form-box textarea{width:100%;padding:13px 16px;border:1px solid var(--card-border);border-radius:12px;font-size:15px;font-family:inherit;margin-bottom:20px;background:var(--soft-bg);transition:.3s}
.form-box input:focus,.form-box textarea:focus{outline:none;border-color:var(--primary-light);background:#fff;box-shadow:0 0 0 3px rgba(30,111,235,.12)}
.form-box textarea{resize:vertical;min-height:120px}
.form-box .submit{padding:14px 30px;border-radius:30px;background:linear-gradient(135deg,var(--primary-light),var(--accent));color:#fff;font-size:15px;font-weight:700;border:none;cursor:pointer;transition:.3s;width:100%}
.form-box .submit:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(30,111,235,.35)}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr;gap:32px}}

/* ---------- Footer ---------- */
footer{background:var(--dark);color:rgba(255,255,255,.7);padding:64px 0 28px}
.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-brand .logo{color:#fff;margin-bottom:18px}
.footer-brand .logo img{height:56px;width:auto}
.footer-brand p{font-size:14px;line-height:1.8;color:rgba(255,255,255,.6);max-width:300px}
.footer-col h4{font-size:16px;font-weight:700;color:#fff;margin-bottom:20px}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:12px}
.footer-col a,.footer-col li{color:rgba(255,255,255,.65);text-decoration:none;font-size:14px;transition:.3s}
.footer-col a:hover{color:var(--primary-light)}
.footer-qr-img{width:110px;height:110px;border-radius:12px;border:1px solid var(--glass-border);object-fit:contain;background:#fff;padding:6px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:24px;border-top:1px solid var(--glass-border);font-size:13px;color:rgba(255,255,255,.45);flex-wrap:wrap;gap:10px}
@media(max-width:860px){.footer-main{grid-template-columns:1fr 1fr}.footer-bottom{justify-content:flex-start}}
@media(max-width:520px){.footer-main{grid-template-columns:1fr}}

/* page padding so fixed nav doesn't overlap content top on non-hero pages */
.with-nav-pad{padding-top:72px}

/* ============================================================
   风格迭代新增：顶部下拉菜单 + 左侧固定子菜单 + 高级感排版
   ============================================================ */

/* ---------- Top navigation with unified mega dropdown ---------- */
/* 关键：nav-links 必须始终高于下拉层，保证一级菜单可点击、可悬停切换 */
.nav-links{position:absolute;left:50%;transform:translateX(-50%);z-index:1002}
.nav-links > li{position:relative}
.has-dropdown.open > a,.has-dropdown:hover > a{color:var(--primary)}
.has-dropdown.open > a::after,.has-dropdown:hover > a::after{width:100%}
.mega-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1001;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border-bottom:1px solid var(--card-border);box-shadow:0 18px 50px rgba(10,77,166,.1);padding:20px 0;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .25s ease,transform .25s ease,visibility .25s ease;pointer-events:none}
.mega-dropdown.active{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.mega-dropdown .container{display:flex;align-items:stretch;justify-content:center;gap:14px;flex-wrap:nowrap;max-width:1360px;margin:0 auto;padding:0 5vw;overflow-x:auto}
.mega-dropdown a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 20px;border-radius:16px;background:#fff;border:1px solid var(--card-border);box-shadow:0 6px 18px rgba(10,77,166,.06);transition:.35s;flex:0 0 auto;white-space:nowrap}
.mega-dropdown a:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(10,77,166,.14);border-color:rgba(30,111,235,.35)}
.mega-dropdown strong{font-size:14px;font-weight:700;color:var(--text);display:block;margin-bottom:2px;white-space:nowrap}
.mega-dropdown span{font-size:11px;color:var(--text-muted);white-space:nowrap;text-align:center;display:block}

/* ---------- Mobile navigation override ---------- */
/* Must come after the desktop .nav-links absolute positioning so it wins on narrow screens */
.nav-overlay{position:fixed;inset:0;background:rgba(3,11,30,.45);z-index:999;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease}
.nav-overlay.active{opacity:1;visibility:visible}
@media(max-width:880px){
  .nav-links{position:fixed;top:72px;right:0;width:min(280px,80vw);height:calc(100vh - 72px);background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:10px 0;border-left:1px solid var(--card-border);border-radius:16px 0 0 16px;box-shadow:-12px 0 40px rgba(0,0,0,.15);transform:translateX(110%);transition:transform .35s ease,visibility .35s ease;visibility:hidden;z-index:1002}
  .nav-links.open{transform:translateX(0);visibility:visible}
  .nav-links li{width:100%}
  .nav-links a{display:block;padding:15px 26px;color:var(--text);font-size:15px;font-weight:500}
  .nav-links a:hover,.nav-links a.active{color:var(--primary);background:rgba(30,111,235,.08)}
  .nav-links a::after{display:none}
  .nav-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:rgba(10,77,166,.08);transition:background .3s ease}
  .nav-toggle:hover{background:rgba(10,77,166,.16)}
  .nav-toggle span{transition:transform .3s ease,opacity .3s ease}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav-toggle.open span:nth-child(2){opacity:0}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ---------- Page layout with sticky side navigation ---------- */
.page-with-sidebar{display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:start;position:relative}
/* 扩大内容区可用宽度，让文件板块更舒展 */
.page-with-sidebar.container{padding-left:3vw;padding-right:3vw;max-width:none}
.side-nav{position:sticky;top:96px;align-self:start}
.side-nav::before{content:'';position:absolute;left:0;top:6px;bottom:6px;width:2px;background:linear-gradient(180deg,var(--primary-light),var(--accent-light));opacity:.25}
.side-nav ul{list-style:none}
.side-nav li{position:relative}
.side-nav a{display:block;padding:14px 16px 14px 30px;font-size:14px;font-weight:600;color:var(--text-muted);transition:.3s;border-radius:0 12px 12px 0;position:relative;margin-right:8px}
/* 宽胶囊：active / hover 时加浅色背景底，与文字拉开呼吸感 */
.side-nav a.active,.side-nav a:hover{color:var(--primary);background:linear-gradient(135deg,rgba(30,111,235,.1),rgba(168,85,247,.08))}
.side-nav a.active::before,.side-nav a:hover::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:24px;border-radius:4px;background:linear-gradient(180deg,var(--primary-light),var(--accent-light))}
.side-nav a.active{font-weight:700}

/* ---------- Advanced page sections ---------- */
.page-section{position:relative;padding:70px 32px;border-bottom:1px solid var(--card-border)}
.page-section:last-of-type{border-bottom:none}
.page-section.alt{background:var(--soft-bg)}
/* 让 alt 浅色背景横向延伸至视口全宽：左侧补齐侧边栏+间距+容器内边距，右侧补齐容器内边距 */
.page-section.alt::before{content:'';position:absolute;top:0;bottom:0;left:calc(-1 * (220px + 56px + 3vw));width:calc(100% + 220px + 56px + 6vw);background:var(--soft-bg);z-index:-1;pointer-events:none}
.page-section-head{margin-bottom:40px}
.page-section-head .eyebrow{display:inline-block;font-size:12px;letter-spacing:3px;font-weight:700;color:var(--primary-light);text-transform:uppercase;margin-bottom:14px}
.page-section-head h2{font-size:clamp(30px,3.8vw,48px);font-weight:800;line-height:1.2;margin-bottom:18px;color:var(--text)}
.page-section-head p{font-size:17px;color:var(--text-muted);line-height:1.8;max-width:760px}

/* hero with larger feel */
.page-hero-v2{padding:170px 0 100px;background:linear-gradient(135deg,var(--dark) 0%,#0a1a42 50%,var(--primary) 100%);color:#fff;position:relative;overflow:hidden}
.page-hero-v2::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 0%,rgba(30,111,235,.28),transparent 55%),radial-gradient(ellipse at 0% 100%,rgba(168,85,247,.25),transparent 50%);pointer-events:none}
.page-hero-v2 .container{position:relative;z-index:2}
.page-hero-v2 .crumb{font-size:13px;color:rgba(255,255,255,.65);margin-bottom:20px}
.page-hero-v2 .crumb a{color:rgba(255,255,255,.65);transition:.3s}
.page-hero-v2 .crumb a:hover{color:#fff}
.page-hero-v2 h1{font-size:clamp(38px,6vw,72px);font-weight:900;line-height:1.1;margin-bottom:22px}
.page-hero-v2 p{font-size:clamp(16px,2vw,21px);line-height:1.85;color:rgba(255,255,255,.8);max-width:820px}

/* large split with gradient accents */
.split-v2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.split-v2.reverse .split-media{order:2}
.split-v2 .split-media{border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(10,77,166,.2);background:#fff;position:relative}
.split-v2 .split-media::after{content:'';position:absolute;inset:0;border-radius:24px;border:1px solid rgba(30,111,235,.18);pointer-events:none}
.split-v2 .split-text .eyebrow{display:inline-block;font-size:12px;letter-spacing:3px;font-weight:700;color:var(--primary-light);margin-bottom:14px}
.split-v2 .split-text h3{font-size:clamp(26px,3vw,38px);font-weight:800;line-height:1.25;margin-bottom:20px;color:var(--text)}
.split-v2 .split-text p{font-size:16px;color:var(--text-muted);line-height:1.9;margin-bottom:18px}
.split-v2 .split-text ul{list-style:none;display:grid;gap:12px;margin-top:24px}
.split-v2 .split-text li{position:relative;padding-left:28px;font-size:15px;color:var(--text);line-height:1.7}
.split-v2 .split-text li::before{content:'';position:absolute;left:0;top:8px;width:10px;height:10px;border-radius:3px;background:linear-gradient(135deg,var(--primary-light),var(--accent-light))}

/* feature grid cards with gradient top border */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.feature-card{position:relative;background:var(--card-bg);border:1px solid var(--card-border);border-radius:22px;padding:36px 30px;box-shadow:0 10px 34px rgba(10,77,166,.07);transition:.4s;overflow:hidden}
.feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-light),var(--accent-light));opacity:0;transition:.4s}
.feature-card:hover{transform:translateY(-10px) scale(1.03);box-shadow:0 26px 60px rgba(10,77,166,.16);border-color:rgba(30,111,235,.35)}
.feature-card:hover::before{opacity:1}
.feature-card .icon{width:58px;height:58px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;background:linear-gradient(135deg,rgba(30,111,235,.12),rgba(168,85,247,.12));margin-bottom:22px;transition:.4s}
.feature-card:hover .icon{transform:scale(1.08) rotate(-4deg)}
.feature-card h4{font-size:19px;font-weight:700;margin-bottom:12px;color:var(--text)}
.feature-card p{font-size:15px;color:var(--text-muted);line-height:1.75}

/* highlight stats */
.num-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:40px}
.num-item{text-align:center;padding:28px 18px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:18px;box-shadow:0 8px 26px rgba(10,77,166,.06)}
.num-item .num{font-size:clamp(32px,4vw,52px);font-weight:900;background:linear-gradient(135deg,var(--primary-light),var(--accent-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.num-item .lbl{font-size:14px;color:var(--text-muted);margin-top:10px;font-weight:500}

/* dark CTA band variant */
.cta-band-dark{position:relative;background:linear-gradient(135deg,var(--dark) 0%,var(--dark-2) 100%);color:#fff;border-radius:28px;padding:70px 60px;text-align:center;overflow:hidden;box-shadow:0 24px 70px rgba(10,77,166,.25)}
.cta-band-dark::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 0%,rgba(30,111,235,.22),transparent 50%),radial-gradient(ellipse at 20% 100%,rgba(168,85,247,.18),transparent 50%);pointer-events:none}
.cta-band-dark > *{position:relative;z-index:2}
.cta-band-dark h2{font-size:clamp(26px,3.4vw,40px);font-weight:800;margin-bottom:16px}
.cta-band-dark p{font-size:17px;color:rgba(255,255,255,.75);margin-bottom:32px;max-width:640px;margin-left:auto;margin-right:auto}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
  .page-with-sidebar{grid-template-columns:1fr}
  .side-nav{display:none}
}
@media(max-width:980px){
  .page-with-sidebar{grid-template-columns:1fr;gap:0}
  .side-nav{position:static;margin-bottom:30px}
  .page-section.alt::before{left:-3vw;width:calc(100% + 6vw)}
  .section.alt::before{left:-3vw;width:calc(100% + 6vw)}
}
@media(max-width:880px){
  .mega-dropdown{display:none!important}
  .split-v2{grid-template-columns:1fr;gap:40px}
  .split-v2.reverse .split-media{order:0}
  .feature-grid{grid-template-columns:1fr}
  .num-strip{grid-template-columns:repeat(2,1fr)}
  .page-hero-v2{padding:130px 0 70px}
  .page-section{padding:60px 20px}
}
@media(max-width:520px){
  .feature-grid{grid-template-columns:1fr}
  .num-strip{grid-template-columns:1fr}
}
