/* ===== QuickQ 首页样式 v2 ===== */

/* Hero */
.hero{padding:180px 0 120px;position:relative;z-index:1}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.hero-left{position:relative;z-index:2}

.hero-tag{display:inline-flex;align-items:center;gap:8px;background:var(--bg-glass);border:1px solid var(--border);padding:7px 18px;border-radius:var(--radius-full);font-size:13.5px;color:var(--text-dim);margin-bottom:28px;backdrop-filter:blur(12px)}
.hero-tag-dot{width:7px;height:7px;border-radius:50%;background:var(--emerald);animation:pulse-dot 2s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{opacity:1;box-shadow:0 0 6px var(--emerald)}50%{opacity:.4;box-shadow:0 0 12px var(--emerald)}}

.hero-left h1{font-size:58px;font-weight:900;line-height:1.1;letter-spacing:-2px;margin-bottom:22px}
.hero-left h1 em{font-style:normal;background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-desc{font-size:16px;color:var(--text-dim);line-height:1.7;margin-bottom:36px;max-width:460px}
.hero-btns{display:flex;gap:14px;margin-bottom:52px;flex-wrap:wrap}

.hero-stats{display:flex;align-items:center;gap:20px;padding:20px 28px;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius);backdrop-filter:blur(12px);max-width:440px}
.hero-stat strong{font-size:26px;font-weight:800;letter-spacing:-1px;display:block}
.hero-stat strong span{font-size:16px;background:var(--gradient-1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero-stat>span{font-size:12px;color:var(--text-muted)}
.hero-stat-div{width:1px;height:28px;background:var(--border)}

/* Hero 视觉 */
.hero-right{position:relative;height:440px;display:flex;align-items:center;justify-content:center}
.hero-globe{position:relative;width:200px;height:200px;display:grid;place-items:center}
.globe-ring{position:absolute;border-radius:50%;border:1px solid var(--border);animation:ring-pulse 3s ease-in-out infinite}
.globe-ring.r1{width:100%;height:100%;border-color:rgba(59,130,246,.2)}
.globe-ring.r2{width:75%;height:75%;animation-delay:.5s;border-color:rgba(139,92,246,.2)}
.globe-ring.r3{width:50%;height:50%;animation-delay:1s;border-color:rgba(6,182,212,.25)}
@keyframes ring-pulse{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.08);opacity:.9}}
.globe-core{width:90px;height:90px;background:var(--gradient-1);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 80px rgba(59,130,246,.45);z-index:2;animation:core-glow 2.5s ease-in-out infinite}
@keyframes core-glow{0%,100%{box-shadow:0 0 60px rgba(59,130,246,.4)}50%{box-shadow:0 0 120px rgba(59,130,246,.7)}}

.hero-badge-card{position:absolute;background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 16px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;backdrop-filter:blur(20px);box-shadow:var(--shadow);animation:float-badge 5s ease-in-out infinite}
.hero-bc-1{top:8%;right:0;animation-delay:0s}
.hero-bc-1 strong{color:var(--emerald)}
.hero-bc-2{bottom:18%;left:0;animation-delay:2.5s}
.hero-bc-2 strong{color:var(--blue)}
.hero-bc-3{bottom:38%;right:-10px;animation-delay:4.5s}
.hbc-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}
.hbc-dot.on{background:var(--emerald);animation:pulse-dot 2s ease-in-out infinite}
@keyframes float-badge{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* 功能网格 */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature-card{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius);padding:36px 28px;backdrop-filter:blur(12px);transition:all .4s var(--ease);position:relative;overflow:hidden}
.feature-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(600px circle at var(--mx,50%) var(--my,50%),rgba(59,130,246,.06),transparent 40%);opacity:0;transition:opacity .4s}
.feature-card:hover::before{opacity:1}
.feature-card:hover{border-color:var(--border-accent);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.fc-icon{width:48px;height:48px;border-radius:var(--radius-sm);display:grid;place-items:center;margin-bottom:20px;background:var(--i-bg);color:var(--i-clr);transition:all .4s var(--ease)}
.feature-card:hover .fc-icon{transform:scale(1.1)}
.feature-card h3{font-size:17px;font-weight:700;margin-bottom:8px;letter-spacing:-.3px}
.feature-card p{font-size:14px;color:var(--text-dim);line-height:1.75}

/* 速度展示 */
.section-dark{background:var(--bg-surface)}
.speed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.speed-card{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius);padding:24px 22px;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:8px 16px;align-items:center;transition:all .3s var(--ease)}
.speed-card:hover{border-color:var(--border-accent);transform:translateY(-2px)}
.speed-flag{font-size:28px;grid-row:1/3}
.speed-card h4{font-size:15px;font-weight:600}
.speed-ping{font-size:20px;font-weight:800;color:var(--emerald);text-align:right}
.speed-bar{grid-column:2/4;height:4px;background:rgba(255,255,255,.06);border-radius:2px;overflow:hidden}
.speed-bar i{display:block;height:100%;border-radius:2px;background:var(--gradient-1)}.speed-bar i.w{background:var(--gradient-1)}

