:root{
  --c-bg:#f4f7fb;
  --c-bg-soft:#e9eff7;
  --c-surface:#ffffff;
  --c-surface-2:#f9fbfe;
  --c-text:#17202c;
  --c-text-soft:#4a5768;
  --c-text-mute:#7b8798;
  --c-primary:#1f3a5f;
  --c-primary-2:#2b4f7d;
  --c-primary-3:#3a6ea5;
  --c-accent:#ffd166;
  --c-accent-2:#ff9f43;
  --c-line:#dbe4ef;
  --c-line-soft:#e8eef6;
  --c-shadow:22px 22px 60px rgba(31,58,95,.10),-18px -18px 50px rgba(255,255,255,.85);
  --c-shadow-soft:0 10px 30px rgba(31,58,95,.10);
  --c-shadow-hover:0 18px 44px rgba(31,58,95,.18);
  --glass-bg:rgba(255,255,255,.62);
  --glass-border:rgba(255,255,255,.55);
  --glass-blur:18px;
  --radius-xl:28px;
  --radius-lg:22px;
  --radius-md:16px;
  --radius-sm:12px;
  --radius-pill:999px;
  --gap:24px;
  --maxw:1240px;
  --header-h:74px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --dur:.45s;
  --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}

[data-theme="dark"]{
  --c-bg:#0d1420;
  --c-bg-soft:#121b2a;
  --c-surface:#16202f;
  --c-surface-2:#1b2738;
  --c-text:#eaf1f9;
  --c-text-soft:#b7c4d4;
  --c-text-mute:#8494a8;
  --c-primary:#3a6ea5;
  --c-primary-2:#2b4f7d;
  --c-primary-3:#5d92c9;
  --c-accent:#ffd166;
  --c-accent-2:#ff9f43;
  --c-line:#26344a;
  --c-line-soft:#1f2b3d;
  --c-shadow:0 18px 44px rgba(0,0,0,.5);
  --c-shadow-soft:0 10px 26px rgba(0,0,0,.42);
  --c-shadow-hover:0 22px 54px rgba(0,0,0,.62);
  --glass-bg:rgba(22,32,47,.62);
  --glass-border:rgba(93,146,201,.22);
  --glass-blur:20px;
}

*,*::before,*::after{box-sizing:border-box;}

html{
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}

body{
  margin:0;
  padding:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.75;
  color:var(--c-text);
  background-color:var(--c-bg);
  background-image:
    radial-gradient(1200px 600px at 12% -8%,rgba(58,110,165,.16),transparent 60%),
    radial-gradient(900px 520px at 92% 4%,rgba(255,209,102,.16),transparent 62%),
    radial-gradient(1000px 700px at 50% 110%,rgba(43,79,125,.14),transparent 65%);
  background-attachment:fixed;
  overflow-x:hidden;
  transition:background-color .4s var(--ease),color .4s var(--ease);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background-image:
    linear-gradient(rgba(31,58,95,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(31,58,95,.035) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 78%);
  -webkit-mask-image:radial-gradient(circle at 50% 30%,#000 0%,transparent 78%);
}

[data-theme="dark"] body::before{
  background-image:
    linear-gradient(rgba(93,146,201,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(93,146,201,.06) 1px,transparent 1px);
}

img,svg{max-width:100%;height:auto;display:block;}

a{
  color:var(--c-primary-3);
  text-decoration:none;
  transition:color .3s var(--ease),opacity .3s var(--ease);
}

a:hover{color:var(--c-accent-2);}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{
  outline:3px solid var(--c-accent);
  outline-offset:2px;
  border-radius:6px;
}

h1,h2,h3,h4{
  line-height:1.3;
  margin:0 0 .6em;
  color:var(--c-text);
  letter-spacing:.2px;
  font-weight:800;
}

h1{font-size:clamp(1.6rem,3.6vw,2.6rem);}
h2{font-size:clamp(1.35rem,2.6vw,2rem);}
h3{font-size:clamp(1.08rem,1.9vw,1.35rem);font-weight:700;}

p{margin:0 0 1em;color:var(--c-text-soft);}

ul,ol{margin:0 0 1.1em;padding-left:1.35em;color:var(--c-text-soft);}
li{margin:.35em 0;}

blockquote{
  margin:1.2em 0;
  padding:16px 20px 16px 22px;
  border-left:4px solid var(--c-accent);
  background:linear-gradient(100deg,rgba(255,209,102,.16),rgba(255,209,102,.02));
  border-radius:var(--radius-md);
  color:var(--c-text-soft);
  font-style:normal;
  box-shadow:var(--c-shadow-soft);
}

blockquote p{margin:0;}

.visually-hidden{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

#site-header{
  position:sticky;
  top:0;
  z-index:90;
  backdrop-filter:blur(var(--glass-blur)) saturate(160%);
  -webkit-backdrop-filter:blur(var(--glass-blur)) saturate(160%);
  background:var(--glass-bg);
  border-bottom:1px solid var(--glass-border);
  box-shadow:0 6px 26px rgba(31,58,95,.08);
  transition:background .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);
}

#site-header.is-scrolled{
  box-shadow:0 12px 34px rgba(31,58,95,.16);
}

.header-inner{
  max-width:var(--maxw);
  margin:0 auto;
  padding:12px 20px;
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  min-height:var(--header-h);
}

.logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  font-size:1.2rem;
  color:var(--c-text);
  letter-spacing:1px;
  flex:0 0 auto;
}

