:root{
  --brand:#f4a300;
  --brand-deep:#c47f00;
  --brand-soft:#ffd166;
  --brand-glow:rgba(244,163,0,.35);
  --bg:#fffaf0;
  --bg-alt:#fff3dc;
  --surface:rgba(255,255,255,.72);
  --surface-solid:#ffffff;
  --surface-2:#fff6e6;
  --text:#2b2118;
  --text-soft:#6b5b48;
  --text-mute:#9a8b78;
  --border:rgba(196,127,0,.18);
  --border-strong:rgba(196,127,0,.32);
  --shadow-sm:0 2px 8px rgba(120,80,0,.08);
  --shadow-md:0 10px 30px rgba(120,80,0,.12);
  --shadow-lg:0 24px 60px rgba(120,80,0,.18);
  --radius-sm:10px;
  --radius:16px;
  --radius-lg:24px;
  --radius-pill:999px;
  --header-h:68px;
  --maxw:1160px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --font:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Helvetica Neue",Helvetica,Arial,"Noto Sans SC",sans-serif;
}

@media (prefers-color-scheme:dark){
  :root{
    --brand:#ffb733;
    --brand-deep:#e09b12;
    --brand-soft:#ffd98a;
    --brand-glow:rgba(255,183,51,.35);
    --bg:#141009;
    --bg-alt:#1c1509;
    --surface:rgba(38,30,18,.62);
    --surface-solid:#221a0e;
    --surface-2:#2a2011;
    --text:#f6efe2;
    --text-soft:#cdbfa8;
    --text-mute:#948468;
    --border:rgba(255,183,51,.18);
    --border-strong:rgba(255,183,51,.34);
    --shadow-sm:0 2px 8px rgba(0,0,0,.35);
    --shadow-md:0 10px 30px rgba(0,0,0,.45);
    --shadow-lg:0 24px 60px rgba(0,0,0,.55);
  }
}

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

html{
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 16px);
  -webkit-text-size-adjust:100%;
}

body{
  margin:0;
  font-family:var(--font);
  font-size:16px;
  line-height:1.75;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 12% -10%,var(--brand-glow),transparent 60%),
    radial-gradient(900px 500px at 100% 0%,rgba(244,163,0,.12),transparent 55%),
    linear-gradient(180deg,var(--bg) 0%,var(--bg-alt) 100%);
  background-attachment:fixed;
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

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

a{
  color:var(--brand-deep);
  text-decoration:none;
  transition:color .25s var(--ease),opacity .25s var(--ease);
}
a:hover,a:focus-visible{color:var(--brand);}

:focus-visible{
  outline:3px solid var(--brand);
  outline-offset:2px;
  border-radius:6px;
}

::selection{background:var(--brand);color:#fff;}

/* ---------- 滚动条 ---------- */
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--brand),var(--brand-deep));
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box;
}

/* ---------- 顶部导航 ---------- */
#site-header{
  position:sticky;
  top:0;
  z-index:100;
  height:var(--header-h);
  background:var(--surface);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  backdrop-filter:blur(18px) saturate(160%);
  border-bottom:1px solid var(--border);
  box-shadow:var(--shadow-sm);
  animation:headerDrop .6s var(--ease) both;
}

@keyframes headerDrop{
  from{transform:translateY(-100%);opacity:0;}
  to{transform:translateY(0);opacity:1;}
}

.header-inner{
  max-width:var(--maxw);
  height:100%;
  margin:0 auto;
  padding:0 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:1.18rem;
  font-weight:800;
  letter-spacing:.02em;
  color:var(--text);
  white-space:nowrap;
  transition:transform .3s var(--ease);
}
.brand:hover{transform:translateY(-1px) scale(1.02);color:var(--text);}
.brand svg{
  filter:drop-shadow(0 4px 10px var(--brand-glow));
  transition:transform .45s var(--ease);
}
.brand:hover svg{transform:rotate(-6deg) scale(1.06);}

#site-header nav ul{
  display:flex;
  align-items:center;
  gap:2px;
  margin:0;
  padding:0;
  list-style:none;
  flex-wrap:wrap;
  justify-content:flex-end;
}

#site-header nav a{
  position:relative;
  display:block;
  padding:8px 12px;
  font-size:.92rem;
  font-weight:600;
  color:var(--text-soft);
  border-radius:var(--radius-pill);
  transition:color .25s var(--ease),background .25s var(--ease),transform .25s var(--ease);
}
#site-header nav a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:4px;
  width:0;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,var(--brand),var(--brand-deep));
  transform:translateX(-50%);
  transition:width .3s var(--ease);
}
#site-header nav a:hover,
#site-header nav a:focus-visible{
  color:var(--brand-deep);
  background:rgba(244,163,0,.12);
  transform:translateY(-2px);
}
#site-header nav a:hover::after{width:60%;}

