:root{
  --brand:#1f6feb;
  --brand-2:#7b5cff;
  --brand-3:#12c2e9;
  --bg:#f4f7fc;
  --bg-soft:#ffffff;
  --card:rgba(255,255,255,.72);
  --card-border:rgba(255,255,255,.6);
  --text:#16202e;
  --text-soft:#4b5a6e;
  --muted:#7b8a9e;
  --line:rgba(22,32,46,.1);
  --shadow:0 18px 48px rgba(31,111,235,.14);
  --shadow-soft:0 8px 26px rgba(22,32,46,.08);
  --radius:20px;
  --radius-sm:14px;
  --radius-lg:28px;
  --maxw:1180px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

@media (prefers-color-scheme: dark){
  :root{
    --bg:#0b1220;
    --bg-soft:#111a2b;
    --card:rgba(24,34,52,.66);
    --card-border:rgba(120,160,220,.18);
    --text:#e8eefb;
    --text-soft:#b7c4d8;
    --muted:#8a9ab4;
    --line:rgba(150,180,220,.16);
    --shadow:0 18px 48px rgba(0,0,0,.5);
    --shadow-soft:0 8px 26px rgba(0,0,0,.4);
  }
}

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

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

body{
  margin:0;
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  font-size:16px;
  line-height:1.8;
  color:var(--text);
  background:
    radial-gradient(1100px 620px at 8% -10%,rgba(31,111,235,.18),transparent 62%),
    radial-gradient(900px 560px at 100% 0%,rgba(123,92,255,.16),transparent 60%),
    radial-gradient(800px 520px at 50% 110%,rgba(18,194,233,.12),transparent 65%),
    var(--bg);
  background-attachment:fixed;
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
}

img,svg{max-width:100%;height:auto;display:block}
a{color:var(--brand);text-decoration:none;transition:color .25s var(--ease),opacity .25s var(--ease)}
a:hover{color:var(--brand-2)}
ul,ol{margin:0;padding-left:1.25em}
p{margin:0 0 1em}
h1,h2,h3{line-height:1.35;margin:0 0 .6em;font-weight:800;letter-spacing:.2px}
h1{font-size:clamp(1.6rem,4.2vw,2.6rem)}
h2{font-size:clamp(1.3rem,3vw,1.9rem)}
h3{font-size:clamp(1.05rem,2.2vw,1.25rem)}
blockquote{margin:0 0 1em;padding:0}

::selection{background:rgba(31,111,235,.22);color:var(--text)}

:focus-visible{
  outline:3px solid rgba(31,111,235,.55);
  outline-offset:3px;
  border-radius:8px;
}

header{
  position:sticky;
  top:0;
  z-index:100;
  background:linear-gradient(135deg,rgba(31,111,235,.92),rgba(123,92,255,.88) 55%,rgba(18,194,233,.9));
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 34px rgba(31,111,235,.28);
  animation:slideDown .7s var(--ease) both;
}

header nav{
  max-width:var(--maxw);
  margin:0 auto;
  padding:12px 20px;
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
}

header nav > a{
  color:#fff;
  font-weight:800;
  font-size:1.15rem;
  letter-spacing:1px;
  padding:6px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 6px 18px rgba(0,0,0,.12);
  transition:transform .3s var(--ease),background .3s var(--ease),box-shadow .3s var(--ease);
  white-space:nowrap;
}

header nav > a:hover{
  color:#fff;
  background:rgba(255,255,255,.3);
  transform:translateY(-2px) scale(1.03);
  box-shadow:0 12px 26px rgba(0,0,0,.2);
}

header nav ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  flex:1 1 auto;
}

header nav ul li a{
  display:inline-block;
  color:rgba(255,255,255,.92);
  font-size:.9rem;
  padding:6px 11px;
  border-radius:999px;
  transition:background .28s var(--ease),transform .28s var(--ease),color .28s var(--ease);
  white-space:nowrap;
}

header nav ul li a:hover{
  color:#fff;
  background:rgba(255,255,255,.22);
  transform:translateY(-2px);
}

main{
  max-width:var(--maxw);
  margin:0 auto;
  padding:34px 20px 60px;
  display:block;
}

