/* ========== 基础变量 ========== */
:root{
    --primary: #B11E3A;        /* 井冈红 */
    --primary-deep: #7a0f24;
    --accent: #C99A2E;         /* 学院金 */
    --ink: #1a1a2e;
    --ink-soft: #4a4a68;
    --muted: #8a8aa3;
    --line: #ececf3;
    --bg: #fafafe;
    --bg-soft: #f3f4f8;
    --card: #ffffff;
    --shadow-sm: 0 4px 14px rgba(20, 20, 50, .06);
    --shadow-md: 0 12px 30px rgba(20, 20, 50, .08);
    --shadow-lg: 0 24px 60px rgba(20, 20, 50, .12);
    --radius: 18px;
    --radius-sm: 12px;
    --max: 1200px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    font-family:"Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    color:var(--ink);
    background:var(--bg);
    line-height:1.7;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
h1,h2,h3,h4{font-family:"Noto Serif SC", serif;font-weight:700;letter-spacing:.02em}
.container{max-width:var(--max);margin:0 auto;padding:0 24px}

/* ========== 顶部导航 ========== */
.nav{
    position:fixed;top:0;left:0;right:0;z-index:1000;
    padding:18px 0;
    transition:all .4s ease;
    background:rgba(255,255,255,0);
}
.nav.scrolled{
    background:rgba(255,255,255,.85);
    backdrop-filter:saturate(180%) blur(20px);
    -webkit-backdrop-filter:saturate(180%) blur(20px);
    box-shadow:0 6px 24px rgba(20,20,50,.06);
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.5);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-family:"Noto Serif SC",serif;font-weight:900;font-size:20px;color:#fff;transition:color .4s}
.nav.scrolled .brand{color:var(--ink)}
.brand .logo{
    width:40px;height:40px;border-radius:12px;
    background:#ffffff;
    display:flex;align-items:center;justify-content:center;
    color:#fff;font-size:18px;
    box-shadow:0 6px 18px rgba(177,30,58,.35);
}
.brand small{display:block;font-size:11px;font-weight:400;letter-spacing:.2em;opacity:.7;font-family:"Noto Sans SC",sans-serif}
.nav-links{display:flex;align-items:center;gap:6px;list-style:none;margin:0;padding:0}
.nav-links a{
    padding:9px 16px;border-radius:999px;font-size:14.5px;font-weight:500;
    color:rgba(255,255,255,.92);transition:all .3s;
}
.nav.scrolled .nav-links a{color:var(--ink-soft)}
.nav-links a:hover{background:rgba(255,255,255,.18);color:#fff}
.nav.scrolled .nav-links a:hover{background:var(--primary);color:#fff}
/* 导航激活项（栏目页当前页） */
.nav-links a.active{
    background:linear-gradient(135deg, var(--primary), var(--primary-deep));
    color:#fff !important;box-shadow:0 6px 16px rgba(177,30,58,.35);
}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:6px;position:relative;z-index:1002}
.nav.scrolled .nav-toggle{color:var(--ink)}
/* 菜单打开时，关闭按钮置于抽屉之上并改为深色（白色抽屉背景上可见） */
.nav-links.open ~ .nav-toggle{color:var(--ink);background:rgba(177,30,58,.08);border-radius:10px}

/* 移动端菜单遮罩（点击关闭） */
.nav-overlay{
    display:none;position:fixed;inset:0;
    background:rgba(10,10,20,.45);
    backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
    z-index:998;opacity:0;transition:opacity .3s;
}
.nav-overlay.show{display:block;opacity:1}


/* ========== Hero 轮播（首页） ========== */
.hero{
    position:relative;height:100vh;min-height:640px;
    overflow:hidden;
    display:flex;align-items:center;justify-content:center;
}
.hero-slides{position:absolute;inset:0}
.hero-slide{
    position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;
    background-size:cover;background-position:center;
    transform:scale(1.05);
}
.hero-slide.active{opacity:1;animation:kenburns 8s ease forwards}
@keyframes kenburns{
    from{transform:scale(1.12)}
    to{transform:scale(1)}
}
.hero::after{
    content:"";position:absolute;inset:0;
    background:
        linear-gradient(180deg, rgba(26,15,46,.55) 0%, rgba(26,15,46,.25) 35%, rgba(26,15,46,.7) 100%),
        linear-gradient(135deg, rgba(177,30,58,.35), rgba(122,15,36,.2) 50%, rgba(201,154,46,.25));
}
.hero-content{
    position:relative;z-index:2;text-align:center;color:#fff;
    padding:0 24px;max-width:980px;
    animation:fadeUp 1.2s ease both;
}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.hero-tag{
    display:inline-flex;align-items:center;gap:8px;
    padding:7px 18px;border-radius:999px;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.25);
    font-size:13px;letter-spacing:.3em;margin-bottom:24px;
    text-transform:uppercase;
}
.hero-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero h1{
    font-size:clamp(36px, 6vw, 76px);font-weight:900;
    line-height:1.15;margin-bottom:18px;
    text-shadow:0 4px 30px rgba(0,0,0,.4);
}
.hero h1 .accent{
    background:linear-gradient(120deg, #ffd479, #ffe9b3);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero p{
    font-size:clamp(15px, 1.6vw, 19px);
    color:rgba(255,255,255,.9);max-width:680px;margin:0 auto 36px;
    font-family:"Noto Sans SC",sans-serif;
}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-dots{
    position:absolute;bottom:36px;left:50%;transform:translateX(-50%);
    display:flex;gap:10px;z-index:3;
}
.hero-dots span{
    width:30px;height:4px;border-radius:2px;
    background:rgba(255,255,255,.4);cursor:pointer;transition:all .3s;
}
.hero-dots span.active{background:#fff;width:50px}
.hero-scroll{
    position:absolute;bottom:14px;left:50%;transform:translateX(-50%);
    color:rgba(255,255,255,.7);font-size:12px;letter-spacing:.3em;z-index:3;
    display:flex;flex-direction:column;align-items:center;gap:6px;
    animation:floatY 2s ease-in-out infinite;
}
@keyframes floatY{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-8px)}}

/* ========== 通用按钮 ========== */
.btn{
    display:inline-flex;align-items:center;gap:10px;
    padding:14px 30px;border-radius:999px;
    font-size:15px;font-weight:600;cursor:pointer;border:none;
    transition:all .35s cubic-bezier(.2,.7,.3,1);
    font-family:"Noto Sans SC",sans-serif;
}
.btn-primary{
    background:linear-gradient(135deg, var(--primary), var(--primary-deep));
    color:#fff;box-shadow:0 12px 30px rgba(177,30,58,.4);
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(177,30,58,.5)}
.btn-ghost{
    background:rgba(255,255,255,.1);color:#fff;
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.3);
}
.btn-ghost:hover{background:rgba(255,255,255,.2);transform:translateY(-3px)}
/* 栏目页查询卡片内的按钮全宽 */
.query-card .btn, .query-section .btn{
    width:100%;justify-content:center;
    box-shadow:0 12px 30px rgba(177,30,58,.3);
}
.query-card .btn-primary:hover{box-shadow:0 18px 40px rgba(177,30,58,.4)}

