/* ============================================================
   官网首页 — 安徽裕创科技有限公司
   ============================================================ */

:root {
  --bg: #060a14;
  --bg-2: #0a1122;
  --panel: #0e1830;
  --panel-2: #12203f;
  --line: rgba(120, 180, 255, .14);
  --ink: #eaf2ff;
  --ink-dim: #8fa4c8;
  --teal: #38e0b8;
  --teal-gl: #7dffdd;
  --amber: #ffb347;
  --amber-gl: #ffd98a;
  --cyan: #4fd4ff;
  --danger: #ff6b6b;
  --radius: 16px;
  --shadow: 0 20px 60px rgba(0,0,0,.5);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: "Rajdhani", "PingFang SC", "Microsoft YaHei", sans-serif;
  overflow-x: hidden;
  line-height: 1.6;
  letter-spacing: .2px;
}
h1,h2,h3,.display { font-family: "Orbitron", "PingFang SC", sans-serif; font-weight: 700; }

/* ── Canvas backdrop ── */
#bgGrid {
  position: fixed; inset: 0; z-index: -2;
  background:
    radial-gradient(900px 600px at 80% -10%, rgba(56,224,184,.10), transparent 60%),
    radial-gradient(800px 500px at 8% 30%, rgba(79,212,255,.08), transparent 55%),
    linear-gradient(180deg, #060a14 0%, #071023 60%, #060a14 100%);
}
#bgGrid::before {
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 56px 56px;
  mask-image: radial-gradient(circle at 50% 0%, black, transparent 78%);
  opacity:.5;
}
.grain::after {
  content:""; position:fixed; inset:0; z-index:999; pointer-events:none;
  background-image: radial-gradient(rgba(255,255,255,.045) 1px, transparent 1px);
  background-size: 3px 3px; opacity:.5;
}

/* ── Nav ── */
nav {
  position: fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding: 18px clamp(20px, 5vw, 72px);
  transition: background .4s, box-shadow .4s;
}
nav.scrolled {
  background: rgba(6,10,20,.82);
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 30px rgba(0,0,0,.4);
}
.logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.logo-mark {
  width:42px; height:42px; border-radius:10px;
  background: conic-gradient(from 200deg, var(--teal), var(--cyan), var(--amber), var(--teal));
  padding:2px;
}
.logo-mark > div {
  width:100%; height:100%; border-radius:8px; background:#070c18;
  display:grid; place-items:center; font-family:"Orbitron"; font-weight:900; color:#fff;
  font-size:18px;
}
.logo-name {
  font-family:"Orbitron"; font-weight:700; font-size:20px; letter-spacing:1px;
  background: linear-gradient(90deg, var(--ink) 30%, var(--teal-gl));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.logo-name small {
  display:block; font-family:"Rajdhani"; font-weight:500; font-size:11px; letter-spacing:3px;
  color: var(--ink-dim);
  -webkit-text-fill-color: var(--ink-dim);
}
.nav-links { display:flex; gap:32px; list-style:none; font-weight:600; letter-spacing:1px; font-size:15px; }
.nav-links a { color:var(--ink-dim); text-decoration:none; position:relative; transition:color .3s; }
.nav-links a::after {
  content:""; position:absolute; left:0; bottom:-6px; height:2px; width:0;
  background:linear-gradient(90deg,var(--teal),var(--cyan)); transition:width .3s;
}
.nav-links a:hover, .nav-links a.active { color:var(--ink); }
.nav-links a:hover::after { width:100%; }
.nav-cta {
  display:inline-flex; align-items:center; gap:8px; padding:10px 22px;
  border-radius:999px; background:linear-gradient(90deg,var(--teal),var(--cyan));
  color:#04241c; font-weight:700; text-decoration:none; transition:transform .3s, box-shadow .3s;
  box-shadow:0 8px 24px rgba(56,224,184,.35);
}
.nav-cta:hover { transform:translateY(-2px); box-shadow:0 12px 32px rgba(56,224,184,.5); }
.burger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:6px; }
.burger span { width:26px; height:2px; background:var(--ink); transition:.3s; }