/* ---------- 主体容器 ---------- */
main{
  max-width:var(--maxw);
  margin:0 auto;
  padding:24px 20px 64px;
}

/* ---------- 面包屑 ---------- */
main > nav[aria-label="面包屑导航"]{
  margin:0 0 18px;
}
main > nav[aria-label="面包屑导航"] ol{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
  font-size:.86rem;
  color:var(--text-mute);
}
main > nav[aria-label="面包屑导航"] li{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
main > nav[aria-label="面包屑导航"] li + li::before{
  content:"›";
  color:var(--brand);
  font-weight:700;
}
main > nav[aria-label="面包屑导航"] a{
  color:var(--text-soft);
  font-weight:600;
}
main > nav[aria-label="面包屑导航"] a:hover{color:var(--brand-deep);}
main > nav[aria-label="面包屑导航"] li[aria-current="page"]{
  color:var(--brand-deep);
  font-weight:700;
}

/* ---------- 通用 section 卡片 ---------- */
main > section{
  position:relative;
  margin:0 0 26px;
  padding:32px 30px;
  background:var(--surface);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  backdrop-filter:blur(16px) saturate(150%);
  border:1px solid var(--border);
  border-radius:var(--radius-lg);
  box-shadow:var(--shadow-sm);
  transition:box-shadow .4s var(--ease),transform .4s var(--ease),border-color .4s var(--ease);
  animation:fadeUp .7s var(--ease) both;
}
main > section:hover{
  box-shadow:var(--shadow-md);
  border-color:var(--border-strong);
  transform:translateY(-3px);
}

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

/* 依次延迟，形成滚动进入的层次感 */
main > section:nth-of-type(1){animation-delay:.05s;}
main > section:nth-of-type(2){animation-delay:.1s;}
main > section:nth-of-type(3){animation-delay:.15s;}
main > section:nth-of-type(4){animation-delay:.2s;}
main > section:nth-of-type(5){animation-delay:.25s;}
main > section:nth-of-type(6){animation-delay:.3s;}
main > section:nth-of-type(7){animation-delay:.35s;}
main > section:nth-of-type(8){animation-delay:.4s;}
main > section:nth-of-type(9){animation-delay:.45s;}
main > section:nth-of-type(10){animation-delay:.5s;}

/* ---------- Hero 渐变 Banner ---------- */
#hero{
  overflow:hidden;
  padding:56px 40px;
  color:#fff;
  background:
    radial-gradient(900px 420px at 88% -20%,rgba(255,255,255,.35),transparent 60%),
    linear-gradient(135deg,#ffb733 0%,#f4a300 42%,#c47f00 100%);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:var(--shadow-lg);
}
#hero::before{
  content:"";
  position:absolute;
  inset:-40% -10% auto auto;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.35),transparent 65%);
  pointer-events:none;
  animation:floatOrb 12s ease-in-out infinite;
}
#hero::after{
  content:"";
  position:absolute;
  left:-80px;
  bottom:-140px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.22),transparent 68%);
  pointer-events:none;
  animation:floatOrb 16s ease-in-out infinite reverse;
}

@keyframes floatOrb{
  0%,100%{transform:translate3d(0,0,0) scale(1);}
  50%{transform:translate3d(-24px,20px,0) scale(1.08);}
}

#hero h1{
  position:relative;
  z-index:1;
  margin:0 0 16px;
  font-size:clamp(1.6rem,3.4vw,2.5rem);
  line-height:1.3;
  font-weight:800;
  letter-spacing:.01em;
  text-shadow:0 2px 14px rgba(120,70,0,.28);
}
#hero p{
  position:relative;
  z-index:1;
  margin:0;
  max-width:62ch;
  font-size:clamp(.98rem,1.4vw,1.1rem);
  color:rgba(255,255,255,.94);
  text-shadow:0 1px 8px rgba(120,70,0,.22);
}

/* ---------- 标题层级 ---------- */
h2{
  position:relative;
  margin:0 0 18px;
  padding-left:16px;
  font-size:clamp(1.3rem,2.4vw,1.72rem);
  line-height:1.35;
  font-weight:800;
  color:var(--text);
  letter-spacing:.01em;
}
h2::before{
  content:"";
  position:absolute;
  left:0;
  top:.18em;
  bottom:.18em;
  width:6px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--brand),var(--brand-deep));
  box-shadow:0 0 14px var(--brand-glow);
}