main > section{
  position:relative;
  margin:0 0 30px;
  padding:30px clamp(18px,3vw,38px);
  background:var(--card);
  border:1px solid var(--card-border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  overflow:hidden;
  animation:fadeUp .8s var(--ease) both;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease);
}

main > section::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg,var(--brand),var(--brand-2),var(--brand-3));
  opacity:.85;
}

main > section:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow);
  border-color:rgba(31,111,235,.34);
}

main > section h2{
  position:relative;
  padding-left:16px;
  color:var(--text);
}

main > section h2::before{
  content:"";
  position:absolute;
  left:0;
  top:.18em;
  bottom:.18em;
  width:6px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--brand),var(--brand-3));
  box-shadow:0 0 14px rgba(31,111,235,.55);
}

main > section h3{
  color:var(--text);
  margin-top:1.5em;
}

main > section p,
main > section li{
  color:var(--text-soft);
}

#intro{
  background:
    linear-gradient(135deg,rgba(31,111,235,.16),rgba(123,92,255,.14) 50%,rgba(18,194,233,.16)),
    var(--card);
  border-radius:var(--radius-lg);
}

#intro h1{
  background:linear-gradient(100deg,var(--brand),var(--brand-2) 55%,var(--brand-3));
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  text-shadow:0 1px 0 rgba(255,255,255,.06);
}

#intro figure{
  margin:26px 0 0;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid var(--card-border);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}

#intro figure:hover{
  transform:scale(1.012) translateY(-3px);
  box-shadow:0 26px 60px rgba(31,111,235,.3);
}

#intro figure svg{
  display:block;
  width:100%;
  height:auto;
}

#intro figcaption{
  padding:12px 18px;
  font-size:.86rem;
  color:var(--muted);
  background:var(--card);
  border-top:1px solid var(--line);
  text-align:center;
}

nav[aria-label="面包屑导航"]{
  max-width:var(--maxw);
  margin:0 auto 26px;
  padding:0 20px;
}

nav[aria-label="面包屑导航"] ol{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
  padding:12px 18px;
  background:var(--card);
  border:1px solid var(--card-border);
  border-radius:999px;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  font-size:.88rem;
  color:var(--muted);
}

nav[aria-label="面包屑导航"] ol li{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
}

nav[aria-label="面包屑导航"] ol li + li::before{
  content:"›";
  color:var(--brand);
  font-weight:700;
  opacity:.7;
}

nav[aria-label="面包屑导航"] ol li a{
  color:var(--brand);
  font-weight:600;
}

nav[aria-label="面包屑导航"] ol li a:hover{
  color:var(--brand-2);
  text-decoration:underline;
  text-underline-offset:4px;
}

#products h3,
#advantages h3,
#solutions h3,
#applications h3,
#cases h3,
#knowledge h3{
  display:inline-block;
  padding:6px 16px;
  margin-top:1.4em;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(31,111,235,.14),rgba(18,194,233,.16));
  border:1px solid rgba(31,111,235,.22);
  color:var(--brand);
  font-size:1rem;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease);
}

@media (prefers-color-scheme: dark){
  #products h3,
  #advantages h3,
  #solutions h3,
  #applications h3,
  #cases h3,
  #knowledge h3{
    color:#8fc0ff;
    background:linear-gradient(135deg,rgba(31,111,235,.26),rgba(18,194,233,.2));
    border-color:rgba(120,170,255,.3);
  }
}

#products h3:hover,
#advantages h3:hover,
#solutions h3:hover,
#applications h3:hover,
#cases h3:hover,
#knowledge h3:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(31,111,235,.22);
}

#reviews blockquote{
  position:relative;
  margin:0 0 18px;
  padding:22px 24px 22px 58px;
  border-radius:var(--radius);
  background:linear-gradient(135deg,rgba(31,111,235,.1),rgba(123,92,255,.1));
  border:1px solid var(--card-border);
  font-size:1rem;
  color:var(--text-soft);
  box-shadow:var(--shadow-soft);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}

#reviews blockquote::before{
  content:"“";
  position:absolute;
  left:18px;
  top:6px;
  font-size:3.2rem;
  line-height:1;
  font-family:Georgia,serif;
  color:var(--brand);
  opacity:.5;
}

#reviews blockquote:hover{
  transform:translateX(6px);
  box-shadow:var(--shadow);
}

#reviews blockquote p{margin:0;color:inherit}

