/* =========================================================
   清韵文化 · 官网视觉语言（2026-09）
   深空黑 / 电影感 / 全息玻璃 / 光尘 / 色散
   仅作用于官网首页模板，不影响 /admin 后台
   ========================================================= */

:root{
  --bg:#05060a;
  --bg-2:#080a10;
  --bg-3:#0b0e17;
  --paper:#f3f1ec;
  --shell:#f1efe9;
  --ink:#12131a;
  --muted:#666c7a;
  --faint:#9a9ead;
  --line:rgba(12,14,20,.10);
  --line-soft:rgba(12,14,20,.065);
  --line-strong:rgba(12,14,20,.16);
  --ice:#aebfe6;
  --prism-c:#57c6ff;
  --prism-m:#ff5c8a;
  --font-display:"Songti SC","Noto Serif CJK SC","Source Han Serif SC","STSong",Georgia,"Times New Roman",serif;
  --font-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei","Segoe UI",Roboto,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;
  --ease:cubic-bezier(.22,.72,.24,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--shell)}
body{
  margin:0;
  min-height:100vh;
  color:var(--ink);
  background:
    radial-gradient(110% 46% at 50% -12%, rgba(180,196,235,.20), transparent 60%),
    radial-gradient(70% 42% at 50% 114%, rgba(214,196,240,.16), transparent 58%),
    var(--shell);
  font:15px/1.9 var(--font-sans);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
p{margin:0}
ul{margin:0;padding:0}
button{font:inherit}
::selection{background:rgba(190,205,255,.2);color:#fff}
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:#05060a}
::-webkit-scrollbar-thumb{background:#1b1e28;border-radius:8px;border:2px solid #05060a}
::-webkit-scrollbar-thumb:hover{background:#2a2f3d}
:focus-visible{outline:1px solid rgba(200,218,255,.55);outline-offset:3px}
section[id]{scroll-margin-top:72px}
.container{width:min(1200px,100% - 56px);margin:0 auto}

/* ---------- 通用动效 ---------- */
.reveal{opacity:0;transform:translateY(28px) scale(.995);filter:blur(3px);transition:opacity .85s var(--ease),transform .85s var(--ease),filter .85s var(--ease);transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform,filter}
.reveal.in{opacity:1;transform:none;filter:none}
.scroll-progress{position:fixed;top:0;left:0;height:1px;width:0;z-index:300;background:linear-gradient(90deg,transparent,rgba(220,232,255,.9) 45%,var(--gold) 80%,transparent);opacity:.8}
.grain-layer{position:fixed;inset:0;z-index:290;width:100%;height:100%;pointer-events:none;opacity:.055;mix-blend-mode:overlay;image-rendering:pixelated}

/* ---------- 全息玻璃基底 ---------- */
.glass{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.095);
  background:
    linear-gradient(155deg,rgba(255,255,255,.075),rgba(255,255,255,.012) 42%,rgba(255,255,255,.045) 100%);
  box-shadow:0 38px 80px -46px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.1);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
  backdrop-filter:blur(20px) saturate(150%);
}
.glass::before{
  content:"";
  position:absolute;
  inset:-70%;
  border-radius:inherit;
  background:
    radial-gradient(24% 32% at 22% 16%,rgba(126,196,255,.11),transparent 60%),
    radial-gradient(20% 28% at 78% 84%,rgba(178,132,255,.08),transparent 62%),
    radial-gradient(18% 26% at 66% 20%,rgba(255,255,255,.045),transparent 60%);
  filter:blur(18px);
  opacity:.85;
  pointer-events:none;
  z-index:-1;
  animation:glassDrift 18s linear infinite;
}
@keyframes glassDrift{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.glass::after{
  content:"";
  position:absolute;
  top:0;
  left:18%;
  right:18%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
  pointer-events:none;
}

/* ---------- 按钮 ---------- */
.btn{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:48px;
  padding:0 30px;
  border-radius:999px;
  font-size:14px;
  font-weight:600;
  letter-spacing:.08em;
  line-height:1;
  white-space:nowrap;
  overflow:hidden;
  transition:color .35s var(--ease),background .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease),transform .35s var(--ease);
}
.btn:hover{transform:translateY(-2px)}
.btn.solid{background:#f1efe9;color:#07080d;box-shadow:0 16px 34px -18px rgba(240,240,245,.45)}
.btn.solid:hover{background:#fff;box-shadow:0 20px 44px -18px rgba(240,240,245,.6)}
.btn.ghost{border:1px solid rgba(255,255,255,.22);color:#eaeaf2;background:rgba(255,255,255,.025)}
.btn.ghost:hover{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.07)}
.btn.ghost::before,.btn.solid::before{
  content:"";
  position:absolute;
  top:-60%;
  bottom:-60%;
  left:-120%;
  width:46%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-24deg);
  transition:left .9s var(--ease);
  pointer-events:none;
}
.btn.ghost::before{background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent)}
.btn:hover::before{left:135%}

/* ---------- 眉题 / 标题 ---------- */
.kicker{
  margin:0 0 18px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.42em;
  line-height:1.6;
  text-transform:uppercase;
  color:#5c6473;
}
.kicker::before{
  content:"";
  display:inline-block;
  width:24px;
  height:1px;
  margin:0 16px 4px 0;
  background:var(--gold);
  vertical-align:middle;
  opacity:.75;
}
.section-head{text-align:center;margin-bottom:70px}
.section-head h2{
  margin:0 0 20px;
  font-family:var(--font-display);
  font-size:clamp(34px,4.8vw,52px);
  font-weight:600;
  letter-spacing:.06em;
  line-height:1.28;
}
.section-head p:not(.kicker){
  max-width:620px;
  margin:0 auto;
  color:var(--muted);
  font-size:16px;
  line-height:1.9;
}
.section-head h2::after{
  content:"";
  display:block;
  width:30px;
  height:1px;
  margin:24px auto 0;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  opacity:.7;
}

/* ---------- 顶栏 ---------- */
.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(5,6,10,.34);
  border-bottom:1px solid transparent;
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  backdrop-filter:blur(20px) saturate(160%);
  transition:background .4s var(--ease),border-color .4s var(--ease),box-shadow .4s var(--ease);
}
.site-header.scrolled{
  background:rgba(5,6,10,.72);
  border-bottom-color:rgba(255,255,255,.07);
  box-shadow:0 22px 44px -30px rgba(0,0,0,.85);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{display:inline-flex;align-items:center;gap:13px}
.logo-mark{
  position:relative;
  width:38px;
  height:38px;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.2);
  border-radius:11px;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.015));
  color:#f6f3ec;
  font-family:var(--font-display);
  font-size:17px;
  font-weight:600;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 14px 24px -18px rgba(0,0,0,.9);
  transition:transform .5s var(--ease),border-color .3s;
}
.logo-seal{
  position:absolute;
  right:-6px;
  bottom:-7px;
  width:16px;
  height:16px;
  border-radius:5px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#d8544a,#9d2c24);
  color:#fff;
  font:600 9px/1 var(--font-display);
  box-shadow:0 6px 14px -5px rgba(157,44,36,.7),inset 0 1px 0 rgba(255,255,255,.35);
  transform:rotate(4deg);
}
.logo:hover .logo-mark{transform:rotate(-5deg) scale(1.04)}
.logo-text{display:flex;flex-direction:column;line-height:1.25}
.logo-text strong{
  font-size:16px;
  font-weight:600;
  letter-spacing:.24em;
  color:#f0ede6;
}
.logo-text small{
  margin-top:4px;
  font-family:var(--font-mono);
  font-size:8px;
  letter-spacing:.32em;
  color:var(--faint);
}
.nav-links{display:flex;align-items:center;gap:32px}
.nav-links a:not(.nav-cta){
  position:relative;
  padding:6px 0;
  font-size:14px;
  letter-spacing:.12em;
  color:rgba(222,226,238,.78);
  transition:color .3s;
}
.nav-links a:not(.nav-cta)::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,var(--gold),rgba(255,255,255,.5));
  transition:right .35s var(--ease);
}
.nav-links a:not(.nav-cta):hover{color:#fff}
.nav-links a:not(.nav-cta):hover::after{right:0}
.nav-cta{
  padding:10px 22px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
  color:#eaeaf1;
  background:rgba(255,255,255,.025);
  transition:background .3s,color .3s,border-color .3s,box-shadow .3s;
}
.nav-cta:hover{
  background:#fff;
  border-color:#fff;
  color:#07080d;
  box-shadow:0 14px 28px -16px rgba(255,255,255,.5);
}
.nav-toggle{display:none;width:42px;height:42px;padding:0;border:0;background:none;cursor:pointer}
.nav-toggle span{display:block;width:20px;height:1px;margin:6px auto;background:#e9e7e0;transition:transform .3s var(--ease),opacity .2s}
.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)}

