/* ============================================================
   sgscpa.com — 盛工财税建服  BASE CSS
   硬朗折线柔性分割 · 科技蓝 + 冰蓝渐变 · 纯白
   ============================================================ */

:root {
  --blue-900: #001F5C;
  --blue-700: #003FB3;
  --blue-600: #0052D9;
  --blue-500: #1677FF;
  --blue-400: #4096FF;
  --blue-300: #7BAFFF;
  --blue-200: #B3D4FF;
  --blue-100: #D6E8FF;
  --ice-50:  #F0F8FF;
  --ice-100: #E6F4FF;
  --ice-200: #D1E9FF;
  --ice-grad: linear-gradient(135deg, #E6F4FF 0%, #F0F8FF 60%, #FFFFFF 100%);
  --ice-grad-rev: linear-gradient(135deg, #FFFFFF 0%, #F0F8FF 40%, #E6F4FF 100%);

  --white: #FFFFFF;
  --ink: #0F1A2E;
  --body: #2B3A55;
  --muted: #6B7A99;
  --light: #A8B4CC;
  --line: #E5ECF6;
  --line-soft: #F0F4FA;
  --bg: #FFFFFF;
  --bg-alt: #F5F9FF;

  --ok: #00B42A;
  --warn: #FF7D00;
  --err: #F53F3F;

  --shadow-xs: 0 1px 2px rgba(15,26,46,.04);
  --shadow-sm: 0 2px 8px rgba(15,26,46,.06);
  --shadow-md: 0 8px 24px rgba(15,26,46,.08);
  --shadow-lg: 0 16px 48px rgba(0,82,217,.12);
  --shadow-xl: 0 24px 64px rgba(0,82,217,.18);
  --shadow-inset: inset 0 0 0 1px rgba(0,82,217,.08);

  --r-xs: 4px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 24px;
  --r-pill: 999px;

  --nav-h: 72px;
  --container: 1200px;
  --gap: 24px;

  --font-sans: "PingFang SC","Microsoft YaHei","Hiragino Sans GB","Helvetica Neue",Arial,"Noto Sans SC",sans-serif;

  --ease: cubic-bezier(.4,0,.2,1);
  --ease-in-out: cubic-bezier(.65,0,.35,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.7;color:var(--body);background:var(--bg);min-height:100vh}
h1,h2,h3,h4,h5,h6{margin:0 0 .5em;font-weight:600;color:var(--ink);line-height:1.3}
h1{font-size:clamp(32px,5vw,48px);font-weight:700}
h2{font-size:clamp(26px,3.6vw,36px)}
h3{font-size:clamp(20px,2.6vw,24px)}
h4{font-size:18px}
p{margin:0 0 1em}
a{color:var(--blue-500);text-decoration:none;transition:color .2s var(--ease)}
a:hover{color:var(--blue-600)}
img{max-width:100%;height:auto;display:block}
svg{display:block;max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}
ul,ol{margin:0;padding:0;list-style:none}
figure{margin:0}
hr{border:none;height:1px;background:var(--line);margin:0}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#F5F7FA}
::-webkit-scrollbar-thumb{background:#C8D3E6;border-radius:10px}
::-webkit-scrollbar-thumb:hover{background:#A8B8D4}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gap)}
.layout{display:flex;min-height:100vh;flex-direction:column;padding-left:64px;transition:padding-left .35s var(--ease)}
@media(max-width:900px){.layout{padding-left:0}}
.main{flex:1}

.section{padding:clamp(48px,7vw,96px) 0}
.section-sm{padding:clamp(32px,4vw,56px) 0}
.bg-blue{background:linear-gradient(135deg,var(--blue-600) 0%,var(--blue-500) 60%,var(--blue-400) 100%);color:var(--white)}
.bg-blue h1,.bg-blue h2,.bg-blue h3,.bg-blue h4{color:var(--white)}
.bg-light{background:var(--ice-grad)}
.bg-white{background:var(--white)}
.bg-alt{background:var(--bg-alt)}
.bg-dark{background:var(--ink);color:var(--white)}
.bg-dark h1,.bg-dark h2,.bg-dark h3,.bg-dark h4{color:var(--white)}

.sec-head{text-align:center;margin-bottom:clamp(32px,5vw,56px)}
.sec-head .eyebrow{display:inline-block;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-500);font-weight:600;margin-bottom:12px;padding:4px 14px;border-radius:var(--r-pill);background:rgba(22,119,255,.08)}
.sec-head .title{font-size:clamp(26px,3.6vw,36px);font-weight:700;color:var(--ink);margin-bottom:14px;letter-spacing:-.01em}
.sec-head .desc{font-size:16px;color:var(--muted);max-width:680px;margin-inline:auto}
.sec-head.left{align-items:flex-start;text-align:left}
.sec-head.left .desc{margin-inline:0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding-inline:28px;border-radius:var(--r-pill);font-size:15px;font-weight:500;line-height:1;transition:all .25s var(--ease);white-space:nowrap;text-decoration:none;user-select:none}
.btn-primary{background:linear-gradient(135deg,var(--blue-600) 0%,var(--blue-500) 100%);color:var(--white);box-shadow:0 4px 16px rgba(22,119,255,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(22,119,255,.45);color:var(--white)}
.btn-ghost{border:1.5px solid var(--blue-500);color:var(--blue-500);background:transparent}
.btn-ghost:hover{background:var(--blue-500);color:var(--white)}
.btn-soft{background:rgba(22,119,255,.08);color:var(--blue-600)}
.btn-soft:hover{background:rgba(22,119,255,.14);color:var(--blue-700)}
.btn-sm{height:38px;padding-inline:18px;font-size:14px}
.btn-lg{height:56px;padding-inline:36px;font-size:16px}
.btn-block{width:100%}
.btn-white{background:var(--white);color:var(--blue-600)}
.btn-white:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);color:var(--blue-600)}

.card{background:var(--white);border-radius:var(--r-lg);padding:clamp(20px,2.4vw,32px);box-shadow:var(--shadow-sm);transition:all .3s var(--ease);border:1px solid var(--line-soft)}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--blue-200)}
.card-icon{width:56px;height:56px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--blue-600),var(--blue-400));color:var(--white);font-size:26px;margin-bottom:18px;box-shadow:0 6px 16px rgba(22,119,255,.25)}
.card-title{font-size:18px;font-weight:600;color:var(--ink);margin-bottom:10px}
.card-desc{font-size:14.5px;color:var(--muted);line-height:1.7}