#news article,
#articles article,
#faq article{
  position:relative;
  margin:0 0 18px;
  padding:22px 24px;
  border-radius:var(--radius);
  background:var(--bg-soft);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease);
  overflow:hidden;
}

@media (prefers-color-scheme: dark){
  #news article,
  #articles article,
  #faq article{
    background:rgba(17,26,43,.72);
  }
}

#news article::after,
#articles article::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--brand),var(--brand-3));
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .45s var(--ease);
}

#news article:hover,
#articles article:hover,
#faq article:hover{
  transform:translateY(-4px);
  border-color:rgba(31,111,235,.34);
  box-shadow:var(--shadow);
}

#news article:hover::after,
#articles article:hover::after{
  transform:scaleY(1);
}

#news article h3,
#articles article h3,
#faq article h3{
  margin-top:0;
  color:var(--text);
  transition:color .3s var(--ease);
}

#news article:hover h3,
#articles article:hover h3{
  color:var(--brand);
}

#news article p:first-of-type,
#articles article p:first-of-type{
  display:inline-block;
  font-size:.8rem;
  color:var(--muted);
  padding:3px 12px;
  border-radius:999px;
  background:rgba(31,111,235,.1);
  border:1px solid rgba(31,111,235,.16);
  margin-bottom:10px;
}

#articles article a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-weight:700;
  padding:8px 18px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;
  box-shadow:0 8px 22px rgba(31,111,235,.32);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),filter .3s var(--ease);
}

#articles article a::after{
  content:"→";
  transition:transform .3s var(--ease);
}

#articles article a:hover{
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(31,111,235,.42);
  filter:brightness(1.06);
}

#articles article a:hover::after{
  transform:translateX(4px);
}

#faq article h3{
  position:relative;
  padding-left:30px;
}

#faq article h3::before{
  content:"?";
  position:absolute;
  left:0;
  top:.05em;
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-size:.82rem;
  font-weight:800;
  color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand-3));
  box-shadow:0 4px 12px rgba(31,111,235,.35);
}

#howto ol{
  counter-reset:step;
  list-style:none;
  padding:0;
}

#howto ol li{
  counter-increment:step;
  position:relative;
  margin:0 0 14px;
  padding:16px 20px 16px 62px;
  border-radius:var(--radius-sm);
  background:var(--bg-soft);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
}

@media (prefers-color-scheme: dark){
  #howto ol li{background:rgba(17,26,43,.72)}
}

#howto ol li::before{
  content:counter(step);
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-weight:800;
  font-size:.95rem;
  color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  box-shadow:0 6px 16px rgba(31,111,235,.36);
}

#howto ol li:hover{
  transform:translateX(6px);
  border-color:rgba(31,111,235,.34);
  box-shadow:var(--shadow);
}

#knowledge p{
  padding:16px 20px;
  border-radius:var(--radius-sm);
  background:var(--bg-soft);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}

@media (prefers-color-scheme: dark){
  #knowledge p{background:rgba(17,26,43,.72)}
}

#knowledge p:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
}

#contact p{
  margin:0 0 10px;
  padding:12px 18px;
  border-radius:var(--radius-sm);
  background:var(--bg-soft);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  color:var(--text-soft);
  transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease);
  word-break:break-word;
}

@media (prefers-color-scheme: dark){
  #contact p{background:rgba(17,26,43,.72)}
}

#contact p:hover{
  transform:translateX(5px);
  border-color:rgba(31,111,235,.34);
  box-shadow:var(--shadow);
}

#contact p:first-of-type{
  font-weight:800;
  color:var(--text);
}

#team p{
  margin:0 0 8px;
  color:var(--text-soft);
}

#team p:last-child{
  margin-top:16px;
  padding-top:14px;
  border-top:1px dashed var(--line);
  font-size:.88rem;
  color:var(--muted);
}

#sitemap ul,
#links ul{
  list-style:none;
  padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(160px,1fr));
  gap:12px;
}

#sitemap ul li a,
#links ul li a{
  display:block;
  padding:12px 16px;
  border-radius:var(--radius-sm);
  background:var(--bg-soft);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  color:var(--text-soft);
  font-weight:600;
  font-size:.92rem;
  transition:transform .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease);
}