/* ---------- 首屏：深空黑 + 光尘 + 色散 ---------- */
.hero{
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:calc(100svh - 76px);
  padding:76px 0 0;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(820px 500px at 50% -12%,rgba(51,79,152,.28),transparent 62%),
    radial-gradient(620px 430px at 84% 78%,rgba(65,56,138,.12),transparent 62%),
    radial-gradient(720px 460px at 6% 92%,rgba(32,90,120,.09),transparent 58%),
    linear-gradient(180deg,#070910 0%,#05060a 66%,#04050a 100%);
}
.hero::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:1px;
  height:58%;
  transform:translateX(-50%);
  background:linear-gradient(180deg,transparent,rgba(158,182,235,.16),transparent);
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),rgba(255,255,255,.04) 42%,var(--gold) 50%,rgba(255,255,255,.04) 58%,rgba(255,255,255,.22),transparent);
  opacity:.55;
  pointer-events:none;
}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.glow{position:absolute;border-radius:50%;filter:blur(2px)}
.glow-a{
  top:-34%;
  left:50%;
  width:min(920px,120vw);
  height:min(680px,88vw);
  transform:translateX(-50%);
  background:radial-gradient(circle,rgba(76,112,205,.24),transparent 62%);
}
.glow-b{
  right:-18%;
  bottom:-28%;
  width:560px;
  height:560px;
  background:radial-gradient(circle,rgba(129,94,214,.11),transparent 64%);
}
.spot{
  position:absolute;
  left:var(--mx,50%);
  top:var(--my,38%);
  width:min(760px,86vw);
  height:min(760px,86vw);
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(126,172,255,.10),rgba(100,90,230,.04) 42%,transparent 68%);
  filter:blur(26px);
  mix-blend-mode:screen;
  opacity:.85;
  transition:left .7s var(--ease),top .7s var(--ease);
  will-change:left,top;
}
.hero-dust{position:absolute;inset:0;width:100%;height:100%;opacity:.9}