/* 设备 */
.device-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.device-card{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius);padding:36px 16px;text-align:center;transition:all .4s var(--ease)}
.device-card:hover{border-color:var(--border-accent);transform:translateY(-6px);box-shadow:var(--shadow-blue)}
.dc-icon-wrap{width:56px;height:56px;border-radius:var(--radius-sm);background:rgba(59,130,246,.08);display:grid;place-items:center;margin:0 auto 14px;color:var(--blue);transition:all .4s var(--ease)}
.device-card:hover .dc-icon-wrap{background:var(--gradient-1);color:#fff;box-shadow:var(--shadow-blue)}
.device-card h4{font-size:15px;font-weight:700;margin-bottom:4px}
.device-card span{font-size:12.5px;color:var(--text-muted)}

/* 套餐 */
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.pricing-card{background:var(--bg-glass);border:1px solid var(--border);border-radius:18px;padding:38px 28px 30px;text-align:center;transition:all .4s var(--ease);position:relative;backdrop-filter:blur(12px)}
.pricing-card:hover{border-color:var(--border-hover);transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.pricing-featured{border-color:var(--border-accent);box-shadow:var(--shadow-blue);transform:scale(1.04)}
.pricing-featured:hover{transform:scale(1.04) translateY(-6px)}
.price-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gradient-1);color:#fff;padding:5px 18px;border-radius:var(--radius-full);font-size:12.5px;font-weight:600;white-space:nowrap}
.price-header{margin-bottom:26px}
.price-header h3{font-size:17px;font-weight:700;margin-bottom:14px}
.price-num{font-size:48px;font-weight:900;letter-spacing:-2px;margin-bottom:4px}
.price-num sup{font-size:22px;font-weight:600}
.price-num sub{font-size:14px;font-weight:500;color:var(--text-muted)}
.price-save{display:inline-block;background:rgba(16,185,129,.12);color:var(--emerald);padding:4px 14px;border-radius:var(--radius-full);font-size:12.5px;font-weight:600}
.price-features{text-align:left;margin-bottom:26px}
.price-features li{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:13.5px;color:var(--text-dim);border-bottom:1px solid var(--border)}
.price-features li:last-child{border-bottom:none}
.pricing-card .btn{width:100%}

/* 用户评价 */
.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.testimonial-card{background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px;transition:all .3s var(--ease)}
.testimonial-card:hover{border-color:var(--border-hover)}
.testi-stars{color:var(--amber);font-size:15px;margin-bottom:14px;letter-spacing:2px}
.testimonial-card>p{font-size:14px;color:var(--text-dim);line-height:1.75;margin-bottom:18px;font-style:italic}
.testi-author strong{display:block;font-size:13px;font-weight:600;color:var(--text)}
.testi-author span{font-size:12px;color:var(--text-muted)}

/* CTA */
.cta-block{position:relative;text-align:center;padding:72px 40px;border-radius:20px;background:var(--gradient-1);overflow:hidden}
.cta-glow{position:absolute;top:-60%;left:-30%;width:500px;height:500px;border-radius:50%;background:rgba(255,255,255,.06)}
.cta-block h2{font-size:36px;font-weight:800;margin-bottom:12px;position:relative}
.cta-block p{font-size:17px;opacity:.85;margin-bottom:36px;position:relative}
.cta-block .btn{background:#fff;color:#1e3a5f;box-shadow:0 8px 32px rgba(0,0,0,.25);position:relative}
.cta-block .btn:hover{background:#f8fafc;transform:translateY(-3px);box-shadow:0 14px 40px rgba(0,0,0,.35)}

/* 响应式 */
@media(max-width:1024px){
  .hero-grid{grid-template-columns:1fr;text-align:center;gap:50px}
  .hero-desc,.hero-stats{margin-left:auto;margin-right:auto}
  .hero-btns{justify-content:center}
  .hero-right{height:300px}
  .hero-left h1{font-size:44px}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .device-grid{grid-template-columns:repeat(3,1fr)}
  .pricing-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}
  .pricing-featured{transform:none}
  .pricing-featured:hover{transform:translateY(-6px)}
}
@media(max-width:768px){
  .hero-left h1{font-size:34px}
  .hero{padding:150px 0 80px}
  .section{padding:70px 0}
  .feature-grid{grid-template-columns:1fr}
  .speed-grid{grid-template-columns:1fr 1fr}
  .device-grid{grid-template-columns:repeat(2,1fr)}
  .hero-stats{gap:12px;padding:16px 20px}
  .hero-stat-div{display:none}
  .cta-block{padding:48px 24px}
  .cta-block h2{font-size:26px}
  .testimonial-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .hero-left h1{font-size:28px}
  .hero{text-align:center}
  .speed-grid{grid-template-columns:1fr}
  .device-grid{grid-template-columns:1fr 1fr}
}