.grid{display:grid;gap:var(--gap)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}

.topbar{position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--nav-h);display:flex;align-items:center;transition:all .35s var(--ease);background:transparent;border-bottom:1px solid transparent}
.topbar.scrolled{background:rgba(255,255,255,.88);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-bottom-color:var(--line);box-shadow:var(--shadow-xs)}
.topbar .container{display:flex;align-items:center;justify-content:space-between;height:100%}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-weight:700;font-size:20px;letter-spacing:-.01em;text-decoration:none}
.brand .logo-mark{width:40px;height:40px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--blue-600),var(--blue-400));display:flex;align-items:center;justify-content:center;color:var(--white);font-weight:800;font-size:18px;box-shadow:0 4px 12px rgba(22,119,255,.3)}
.brand .brand-text .en{font-size:11px;color:var(--muted);font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.topbar.scrolled .brand{color:var(--ink)}
.topbar:not(.scrolled) .brand{color:var(--white)}

.nav-menu{display:flex;align-items:center;gap:4px}
.nav-menu > li{position:relative}
.nav-menu > li > a{display:flex;align-items:center;height:var(--nav-h);padding-inline:18px;font-size:15px;font-weight:500;color:var(--ink);position:relative;transition:color .2s var(--ease)}
.topbar:not(.scrolled) .nav-menu > li > a{color:var(--white)}
.nav-menu > li > a::after{content:"";position:absolute;left:18px;right:18px;bottom:14px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--blue-600),var(--blue-400));transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-menu > li:hover > a::after,.nav-menu > li.active > a::after{transform:scaleX(1)}
.nav-menu > li:hover > a,.nav-menu > li.active > a{color:var(--blue-600)}
.topbar:not(.scrolled) .nav-menu > li:hover > a,.topbar:not(.scrolled) .nav-menu > li.active > a{color:var(--white)}
.nav-sub{position:absolute;top:calc(100% - 4px);left:0;min-width:220px;background:var(--white);border-radius:var(--r-md);box-shadow:var(--shadow-lg);padding:10px;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .25s var(--ease);z-index:20;border:1px solid var(--line-soft)}
.nav-menu > li:hover .nav-sub{opacity:1;visibility:visible;transform:translateY(0)}
.nav-sub a{display:block;padding:10px 14px;border-radius:var(--r-xs);font-size:14px;color:var(--body);transition:all .2s var(--ease)}
.nav-sub a:hover{background:var(--ice-100);color:var(--blue-600)}
.nav-sub .sub-title{font-size:12px;color:var(--light);padding:10px 14px 6px;font-weight:600;letter-spacing:.06em}