/* ========== 页面横幅 Hero（栏目页小型） ========== */
.page-hero{
    position:relative;
    min-height:380px;
    padding:160px 0 80px;
    display:flex;align-items:center;justify-content:center;
    text-align:center;color:#fff;overflow:hidden;
}
.page-hero::before{
    content:"";position:absolute;inset:0;z-index:0;
    background:
        linear-gradient(135deg, #1a1a2e 0%, #2d1b3d 50%, #1a1a2e 100%);
}
.page-hero::after{
    content:"";position:absolute;inset:0;z-index:1;
    background:
        radial-gradient(circle at 20% 30%, rgba(177,30,58,.35), transparent 45%),
        radial-gradient(circle at 80% 70%, rgba(201,154,46,.25), transparent 45%);
}
.page-hero .container{position:relative;z-index:2}
.page-hero .breadcrumb{
    display:inline-flex;align-items:center;gap:8px;
    padding:7px 18px;border-radius:999px;
    background:rgba(255,255,255,.1);backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.2);
    font-size:13px;color:rgba(255,255,255,.85);margin-bottom:24px;
    letter-spacing:.1em;
}
.page-hero .breadcrumb a{color:rgba(255,255,255,.85);transition:color .3s}
.page-hero .breadcrumb a:hover{color:var(--accent)}
.page-hero .breadcrumb .sep{opacity:.5}
.page-hero h1{
    font-size:clamp(32px, 5vw, 56px);font-weight:900;
    margin-bottom:14px;text-shadow:0 4px 30px rgba(0,0,0,.4);
    animation:fadeUp 1s ease both;
}
.page-hero h1 .accent{
    background:linear-gradient(120deg, #ffd479, #ffe9b3);
    -webkit-background-clip:text;background-clip:text;color:transparent;
}
.page-hero p{
    font-size:clamp(15px, 1.6vw, 18px);
    color:rgba(255,255,255,.85);max-width:560px;margin:0 auto;
    animation:fadeUp 1s .15s ease both;
}
/* 装饰元素 */
.page-hero .deco{
    position:absolute;border-radius:50%;filter:blur(60px);z-index:1;
}
.deco-1{width:280px;height:280px;background:rgba(177,30,58,.4);top:10%;left:-80px;animation:floatA 8s ease-in-out infinite}
.deco-2{width:220px;height:220px;background:rgba(201,154,46,.35);bottom:10%;right:-60px;animation:floatA 10s ease-in-out infinite reverse}
@keyframes floatA{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-20px)}}