.logo svg{
  border-radius:12px;
  box-shadow:0 8px 20px rgba(31,58,95,.28);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}

.logo:hover svg{
  transform:rotate(-6deg) scale(1.08);
  box-shadow:0 12px 28px rgba(255,209,102,.42);
}

.logo-text{
  background:linear-gradient(96deg,var(--c-primary),var(--c-primary-3) 45%,var(--c-accent-2));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  font-size:1.28rem;
}

nav[aria-label="主导航"]{flex:1 1 auto;min-width:0;}

.nav-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap:4px;
  flex-wrap:wrap;
}

.nav-list li{margin:0;}

.nav-list a{
  display:inline-block;
  padding:8px 13px;
  border-radius:var(--radius-pill);
  color:var(--c-text-soft);
  font-size:.93rem;
  font-weight:600;
  white-space:nowrap;
  position:relative;
  transition:color .3s var(--ease),background .3s var(--ease),transform .3s var(--ease);
}

.nav-list a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:0;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--c-accent),var(--c-accent-2));
  transform:translateX(-50%);
  transition:width .35s var(--ease);
}

.nav-list a:hover{
  color:var(--c-text);
  background:rgba(58,110,165,.12);
  transform:translateY(-2px);
}

.nav-list a:hover::after{width:56%;}

.site-search{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 1 300px;
  min-width:0;
  background:var(--c-surface-2);
  border:1px solid var(--c-line);
  border-radius:var(--radius-pill);
  padding:4px 4px 4px 14px;
  transition:box-shadow .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);
}

.site-search:focus-within{
  border-color:var(--c-primary-3);
  box-shadow:0 0 0 4px rgba(58,110,165,.18);
  transform:translateY(-1px);
}

.site-search input[type="search"]{
  flex:1 1 auto;
  min-width:0;
  border:0;
  background:transparent;
  color:var(--c-text);
  font-family:inherit;
  font-size:.92rem;
  padding:8px 4px;
  outline:none;
}

.site-search input::placeholder{color:var(--c-text-mute);}

.site-search button{
  flex:0 0 auto;
  border:0;
  cursor:pointer;
  padding:8px 16px;
  border-radius:var(--radius-pill);
  font-family:inherit;
  font-size:.88rem;
  font-weight:700;
  color:#fff;
  background:linear-gradient(120deg,var(--c-primary),var(--c-primary-3));
  box-shadow:0 6px 16px rgba(31,58,95,.28);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease);
}

.site-search button:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(58,110,165,.42);
  filter:brightness(1.08);
}

#menu-toggle,#theme-toggle{
  flex:0 0 auto;
  cursor:pointer;
  font-family:inherit;
  font-size:.86rem;
  font-weight:700;
  padding:9px 15px;
  border-radius:var(--radius-pill);
  border:1px solid var(--c-line);
  background:var(--c-surface);
  color:var(--c-text-soft);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease),color .3s var(--ease);
}

#menu-toggle{display:none;}

#menu-toggle:hover,#theme-toggle:hover{
  transform:translateY(-2px);
  color:var(--c-text);
  box-shadow:var(--c-shadow-soft);
  background:var(--c-surface-2);
}

#theme-toggle{
  background:linear-gradient(120deg,rgba(58,110,165,.16),rgba(255,209,102,.22));
  border-color:transparent;
}

