/* GUOTEK — Epic / Premium / Dark — v2 */
:root{
  --bg:#050a14;
  --bg2:#0a1428;
  --line:rgba(255,255,255,.08);
  --ink:#eaf2fb;
  --muted:#8aa0bd;
  --blue:#1e6fd9;
  --cyan:#00e5ff;
  --gold:#ffb703;
  --grad:linear-gradient(135deg,#00e5ff 0%,#1e6fd9 50%,#7b2ff7 100%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"PingFang SC","Microsoft YaHei","Helvetica Neue",Arial,sans-serif;
  background:var(--bg);color:var(--ink);line-height:1.6;overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{max-width:1280px;margin:0 auto;padding:0 28px}

/* reveal on scroll */
@keyframes rise{from{opacity:0;transform:translateY(50px)}to{opacity:1;transform:none}}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.rise-d1{animation-delay:.12s}.rise-d2{animation-delay:.28s}.rise-d3{animation-delay:.44s}.rise-d4{animation-delay:.6s}

/* Header */
.header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(5,10,20,.7);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:78px}
.logo{display:flex;align-items:center;gap:12px}
.logo-mark{width:44px;height:44px;background:var(--grad);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:20px;box-shadow:0 0 28px rgba(0,229,255,.5)}
.logo-text{display:flex;flex-direction:column;line-height:1.1}
.logo-cn{font-size:20px;font-weight:800;letter-spacing:4px}
.logo-en{font-size:11px;color:var(--cyan);letter-spacing:4px;font-weight:700}
.menu{display:flex;gap:40px;list-style:none}
.menu a{font-size:15px;color:#c8d6e8;font-weight:500;transition:all .2s;position:relative}
.menu a:hover,.menu a.active{color:#fff}
.menu a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--grad);box-shadow:0 0 10px var(--cyan)}
.nav-cta{background:var(--grad);color:#fff;padding:11px 26px;border-radius:6px;font-size:14px;font-weight:700;box-shadow:0 0 24px rgba(0,229,255,.4);transition:all .25s}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 0 36px rgba(0,229,255,.7)}

/* ===== HERO — 炸裂版 ===== */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:140px 0 120px;overflow:hidden}

.hero::before{
  content:"";position:absolute;inset:-20%;
  background:
    radial-gradient(circle at 75% 30%,rgba(0,229,255,.22),transparent 45%),
    radial-gradient(circle at 20% 75%,rgba(123,47,247,.28),transparent 50%),
    radial-gradient(circle at 50% 110%,rgba(30,111,217,.3),transparent 55%);
  animation:breathe 6s ease-in-out infinite alternate;
}
@keyframes breathe{from{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}

/* 旋转光环 */
.hero::after{
  content:"";position:absolute;top:50%;left:72%;width:900px;height:900px;
  transform:translate(-50%,-50%);
  background:conic-gradient(from 0deg,transparent 0deg,rgba(0,229,255,.18) 60deg,transparent 120deg,rgba(123,47,247,.18) 200deg,transparent 280deg);
  border-radius:50%;
  animation:spin 18s linear infinite;
  filter:blur(40px);
}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}

.hero-grid{
  position:absolute;inset:0;z-index:1;
  background-image:linear-gradient(rgba(0,229,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.06) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);
}

.hero-scan{
  position:absolute;left:0;right:0;height:2px;z-index:2;
  background:linear-gradient(90deg,transparent,var(--cyan),transparent);
  box-shadow:0 0 20px var(--cyan),0 0 60px rgba(0,229,255,.5);
  animation:scan 4s ease-in-out infinite;
}
@keyframes scan{0%{top:18%;opacity:0}20%{opacity:1}80%{opacity:1}100%{top:85%;opacity:0}}

.hero-inner{position:relative;z-index:3}
.hero .eyebrow{
  display:inline-block;padding:9px 20px;border:1px solid rgba(0,229,255,.5);
  border-radius:100px;color:var(--cyan);font-size:13px;letter-spacing:5px;font-weight:600;
  margin-bottom:30px;background:rgba(0,229,255,.06);
  box-shadow:0 0 20px rgba(0,229,255,.15),inset 0 0 20px rgba(0,229,255,.05);
}
.hero h1{
  font-size:clamp(48px,8vw,104px);line-height:1.02;font-weight:900;letter-spacing:-2px;
  margin-bottom:30px;
}
.hero h1 .line1{
  display:block;
  background:linear-gradient(180deg,#fff 30%,#8aa0bd 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.hero h1 .accent{
  display:block;
  background:linear-gradient(90deg,var(--cyan) 0%,#1e6fd9 50%,#7b2ff7 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  filter:drop-shadow(0 0 30px rgba(0,229,255,.55));
}
.hero p{font-size:20px;color:#9fb4cf;max-width:640px;margin-bottom:44px;font-weight:300}
.hero-btns{display:flex;gap:18px;flex-wrap:wrap}
.btn{display:inline-block;padding:16px 40px;border-radius:6px;font-weight:700;font-size:15px;transition:all .3s;letter-spacing:1px}
.btn-primary{
  background:var(--grad);color:#fff;
  box-shadow:0 0 30px rgba(0,229,255,.5),0 0 60px rgba(123,47,247,.25);
}
.btn-primary:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 0 40px rgba(0,229,255,.8),0 0 80px rgba(123,47,247,.4);
}
.btn-ghost{border:1px solid rgba(255,255,255,.25);color:#fff;backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(0,229,255,.5)}

.scroll-hint{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);color:var(--muted);font-size:11px;letter-spacing:4px;animation:pulse 2s infinite;z-index:3}
@keyframes pulse{0%,100%{opacity:.4}50%{opacity:1}}

/* SECTION */
.section{padding:120px 0;position:relative}
.section.dark{background:var(--bg2)}
.section-title{text-align:center;margin-bottom:70px}
.section-title .tag{color:var(--cyan);font-weight:700;letter-spacing:6px;font-size:13px;text-transform:uppercase;text-shadow:0 0 20px rgba(0,229,255,.5)}
.section-title h2{font-size:clamp(32px,4.5vw,52px);margin-top:14px;font-weight:900;letter-spacing:1px}
.section-title p{color:var(--muted);max-width:640px;margin:18px auto 0;font-size:16px}

/* 分类卡片 */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}
.cat-card{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));
  border:1px solid var(--line);border-radius:14px;padding:38px 26px;
  transition:all .35s cubic-bezier(.2,.7,.2,1);position:relative;overflow:hidden;
}
.cat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .4s}
.cat-card:hover{transform:translateY(-8px);border-color:rgba(0,229,255,.5);box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 40px rgba(0,229,255,.2)}
.cat-card:hover::before{transform:scaleX(1)}
.cat-icon{width:58px;height:58px;border-radius:12px;background:rgba(0,229,255,.1);border:1px solid rgba(0,229,255,.35);display:flex;align-items:center;justify-content:center;color:var(--cyan);font-size:26px;margin-bottom:22px;box-shadow:inset 0 0 20px rgba(0,229,255,.08)}
.cat-card h3{font-size:19px;margin-bottom:10px;font-weight:700}
.cat-card p{font-size:13px;color:var(--muted);line-height:1.6}