@media (prefers-color-scheme: dark){
  #sitemap ul li a,
  #links ul li a{background:rgba(17,26,43,.72)}
}

#sitemap ul li a:hover,
#links ul li a:hover{
  color:var(--brand);
  transform:translateY(-3px);
  border-color:rgba(31,111,235,.4);
  box-shadow:var(--shadow);
  background:linear-gradient(135deg,rgba(31,111,235,.1),rgba(18,194,233,.12));
}

#legal h2{
  margin-top:1.6em;
  font-size:1.15rem;
}

#legal h2:first-child{margin-top:0}

#legal p{
  padding:14px 18px;
  border-radius:var(--radius-sm);
  background:var(--bg-soft);
  border:1px solid var(--line);
  box-shadow:var(--shadow-soft);
  color:var(--text-soft);
  font-size:.94rem;
}

@media (prefers-color-scheme: dark){
  #legal p{background:rgba(17,26,43,.72)}
}

footer{
  position:relative;
  margin-top:20px;
  padding:40px 20px 46px;
  text-align:center;
  color:rgba(255,255,255,.9);
  background:linear-gradient(135deg,#1f6feb,#7b5cff 52%,#12c2e9);
  border-top:1px solid rgba(255,255,255,.2);
  box-shadow:0 -12px 40px rgba(31,111,235,.24);
  overflow:hidden;
}

footer::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(600px 260px at 15% 0%,rgba(255,255,255,.22),transparent 60%),
    radial-gradient(600px 260px at 85% 100%,rgba(255,255,255,.16),transparent 60%);
  pointer-events:none;
}

footer p{
  position:relative;
  margin:0 0 8px;
  font-size:.9rem;
  letter-spacing:.3px;
}

footer p:first-child{
  font-weight:800;
  font-size:1rem;
}

footer p:last-child{margin-bottom:0}

footer a{color:#fff;text-decoration:underline;text-underline-offset:4px}

@media (max-width:900px){
  header nav{padding:10px 14px;gap:12px}
  header nav > a{font-size:1rem;padding:5px 12px}
  header nav ul{gap:2px}
  header nav ul li a{font-size:.84rem;padding:5px 9px}
  main{padding:24px 14px 48px}
  main > section{padding:24px 18px;border-radius:var(--radius);margin-bottom:22px}
  nav[aria-label="面包屑导航"]{padding:0 14px;margin-bottom:20px}
}

@media (max-width:640px){
  body{font-size:15px;line-height:1.75}
  header nav{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  header nav > a{align-self:flex-start}
  header nav ul{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    width:100%;
  }
  header nav ul li a{
    display:block;
    text-align:center;
    padding:8px 4px;
    font-size:.8rem;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.16);
  }
  main > section{
    padding:20px 15px;
    border-radius:var(--radius-sm);
  }
  main > section h2{padding-left:13px;font-size:1.2rem}
  main > section h2::before{width:5px}
  #intro figure{border-radius:var(--radius-sm)}
  #reviews blockquote{padding:18px 18px 18px 46px}
  #reviews blockquote::before{left:12px;font-size:2.4rem}
  #news article,
  #articles article,
  #faq article{padding:18px 16px}
  #howto ol li{padding:14px 16px 14px 54px}
  #howto ol li::before{left:12px;width:28px;height:28px;font-size:.85rem}
  #sitemap ul,
  #links ul{grid-template-columns:repeat(2,1fr);gap:10px}
  #sitemap ul li a,
  #links ul li a{padding:10px 12px;font-size:.85rem}
  footer{padding:32px 16px 38px}
  footer p{font-size:.82rem}
}

@media (max-width:360px){
  header nav ul{grid-template-columns:repeat(2,1fr)}
  #sitemap ul,
  #links ul{grid-template-columns:1fr}
}

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

@keyframes fadeUp{
  from{opacity:0;transform:translateY(26px)}
  to{opacity:1;transform:translateY(0)}
}

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

@supports (animation-timeline: view()){
  main > section{
    animation:fadeUp linear both;
    animation-timeline:view();
    animation-range:entry 0% entry 34%;
  }
}

@media print{
  header,footer,nav[aria-label="面包屑导航"]{display:none}
  body{background:#fff;color:#000}
  main > section{box-shadow:none;border:1px solid #ccc;background:#fff;break-inside:avoid}
}