/* ============================================================
   声念官网 — Aurora Design System
   07-aurora 风格定稿 · 全站统一样式
   ============================================================ */
:root{
  --ink:#232135;
  --ink-2:#5B5875;
  --ink-3:#9B97B5;
  --max:1080px;
  --r:24px;
  --grad:linear-gradient(110deg,#5EC9C0,#9B7FD4);
  --grad-full:linear-gradient(110deg,#5EC9C0 10%,#9B7FD4 55%,#E58BB0 90%);
}
*{margin:0;padding:0;box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'PingFang SC','Noto Sans SC',sans-serif;color:var(--ink);background:#F6F4FB;-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px;position:relative;z-index:2}
::selection{background:#9B7FD4;color:#fff}
:focus-visible{outline:3px solid #9B7FD4;outline-offset:2px;border-radius:8px}

/* — 极光背景 — */
.aurora{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.aur{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;mix-blend-mode:multiply}
.aur.a1{width:55vw;height:55vw;background:radial-gradient(circle,#7FE7DC,transparent 70%);top:-15%;left:-10%;animation:drift1 24s ease-in-out infinite}
.aur.a2{width:45vw;height:45vw;background:radial-gradient(circle,#C9A7F5,transparent 70%);top:10%;right:-12%;animation:drift2 30s ease-in-out infinite}
.aur.a3{width:40vw;height:40vw;background:radial-gradient(circle,#FFB3C7,transparent 70%);bottom:-5%;left:20%;animation:drift3 27s ease-in-out infinite}
.aur.a4{width:30vw;height:30vw;background:radial-gradient(circle,#A5D8FF,transparent 70%);bottom:15%;right:15%;animation:drift1 33s ease-in-out infinite reverse}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(8%,6%) scale(1.15)}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-9%,7%) scale(.9)}}
@keyframes drift3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(6%,-8%) scale(1.1)}}

/* — 浮动胶囊导航 — */
.nav{position:sticky;top:16px;z-index:100;margin:16px auto 0;max-width:var(--max);padding:0 24px}
.nav-bar{display:flex;align-items:center;background:rgba(255,255,255,.55);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.7);border-radius:99px;padding:10px 22px;box-shadow:0 8px 32px rgba(120,100,180,.12)}
.brand{display:flex;align-items:center;gap:8px;font-weight:600;font-size:1.1rem;flex-shrink:0;margin-right:16px;font-family:'Noto Serif SC','PingFang SC','Source Han Serif SC',sans-serif;letter-spacing:.04em;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto}
.brand img{height:28px}
.nav-links{display:flex;flex:1;justify-content:space-evenly;gap:2px}
.nav-links a{padding:6px 15px;border-radius:99px;font-size:.84rem;font-weight:500;color:var(--ink-2);transition:all .2s}
.nav-links a:hover{background:rgba(255,255,255,.8);color:var(--ink)}
.nav-links a.on{background:var(--ink);color:#fff}
.nav-toggle{display:none;width:40px;height:40px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.6);border-radius:50%;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.nav-toggle span{display:block;width:16px;height:2px;background:var(--ink);border-radius:1px;transition:.3s}
.nav-toggle.open span:nth-child(1){transform:rotate(45deg) translate(4px,4px)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:rotate(-45deg) translate(4px,-4px)}
.nav-mobile{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(246,244,251,.96);backdrop-filter:blur(24px);z-index:99;padding:100px 24px 40px;flex-direction:column;gap:6px}
.nav-mobile.open{display:flex}
.nav-mobile a{padding:14px 20px;border-radius:16px;font-size:1rem;font-weight:600;color:var(--ink-2);background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.7)}
.nav-mobile a.on{background:var(--ink);color:#fff}
@media(max-width:860px){.nav-links{display:none}.nav-toggle{display:flex}}

/* — Hero（首页） — */
.hero{padding:110px 0 96px;text-align:center}
.hero-tag{display:inline-block;padding:8px 22px;border-radius:99px;background:rgba(255,255,255,.6);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.8);font-size:.8rem;font-weight:600;color:var(--ink-2);box-shadow:0 4px 20px rgba(120,100,180,.1);margin-bottom:32px}
.hero h1{font-size:clamp(2.8rem,6.5vw,5rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:26px}
.hero h1 .hl-l2{display:block;margin-top:.12em}
.hero h1 em{font-style:normal;background:var(--grad-full);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero p.hero-desc{font-size:1.05rem;color:var(--ink-2);max-width:50em;margin:0 auto 44px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:700px){.hero p.hero-desc{white-space:normal}}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* — 按钮 — */
.aur-btn{position:relative;display:inline-flex;align-items:center;gap:8px;padding:15px 34px;border:none;border-radius:99px;font-family:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s}
.aur-btn.fill{background:var(--grad);color:#fff;box-shadow:0 8px 28px rgba(155,127,212,.4)}
.aur-btn.fill:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(155,127,212,.5)}
.aur-btn.wx{background:#07C160;color:#fff;box-shadow:0 8px 28px rgba(7,193,96,.35)}
.aur-btn.wx:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(7,193,96,.45)}
.aur-btn.android{background:linear-gradient(110deg,#E8E9EC,#C4C6CF);color:#1A1A1A;box-shadow:0 8px 28px rgba(160,165,175,.4)}
.aur-btn.android:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(160,165,175,.55)}
.aur-btn img{width:19px;height:19px;flex-shrink:0;object-fit:contain}
.aur-btn .qr{display:none;position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);background:#fff;padding:8px;border-radius:18px;box-shadow:0 12px 36px rgba(120,100,180,.2);z-index:5;width:196px;height:196px}
.aur-btn:hover .qr{display:block}
.aur-btn .qr img{width:180px;height:180px;border-radius:14px}

/* — 通用玻璃面板 — */
.panel{background:rgba(255,255,255,.5);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.7);border-radius:var(--r);box-shadow:0 8px 32px rgba(120,100,180,.1);transition:all .35s}
.panel:hover{background:rgba(255,255,255,.68);transform:translateY(-4px);box-shadow:0 16px 44px rgba(120,100,180,.16)}
.panel.no-hover:hover{transform:none;background:rgba(255,255,255,.5)}

/* — 数据条 — */
.stats{padding:0 0 80px}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{padding:34px 18px;text-align:center}
.stat b{display:block;font-size:clamp(1.5rem,2.8vw,2.1rem);font-weight:800;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat span{font-size:.78rem;color:var(--ink-2)}
@media(max-width:860px){.stats-grid{grid-template-columns:1fr 1fr}}

/* — 特性 — */
.features{padding:0 0 80px}
.sec-hd{text-align:center;margin-bottom:48px}
.sec-hd h2{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:800}
.sec-hd p{color:var(--ink-2);font-size:.9rem;margin-top:8px}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:860px){.feat-grid{grid-template-columns:1fr}}
.feat{padding:36px}
.feat .ic{width:56px;height:56px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:linear-gradient(135deg,rgba(127,231,220,.35),rgba(201,167,245,.35));margin-bottom:20px}
.feat h3{font-size:1.1rem;font-weight:700;margin-bottom:8px}
.feat p{font-size:.85rem;color:var(--ink-2)}

/* — 生态 — */
.eco{padding:0 0 80px}
.eco-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:860px){.eco-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.eco-grid{grid-template-columns:1fr}}
.eco-card{display:block;padding:40px 30px;text-align:center}
.eco-card .ic{font-size:2rem;margin-bottom:14px}
.eco-card h3{font-weight:700;font-size:1.05rem;margin-bottom:4px}
.eco-card span{font-size:.8rem;color:var(--ink-3)}

/* — CTA — */
.cta{padding:0 0 110px}
.cta-card{padding:80px 40px;text-align:center}
.cta-card h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;margin-bottom:12px}
.cta-card p{color:var(--ink-2);margin-bottom:36px}

/* — 内页页头 — */
.page-hero{padding:88px 0 48px;text-align:center}
.page-hero h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;letter-spacing:-.02em;margin-bottom:16px}
.page-hero h1 em{font-style:normal;background:var(--grad-full);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.page-hero p{color:var(--ink-2);max-width:36em;margin:0 auto}

/* — 关于我们 — */
.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:22px;padding:0 0 22px;align-items:stretch}
@media(max-width:860px){.about-grid{grid-template-columns:1fr}}
.about-img{padding:22px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:340px}
.about-img .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:16px;opacity:.35}
.about-img .fg{position:relative;z-index:1;max-width:62%;filter:drop-shadow(0 12px 24px rgba(120,100,180,.25))}
.about-text{padding:44px 40px}
.about-text h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;margin-bottom:6px}
.about-text .divider{width:48px;height:3px;background:var(--grad);border-radius:2px;margin:16px 0 22px}
.about-text p{font-size:.9rem;color:var(--ink-2);line-height:1.95;margin-bottom:14px}
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 0 90px}
@media(max-width:860px){.about-values{grid-template-columns:1fr}}
.value-card{padding:36px 30px;text-align:center}
.value-card .ic{font-size:1.8rem;margin-bottom:14px}
.value-card h3{font-size:1.02rem;font-weight:700;margin-bottom:6px}
.value-card p{font-size:.82rem;color:var(--ink-2)}

/* — 联系我们 — */
.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;padding:0 0 90px;align-items:stretch}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}
.contact-map{overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:360px}
.contact-map img{width:auto;max-width:100%;max-height:440px;object-fit:contain;border-radius:16px;padding:20px}
.contact-card{padding:44px 40px}
.contact-card h2{font-size:clamp(1.4rem,2.6vw,1.9rem);font-weight:800;margin-bottom:6px}
.contact-card .divider{width:48px;height:3px;background:var(--grad);border-radius:2px;margin:16px 0 26px}
.c-item{display:flex;align-items:flex-start;gap:16px;padding:15px 0;border-bottom:1px solid rgba(120,100,180,.12)}
.c-item:last-child{border-bottom:none}
.c-item .c-ic{width:40px;height:40px;flex:none;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1rem;background:linear-gradient(135deg,rgba(127,231,220,.35),rgba(201,167,245,.35))}
.c-item .c-label{font-weight:700;font-size:.85rem}
.c-item .c-value{font-size:.85rem;color:var(--ink-2);word-break:break-all}

/* — 资质执照 — */
.qual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:0 0 90px}
@media(max-width:860px){.qual-grid{grid-template-columns:1fr}}
.qual-card{padding:26px;text-align:center}
.qual-card h3{font-size:1.05rem;font-weight:700;margin-bottom:16px}
.qual-card .q-img{border-radius:14px;overflow:hidden;border:1px solid rgba(120,100,180,.15)}
.qual-card .q-img img{width:100%;transition:transform .4s}
.qual-card:hover .q-img img{transform:scale(1.03)}

/* — 底部浮动栏（微信/QQ） — */
.float-bar{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:200;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.6);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.75);border-radius:99px;padding:9px 12px 9px 22px;box-shadow:0 12px 40px rgba(120,100,180,.2);transition:all .3s;white-space:nowrap}
.float-bar .fb-text{font-size:.82rem;font-weight:600;color:var(--ink-2)}
.fb-btn{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border:none;border-radius:99px;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .25s;background:rgba(255,255,255,.7);color:var(--ink);border:1px solid rgba(255,255,255,.9)}
.fb-btn:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 18px rgba(120,100,180,.18)}
.fb-btn img{width:16px;height:16px}
.fb-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.fb-icon.wx{background:#07C160}
.fb-icon.qq{background:#12B7F5}
.fb-btn .fb-qr{display:none;position:absolute;bottom:calc(100% + 14px);left:50%;transform:translateX(-50%);background:#fff;padding:8px;border-radius:16px;box-shadow:0 14px 40px rgba(120,100,180,.25);z-index:5;width:196px;height:196px}
.fb-btn:hover .fb-qr{display:block}
/* 移动端：点击切换二维码（配合 js/mobile.js 的 .show） */
.fb-qr.show{display:block}
.fb-btn .fb-qr img{width:180px;height:180px;border-radius:12px}
.fb-close{width:30px;height:30px;border:none;border-radius:50%;background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.9);color:var(--ink-3);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}
.fb-close:hover{background:#fff;color:var(--ink)}
@media(max-width:640px){.float-bar{bottom:12px;padding:8px 10px 8px 16px;gap:6px}.float-bar .fb-text{display:none}}

/* — 404 — */
.nf{min-height:62vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 24px}
.nf b{font-size:clamp(5rem,14vw,9rem);font-weight:800;line-height:1;background:var(--grad-full);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.nf p{color:var(--ink-2);margin:18px 0 36px}

/* — 页脚 — */
footer{position:relative;z-index:2;padding:40px 0 140px;text-align:center;font-size:.75rem;color:var(--ink-3)}
footer a:hover{color:var(--ink)}

/* — 进场动画 — */
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.fade-up{animation:fadeUp .6s ease both}
.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}

/* — 灯箱（资质/地图放大查看） — */
.lb-overlay{display:none;position:fixed;inset:0;background:rgba(10,12,30,.92);z-index:9999;flex-direction:column;align-items:center;justify-content:center;padding:40px}
.lb-overlay.open{display:flex}
.lb-overlay .lb-img{max-width:92vw;max-height:78vh;object-fit:contain;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.lb-overlay .lb-close{position:absolute;top:24px;right:32px;font-size:2.4rem;color:rgba(255,255,255,.7);cursor:pointer;line-height:1;transition:color .2s}
.lb-overlay .lb-close:hover{color:#fff}
.lb-overlay .lb-title{color:rgba(255,255,255,.8);margin-top:18px;font-size:.95rem}
.q-img{cursor:pointer}