.topbar-actions{display:flex;align-items:center;gap:12px}
.hamburger{display:none;width:40px;height:40px;border-radius:var(--r-sm);align-items:center;justify-content:center;color:var(--ink);transition:background .2s}
.hamburger:hover{background:rgba(0,0,0,.04)}
.topbar:not(.scrolled) .hamburger{color:var(--white)}
.hamburger span{position:relative;width:22px;height:2px;background:currentColor;border-radius:2px}
.hamburger span::before,.hamburger span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease);transform-origin:center}
.hamburger span::before{top:-7px}
.hamburger span::after{top:7px}
.hamburger.active span{background:transparent}
.hamburger.active span::before{top:0;transform:rotate(45deg)}
.hamburger.active span::after{top:0;transform:rotate(-45deg)}

.mobile-drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);background:var(--white);z-index:1100;transform:translateX(100%);transition:transform .35s var(--ease);display:flex;flex-direction:column;box-shadow:var(--shadow-xl)}
.mobile-drawer.open{transform:translateX(0)}
.mobile-drawer .drawer-head{height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;padding-inline:20px;border-bottom:1px solid var(--line-soft)}
.mobile-drawer .drawer-title{font-weight:700;color:var(--ink);font-size:18px}
.mobile-drawer .drawer-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);color:var(--muted);font-size:22px}
.mobile-drawer .drawer-close:hover{background:var(--ice-100);color:var(--ink)}
.mobile-drawer .drawer-body{flex:1;overflow-y:auto;padding:12px 8px}
.mobile-drawer .drawer-foot{padding:16px 20px;border-top:1px solid var(--line-soft)}
.mobile-nav{display:flex;flex-direction:column}
.mobile-nav > li{border-bottom:1px solid var(--line-soft)}
.mobile-nav > li > a{display:flex;align-items:center;justify-content:space-between;padding:16px 16px;font-size:15px;font-weight:500;color:var(--ink)}
.mobile-nav > li > a:hover{background:var(--ice-50);color:var(--blue-600)}
.mobile-nav .mobile-sub{display:none;background:var(--ice-50);padding:8px 0}
.mobile-nav > li.open .mobile-sub{display:block}
.mobile-nav .mobile-sub a{display:block;padding:12px 32px;font-size:14px;color:var(--body)}
.mobile-nav .mobile-sub a:hover{color:var(--blue-600);background:rgba(255,255,255,.6)}

.drawer-overlay{position:fixed;inset:0;background:rgba(15,26,46,.45);z-index:1050;opacity:0;visibility:hidden;transition:all .3s var(--ease);backdrop-filter:blur(2px)}
.drawer-overlay.open{opacity:1;visibility:visible}

.page-hero{position:relative;padding:calc(var(--nav-h) + 56px) 0 clamp(48px,7vw,88px);background:linear-gradient(135deg,#001F5C 0%,#003FB3 40%,#1677FF 100%);color:var(--white);overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.06' stroke-width='1'%3E%3Cpath d='M0 60h120M60 0v120'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.page-hero .hero-split{position:absolute;bottom:-1px;left:0;right:0;height:clamp(40px,6vw,72px);pointer-events:none}
.page-hero .hero-split svg{width:100%;height:100%;display:block}
.page-hero .container{position:relative;z-index:2;text-align:center}
.page-hero .eyebrow{display:inline-block;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--blue-200);font-weight:600;margin-bottom:16px}
.page-hero .hero-title{font-size:clamp(30px,5vw,52px);font-weight:700;color:var(--white);margin-bottom:14px;letter-spacing:-.01em}
.page-hero .hero-desc{font-size:clamp(15px,1.6vw,17px);color:rgba(255,255,255,.82);max-width:640px;margin-inline:auto}

.breadcrumb{padding:16px 0;font-size:14px;color:var(--muted)}
.breadcrumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.breadcrumb li + li::before{content:"›";color:var(--light);margin-right:6px}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--blue-600)}
.breadcrumb .current{color:var(--ink);font-weight:500}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.1s}
.reveal.d2{transition-delay:.2s}
.reveal.d3{transition-delay:.3s}
.reveal.d4{transition-delay:.4s}