/* 数据条 */
.adv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.adv .num{font-size:56px;font-weight:900;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px rgba(0,229,255,.3))}
.adv h4{margin:10px 0 8px;font-size:17px}
.adv p{font-size:13px;color:var(--muted)}

/* ===== 产品卡片 — 强冲击力版 ===== */
.prod-cat{margin-bottom:90px}
.prod-cat h3{font-size:28px;margin-bottom:10px;display:flex;align-items:center;gap:14px;font-weight:800}
.prod-cat h3::before{content:"";width:5px;height:32px;background:var(--grad);border-radius:2px;box-shadow:0 0 16px rgba(0,229,255,.7)}
.prod-cat .sub{color:var(--muted);margin-bottom:30px;font-size:15px}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px}
.prod{
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.01));
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
  transition:all .35s cubic-bezier(.2,.7,.2,1);position:relative;
}
.prod::after{
  content:"";position:absolute;top:0;left:-100%;width:60%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(0,229,255,.14),transparent);
  transition:left .6s ease;pointer-events:none;
}
.prod:hover::after{left:140%}
.prod:hover{
  transform:translateY(-8px) scale(1.02);
  border-color:rgba(0,229,255,.55);
  box-shadow:0 30px 60px rgba(0,0,0,.6),0 0 40px rgba(0,229,255,.25);
}
.prod-img{
  height:200px;background:radial-gradient(ellipse at center,#0d1d35 0%,#060d1c 100%);
  display:flex;align-items:center;justify-content:center;padding:22px;
  border-bottom:1px solid var(--line);overflow:hidden;
}
.prod-img img{max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.6));transition:transform .4s ease}
.prod:hover .prod-img img{transform:scale(1.1)}
.prod-body{padding:22px 24px}
.prod-body h4{font-size:17px;margin-bottom:8px;font-weight:700;transition:color .2s}
.prod:hover .prod-body h4{color:var(--cyan)}
.prod-body p{font-size:13px;color:var(--muted);line-height:1.6}

/* About */
.about-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.about-wrap h2{font-size:42px;margin-bottom:22px;font-weight:900;line-height:1.15}
.about-wrap p{color:var(--muted);margin-bottom:16px;font-size:16px}
.about-points{list-style:none;margin-top:20px}
.about-points li{padding:10px 0 10px 30px;position:relative;font-size:15px}
.about-points li::before{content:"▸";position:absolute;left:0;color:var(--cyan);font-weight:900;text-shadow:0 0 10px var(--cyan)}
.about-img{border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 40px rgba(0,229,255,.1)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:0 auto}
.contact-item{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:14px;padding:40px 24px;text-align:center;transition:all .3s}
.contact-item:hover{border-color:rgba(0,229,255,.4);box-shadow:0 0 30px rgba(0,229,255,.15)}
.contact-item h4{color:var(--cyan);font-size:15px;margin-bottom:10px;letter-spacing:3px}
.contact-item p{color:#c8d6e8;font-size:15px}

/* Footer */
.footer{background:#03060d;border-top:1px solid var(--line);padding:40px 0;color:var(--muted)}
.footer .container{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px}
.footer a{color:var(--muted)}
.footer a:hover{color:#fff}

.hero-sm{min-height:55vh}
.hero-sm .hero::after{width:600px;height:600px}

@media(max-width:900px){
  .menu{display:none}
  .hero h1{font-size:44px}
  .adv-grid,.contact-grid{grid-template-columns:repeat(2,1fr)}
  .about-wrap{grid-template-columns:1fr}
}