main{
  position:relative;
  z-index:1;
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 20px 40px;
}

.breadcrumb{
  padding:16px 0 4px;
  font-size:.86rem;
  color:var(--c-text-mute);
}

.breadcrumb ol{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}

.breadcrumb li{display:inline-flex;align-items:center;gap:8px;margin:0;}
.breadcrumb li+li::before{content:"/";color:var(--c-line);}
.breadcrumb a{color:var(--c-text-mute);font-weight:600;}
.breadcrumb a:hover{color:var(--c-accent-2);}
.breadcrumb [aria-current="page"]{color:var(--c-text);font-weight:700;}

section{
  position:relative;
  margin:34px 0;
  padding:30px clamp(18px,3.2vw,38px);
  background:var(--c-surface);
  border:1px solid var(--c-line-soft);
  border-radius:var(--radius-xl);
  box-shadow:var(--c-shadow-soft);
  transition:box-shadow .5s var(--ease),transform .5s var(--ease),border-color .5s var(--ease),background .5s var(--ease);
  overflow:hidden;
}

section::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:3px;
  background:linear-gradient(90deg,var(--c-primary),var(--c-primary-3) 45%,var(--c-accent) 75%,var(--c-accent-2));
  opacity:.85;
}

section:hover{
  box-shadow:var(--c-shadow-hover);
  transform:translateY(-3px);
  border-color:var(--c-line);
}

section > h2{
  position:relative;
  padding-left:18px;
  margin-bottom:1em;
}

section > h2::before{
  content:"";
  position:absolute;
  left:0;
  top:.18em;
  bottom:.18em;
  width:6px;
  border-radius:6px;
  background:linear-gradient(180deg,var(--c-accent),var(--c-accent-2));
  box-shadow:0 0 16px rgba(255,159,67,.5);
}

section h3{
  margin-top:1.5em;
  padding-bottom:.35em;
  border-bottom:1px dashed var(--c-line);
}

.hero{
  margin-top:20px;
  padding:clamp(26px,4.2vw,52px);
  background:
    radial-gradient(900px 420px at 88% -20%,rgba(255,209,102,.30),transparent 62%),
    linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-2) 52%,var(--c-primary-3) 100%);
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--radius-xl);
  box-shadow:0 26px 60px rgba(31,58,95,.34);
  color:#eef4fb;
  overflow:hidden;
}

.hero::before{
  height:100%;
  background:
    radial-gradient(520px 260px at 12% 110%,rgba(255,209,102,.26),transparent 70%),
    radial-gradient(400px 220px at 100% 0%,rgba(255,255,255,.16),transparent 70%);
  opacity:1;
  top:0;
}

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:radial-gradient(circle at 70% 20%,#000,transparent 72%);
  -webkit-mask-image:radial-gradient(circle at 70% 20%,#000,transparent 72%);
}

.hero > *{position:relative;z-index:2;}

.hero h1{
  color:#fff;
  text-shadow:0 4px 26px rgba(0,0,0,.32);
  margin-bottom:.5em;
}

.hero-lead{
  color:rgba(238,244,251,.92);
  font-size:clamp(.96rem,1.6vw,1.08rem);
  max-width:76ch;
}

.hero-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:14px;
  margin:26px 0 30px;
}

.stat{
  padding:18px 16px;
  border-radius:var(--radius-lg);
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.24);
  backdrop-filter:blur(14px) saturate(150%);
  -webkit-backdrop-filter:blur(14px) saturate(150%);
  text-align:center;
  transition:transform .45s var(--ease),background .45s var(--ease),box-shadow .45s var(--ease);
}

.stat:hover{
  transform:translateY(-6px) scale(1.02);
  background:rgba(255,255,255,.2);
  box-shadow:0 16px 34px rgba(0,0,0,.26);
}

.stat .num{
  display:block;
  font-size:clamp(1.5rem,3.4vw,2.1rem);
  font-weight:900;
  font-variant-numeric:tabular-nums;
  letter-spacing:.5px;
  background:linear-gradient(96deg,#fff,var(--c-accent));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.stat .label{
  display:block;
  margin-top:4px;
  font-size:.82rem;
  color:rgba(238,244,251,.82);
  letter-spacing:.6px;
}

.banner{
  position:relative;
  border-radius:var(--radius-lg);
  overflow:hidden;
  min-height:220px;
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 20px 44px rgba(0,0,0,.3);
  background:rgba(0,0,0,.16);
}

.banner-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform:scale(1.04);
  transition:opacity .9s var(--ease),transform 1.1s var(--ease);
  pointer-events:none;
}

