/* ===== 点毅科技官网 v2 · 增强版（动画/立体/科技感） ===== */
:root{
  --navy:#0f2b5b; --navy-d:#0a1e42; --navy-l:#1a3d78;
  --blue:#1677ff; --blue-d:#0e5fd8; --blue-l:#eaf2ff;
  --gold:#e8b23a; --gold-d:#c9922a; --gold-l:#fdf4e0;
  --ink:#12161c; --gray:#5b6472; --bg:#f6f8fc; --line:#e6ecf5; --radius:22px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;width:100%;overflow-x:hidden}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:#fff;line-height:1.6;-webkit-font-smoothing:antialiased;width:100%;min-height:100vh;overflow-x:hidden}
a{text-decoration:none;color:inherit}
.wrap{max-width:1240px;margin:0 auto;padding:0 32px}
.wrap-wide{max-width:1440px;margin:0 auto;padding:0 48px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 30px;border-radius:999px;font-weight:600;font-size:16px;transition:.3s cubic-bezier(.2,.8,.2,1);cursor:pointer;border:none;position:relative;overflow:hidden}
.btn-p{background:linear-gradient(135deg,#2a86ff,#0e5fd8);color:#fff;box-shadow:0 10px 24px rgba(22,119,255,.32)}
.btn-p:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(22,119,255,.5)}
.btn-gold{background:linear-gradient(135deg,#f0c14b,#d19b1f);color:#3a2a00;box-shadow:0 10px 24px rgba(232,178,58,.35)}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(232,178,58,.5)}
.btn-g{background:#fff;color:var(--navy);border:1.5px solid #d5e0f2}
.btn-g:hover{background:var(--bg)}
.btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:1.5px solid rgba(255,255,255,.28);backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.2);transform:translateY(-3px)}

/* ===== 顶部导航 ===== */
header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.82);backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--line);transition:box-shadow .3s,background .3s}
header.scrolled{box-shadow:0 8px 30px rgba(15,43,91,.08);background:rgba(255,255,255,.94)}
.nav{display:flex;align-items:center;height:70px}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px;letter-spacing:.5px;color:var(--navy)}
.logo .mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#22457f,#0f2b5b);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:22px;font-weight:900;box-shadow:0 6px 16px rgba(15,43,91,.30);overflow:hidden}
.logo .mark img{width:100%;height:100%;object-fit:cover;display:block}
.nav-links{margin-left:auto;display:flex;align-items:center;gap:36px;font-size:15px;color:var(--gray);font-weight:500}
.nav-links a{position:relative;transition:.2s}
.nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:2px;background:linear-gradient(90deg,#2a86ff,#0e5fd8);transition:width .3s;border-radius:2px}
.nav-links a:not(.btn):hover::after{width:100%}
.nav-links a:hover{color:var(--blue)}
.nav .btn{padding:10px 22px;font-size:15px}
@media(max-width:900px){.nav-links a:not(.btn){display:none}}

/* ===== Hero ===== */
.hero{position:relative;overflow:hidden;color:#fff;padding:90px 0 80px;min-height:640px;display:flex;align-items:center;
  background:radial-gradient(1100px 620px at 82% 12%, #1d4a8f 0%, rgba(29,74,143,0) 60%),
             radial-gradient(900px 520px at 6% 96%, #16376b 0%, rgba(22,55,107,0) 55%),
             linear-gradient(150deg,#0a1e42 0%, #123063 52%, #0d2650 100%)}
.hero .grid-lines{position:absolute;inset:0;opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:56px 56px;mask-image:radial-gradient(circle at 62% 42%,#000 0%,transparent 70%);-webkit-mask-image:radial-gradient(circle at 62% 42%,#000 0%,transparent 70%);
  animation:gridmove 22s linear infinite}
@keyframes gridmove{from{background-position:0 0}to{background-position:56px 56px}}
.hero .starfield{position:absolute;inset:0;overflow:hidden;z-index:0}
.hero .starfield i{position:absolute;width:3px;height:3px;border-radius:50%;background:#bcd6ff;opacity:.6;animation:twk 4s ease-in-out infinite}
@keyframes twk{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:.9;transform:scale(1.2)}}
.hero .glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;z-index:0;animation:floaty 12s ease-in-out infinite}
.g1{width:520px;height:520px;background:#2b6bdc;top:-140px;right:-60px}
.g2{width:420px;height:420px;background:#0e5fd8;bottom:-160px;left:-90px;animation-delay:-4s}
.g3{width:260px;height:260px;background:#e8b23a;opacity:.22;top:32%;left:46%;animation-delay:-8s}
@keyframes floaty{0%,100%{transform:translate(0,0)}50%{transform:translate(24px,-26px)}}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.02fr .98fr;gap:40px;align-items:center;width:100%}
.tag{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.1);color:#ffe0a0;font-size:14.5px;font-weight:600;padding:9px 20px;border-radius:999px;margin-bottom:26px;border:1px solid rgba(255,204,102,.32);backdrop-filter:blur(8px)}
.tag .pulse{width:8px;height:8px;border-radius:50%;background:#ffd873;box-shadow:0 0 0 0 rgba(255,216,115,.7);animation:pul 2s infinite}
@keyframes pul{0%{box-shadow:0 0 0 0 rgba(255,216,115,.6)}70%{box-shadow:0 0 0 10px rgba(255,216,115,0)}100%{box-shadow:0 0 0 0 rgba(255,216,115,0)}}
.hero h1{font-size:clamp(38px,4.6vw,68px);line-height:1.13;font-weight:900;letter-spacing:-1.2px}
.hero h1 .hl{background:linear-gradient(120deg,#ffd873,#e8b23a,#ffd873);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shine 5s linear infinite}
@keyframes shine{to{background-position:200% center}}
.hero p.sub{font-size:clamp(16px,1.5vw,19.5px);color:#c4d3ec;margin:28px 0 40px;max-width:580px;line-height:1.8}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap}
.hero-cta .btn{padding:16px 34px;font-size:17px}
.hero-stats{display:flex;gap:50px;margin-top:54px}
.hero-stats .n{font-size:clamp(26px,2.6vw,38px);font-weight:900;color:#fff;line-height:1.1}
.hero-stats .n em{font-style:normal;color:var(--gold);font-size:.7em}
.hero-stats .l{font-size:14px;color:#9fb2d1;margin-top:5px}

/* Hero 右侧：模特 + 悬浮产品标签 */
.hero-visual{position:relative;perspective:1200px;display:flex;align-items:center;justify-content:center;min-height:560px}
.hv-stage{position:relative;width:100%;display:flex;align-items:center;justify-content:center}
.hv-model-wrap{position:relative;z-index:2;width:min(360px,80%);display:block;pointer-events:none;animation:modelfloat 7s ease-in-out infinite}
.hv-model{position:relative;display:block;width:100%;height:auto;filter:drop-shadow(0 34px 54px rgba(4,16,40,.62));pointer-events:none}
@keyframes modelfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
.hv-ring{position:absolute;width:440px;height:440px;border-radius:50%;z-index:1;border:1px solid rgba(120,170,255,.28);background:radial-gradient(closest-side,rgba(90,150,255,.22),rgba(90,150,255,0) 72%);animation:spin 26s linear infinite}
.hv-ring::after{content:"";position:absolute;inset:34px;border-radius:50%;border:1px dashed rgba(120,170,255,.22)}
@keyframes spin{to{transform:rotate(360deg)}}
.chip{position:absolute;z-index:4;display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.92);border:1px solid rgba(180,210,255,.6);border-radius:16px;padding:12px 18px;box-shadow:0 16px 40px rgba(4,16,40,.4);backdrop-filter:blur(8px);animation:chipfloat 6s ease-in-out infinite}
.chip .ci{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:none}
.chip .ci img{width:100%;height:100%;object-fit:cover}
.chip .ct{font-size:14.5px;font-weight:800;color:var(--navy);line-height:1.2}
.chip .cs{font-size:11.5px;color:#7d8798;margin-top:2px}
.chip-1{top:6%;left:-4%;animation-delay:0s}
.chip-2{top:34%;right:-6%;animation-delay:-2s}
.chip-3{bottom:8%;left:-2%;animation-delay:-4s}
@keyframes chipfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:60px}
  .hero-visual{min-height:420px}
  .hv-model-wrap{width:min(320px,72%)}
  .hv-ring{width:340px;height:340px}
  .chip{padding:9px 13px}
  .chip .ct{font-size:13px}.chip .cs{display:none}
}
/* ===== 通用 section ===== */
section{padding:100px 0;position:relative}
.sec-head{text-align:center;max-width:700px;margin:0 auto 62px}
.sec-head .k{color:var(--blue);font-weight:700;font-size:14.5px;letter-spacing:2px}
.sec-head h2{font-size:clamp(28px,3vw,42px);font-weight:900;margin:14px 0 16px;letter-spacing:-.6px}
.sec-head p{color:var(--gray);font-size:17px}

/* ===== 产品矩阵 ===== */
.products{background:linear-gradient(180deg,#f6f8fc,#eef3fb)}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.prod{position:relative;border-radius:26px;overflow:hidden;background:#fff;border:1px solid var(--line);padding:46px 44px;transition:.4s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;min-height:340px}
.prod:hover{transform:translateY(-10px);box-shadow:0 40px 80px rgba(15,43,91,.18);border-color:#c9d8f0}
.prod .pband{position:absolute;top:0;left:0;right:0;height:6px}
.pb-blue{background:linear-gradient(90deg,#2a86ff,#0e5fd8,#2a86ff);background-size:200% auto;animation:shine 3s linear infinite}
.pb-gold{background:linear-gradient(90deg,#f0c14b,#c9922a,#f0c14b);background-size:200% auto;animation:shine 3s linear infinite}
.pb-navy{background:linear-gradient(90deg,#22457f,#0f2b5b,#22457f);background-size:200% auto;animation:shine 3s linear infinite}
.pb-gray{background:linear-gradient(90deg,#c3cddd,#a8b4c8)}
.prod .pic{width:76px;height:76px;border-radius:22px;display:flex;align-items:center;justify-content:center;font-size:38px;margin-bottom:26px;overflow:hidden;box-shadow:0 12px 26px rgba(15,43,91,.16);transition:.4s}
.prod:hover .pic{transform:translateY(-4px) rotate(-3deg) scale(1.06)}
.prod .pic img{width:100%;height:100%;object-fit:cover;display:block}
.prod h3{font-size:27px;font-weight:900;margin-bottom:12px;display:flex;align-items:center;gap:12px}
.prod .badge{font-size:12px;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--blue-l);color:var(--blue);letter-spacing:.5px}
.prod .badge.b-gold{background:var(--gold-l);color:var(--gold-d)}
.prod .badge.b-gray{background:#eef1f6;color:#8a94a6}
.prod p.desc{color:var(--gray);font-size:16.5px;line-height:1.75;flex:1}
.prod .ptags{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 4px}
.prod .ptags span{font-size:13.5px;color:var(--navy);background:#eef3fb;padding:6px 14px;border-radius:9px;font-weight:600;transition:.3s}
.prod:hover .ptags span{background:#e2ecfb}
.prod .plink{margin-top:24px;font-weight:700;font-size:16px;display:inline-flex;align-items:center;gap:8px;color:var(--blue);transition:.3s}
.prod .plink.gold{color:var(--gold-d)}
.prod .plink.muted{color:#9aa5b8}
.prod:hover .plink{transform:translateX(6px)}
.prod.soon{background:linear-gradient(135deg,#fbfcfe,#f3f6fb)}
@media(max-width:900px){.pgrid{grid-template-columns:1fr}.prod{padding:36px 30px;min-height:auto}}

/* ===== 公司介绍 ===== */
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.about-grid h2{font-size:clamp(28px,3vw,40px);font-weight:900;line-height:1.2;margin-bottom:22px;letter-spacing:-.6px}
.about-grid h2 .hl{color:var(--blue)}
.about-grid p.lead{color:var(--gray);font-size:17.5px;line-height:1.85;margin-bottom:28px}
.about-vals{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.val{background:var(--bg);border-radius:18px;padding:26px 24px;transition:.35s;border:1px solid transparent}
.val:hover{background:#fff;transform:translateY(-6px);box-shadow:0 22px 44px rgba(15,43,91,.1);border-color:var(--line)}
.val .vi{font-size:26px;margin-bottom:12px;display:inline-block;transition:.35s}
.val:hover .vi{transform:scale(1.18) rotate(-6deg)}
.val h4{font-size:17px;font-weight:800;margin-bottom:7px}
.val p{color:var(--gray);font-size:14.5px}
@media(max-width:900px){.about-grid{grid-template-columns:1fr;gap:36px}}

/* ===== 数据带 ===== */
.band{background:linear-gradient(135deg,#0f2b5b,#1a3d78);color:#fff;position:relative;overflow:hidden}
.band::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%);-webkit-mask-image:radial-gradient(circle at 50% 50%,#000,transparent 75%)}
.band .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;position:relative;z-index:2}
.band .n{font-size:clamp(30px,3vw,44px);font-weight:900;color:#fff}
.band .n em{font-style:normal;color:var(--gold);font-size:.65em}
.band .l{opacity:.8;font-size:15px;margin-top:8px}
@media(max-width:900px){.band .stats{grid-template-columns:repeat(2,1fr);gap:36px}}

/* ===== 联系 ===== */
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ccard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;text-align:center;transition:.35s}
.ccard:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(15,43,91,.12)}
.ccard .ic{font-size:32px;margin-bottom:14px;transition:.35s}
.ccard:hover .ic{transform:scale(1.15)}
.ccard h4{font-size:16.5px;font-weight:800;margin-bottom:9px;color:var(--navy)}
.ccard p{color:var(--gray);font-size:15px;word-break:break-all}
.ccard p a{color:var(--blue)}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* ===== CTA ===== */
.cta{background:linear-gradient(135deg,#0d2650,#1a3d78);color:#fff;text-align:center;position:relative;overflow:hidden}
.cta .cg{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:floaty 10s ease-in-out infinite}
.cta h2{font-size:clamp(28px,3vw,38px);font-weight:900;margin-bottom:16px;position:relative}
.cta p{color:#c4d3ec;margin-bottom:32px;font-size:17px;position:relative}
.cta .btn{position:relative}

/* ===== 页脚 ===== */
footer{background:#0a1830;color:#aeb9cc;padding:60px 0 32px;font-size:14px}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;padding-bottom:38px;border-bottom:1px solid #1a2c4c}
footer .logo{color:#fff;margin-bottom:16px}
footer .logo .mark{box-shadow:none}
footer p{color:#8b98ad;line-height:1.9}
footer h5{color:#fff;font-size:15px;font-weight:700;margin-bottom:16px}
footer .fl a{display:block;color:#8b98ad;margin-bottom:10px;transition:.2s}
footer .fl a:hover{color:#fff;transform:translateX(4px)}
.foot-bot{padding-top:24px;text-align:center;color:#6b7890;font-size:13px;line-height:2}
.foot-bot a{color:#8b98ad}
.foot-bot a:hover{color:#fff}
@media(max-width:900px){.foot-top{grid-template-columns:1fr 1fr;gap:28px}}

/* ===== 滚动入场 ===== */
.reveal{opacity:0;transform:translateY(38px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}


/* Hero 模特视频（方案B：悬停播放） */
.hv-video{position:absolute;left:0;top:0;width:100%;height:auto;max-height:100%;object-fit:contain;opacity:0;transition:opacity .45s ease;pointer-events:auto;border-radius:18px;z-index:2}
.hv-model{transition:opacity .45s ease}
.hv-stage{cursor:pointer}