.hero-inner{
  position:relative;
  z-index:2;
  display:flex;
  justify-content:center;
  width:min(1080px,100% - 56px);
  margin:0 auto;
  padding:28px 0 44px;
  text-align:center;
}
.hero-copy{max-width:940px}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:0 0 26px;
  font-family:var(--font-mono);
  font-size:11px;
  letter-spacing:.42em;
  line-height:1;
  text-transform:uppercase;
  color:rgba(194,207,232,.66);
}
.eyebrow::before,.eyebrow::after{content:"";width:26px;height:1px;background:rgba(217,167,78,.55)}
.eyebrow::after{background:rgba(255,255,255,.22)}

.hero-heading{
  position:relative;
  display:inline-block;
  margin:4px auto 30px;
  line-height:1.12;
  filter:drop-shadow(0 22px 46px rgba(1,2,8,.5));
}
.title-core{
  position:absolute;
  left:50%;
  top:50%;
  z-index:-1;
  width:min(1100px,94vw);
  height:min(620px,52vw);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.title-core::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:
    radial-gradient(44% 58% at 50% 50%,rgba(130,176,255,.16),transparent 64%),
    radial-gradient(58% 78% at 50% 50%,rgba(126,88,255,.07),transparent 62%);
  filter:blur(24px);
  animation:coreBreathe 6.5s ease-in-out infinite;
}
.title-core::after,
.title-core i{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(145,200,255,.10);
  animation:coreSpin 22s linear infinite;
}
.title-core::after{inset:3% 7%;border-top-color:rgba(125,205,255,.36);border-right-color:rgba(180,140,255,.12);border-bottom-color:rgba(255,255,255,.05);border-left-color:rgba(125,205,255,.14)}
.title-core i:nth-child(1){inset:-2% 13%;border-color:transparent;border-bottom-color:rgba(255,255,255,.10);animation-duration:13s;animation-direction:reverse}
.title-core i:nth-child(2){inset:12% -2%;border-color:transparent;border-top-color:rgba(217,167,78,.16);animation-duration:31s}
.title-core i:nth-child(3){display:none}
@keyframes coreBreathe{
  0%,100%{opacity:.55;transform:scale(.97)}
  50%{opacity:1;transform:scale(1.04)}
}
@keyframes coreSpin{to{transform:rotate(360deg)}}
.hero-title{
  position:relative;
  display:inline-block;
  padding:0 .12em;
  font-family:var(--font-display);
  font-size:clamp(64px,10vw,132px);
  font-weight:600;
  letter-spacing:.18em;
  line-height:1.1;
  background:linear-gradient(180deg,#ffffff 0%,#eef2fb 38%,#dfe7f4 62%,#f7f4ec 100%);
  background-size:140% 160%;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  color:transparent;
  animation:titleShimmer 7s ease-in-out infinite;
}
@keyframes titleShimmer{
  0%,100%{background-position:0% 0%}
  50%{background-position:0% 55%}
}
.hero-title::before,.hero-title::after{
  content:attr(data-text);
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  opacity:.58;
  pointer-events:none;
  -webkit-text-fill-color:initial;
  text-shadow:none;
  mix-blend-mode:screen;
  filter:blur(.4px);
}
.hero-title::before{
  color:var(--prism-c);
  transform:translate(calc(-2.4px + var(--chx,0px) * -.7),calc(-1.1px + var(--chy,0px) * -.3));
  filter:blur(.7px);
}
.hero-title::after{
  color:var(--prism-m);
  transform:translate(calc(2.6px + var(--chx,0px) * .7),calc(1.2px + var(--chy,0px) * .3));
  filter:blur(.7px);
}
.hero-heading::after{
  content:"";
  position:absolute;
  top:-10%;
  bottom:-10%;
  left:-35%;
  width:44px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.30),transparent);
  filter:blur(2px);
  transform:skewX(-18deg);
  opacity:0;
  animation:headingSweep 6.5s ease-in-out infinite;
  pointer-events:none;
}
@keyframes headingSweep{
  0%,58%{left:-35%;opacity:0}
  72%{opacity:.85}
  94%,100%{left:115%;opacity:0}
}
.hero-seal{
  position:absolute;
  top:-18px;
  right:-50px;
  width:30px;
  height:30px;
  border-radius:9px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(145deg,#d8544a,#9d2c24);
  color:#fff;
  font:600 15px/1 var(--font-display);
  font-style:normal;
  box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 0 34px rgba(214,72,64,.5),0 14px 24px -12px rgba(0,0,0,.8);
  transform:rotate(5deg);
  animation:sealPulse 3.4s ease-in-out infinite;
}
@keyframes sealPulse{
  0%,100%{box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 0 22px rgba(214,72,64,.28),0 14px 24px -12px rgba(0,0,0,.8)}
  50%{box-shadow:0 0 0 1px rgba(255,255,255,.22) inset,0 0 44px rgba(214,72,64,.55),0 14px 24px -12px rgba(0,0,0,.8)}
}
.hero-slogan{
  margin:0 0 18px;
  font-family:var(--font-display);
  font-size:clamp(18px,2.4vw,24px);
  font-weight:600;
  letter-spacing:.12em;
  color:rgba(244,242,236,.92);
}
.hero-sub{
  max-width:600px;
  margin:0 auto 38px;
  color:var(--muted);
  font-size:15px;
  line-height:2;
}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}