.banner-slide.active{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
  animation:bannerFloat 9s ease-in-out infinite;
}

.banner-slide svg{
  width:100%;
  height:100%;
  object-fit:cover;
}

@keyframes bannerFloat{
  0%,100%{transform:scale(1) translateY(0);}
  50%{transform:scale(1.02) translateY(-6px);}
}

#products ul,#solutions ul,#howto ul,#contact ul,#sitemap ul,#links ul{
  list-style:none;
  padding-left:0;
  display:grid;
  gap:10px;
}

#products ul li,#solutions ul li{
  position:relative;
  padding:14px 18px 14px 46px;
  border-radius:var(--radius-md);
  background:linear-gradient(120deg,var(--c-surface-2),rgba(58,110,165,.06));
  border:1px solid var(--c-line-soft);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);
}

#products ul li::before,#solutions ul li::before{
  content:"";
  position:absolute;
  left:18px;
  top:50%;
  width:12px;
  height:12px;
  border-radius:50%;
  transform:translateY(-50%);
  background:linear-gradient(135deg,var(--c-accent),var(--c-accent-2));
  box-shadow:0 0 0 4px rgba(255,209,102,.22);
}

#products ul li:hover,#solutions ul li:hover{
  transform:translateX(6px);
  border-color:var(--c-primary-3);
  box-shadow:var(--c-shadow-soft);
}

#howto ol{
  counter-reset:step;
  list-style:none;
  padding-left:0;
  display:grid;
  gap:12px;
}

#howto ol li{
  counter-increment:step;
  position:relative;
  padding:16px 18px 16px 62px;
  border-radius:var(--radius-md);
  background:var(--c-surface-2);
  border:1px solid var(--c-line-soft);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .4s var(--ease);
}

#howto ol li::before{
  content:counter(step);
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-weight:900;
  font-size:.92rem;
  color:#fff;
  background:linear-gradient(135deg,var(--c-primary),var(--c-primary-3));
  box-shadow:0 8px 18px rgba(31,58,95,.3);
}

#howto ol li:hover{
  transform:translateX(6px);
  background:linear-gradient(120deg,var(--c-surface-2),rgba(255,209,102,.12));
  box-shadow:var(--c-shadow-soft);
}

#howto ul li{
  position:relative;
  padding-left:22px;
}

#howto ul li::before{
  content:"◆";
  position:absolute;
  left:0;
  top:0;
  color:var(--c-accent-2);
  font-size:.72rem;
  line-height:1.9;
}

.news-item,.post{
  position:relative;
  margin:0 0 18px;
  padding:22px clamp(16px,2.6vw,28px);
  border-radius:var(--radius-lg);
  background:linear-gradient(150deg,var(--c-surface-2),var(--c-surface));
  border:1px solid var(--c-line-soft);
  box-shadow:0 6px 18px rgba(31,58,95,.06);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);
  overflow:hidden;
}

.news-item::after,.post::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--c-primary-3),var(--c-accent));
  opacity:0;
  transition:opacity .45s var(--ease);
}

.news-item:hover,.post:hover{
  transform:translateY(-5px);
  border-color:var(--c-primary-3);
  box-shadow:var(--c-shadow-hover);
}

.news-item:hover::after,.post:hover::after{opacity:1;}

.news-item h3,.post h3{
  margin-top:0;
  border-bottom:0;
  padding-bottom:0;
}

.meta{
  font-size:.82rem;
  color:var(--c-text-mute);
  letter-spacing:.3px;
  margin-bottom:.8em;
  display:flex;
  flex-wrap:wrap;
  gap:6px 14px;
}

.post a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:700;
  font-size:.9rem;
  padding:8px 18px;
  border-radius:var(--radius-pill);
  color:var(--c-primary-3);
  background:rgba(58,110,165,.1);
  border:1px solid rgba(58,110,165,.22);
  transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease);
}

.post a::after{
  content:"→";
  transition:transform .35s var(--ease);
}

.post a:hover{
  color:#fff;
  background:linear-gradient(120deg,var(--c-primary),var(--c-primary-3));
  box-shadow:0 10px 24px rgba(31,58,95,.32);
  transform:translateY(-2px);
}