.site-foot{background:var(--ink);color:rgba(255,255,255,.72);padding:clamp(48px,7vw,80px) 0 0}
.site-foot a{color:rgba(255,255,255,.72);transition:color .2s var(--ease)}
.site-foot a:hover{color:var(--blue-400)}
.site-foot h4{color:var(--white);font-size:16px;font-weight:600;margin-bottom:18px}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:clamp(24px,3vw,40px);padding-bottom:clamp(32px,5vw,56px);border-bottom:1px solid rgba(255,255,255,.08)}
.foot-brand{display:flex;flex-direction:column;gap:14px}
.foot-brand .brand{color:var(--white)}
.foot-brand .foot-slogan{font-size:14px;line-height:1.8;color:rgba(255,255,255,.6)}
.foot-contact{display:flex;flex-direction:column;gap:10px;font-size:14px}
.foot-contact .item{display:flex;align-items:flex-start;gap:10px;color:rgba(255,255,255,.68)}
.foot-contact .item svg{flex-shrink:0;margin-top:4px;color:var(--blue-400)}
.foot-links{display:flex;flex-direction:column;gap:10px;font-size:14px}
.foot-links a{padding:2px 0}
.foot-bottom{padding:20px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;color:rgba(255,255,255,.5)}
.foot-bottom .legal{display:flex;gap:16px;flex-wrap:wrap}
.foot-bottom .legal a{color:rgba(255,255,255,.5)}
.foot-bottom .legal a:hover{color:var(--blue-400)}

.back-top{position:fixed;right:28px;bottom:28px;width:48px;height:48px;border-radius:var(--r-pill);background:linear-gradient(135deg,var(--blue-600),var(--blue-400));color:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(12px);transition:all .3s var(--ease);z-index:900}
.back-top.show{opacity:1;visibility:visible;transform:none}
.back-top:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);color:var(--white)}

.tag{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--r-pill);font-size:12px;font-weight:500;background:var(--ice-100);color:var(--blue-600)}
.tag-blue{background:rgba(22,119,255,.1);color:var(--blue-600)}
.tag-outline{background:transparent;border:1px solid var(--blue-300);color:var(--blue-600)}

.text-center{text-align:center}
.text-left{text-align:left}
.text-right{text-align:right}
.text-blue{color:var(--blue-500)}
.text-ink{color:var(--ink)}
.text-muted{color:var(--muted)}

.flex{display:flex}
.flex-col{flex-direction:column}
.items-center{align-items:center}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-sm{gap:12px}
.gap-md{gap:20px}
.gap-lg{gap:32px}

.mt-sm{margin-top:12px}
.mt-md{margin-top:20px}
.mt-lg{margin-top:32px}
.mt-xl{margin-top:48px}
.mb-sm{margin-bottom:12px}
.mb-md{margin-bottom:20px}
.mb-lg{margin-bottom:32px}
.mb-xl{margin-bottom:48px}

@media(max-width:992px){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nav-menu{display:none}
  .hamburger{display:flex}
  .topbar-actions .btn-primary{height:38px;padding-inline:18px;font-size:13px}
}

@media(max-width:768px){
  :root{--nav-h:64px}
  .section{padding:56px 0}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:28px}
  .topbar-actions .btn-ghost{display:none}
  .sec-head .desc{text-align:left}
  .breadcrumb{font-size:13px;padding:12px 0}
  .page-hero{padding-top:calc(var(--nav-h) + 36px)}
  .foot-bottom{flex-direction:column;text-align:center}
  .back-top{right:20px;bottom:20px;width:44px;height:44px}
}