/* 数据栏 */
.hero-foot{
  position:relative;
  z-index:2;
  border-top:1px solid rgba(255,255,255,.07);
  background:linear-gradient(180deg,rgba(255,255,255,.014),transparent 75%);
}
.stats-wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:30px 38px 34px;border-left:1px solid rgba(255,255,255,.06)}
.stat:first-child{border-left:0;padding-left:0}
.stat:last-child{padding-right:0}
.stat-label{
  display:block;
  margin-bottom:10px;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.3em;
  color:rgba(255,255,255,.30);
}
.stat-num{
  display:block;
  font-family:var(--font-display);
  font-size:clamp(28px,3.2vw,40px);
  font-weight:500;
  line-height:1.2;
  letter-spacing:.04em;
  color:#efede6;
}

/* ---------- 通用段落 ---------- */
.section{padding:150px 0;position:relative}

/* ---------- 关于 ---------- */
.about{
  overflow:hidden;
  background:
    radial-gradient(900px 460px at 92% -6%,rgba(173,190,235,.28),transparent 60%),
    radial-gradient(760px 460px at -6% 104%,rgba(226,208,248,.30),transparent 58%),
    #f4f2ee;
}
.about-glyph{
  position:absolute;
  top:38px;
  right:-24px;
  z-index:0;
  font-family:var(--font-display);
  font-size:clamp(200px,24vw,330px);
  font-weight:600;
  line-height:1;
  color:transparent;
  -webkit-text-stroke:1px rgba(12,16,26,.05);
  letter-spacing:.02em;
  pointer-events:none;
  user-select:none;
}
.about-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.35fr .86fr;
  gap:96px;
  align-items:center;
}
.about-copy h2{
  max-width:680px;
  margin:0 0 30px;
  font-family:var(--font-display);
  font-size:clamp(32px,4vw,44px);
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.5;
}
.about-text{
  max-width:680px;
  white-space:pre-line;
  color:#555b69;
  font-size:15.5px;
  line-height:2.1;
}
.about-tags{display:flex;flex-wrap:wrap;gap:11px;margin-top:38px}
.about-tags span{
  padding:9px 20px;
  border:1px solid rgba(12,14,20,.12);
  border-radius:999px;
  color:#3e4553;
  font-size:13px;
  letter-spacing:.1em;
  background:rgba(255,255,255,.75);
  transition:border-color .3s,color .3s,transform .3s;
}
.about-tags span:hover{border-color:rgba(217,167,78,.4);color:var(--gold);transform:translateY(-2px)}
.about-side{display:flex;flex-direction:column;gap:24px}
.about-quote{
  border-radius:24px;
  padding:44px 40px 40px;
  border-color:rgba(255,255,255,.1);
  background:
    radial-gradient(120% 90% at 86% -20%,rgba(126,176,255,.13),transparent 60%),
    radial-gradient(120% 90% at 0% 118%,rgba(170,120,255,.10),transparent 55%),
    linear-gradient(155deg,#0d0f17,#06070d 72%);
  box-shadow:0 46px 90px -44px rgba(8,10,18,.9),inset 0 1px 0 rgba(255,255,255,.12);
}
.quote-mark{
  display:block;
  margin-bottom:2px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:54px;
  line-height:1;
  color:var(--gold);
  opacity:.65;
}
.about-quote p{
  position:relative;
  z-index:1;
  font-family:var(--font-display);
  font-size:21px;
  font-weight:500;
  line-height:1.85;
  letter-spacing:.05em;
  color:rgba(241,238,230,.94);
}
.about-list{display:flex;flex-direction:column}
.about-list li{
  position:relative;
  display:flex;
  flex-direction:column;
  padding:22px 0 22px 34px;
  border-bottom:1px solid rgba(12,14,20,.09);
  list-style:none;
  transition:transform .3s var(--ease),border-color .3s;
}
.about-list li:last-child{border-bottom:0}
.about-list li:hover{transform:translateX(6px);border-color:var(--line-strong)}
.about-list li::before{
  content:"";
  position:absolute;
  left:2px;
  top:29px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:transparent;
  box-shadow:0 0 0 1px var(--gold),0 0 12px rgba(217,167,78,.5);
}
.about-list b{
  margin-bottom:4px;
  font-size:16px;
  font-weight:600;
  letter-spacing:.08em;
  color:#171921;
}
.about-list span{font-size:13px;color:var(--muted)}

/* ---------- 核心业务 ---------- */
.services{
  background:
    radial-gradient(1100px 560px at 50% -18%,rgba(40,64,134,.22),transparent 60%),
    radial-gradient(820px 480px at 100% 108%,rgba(74,54,152,.13),transparent 58%),
    linear-gradient(180deg,#06070c,#05060a 55%,#070810);
}
.services .section-head h2{color:#efede6}
.services .section-head p:not(.kicker){color:rgba(203,208,221,.60)}
.services .kicker{color:rgba(200,214,240,.62)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{
  display:flex;
  flex-direction:column;
  min-height:300px;
  padding:32px 32px 28px;
  border-radius:22px;
  overflow:hidden;
  transition:transform .5s var(--ease),border-color .5s,box-shadow .5s;
}
.service-card:hover{transform:translateY(-8px);border-color:rgba(255,255,255,.2);box-shadow:0 52px 90px -50px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.18)}
.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:38px}
.card-no{
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.22em;
  color:rgba(255,255,255,.32);
  transition:color .4s;
}
.service-card:hover .card-no{color:rgba(217,167,78,.85)}
.service-icon{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.12);
  border-radius:13px;
  color:rgba(214,222,238,.7);
  background:rgba(255,255,255,.02);
  transition:color .4s,border-color .4s,box-shadow .4s,transform .5s var(--ease);
}
.service-icon svg{width:20px;height:20px}
.service-card:hover .service-icon{
  color:#fff;
  border-color:rgba(255,255,255,.26);
  box-shadow:0 0 28px rgba(129,166,255,.14);
  transform:translateY(-3px);
}
.service-card h3{
  margin:0 0 12px;
  font-family:var(--font-display);
  font-size:22px;
  font-weight:600;
  letter-spacing:.1em;
  color:#efede7;
}
.service-card p{margin:0 0 30px;color:rgba(202,207,219,.62);font-size:13.5px;line-height:1.95}
.card-more{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.07);
  font-family:var(--font-mono);
  font-size:9px;
  letter-spacing:.3em;
  color:rgba(255,255,255,.18);
  transition:color .4s;
}
.service-card:hover .card-more{color:rgba(255,255,255,.44)}