/* ========== 通用 section ========== */
section{padding:90px 0;position:relative}
.section-head{text-align:center;margin-bottom:56px}
.section-eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:13px;letter-spacing:.3em;color:var(--primary);
    text-transform:uppercase;margin-bottom:14px;font-weight:600;
}
.section-eyebrow::before, .section-eyebrow::after{
    content:"";width:30px;height:1px;background:var(--primary);opacity:.4;
}
.section-title{
    font-size:clamp(28px, 3.5vw, 42px);font-weight:900;
    color:var(--ink);margin-bottom:14px;
}
.section-sub{color:var(--ink-soft);font-size:16px;max-width:640px;margin:0 auto;font-family:"Noto Sans SC",sans-serif}

/* ========== 新生注意 - 步骤卡片（首页） ========== */
.steps{
    background:
        radial-gradient(circle at 0% 0%, rgba(177,30,58,.05), transparent 40%),
        radial-gradient(circle at 100% 100%, rgba(201,154,46,.05), transparent 40%),
        var(--bg);
}
.steps-grid{
    display:grid;grid-template-columns:repeat(4, 1fr);gap:24px;
}
.step-card{
    position:relative;background:var(--card);
    border-radius:var(--radius);padding:36px 28px 30px;
    border:1px solid var(--line);
    transition:all .4s cubic-bezier(.2,.7,.3,1);
    overflow:hidden;
}
.step-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:4px;
    background:linear-gradient(90deg, var(--primary), var(--accent));
    transform:scaleX(0);transform-origin:left;transition:transform .4s;
}
.step-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-lg);
    border-color:transparent;
}
.step-card:hover::before{transform:scaleX(1)}
.step-num{
    position:absolute;top:18px;right:24px;
    font-family:"Noto Serif SC",serif;font-size:64px;font-weight:900;
    color:var(--bg-soft);line-height:1;transition:color .4s;
}
.step-card:hover .step-num{color:rgba(177,30,58,.08)}
.step-icon{
    width:60px;height:60px;border-radius:16px;
    background:linear-gradient(135deg, rgba(177,30,58,.1), rgba(201,154,46,.1));
    display:flex;align-items:center;justify-content:center;
    font-size:24px;color:var(--primary);margin-bottom:20px;
    transition:all .4s;
}
.step-card:hover .step-icon{
    background:linear-gradient(135deg, var(--primary), var(--primary-deep));
    color:#fff;transform:rotate(-6deg) scale(1.05);
    box-shadow:0 10px 24px rgba(177,30,58,.3);
}
.step-card h3{font-size:19px;margin-bottom:10px;color:var(--ink)}
.step-card p{font-size:14px;color:var(--ink-soft);line-height:1.7;font-family:"Noto Sans SC",sans-serif}
.step-arrow{
    display:inline-flex;align-items:center;gap:6px;margin-top:14px;
    font-size:13px;color:var(--primary);font-weight:600;
    opacity:0;transform:translateX(-10px);transition:all .4s;
}
.step-card:hover .step-arrow{opacity:1;transform:translateX(0)}