@media(max-width:480px){
  .container{padding-inline:16px}
  .brand .brand-text .en{display:none}
  .btn{height:42px;padding-inline:22px;font-size:14px}
  .btn-lg{height:50px;padding-inline:28px;font-size:15px}
  .card{padding:22px}
}

/* ============================================================
   左侧悬浮导航 side-nav
   折叠 64px 只显示icon | hover展开 224px 完整菜单+二级
   ============================================================ */

.side-nav{
  position:fixed;top:0;left:0;bottom:0;
  width:64px;z-index:1000;
  background:var(--ink);
  color:rgba(255,255,255,.82);
  display:flex;flex-direction:column;
  transition:width .35s var(--ease),box-shadow .35s var(--ease);
  box-shadow:4px 0 24px rgba(10,20,50,.12);
  overflow:hidden;
}
.side-nav:hover,
.side-nav.expanded{
  width:224px;
  box-shadow:8px 0 32px rgba(10,20,50,.22);
}

.side-nav .nav-brand{
  flex-shrink:0;
  height:var(--nav-h);
  padding:0 12px;
  display:flex;align-items:center;gap:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-decoration:none;color:#fff;
}
.side-nav .nav-brand .logo-mark{
  flex-shrink:0;width:40px;height:40px;border-radius:var(--r-sm);
  background:linear-gradient(135deg,var(--blue-600),var(--blue-400));
  display:flex;align-items:center;justify-content:center;color:#fff;
  overflow:hidden;
}
.side-nav .nav-brand .logo-mark img{width:100%;height:100%;object-fit:contain}
.side-nav .nav-brand .brand-name{
  font-size:16px;font-weight:700;color:#fff;letter-spacing:.5px;
  white-space:nowrap;opacity:0;transform:translateX(-8px);
  transition:opacity .28s var(--ease) .06s,transform .28s var(--ease) .06s;
}
.side-nav:hover .nav-brand .brand-name,
.side-nav.expanded .nav-brand .brand-name{opacity:1;transform:none}

.side-nav .nav-scroll{
  flex:1;overflow-y:auto;overflow-x:hidden;
  scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;
}
.side-nav .nav-scroll::-webkit-scrollbar{width:4px}
.side-nav .nav-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:4px}

.side-nav .nav-list{padding:10px 8px}
.side-nav .nav-item{margin-bottom:2px}

.side-nav .nav-link{
  display:flex;align-items:center;gap:12px;
  height:44px;padding:0 14px;
  border-radius:var(--r-md);
  font-size:14px;font-weight:500;
  color:rgba(255,255,255,.78);
  text-decoration:none;
  transition:background .2s var(--ease),color .2s var(--ease);
  white-space:nowrap;position:relative;
}
.side-nav .nav-link .nv-ico{
  flex-shrink:0;width:22px;height:22px;
  display:flex;align-items:center;justify-content:center;
  font-size:18px;line-height:1;color:var(--blue-300);
  transition:color .2s var(--ease);
}
.side-nav .nav-link .nv-text{
  opacity:0;transform:translateX(-10px);
  transition:opacity .28s var(--ease) .06s,transform .28s var(--ease) .06s;
}
.side-nav:hover .nav-link .nv-text,
.side-nav.expanded .nav-link .nv-text{opacity:1;transform:none}