/* ---------- LRC 专区 ---------- */
.lrc{
  background:
    radial-gradient(900px 460px at 88% -4%,rgba(184,197,240,.24),transparent 60%),
    radial-gradient(760px 420px at 4% 112%,rgba(224,207,246,.26),transparent 58%),
    #efede8;
}
.lrc .section-head h2{color:#13141b}
.lrc .section-head p:not(.kicker){color:#646b78}
.lrc .kicker{color:#5c6473}
.lrc-panel{
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:70px;
  align-items:center;
  border-radius:28px;
  padding:60px 64px;
  border-color:rgba(255,255,255,.11);
  background:
    radial-gradient(120% 110% at 86% -16%,rgba(81,126,224,.16),transparent 60%),
    radial-gradient(110% 100% at -8% 118%,rgba(112,76,190,.13),transparent 55%),
    linear-gradient(150deg,#0b0d15,#07080f 72%);
}
.lrc-copy{position:relative;z-index:1}
.lrc-copy h3{
  margin:0 0 18px;
  font-family:var(--font-display);
  font-size:clamp(26px,3vw,34px);
  font-weight:600;
  letter-spacing:.06em;
  color:#efede6;
}
.lrc-desc{color:rgba(199,205,218,.64);line-height:2;margin-bottom:28px}
.check-list{display:flex;flex-direction:column;gap:12px;margin:0 0 36px}
.check-list li{
  position:relative;
  padding-left:30px;
  color:rgba(218,222,232,.82);
  font-size:14px;
  list-style:none;
}
.check-list li::before{
  content:"";
  position:absolute;
  left:2px;
  top:9px;
  width:8px;
  height:8px;
  border-left:1px solid var(--gold);
  border-bottom:1px solid var(--gold);
  transform:rotate(-45deg);
  opacity:.9;
}
.lrc-actions{display:flex;gap:14px;flex-wrap:wrap}
.lrc-demo{
  position:relative;
  z-index:1;
  padding:24px 26px 22px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:18px;
  background:linear-gradient(170deg,rgba(10,13,21,.82),rgba(6,8,13,.9));
  box-shadow:0 34px 70px -38px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.06);
}
.demo-head{
  display:flex;
  align-items:center;
  gap:10px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line-soft);
  color:var(--faint);
  font-family:var(--font-mono);
  font-size:9px;
  letter-spacing:.22em;
}
.demo-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#e0584f;
  box-shadow:0 0 0 3px rgba(224,88,79,.12),0 0 12px rgba(224,88,79,.5);
}
.demo-eq{display:inline-flex;align-items:flex-end;gap:3px;height:12px;margin-left:auto}
.demo-eq i{width:2px;height:100%;border-radius:2px;background:rgba(166,190,230,.7);transform-origin:bottom;animation:eqBounce 1s ease-in-out infinite}
.demo-eq i:nth-child(2){animation-delay:-.33s}
.demo-eq i:nth-child(3){animation-delay:-.66s}
@keyframes eqBounce{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.demo-head i{font-style:normal}
.demo-time{margin-left:6px}
.demo-line{
  display:flex;
  gap:16px;
  align-items:baseline;
  padding:15px 8px;
  border-bottom:1px solid rgba(255,255,255,.035);
  font-size:13px;
  color:rgba(255,255,255,.3);
  transition:color .4s,transform .4s;
}
.demo-line em{
  flex:none;
  font-style:normal;
  font-family:var(--font-mono);
  font-size:10px;
  color:rgba(255,255,255,.16);
  transition:color .4s;
}
.demo-line.active{color:rgba(240,242,248,.94);transform:translateX(3px)}
.demo-line.active em{color:rgba(217,167,78,.85)}
.demo-bar{height:1px;margin-top:22px;background:rgba(255,255,255,.08);overflow:hidden}
.demo-bar span{display:block;height:100%;width:10%;background:linear-gradient(90deg,rgba(217,167,78,.7),rgba(200,220,255,.85));transition:width 1s var(--ease)}

/* ---------- 联系 ---------- */
.contact{
  background:
    radial-gradient(720px 420px at 12% 112%,rgba(180,195,235,.18),transparent 58%),
    radial-gradient(820px 460px at 112% -8%,rgba(227,211,246,.18),transparent 58%),
    #f6f4ef;
}
.contact-inner{max-width:1080px}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line-strong)}
.contact-cell{border-left:1px solid var(--line-soft)}
.contact-cell:first-child{border-left:0}
.contact-item{
  display:flex;
  flex-direction:column;
  height:100%;
  padding:46px 40px 44px;
  color:#14151c;
  transition:background .4s;
}
a.contact-item:hover{background:rgba(255,255,255,.55)}
.contact-item small{
  margin-bottom:16px;
  font-family:var(--font-mono);
  font-size:10px;
  letter-spacing:.34em;
  color:var(--faint);
  transition:color .3s;
}
.contact-item:hover small{color:rgba(217,167,78,.9)}
.contact-item b{
  margin-top:auto;
  font-family:var(--font-display);
  font-size:clamp(17px,1.8vw,21px);
  font-weight:500;
  letter-spacing:.04em;
  line-height:1.6;
  color:#101117;
  word-break:break-all;
}