.post a:hover::after{transform:translateX(4px);}

#faq details{
  margin:0 0 12px;
  border-radius:var(--radius-md);
  border:1px solid var(--c-line-soft);
  background:var(--c-surface-2);
  overflow:hidden;
  transition:box-shadow .4s var(--ease),border-color .4s var(--ease),background .4s var(--ease);
}

#faq details[open]{
  border-color:var(--c-primary-3);
  box-shadow:var(--c-shadow-soft);
  background:linear-gradient(150deg,var(--c-surface-2),rgba(58,110,165,.06));
}

#faq summary{
  cursor:pointer;
  list-style:none;
  position:relative;
  padding:16px 52px 16px 20px;
  font-weight:700;
  color:var(--c-text);
  font-size:.98rem;
  transition:color .3s var(--ease),background .3s var(--ease);
}

#faq summary::-webkit-details-marker{display:none;}

#faq summary::after{
  content:"+";
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-weight:900;
  font-size:1rem;
  color:var(--c-primary-3);
  background:rgba(58,110,165,.12);
  transition:transform .4s var(--ease),background .4s var(--ease),color .4s var(--ease);
}

#faq details[open] summary::after{
  content:"−";
  transform:translateY(-50%) rotate(180deg);
  color:#fff;
  background:linear-gradient(135deg,var(--c-primary),var(--c-primary-3));
}

#faq summary:hover{color:var(--c-primary-3);background:rgba(58,110,165,.06);}

#faq details p{
  margin:0;
  padding:0 20px 18px;
  font-size:.94rem;
  animation:fadeSlide .5s var(--ease);
}

@keyframes fadeSlide{
  from{opacity:0;transform:translateY(-8px);}
  to{opacity:1;transform:translateY(0);}
}

#contact ul li{
  position:relative;
  padding:13px 16px 13px 44px;
  border-radius:var(--radius-md);
  background:var(--c-surface-2);
  border:1px solid var(--c-line-soft);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);
}

#contact ul li::before{
  content:"";
  position:absolute;
  left:16px;
  top:50%;
  width:14px;
  height:14px;
  transform:translateY(-50%) rotate(45deg);
  border-radius:4px;
  background:linear-gradient(135deg,var(--c-primary-3),var(--c-accent));
  box-shadow:0 0 0 4px rgba(58,110,165,.14);
}

#contact ul li:hover{
  transform:translateX(6px);
  border-color:var(--c-primary-3);
  box-shadow:var(--c-shadow-soft);
}

#sitemap ul,#links ul{
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}

#sitemap ul li a,#links ul li a{
  display:block;
  padding:13px 18px;
  border-radius:var(--radius-md);
  font-weight:600;
  color:var(--c-text-soft);
  background:var(--c-surface-2);
  border:1px solid var(--c-line-soft);
  transition:transform .38s var(--ease),background .38s var(--ease),color .38s var(--ease),box-shadow .38s var(--ease);
}

#sitemap ul li a:hover,#links ul li a:hover{
  color:#fff;
  background:linear-gradient(120deg,var(--c-primary),var(--c-primary-3));
  transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(31,58,95,.3);
}

#links ul li a[rel="nofollow"]{
  border-style:dashed;
}

footer{
  position:relative;
  z-index:1;
  margin-top:40px;
  padding:44px 20px 34px;
  background:linear-gradient(160deg,var(--c-primary) 0%,var(--c-primary-2) 58%,#16283f 100%);
  color:rgba(238,244,251,.9);
  border-radius:var(--radius-xl) var(--radius-xl) 0 0;
  box-shadow:0 -18px 50px rgba(31,58,95,.28);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:26px;
  max-width:var(--maxw);
  margin-left:auto;
  margin-right:auto;
}

footer::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:4px;
  background:linear-gradient(90deg,var(--c-accent),var(--c-accent-2),var(--c-primary-3));
}

footer section{
  margin:0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  border-radius:0;
  overflow:visible;
}

footer section::before{display:none;}

footer section:hover{
  transform:none;
  box-shadow:none;
  border-color:transparent;
}

footer h2{
  font-size:1rem;
  color:#fff;
  letter-spacing:1px;
  margin-bottom:.7em;
  padding-bottom:.5em;
  border-bottom:1px solid rgba(255,255,255,.18);
}