h3{
  margin:26px 0 12px;
  font-size:clamp(1.06rem,1.7vw,1.24rem);
  line-height:1.45;
  font-weight:700;
  color:var(--brand-deep);
}
h3:first-of-type{margin-top:18px;}

p{margin:0 0 14px;color:var(--text-soft);}

/* ---------- 列表 ---------- */
ul,ol{
  margin:0 0 16px;
  padding-left:0;
  list-style:none;
  color:var(--text-soft);
}
main ul li,main ol li{
  position:relative;
  margin:0 0 10px;
  padding-left:28px;
  transition:transform .25s var(--ease),color .25s var(--ease);
}
main ul li::before{
  content:"";
  position:absolute;
  left:6px;
  top:.62em;
  width:9px;
  height:9px;
  border-radius:3px;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 0 0 3px rgba(244,163,0,.14);
  transition:transform .3s var(--ease);
}
main ul li:hover,main ol li:hover{
  transform:translateX(4px);
  color:var(--text);
}
main ul li:hover::before{transform:rotate(45deg) scale(1.1);}

main ol{counter-reset:step;}
main ol li{padding-left:40px;}
main ol li::before{
  counter-increment:step;
  content:counter(step);
  position:absolute;
  left:0;
  top:.12em;
  width:26px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.78rem;
  font-weight:800;
  color:#fff;
  border-radius:50%;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  box-shadow:0 4px 12px var(--brand-glow);
  transition:transform .3s var(--ease);
}
main ol li:hover::before{transform:scale(1.12);}

/* ---------- 文章卡片 ---------- */
article{
  position:relative;
  margin:0 0 16px;
  padding:22px 24px;
  background:var(--surface-solid);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease);
  overflow:hidden;
}
article::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--brand),var(--brand-deep));
  transform:scaleY(0);
  transform-origin:top;
  transition:transform .4s var(--ease);
}
article:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-md);
  border-color:var(--border-strong);
}
article:hover::before{transform:scaleY(1);}

article h3{
  margin:0 0 8px;
  color:var(--text);
  font-size:1.08rem;
}
article:hover h3{color:var(--brand-deep);}

article p{margin:0 0 10px;font-size:.95rem;}

article p:first-of-type{
  display:inline-block;
  margin-bottom:10px;
  padding:2px 10px;
  font-size:.78rem;
  font-weight:700;
  color:var(--brand-deep);
  background:rgba(244,163,0,.12);
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
}

article a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.9rem;
  font-weight:700;
  color:var(--brand-deep);
}
article a::after{
  content:"→";
  transition:transform .3s var(--ease);
}
article a:hover::after{transform:translateX(5px);}

/* ---------- 引用 / 客户评价 ---------- */
blockquote{
  position:relative;
  margin:0 0 14px;
  padding:20px 24px 20px 56px;
  background:linear-gradient(135deg,rgba(244,163,0,.1),rgba(244,163,0,.02));
  border:1px solid var(--border);
  border-radius:var(--radius);
  transition:transform .35s var(--ease),box-shadow .35s var(--ease);
}
blockquote::before{
  content:"“";
  position:absolute;
  left:16px;
  top:6px;
  font-size:3rem;
  line-height:1;
  font-family:Georgia,serif;
  color:var(--brand);
  opacity:.55;
}
blockquote p{
  margin:0;
  color:var(--text);
  font-size:.98rem;
  font-style:italic;
}
blockquote:hover{
  transform:translateY(-3px) scale(1.01);
  box-shadow:var(--shadow-md);
}

/* ---------- FAQ 折叠 ---------- */
details{
  margin:0 0 12px;
  background:var(--surface-solid);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
  transition:box-shadow .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);
}
details:hover{
  border-color:var(--border-strong);
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
}
details[open]{
  border-color:var(--border-strong);
  box-shadow:var(--shadow-md);
}

summary{
  position:relative;
  padding:16px 52px 16px 22px;
  font-weight:700;
  font-size:1rem;
  color:var(--text);
  cursor:pointer;
  list-style:none;
  transition:color .25s var(--ease),background .25s var(--ease);
}
summary::-webkit-details-marker{display:none;}
summary::before{
  content:"";
  position:absolute;
  right:22px;
  top:50%;
  width:11px;
  height:11px;
  border-right:2.5px solid var(--brand-deep);
  border-bottom:2.5px solid var(--brand-deep);
  transform:translateY(-70%) rotate(45deg);
  transition:transform .35s var(--ease);
}
details[open] summary::before{transform:translateY(-30%) rotate(-135deg);}
summary:hover{color:var(--brand-deep);background:rgba(244,163,0,.08);}