/* ---------- 页脚 ---------- */
.site-footer{
  border-top:1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(900px 420px at 86% -14%,rgba(61,91,170,.14),transparent 60%),
    radial-gradient(760px 400px at 0% 116%,rgba(86,64,160,.10),transparent 56%),
    #07080d;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.5fr 1fr 1fr 1.3fr;
  gap:56px;
  padding:86px 0 64px;
}
.footer-logo{color:#fff}
.footer-brand p{margin:26px 0 0;color:#8c92a3;font-size:13px;line-height:2;max-width:300px}
.footer-col{display:flex;flex-direction:column;gap:13px}
.footer-col h4{
  position:relative;
  margin:0 0 14px;
  font-size:12px;
  font-weight:600;
  letter-spacing:.22em;
  color:#e8e5dd;
}
.footer-col h4::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-8px;
  width:22px;
  height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  opacity:.6;
}
.footer-col a,.footer-col span{color:#8c92a3;font-size:13px;width:max-content;transition:color .3s,transform .3s}
.footer-col a:hover{color:#e9e6df;transform:translateX(4px)}
.footer-bottom{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  padding:26px 0;
  border-top:1px solid rgba(255,255,255,.07);
  text-align:center;
}
.footer-bottom p{margin:0;color:#646b7d;font-size:11px;letter-spacing:.08em}
.footer-legal{display:flex;flex-direction:column;align-items:center;gap:7px}
.beian-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.beian-links a{color:#71798c;font-size:11px;letter-spacing:.04em;text-decoration:none;transition:color .3s}
.beian-links a:hover{color:#cfd6e6}

/* ---------- 响应式 ---------- */
@media(max-width:1080px){
  .about-grid{grid-template-columns:1fr;gap:64px}
  .about-side{max-width:640px}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr}
  .footer-col:nth-child(4){grid-column:1 / -1;padding-top:8px}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .lrc-panel{grid-template-columns:1fr;gap:44px;padding:50px 44px}
}
@media(max-width:900px){
  .contact-grid{grid-template-columns:1fr;border-top:0}
  .contact-cell{border-left:0;border-top:1px solid var(--line-soft)}
  .contact-cell:first-child{border-top:0}
  .contact-item{padding:36px 20px}
  .stats-wrap{grid-template-columns:1fr 1fr}
  .stat{padding:26px 22px}
  .stat:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.07)}
  .stat:nth-child(4){border-top:1px solid rgba(255,255,255,.07)}
}
@media(max-width:820px){
  .container{width:calc(100% - 40px)}
  .nav{height:68px}
  .nav-toggle{display:block}
  .nav-links{
    position:absolute;
    top:68px;
    right:0;
    left:0;
    display:none;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding:14px 28px 26px;
    background:rgba(6,7,12,.9);
    border-bottom:1px solid rgba(255,255,255,.08);
    box-shadow:0 34px 60px -34px rgba(0,0,0,.95);
    -webkit-backdrop-filter:blur(24px) saturate(150%);
    backdrop-filter:blur(24px) saturate(150%);
  }
  .nav-links.open{display:flex}
  .nav-links a:not(.nav-cta){width:100%;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-links a:not(.nav-cta)::after{display:none}
  .nav-links .nav-cta{margin-top:18px;align-self:flex-start}
  .section{padding:110px 0}
  .hero{min-height:calc(100svh - 68px);padding-top:46px}
  .hero-inner{padding-top:8px}
  .stats-wrap{grid-template-columns:1fr 1fr}
  .about-glyph{opacity:.6}
  .section-head{margin-bottom:54px}
}
@media(max-width:680px){
  .services-grid{grid-template-columns:1fr}
  .service-card{min-height:0}
  .footer-grid{grid-template-columns:1fr;gap:40px}
  .footer-col:nth-child(4){grid-column:auto;padding-top:0}
  .lrc-panel{padding:38px 24px;border-radius:22px}
  .hero-seal{right:-30px;top:-12px;width:25px;height:25px;font-size:12px;border-radius:7px}
  .hero-title{letter-spacing:.12em}
  .hero-foot{overflow:hidden}
  .stat{padding:22px 18px}
  .footer-bottom{justify-content:center;text-align:center}
}
@media(max-width:440px){
  .hero-title{font-size:clamp(48px,17vw,72px);letter-spacing:.08em}
  .hero-slogan{font-size:17px}
  .hero-actions .btn{min-height:46px;padding:0 22px;font-size:13px}
  .hero-actions{gap:12px}
}
@media(hover:none){
  .btn:hover,.service-card:hover,.nav-cta:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;filter:none}
}