footer p{
  color:rgba(238,244,251,.8);
  font-size:.9rem;
  margin:0 0 .6em;
}

footer ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:8px;
}

footer ul li{margin:0;}

footer a{
  color:rgba(238,244,251,.86);
  font-size:.9rem;
  position:relative;
  padding-left:16px;
  transition:color .3s var(--ease),padding-left .3s var(--ease);
}

footer a::before{
  content:"›";
  position:absolute;
  left:0;
  color:var(--c-accent);
  transition:transform .3s var(--ease);
}

footer a:hover{
  color:var(--c-accent);
  padding-left:20px;
}

footer a:hover::before{transform:translateX(2px);}

#back-to-top{
  position:fixed;
  right:22px;
  bottom:26px;
  z-index:95;
  cursor:pointer;
  font-family:inherit;
  font-size:.84rem;
  font-weight:700;
  padding:12px 18px;
  border-radius:var(--radius-pill);
  border:1px solid rgba(255,255,255,.28);
  color:#fff;
  background:linear-gradient(135deg,var(--c-primary),var(--c-primary-3));
  box-shadow:0 14px 32px rgba(31,58,95,.4);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  opacity:0;
  visibility:hidden;
  transform:translateY(18px) scale(.94);
  transition:opacity .45s var(--ease),transform .45s var(--ease),visibility .45s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease);
}

#back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0) scale(1);
}

#back-to-top:hover{
  filter:brightness(1.1);
  box-shadow:0 20px 42px rgba(31,58,95,.55);
  transform:translateY(-4px) scale(1.04);
}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
  will-change:opacity,transform;
}

.reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

.reveal-delay-1{transition-delay:.08s;}
.reveal-delay-2{transition-delay:.16s;}
.reveal-delay-3{transition-delay:.24s;}

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

@media (max-width:1080px){
  .site-search{flex:1 1 220px;}
  .nav-list a{padding:8px 10px;font-size:.88rem;}
}

@media (max-width:900px){
  .header-inner{gap:10px;}
  nav[aria-label="主导航"]{
    order:10;
    flex:1 1 100%;
    max-height:0;
    overflow:hidden;
    transition:max-height .5s var(--ease),opacity .4s var(--ease),margin .4s var(--ease);
    opacity:0;
    margin-top:0;
  }
  nav[aria-label="主导航"].is-open{
    max-height:520px;
    opacity:1;
    margin-top:8px;
  }
  .nav-list{
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:10px;
    border-radius:var(--radius-lg);
    background:var(--c-surface-2);
    border:1px solid var(--c-line);
  }
  .nav-list a{display:block;padding:11px 14px;}
  .nav-list a::after{display:none;}
  #menu-toggle{display:inline-block;}
  .site-search{order:5;flex:1 1 100%;}
  .banner{min-height:190px;}
}

@media (max-width:640px){
  body{font-size:15px;}
  main{padding:0 14px 30px;}
  section{
    margin:22px 0;
    padding:22px 16px;
    border-radius:var(--radius-lg);
  }
  .hero{
    padding:24px 18px;
    border-radius:var(--radius-lg);
  }
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:10px;}
  .stat{padding:14px 10px;}
  .banner{min-height:160px;}
  .header-inner{padding:10px 14px;}
  .logo-text{font-size:1.1rem;}
  .logo svg{width:34px;height:34px;}
  .site-search{padding-left:12px;}
  .site-search button{padding:8px 13px;}
  .news-item,.post{padding:18px 15px;}
  #faq summary{padding:14px 46px 14px 16px;font-size:.94rem;}
  #faq details p{padding:0 16px 16px;}
  #back-to-top{right:14px;bottom:16px;padding:10px 14px;font-size:.78rem;}
  footer{
    padding:34px 16px 26px;
    border-radius:var(--radius-lg) var(--radius-lg) 0 0;
  }
}

@media (max-width:400px){
  .hero-stats{grid-template-columns:1fr;}
  .site-search button{padding:8px 11px;font-size:.82rem;}
  #theme-toggle,#menu-toggle{padding:8px 12px;font-size:.8rem;}
}

@media print{
  #site-header,#back-to-top,.banner,.site-search{display:none!important;}
  body{background:#fff;color:#000;}
  section{box-shadow:none;border:1px solid #ccc;}
  .reveal{opacity:1;transform:none;}
}