details p{
  margin:0;
  padding:0 22px 20px;
  color:var(--text-soft);
  font-size:.95rem;
  animation:reveal .4s var(--ease) both;
}
@keyframes reveal{
  from{opacity:0;transform:translateY(-8px);}
  to{opacity:1;transform:translateY(0);}
}

/* ---------- 联系我们信息 ---------- */
#contact ul{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
  margin:0 0 18px;
}
#contact ul li{
  margin:0;
  padding:14px 18px 14px 40px;
  background:var(--surface-2);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  font-size:.94rem;
  color:var(--text);
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
#contact ul li::before{
  left:16px;
  top:50%;
  transform:translateY(-50%) rotate(45deg);
  border-radius:2px;
}
#contact ul li:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-md);
  border-color:var(--border-strong);
}

/* ---------- 网站地图 / 友情链接 ---------- */
#sitemap ul,#links ul{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0;
}
#sitemap ul li,#links ul li{
  margin:0;
  padding:0;
}
#sitemap ul li::before,#links ul li::before{display:none;}
#sitemap ul li a,#links ul li a{
  display:inline-flex;
  align-items:center;
  padding:8px 16px;
  font-size:.9rem;
  font-weight:600;
  color:var(--text-soft);
  background:var(--surface-2);
  border:1px solid var(--border);
  border-radius:var(--radius-pill);
  transition:transform .28s var(--ease),box-shadow .28s var(--ease),color .28s var(--ease),background .28s var(--ease),border-color .28s var(--ease);
}
#sitemap ul li a:hover,#links ul li a:hover{
  color:#fff;
  background:linear-gradient(135deg,var(--brand),var(--brand-deep));
  border-color:transparent;
  transform:translateY(-3px);
  box-shadow:0 10px 22px var(--brand-glow);
}

/* ---------- 法律声明 ---------- */
#legal h3{margin-top:20px;}
#legal p{font-size:.94rem;}

/* ---------- 页脚 ---------- */
footer{
  position:relative;
  margin-top:8px;
  padding:40px 20px 46px;
  text-align:center;
  color:var(--text-soft);
  background:linear-gradient(180deg,transparent,rgba(244,163,0,.08));
  border-top:1px solid var(--border);
}
footer p{
  margin:0 0 8px;
  font-size:.9rem;
  color:var(--text-mute);
}
footer p:last-child{
  margin:0;
  font-weight:700;
  color:var(--brand-deep);
  letter-spacing:.02em;
}

/* ---------- 响应式：平板 ---------- */
@media (max-width:900px){
  .header-inner{flex-direction:column;height:auto;padding:12px 16px;gap:8px;}
  #site-header{height:auto;}
  html{scroll-padding-top:130px;}
  #site-header nav ul{justify-content:center;}
  #site-header nav a{padding:6px 10px;font-size:.86rem;}
  main{padding:20px 16px 52px;}
  main > section{padding:26px 22px;border-radius:var(--radius);}
  #hero{padding:40px 26px;}
}

/* ---------- 响应式：手机 ---------- */
@media (max-width:600px){
  body{font-size:15px;}
  .brand{font-size:1.06rem;}
  .brand svg{width:34px;height:34px;}
  #site-header nav ul{gap:0;}
  #site-header nav a{padding:6px 8px;font-size:.8rem;}
  main{padding:16px 12px 44px;}
  main > section{padding:22px 18px;margin-bottom:18px;border-radius:var(--radius);}
  #hero{padding:32px 20px;border-radius:var(--radius);}
  h2{padding-left:14px;}
  h2::before{width:5px;}
  article{padding:18px 16px;}
  blockquote{padding:18px 18px 18px 48px;}
  summary{padding:14px 46px 14px 18px;font-size:.95rem;}
  details p{padding:0 18px 18px;}
  #contact ul{grid-template-columns:1fr;}
  main ul li,main ol li{font-size:.94rem;}
}

/* ---------- 减少动画偏好 ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* ---------- 打印 ---------- */
@media print{
  #site-header,footer{display:none;}
  body{background:#fff;color:#000;}
  main > section{box-shadow:none;border:1px solid #ccc;background:#fff;backdrop-filter:none;}
  a{color:#000;text-decoration:underline;}
}