/* ========== 微信公众号（首页） ========== */
.wechat{background:linear-gradient(180deg, var(--bg-soft), var(--bg))}
.wechat-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:24px}
.wechat-card{
    background:var(--card);border-radius:var(--radius);
    padding:28px;text-align:center;
    border:1px solid var(--line);
    transition:all .4s;position:relative;overflow:hidden;
}
.wechat-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md)}
.wechat-qr{
    width:100%;aspect-ratio:1;border-radius:var(--radius-sm);
    overflow:hidden;margin-bottom:18px;
    border:1px solid var(--line);background:#fff;
    position:relative;
}
.wechat-qr img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.wechat-card:hover .wechat-qr img{transform:scale(1.08)}
.wechat-card h3{font-size:17px;margin-bottom:4px;color:var(--ink)}
.wechat-card p{font-size:13px;color:var(--muted);font-family:"Noto Sans SC",sans-serif}
.wechat-badge{
    position:absolute;top:14px;right:14px;
    background:linear-gradient(135deg, #07c160, #06ad56);
    color:#fff;font-size:11px;padding:4px 10px;border-radius:999px;
    display:flex;align-items:center;gap:4px;font-weight:500;
    box-shadow:0 4px 10px rgba(7,193,96,.3);
}

/* ========== 校园风光（首页） ========== */
.gallery-grid{
    display:grid;grid-template-columns:repeat(4, 1fr);gap:18px;
}
.gallery-item{
    position:relative;border-radius:var(--radius);overflow:hidden;
    aspect-ratio:1;cursor:pointer;background:var(--bg-soft);
}
.gallery-item img{
    width:100%;height:100%;object-fit:cover;
    transition:transform .8s cubic-bezier(.2,.7,.3,1);
}
.gallery-item:hover img{transform:scale(1.12)}
.gallery-overlay{
    position:absolute;inset:0;
    background:linear-gradient(180deg, transparent 40%, rgba(26,15,46,.85) 100%);
    display:flex;flex-direction:column;justify-content:flex-end;
    padding:20px;color:#fff;opacity:0;transition:opacity .4s;
}
.gallery-item:hover .gallery-overlay{opacity:1}
.gallery-overlay .zoom{
    position:absolute;top:18px;right:18px;
    width:38px;height:38px;border-radius:50%;
    background:rgba(255,255,255,.15);backdrop-filter:blur(10px);
    display:flex;align-items:center;justify-content:center;
    transform:scale(.6);transition:transform .4s;
}
.gallery-item:hover .zoom{transform:scale(1)}
.gallery-overlay h4{font-size:17px;margin-bottom:4px;font-family:"Noto Sans SC",sans-serif}
.gallery-overlay span{font-size:12px;opacity:.8;letter-spacing:.15em;text-transform:uppercase}

/* ========== 学校网站（首页） ========== */
.links{background:linear-gradient(135deg, #1a1a2e 0%, #2d1b3d 50%, #1a1a2e 100%);color:#fff;position:relative;overflow:hidden}
.links::before{
    content:"";position:absolute;inset:0;
    background:
        radial-gradient(circle at 20% 30%, rgba(177,30,58,.25), transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(201,154,46,.2), transparent 40%);
}
.links .container{position:relative;z-index:2}
.links .section-title{color:#fff}
.links .section-sub{color:rgba(255,255,255,.7)}
.links .section-eyebrow{color:var(--accent)}
.links .section-eyebrow::before, .links .section-eyebrow::after{background:var(--accent)}
.links-grid{
    display:grid;grid-template-columns:repeat(4, 1fr);gap:18px;
}
.link-card{
    display:flex;align-items:center;gap:14px;
    padding:20px 22px;border-radius:var(--radius-sm);
    background:rgba(255,255,255,.06);backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.1);
    transition:all .35s;
}
.link-card:hover{
    background:rgba(255,255,255,.12);
    transform:translateY(-4px);
    border-color:rgba(201,154,46,.5);
    box-shadow:0 14px 30px rgba(0,0,0,.3);
}
.link-icon{
    width:44px;height:44px;border-radius:12px;flex-shrink:0;
    background:linear-gradient(135deg, rgba(201,154,46,.3), rgba(177,30,58,.3));
    display:flex;align-items:center;justify-content:center;
    font-size:18px;color:#ffd479;
}
.link-card .name{font-size:15px;font-weight:500;color:#fff;font-family:"Noto Sans SC",sans-serif}

/* ========== 查询卡片（栏目页） ========== */
.query-section{
    background:
        radial-gradient(circle at 0% 0%, rgba(177,30,58,.04), transparent 40%),
        radial-gradient(circle at 100% 100%, rgba(201,154,46,.04), transparent 40%),
        var(--bg);
    margin-top:-40px;position:relative;z-index:3;
}
.query-grid{
    display:grid;grid-template-columns:repeat(2, 1fr);gap:28px;
}
.query-card{
    position:relative;background:var(--card);
    border-radius:var(--radius);padding:40px 36px;
    border:1px solid var(--line);
    transition:all .4s cubic-bezier(.2,.7,.3,1);
    overflow:hidden;
}
.query-card::before{
    content:"";position:absolute;top:0;left:0;right:0;height:4px;
    background:linear-gradient(90deg, var(--primary), var(--accent));
    transform:scaleX(0);transform-origin:left;transition:transform .4s;
}
.query-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow-lg);
    border-color:transparent;
}
.query-card:hover::before{transform:scaleX(1)}
.query-head{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.query-icon{
    width:56px;height:56px;border-radius:16px;flex-shrink:0;
    background:linear-gradient(135deg, rgba(177,30,58,.1), rgba(201,154,46,.1));
    display:flex;align-items:center;justify-content:center;
    font-size:24px;color:var(--primary);transition:all .4s;
}
.query-card:hover .query-icon{
    background:linear-gradient(135deg, var(--primary), var(--primary-deep));
    color:#fff;transform:rotate(-6deg) scale(1.05);
    box-shadow:0 10px 24px rgba(177,30,58,.3);
}
.query-card h3{font-size:22px;color:var(--ink);margin:0}
.query-card .desc{color:var(--ink-soft);font-size:14.5px;margin-bottom:24px;line-height:1.7}

/* 二维码/图示区 */
.query-visual{
    border-radius:var(--radius-sm);
    overflow:hidden;margin-bottom:24px;
    background:var(--bg-soft);
    border:1px solid var(--line);
    position:relative;
    transition:all .4s;
}
.query-card:hover .query-visual{border-color:rgba(177,30,58,.2)}
.qr-img{
    width:100%;aspect-ratio:1;max-height:280px;
    display:flex;align-items:center;justify-content:center;
    padding:20px;
}
.qr-img img{
    max-width:100%;max-height:240px;
    border-radius:8px;
    transition:transform .6s cubic-bezier(.2,.7,.3,1);
}
.query-card:hover .qr-img img{transform:scale(1.04)}
.desktop-visual{
    width:100%;aspect-ratio:1;max-height:280px;
    display:flex;align-items:center;justify-content:center;
    background:
        radial-gradient(circle at center, rgba(177,30,58,.08), transparent 60%),
        var(--bg-soft);
    position:relative;
}
.desktop-visual i{
    font-size:96px;
    background:linear-gradient(135deg, var(--primary), var(--primary-deep));
    -webkit-background-clip:text;background-clip:text;color:transparent;
    transition:transform .5s;
}
.query-card:hover .desktop-visual i{transform:scale(1.08)}
.desktop-visual::before{
    content:"";position:absolute;inset:30px;
    border:1px dashed rgba(177,30,58,.2);border-radius:12px;
}

/* 步骤提示 */
.query-tip{
    display:flex;align-items:center;gap:8px;
    font-size:13px;color:var(--muted);margin-top:18px;
    padding:12px 16px;border-radius:12px;
    background:var(--bg-soft);
}
.query-tip i{color:var(--accent)}

/* ========== 流程指引（栏目页） ========== */
.flow{
    background:linear-gradient(180deg, var(--bg-soft), var(--bg));
}
.flow-list{
    display:grid;grid-template-columns:repeat(3, 1fr);gap:20px;
    max-width:900px;margin:0 auto;
}
.flow-item{
    display:flex;align-items:flex-start;gap:14px;
    padding:24px;border-radius:var(--radius-sm);
    background:var(--card);border:1px solid var(--line);
    transition:all .3s;
}
.flow-item:hover{box-shadow:var(--shadow-sm);transform:translateY(-3px)}
.flow-num{
    width:36px;height:36px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg, var(--primary), var(--accent));
    color:#fff;display:flex;align-items:center;justify-content:center;
    font-family:"Noto Serif SC",serif;font-weight:700;font-size:16px;
    box-shadow:0 6px 14px rgba(177,30,58,.25);
}
.flow-item h4{font-size:16px;margin-bottom:4px;color:var(--ink);font-family:"Noto Sans SC",sans-serif}
.flow-item p{font-size:13px;color:var(--ink-soft);margin:0}

/* ========== Footer ========== */
footer{
    background:#0f0f1e;color:rgba(255,255,255,.7);
    padding:50px 0 30px;text-align:center;
}
footer h3{color:#fff;font-size:22px;margin-bottom:14px}
footer p{font-size:14px;margin-bottom:6px;font-family:"Noto Sans SC",sans-serif}
footer .copy{margin-top:24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08);font-size:13px;color:rgba(255,255,255,.5)}

/* ========== 浮动按钮 ========== */
.floating-consult{
    position:fixed;bottom:30px;left:30px;z-index:900;
    display:flex;flex-direction:column;align-items:center;gap:6px;
    transition:all .4s;
}
.floating-consult .qr-wrap{
    width:64px;height:64px;border-radius:14px;
    background:#fff;padding:6px;box-shadow:var(--shadow-md);
    transition:transform .4s, box-shadow .4s, border-radius .4s;cursor:pointer;
    box-sizing:content-box;
}
.floating-consult .qr-wrap img{width:100%;height:100%;border-radius:8px;object-fit:contain;background:#fff;transition:border-radius .4s}
.floating-consult span{font-size:12px;color:var(--ink-soft);background:rgba(255,255,255,.9);padding:3px 10px;border-radius:999px;box-shadow:var(--shadow-sm)}
.floating-consult:hover .qr-wrap{transform:scale(4) translateY(-30px);transform-origin:bottom left;box-shadow:var(--shadow-lg);z-index:1001;border-radius:10px}
.floating-consult:hover .qr-wrap img{border-radius:0}
.floating-consult:hover span{opacity:0;visibility:hidden}

.go-top{
    position:fixed;bottom:30px;right:30px;z-index:900;
    width:48px;height:48px;border-radius:14px;
    background:linear-gradient(135deg, var(--primary), var(--primary-deep));
    color:#fff;display:flex;align-items:center;justify-content:center;
    font-size:18px;cursor:pointer;
    box-shadow:0 10px 24px rgba(177,30,58,.4);
    opacity:0;visibility:hidden;transform:translateY(20px);
    transition:all .4s;
}
.go-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.go-top:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(177,30,58,.5)}

/* 遮罩 */
#overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:899;backdrop-filter:blur(2px)}

/* ========== 灯箱 Lightbox（首页） ========== */
.lightbox{
    position:fixed;inset:0;z-index:2000;
    background:rgba(10,10,20,.92);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    display:flex;align-items:center;justify-content:center;
    padding:40px;opacity:0;visibility:hidden;
    transition:opacity .4s, visibility .4s;
}
.lightbox.open{opacity:1;visibility:visible}
.lightbox-stage{
    position:relative;max-width:90vw;max-height:85vh;
    transform:scale(.92);transition:transform .4s cubic-bezier(.2,.7,.3,1);
}
.lightbox.open .lightbox-stage{transform:scale(1)}
.lightbox-stage img{
    max-width:90vw;max-height:85vh;border-radius:14px;
    box-shadow:0 30px 80px rgba(0,0,0,.6);
    object-fit:contain;
}
.lightbox-caption{
    position:absolute;left:50%;bottom:-46px;transform:translateX(-50%);
    color:#fff;text-align:center;white-space:nowrap;
    font-size:14px;letter-spacing:.05em;
}
.lightbox-caption span{display:block;font-size:11px;opacity:.6;letter-spacing:.2em;text-transform:uppercase;margin-top:2px}
.lightbox-close{
    position:absolute;top:24px;right:30px;
    width:46px;height:46px;border-radius:50%;
    background:rgba(255,255,255,.12);backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.2);
    color:#fff;font-size:20px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:all .3s;
}
.lightbox-close:hover{background:var(--primary);transform:rotate(90deg) scale(1.05)}
.lightbox-nav{
    position:absolute;top:50%;transform:translateY(-50%);
    width:52px;height:52px;border-radius:50%;
    background:rgba(255,255,255,.1);backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.2);
    color:#fff;font-size:22px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;
    transition:all .3s;z-index:2;
}
.lightbox-nav:hover{background:var(--primary);border-color:var(--primary)}
.lightbox-prev{left:30px}
.lightbox-next{right:30px}
.lightbox-counter{
    position:absolute;top:30px;left:50%;transform:translateX(-50%);
    color:rgba(255,255,255,.7);font-size:13px;letter-spacing:.15em;
    padding:6px 16px;border-radius:999px;
    background:rgba(255,255,255,.08);backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.15);
}