.side-nav .nav-link:hover{
  background:rgba(22,119,255,.14);color:#fff;
}
.side-nav .nav-link:hover .nv-ico{color:var(--blue-400)}
.side-nav .nav-item.active > .nav-link{
  background:linear-gradient(135deg,var(--blue-600),var(--blue-500));
  color:#fff;box-shadow:0 4px 14px rgba(22,119,255,.3);
}
.side-nav .nav-item.active > .nav-link .nv-ico{color:#fff}

.side-nav .nav-item.has-sub > .nav-link::after{
  content:"";margin-left:auto;
  width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid rgba(255,255,255,.4);
  opacity:0;transform:translateX(-6px);
  transition:opacity .28s var(--ease) .06s,transform .28s var(--ease) .06s;
}
.side-nav:hover .nav-item.has-sub > .nav-link::after,
.side-nav.expanded .nav-item.has-sub > .nav-link::after{opacity:1;transform:none}
.side-nav .nav-item.has-sub.open > .nav-link::after{transform:rotate(180deg)}

/* 二级子菜单 */
.side-nav .nav-sub{
  position:static;
  opacity:1;
  visibility:visible;
  transform:none;
  z-index:auto;
  max-height:0;overflow:hidden;
  transition:max-height .4s var(--ease),padding .3s var(--ease);
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
}
.side-nav .nav-item.has-sub.open .nav-sub{
  max-height:600px;
  padding:4px 0 4px 10px;
}
.side-nav .nav-sub a{
  position:relative;
  display:flex;align-items:center;gap:10px;
  height:38px;padding:0 14px 0 18px;
  font-size:13px;color:rgba(255,255,255,.6);
  border-radius:var(--r-sm);
  text-decoration:none;white-space:nowrap;
  opacity:1;transform:none;
  transition:color .2s var(--ease);
}
.side-nav .nav-item.has-sub.open .nav-sub a{color:rgba(255,255,255,.72)}
.side-nav .nav-sub a::before{
  content:"";flex-shrink:0;width:4px;height:4px;border-radius:50%;
  background:var(--blue-300);opacity:.5;
}
.side-nav .nav-sub a:hover{color:var(--blue-400);background:rgba(22,119,255,.1)}
.side-nav .nav-sub a:hover::before{background:var(--blue-400);opacity:1}

/* 底部 CTA */
.side-nav .nav-foot{
  flex-shrink:0;padding:12px;
  border-top:1px solid rgba(255,255,255,.08);
}
.side-nav .nav-foot .foot-cta{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:var(--r-md);
  background:linear-gradient(135deg,var(--blue-600),var(--blue-500));
  color:#fff;text-decoration:none;font-size:13px;font-weight:600;
  transition:transform .2s var(--ease),box-shadow .2s var(--ease);
}
.side-nav .nav-foot .foot-cta:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(22,119,255,.4)}
.side-nav .nav-foot .foot-cta .ft-ico{flex-shrink:0;font-size:18px}
.side-nav .nav-foot .foot-cta .ft-text{
  opacity:0;transform:translateX(-10px);
  transition:opacity .28s var(--ease) .06s,transform .28s var(--ease) .06s;
}
.side-nav:hover .nav-foot .foot-cta .ft-text,
.side-nav.expanded .nav-foot .foot-cta .ft-text{opacity:1;transform:none}

/* 顶栏残留隐藏（移动端用汉堡抽屉） */
.topbar{display:none}

/* 移动端显示汉堡按钮 + 侧栏隐藏 */
@media(max-width:900px){
  .side-nav{display:none}
  .topbar{
    display:flex;position:fixed;top:0;left:0;right:0;z-index:1000;height:64px;
    background:rgba(255,255,255,.95);backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);box-shadow:var(--shadow-xs);
  }
  .topbar .container{display:flex;align-items:center;justify-content:space-between;height:100%}
  .topbar .brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:700;font-size:16px;text-decoration:none}
  .topbar .brand .logo-mark{width:36px;height:36px;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--blue-600),var(--blue-400));display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden}
  .topbar .brand .logo-mark img{width:100%;height:100%;object-fit:contain}
  .topbar .brand .brand-text{font-size:14px;color:var(--ink);font-weight:700}
  .topbar .brand .brand-text .en{display:none}
  .topbar .nav-menu{display:none}
  .hamburger{display:flex;width:40px;height:40px;border-radius:var(--r-sm);align-items:center;justify-content:center;color:var(--ink);transition:background .2s;cursor:pointer;border:none;background:none}
  .hamburger:hover{background:rgba(0,0,0,.04)}
  .hamburger span{position:relative;width:22px;height:2px;background:currentColor;border-radius:2px}
  .hamburger span::before,.hamburger span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease);transform-origin:center}
  .hamburger span::before{top:-7px}
  .hamburger span::after{top:7px}
  .hamburger.active span{background:transparent}
  .hamburger.active span::before{top:0;transform:rotate(45deg)}
  .hamburger.active span::after{top:0;transform:rotate(-45deg)}

  .hero{padding-top:64px}
}