/* ── Hero ── */
.hero { position:relative; min-height:100vh; display:flex; align-items:center; padding:120px clamp(20px,6vw,90px) 60px; }
.hero-inner { display:grid; grid-template-columns: 1.15fr .85fr; gap:40px; align-items:center; width:100%; max-width:1320px; margin:0 auto; }
.eyebrow {
  display:inline-flex; align-items:center; gap:10px; padding:8px 16px;
  border:1px solid var(--line); border-radius:999px;
  font-size:13px; letter-spacing:2.5px; color:var(--teal); font-weight:700;
  background:rgba(56,224,184,.06); text-transform:uppercase;
}
.eyebrow .dot { width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 10px var(--teal); animation:pulse 1.8s infinite; }
@keyframes pulse { 0%,100%{transform:scale(1);opacity:1} 50%{transform:scale(1.6);opacity:.5} }
.hero h1 { font-size:clamp(40px, 6vw, 76px); line-height:1.05; margin:26px 0 22px; font-weight:900; text-transform:uppercase; }
.hero h1 .grad {
  background:linear-gradient(90deg,var(--teal),var(--cyan),var(--amber));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero p.lead { font-size:clamp(17px,1.6vw,21px); color:var(--ink-dim); max-width:560px; margin-bottom:36px; }
.hero-ctas { display:flex; gap:16px; flex-wrap:wrap; }
.btn {
  display:inline-flex; align-items:center; gap:10px; padding:16px 32px; border-radius:12px;
  font-family:"Orbitron"; font-weight:700; letter-spacing:1px; font-size:14px; text-decoration:none;
  transition:transform .3s, box-shadow .3s, background .3s;
}
.btn-primary { background:linear-gradient(90deg,var(--teal),var(--cyan)); color:#04241c; box-shadow:0 14px 40px rgba(56,224,184,.4); }
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 20px 48px rgba(56,224,184,.55); }
.btn-ghost {
  border:1px solid var(--line); color:var(--ink);
  background:rgba(255,255,255,.02); backdrop-filter:blur(6px);
}
.btn-ghost:hover { border-color:var(--teal); background:rgba(56,224,184,.08); transform:translateY(-3px); }

/* hero visual: energy panel */
.hero-panel { position:relative; }
.hud {
  position:relative; border:1px solid var(--line); border-radius:var(--radius);
  background:linear-gradient(160deg, rgba(18,32,63,.9), rgba(8,15,30,.95));
  padding:26px; overflow:hidden; box-shadow:var(--shadow);
}
.hud::before { content:""; position:absolute; inset:0; background:
  radial-gradient(400px 300px at 20% 10%, rgba(56,224,184,.10), transparent),
  radial-gradient(300px 220px at 90% 80%, rgba(255,179,71,.10), transparent); }
.hud-head { position:relative; display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; }
.hud-head b { font-family:"Orbitron"; font-size:13px; letter-spacing:2px; color:var(--ink); }
.hud-head .live { display:flex; align-items:center; gap:6px; font-size:11px; color:var(--teal); letter-spacing:1px; }
.hud-head .live i { width:8px;height:8px;border-radius:50%;background:var(--teal);animation:pulse 1.4s infinite; }
.ring-wrap { position:relative; display:grid; place-items:center; margin:8px auto 26px; width:230px; height:230px; }
.ring-wrap svg { transform:rotate(-90deg); }
.ring-val { position:absolute; text-align:center; }
.ring-val b { display:block; font-family:"Orbitron"; font-size:38px; font-weight:900; }
.ring-val b em { font-style:normal; font-size:16px; color:var(--ink-dim); }
.ring-val span { font-size:12px; letter-spacing:2px; color:var(--ink-dim); text-transform:uppercase; }
.hud-grid { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.metric { border:1px solid var(--line); border-radius:12px; padding:14px; background:rgba(255,255,255,.02); }
.metric small { display:block; font-size:11px; letter-spacing:1.5px; color:var(--ink-dim); text-transform:uppercase; }
.metric b { font-family:"Orbitron"; font-size:22px; font-weight:700; margin-top:4px; display:block; }
.metric b em { font-style:normal; font-size:13px; color:var(--ink-dim); }
.metric.amber b { color:var(--amber-gl); }
.metric.cyan b { color:var(--cyan); }
.metric.teal b { color:var(--teal-gl); }

.float-chip {
  position:absolute; display:flex; align-items:center; gap:10px;
  padding:12px 18px; border-radius:14px; border:1px solid var(--line);
  background:rgba(12,20,42,.92); backdrop-filter:blur(8px); box-shadow:var(--shadow);
  font-weight:700; font-size:14px; animation:floaty 5s ease-in-out infinite;
}
.float-chip .ico { width:34px;height:34px;border-radius:9px; display:grid;place-items:center; font-size:17px; }
.float-chip small { display:block; font-weight:500; color:var(--ink-dim); font-size:11px; letter-spacing:1px; }
.chip-1 { top:-30px; right:10px; animation-delay:.4s; }
.chip-1 .ico { background:rgba(255,179,71,.15); }
.chip-2 { bottom:-24px; left:-16px; }
.chip-2 .ico { background:rgba(56,224,184,.15); }
.chip-3 { bottom:120px; right:-30px; animation-delay:1.2s; }
.chip-3 .ico { background:rgba(79,212,255,.15); }
@keyframes floaty { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }

.scroll-hint { position:absolute; bottom:26px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--ink-dim); font-size:11px; letter-spacing:3px; }
.scroll-hint i { width:2px; height:40px; background:linear-gradient(var(--teal),transparent); animation:scrollline 1.8s infinite; }
@keyframes scrollline { 0%{opacity:0;transform:scaleY(0);transform-origin:top} 40%{opacity:1} 100%{opacity:0;transform:scaleY(1);transform-origin:top} }

/* ── Section scaffold ── */
section { padding:100px clamp(20px,6vw,90px); position:relative; }
.sec-head { max-width:760px; margin-bottom:56px; }
.kicker { font-family:"Orbitron"; font-size:13px; letter-spacing:4px; color:var(--teal); font-weight:700; text-transform:uppercase; display:flex; align-items:center; gap:12px; }
.kicker::before { content:""; width:34px; height:2px; background:linear-gradient(90deg,var(--teal),transparent); }
.sec-head h2 { font-size:clamp(30px,4vw,48px); font-weight:900; text-transform:uppercase; margin:18px 0 16px; }
.sec-head p { color:var(--ink-dim); font-size:17px; }

/* ── Products ── */
.products { max-width:1320px; margin:0 auto; }
.prod-grid { display:grid; gap:26px; }
.prod-grid[data-view="list"] { grid-template-columns:1fr; }
.prod {
  position:relative; display:grid; grid-template-columns: 1.1fr 1fr; gap:26px; align-items:stretch;
  border:1px solid var(--line); border-radius:20px; overflow:hidden;
  background:linear-gradient(150deg, var(--panel), #091018);
  transition:transform .4s, border-color .4s, box-shadow .4s;
}
.prod:hover { transform:translateY(-4px); border-color:rgba(56,224,184,.4); box-shadow:0 24px 60px rgba(0,0,0,.5); }
.prod-visual { position:relative; min-height:280px; display:grid; place-items:center; overflow:hidden; }
.prod-visual svg { width:72%; max-width:360px; filter:drop-shadow(0 20px 30px rgba(0,0,0,.5)); }
.prod-core { padding:clamp(24px,3vw,44px); display:flex; flex-direction:column; justify-content:center; position:relative; z-index:2; }
.prod-tag { font-family:"Orbitron"; font-size:11px; letter-spacing:3px; padding:6px 14px; border-radius:999px; width:fit-content; margin-bottom:18px; font-weight:700; }
.prod-core h3 { font-size:clamp(24px,2.6vw,34px); font-weight:900; text-transform:uppercase; margin-bottom:12px; }
.prod-core p { color:var(--ink-dim); margin-bottom:22px; font-size:16px; }
.prod-feat { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:24px; }
.prod-feat li { font-size:14px; color:var(--ink); display:flex; align-items:center; gap:9px; }
.prod-feat li::before { content:"◆"; color:var(--teal); font-size:9px; }

.volt { background:rgba(56,224,184,.06); }
.volt .prod-visual { background:radial-gradient(circle at 50% 60%, rgba(56,224,184,.14), transparent 65%); }
.chip{ background:rgba(79,212,255,.06); }
.chip .prod-visual { background:radial-gradient(circle at 50% 60%, rgba(79,212,255,.14), transparent 65%); }
.solar { background:rgba(255,179,71,.06); }
.solar .prod-visual { background:radial-gradient(circle at 50% 60%, rgba(255,179,71,.14), transparent 65%); }

/* ── Why / capabilities ── */
.why { max-width:1320px; margin:0 auto; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.why-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.why-item { position:relative; padding-top:70px; }
.num { font-family:"Orbitron"; font-size:56px; font-weight:900; line-height:1; opacity:.14; position:absolute; top:0; }
.why-item h4 { font-size:18px; margin:10px 0 10px; font-family:"Orbitron"; text-transform:uppercase; }
.why-item p { color:var(--ink-dim); font-size:15px; }

/* ── Stats band ── */
.stats-band {
  max-width:1320px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:26px;
}
.stat { text-align:center; border:1px solid var(--line); border-radius:var(--radius); padding:30px 20px; background:var(--panel); position:relative; overflow:hidden; }
.stat::before { content:""; position:absolute; top:0;left:50%; transform:translateX(-50%); width:60%; height:2px; background:linear-gradient(90deg,transparent,var(--teal),transparent); }
.stat b { font-family:"Orbitron"; font-size:clamp(30px,3vw,44px); font-weight:900; display:block; }
.stat b em { font-style:normal; font-size:18px; color:var(--teal); }
.stat span { color:var(--ink-dim); letter-spacing:2px; font-size:13px; text-transform:uppercase; }

/* ── Tech / process ── */
.process { max-width:1320px; margin:0 auto; }
.proc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; counter-reset:proc; }
.proc { position:relative; border:1px solid var(--line); border-radius:18px; padding:26px; background:var(--panel); overflow:hidden; transition:transform .4s; }
.proc:hover { transform:translateY(-6px); }
.proc::before { counter-increment:proc; content:"0" counter(proc); position:absolute; top:8px; right:16px; font-family:"Orbitron"; font-weight:900; font-size:52px; color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.12); }
.proc-ico { width:52px;height:52px;border-radius:12px;background:rgba(56,224,184,.12);display:grid;place-items:center;font-size:24px;margin-bottom:18px; }
.proc h4 { font-family:"Orbitron"; font-size:16px; text-transform:uppercase; margin-bottom:9px; }
.proc p { color:var(--ink-dim); font-size:14px; }

/* ── Footer ── */
footer { border-top:1px solid var(--line); padding:50px clamp(20px,6vw,90px) 30px; max-width:1320px; margin:0 auto; }
.foot-grid { display:flex; justify-content:space-between; flex-wrap:wrap; gap:30px; margin-bottom:40px; }
.foot-brand p { color:var(--ink-dim); font-size:14px; max-width:320px; margin-top:14px; }
.foot-col h5 { font-family:"Orbitron"; font-size:13px; letter-spacing:2px; text-transform:uppercase; margin-bottom:16px; color:var(--ink); }
.foot-col a { display:block; color:var(--ink-dim); text-decoration:none; font-size:15px; margin-bottom:10px; transition:color .3s; }
.foot-col a:hover { color:var(--teal-gl); }
.foot-bottom { border-top:1px solid var(--line); padding-top:22px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; color:var(--ink-dim); font-size:13px; }

/* ── Reveal animations ── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .8s ease, transform .8s ease; }
.reveal.in { opacity:1; transform:none; }
.hero-in .reveal { animation:none; }
.d1 { animation-delay:.05s } .d2{animation-delay:.15s} .d3{animation-delay:.3s} .d4{animation-delay:.45s}

/* ── Responsive ── */
@media (max-width:980px) {
  .hero-inner { grid-template-columns:1fr; }
  .hero-panel { order:-1; max-width:520px; }
  .chip-3 { right:0; }
  .why-grid,.stats-band,.proc-grid { grid-template-columns:1fr 1fr; }
  .prod { grid-template-columns:1fr; }
  .prod-visual { min-height:220px; }
}
@media (max-width:640px) {
  .nav-links { display:none; }
  .nav-cta {
    display:inline-flex; padding:9px 14px; font-size:13px; letter-spacing:.5px;
    flex-shrink:0; white-space:nowrap;
    margin-left:auto;              /* 按钮组贴右对齐 */
  }
  .burger { display:flex; flex-shrink:0; }
  nav { gap:10px; }
  .logo { gap:8px; flex-shrink:0; }
  section { padding:64px clamp(18px,5vw,24px); }
  .sec-head { margin-bottom:40px; }
  .why-grid,.stats-band,.proc-grid { grid-template-columns:1fr; gap:14px; }
  .stats-band { gap:12px; }
  .stat { padding:22px 16px; }
  .prod-feat { grid-template-columns:1fr; gap:10px; }
  .prod-grid { gap:18px; }
  .prod-visual { min-height:190px; }
  .prod-visual svg { width:78%; }
  .hero { min-height:auto; padding-top:108px; }
  .hero-inner { gap:28px; }
  .hero-panel { max-width:420px; margin:6px auto 46px; }
  .hud { padding:20px; }
  .ring-wrap { width:200px; height:200px; margin:4px auto 20px; }
  .ring-wrap svg { width:200px;height:200px; }
  .ring-val b { font-size:32px; }
  .hud-grid { gap:10px; }
  .metric { padding:12px; }
  .metric b { font-size:19px; }
  .float-chip { padding:10px 14px; font-size:13px; }
  .float-chip .ico { width:30px;height:30px;font-size:15px; }
  .chip-1{ top:-22px; right:0; }
  .chip-2{ bottom:-20px; left:0; }
  .chip-3{ display:none; }
  .scroll-hint{ display:none; }
  .hero-ctas{ flex-direction:column; }
  .btn{ width:100%; justify-content:center; }
  .why-item{ padding-top:60px; }
  .foot-grid{ flex-direction:column; gap:24px; }
  .foot-col a{ font-size:16px; }
  .foot-bottom{ flex-direction:column; align-items:flex-start; }
  nav { padding:14px 18px; }
  nav.open .nav-links{
    display:flex; position:fixed; top:66px; left:0; right:0; flex-direction:column; gap:0;
    background:rgba(8,13,26,.98); padding:8px 24px 20px; backdrop-filter:blur(12px);
    box-shadow:0 12px 30px rgba(0,0,0,.4);
  }
  nav.open .nav-links li a { display:block; padding:15px 0; border-bottom:1px solid var(--line); font-size:16px; }
}
@media (max-width:420px) {
  .hero h1 { font-size:38px; }
  .float-chip{ display:none; }
  .hud-grid{ grid-template-columns:1fr 1fr; }
  .logo-mark{ width:34px;height:34px;font-size:14px; }
  .logo-name{ font-size:13px; letter-spacing:.5px; }
  .logo-name small, .logo small { display:none; }   /* 极窄屏仅隐藏副标题，保留品牌名 */
  .nav-cta{ padding:7px 10px; font-size:11.5px; letter-spacing:0; gap:4px; }
  nav { padding:11px 12px; gap:8px; }
  .logo { gap:7px; }
}