/* ========== 滚动渐显动画 ========== */
.reveal{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.2,.7,.3,1)}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ========== 响应式 ========== */
@media (max-width: 992px){
    .steps-grid, .wechat-grid, .gallery-grid, .links-grid{grid-template-columns:repeat(2, 1fr)}
    .query-grid, .flow-list{grid-template-columns:1fr}
    /* 手机端导航栏始终带半透明背景，确保汉堡按钮可见 */
    .nav{
        background:rgba(26,26,46,.85);
        backdrop-filter:saturate(180%) blur(20px);
        -webkit-backdrop-filter:saturate(180%) blur(20px);
    }
    .nav.scrolled{
        background:rgba(255,255,255,.92);
    }
    .nav-links{
        position:fixed;top:0;right:-100%;height:100vh;width:280px;
        background:rgba(255,255,255,.98);backdrop-filter:blur(20px);
        flex-direction:column;align-items:flex-start;
        padding:90px 24px 24px;gap:6px;box-shadow:-10px 0 40px rgba(0,0,0,.15);
        transition:right .4s ease;
        overflow-y:auto;
    }
    .nav-links.open{right:0}
    .nav-links li{width:100%}
    .nav-links a{color:var(--ink);width:100%;padding:12px 16px;display:block}
    .nav-toggle{display:flex;align-items:center;justify-content:center}
    .hero{height:90vh;min-height:560px}
    .page-hero{padding:140px 0 70px;min-height:320px}
    section{padding:70px 0}
}
@media (max-width: 576px){
    .steps-grid, .wechat-grid, .gallery-grid, .links-grid{grid-template-columns:1fr}
    .container{padding:0 18px}
    .query-card{padding:30px 24px}
    .floating-consult{bottom:20px;left:14px}
    .floating-consult .qr-wrap{width:54px;height:54px}
    .go-top{bottom:20px;right:14px;width:44px;height:44px}
    .hero-actions{flex-direction:column;width:100%}
    .hero-actions .btn{width:100%;justify-content:center}
    .lightbox{padding:20px}
    .lightbox-nav{width:42px;height:42px;font-size:18px}
    .lightbox-prev{left:10px}.lightbox-next{right:10px}
    .lightbox-close{top:14px;right:14px;width:40px;height:40px}
}