/* ============================================================
   潮汐药业 - 蒸汽波艺术风格(Vaporwave)样式表
   配色：深紫 #2D1B69 / #6C1B9C · 霓虹粉 #FF6EC7 / #FF10F0 · 青色 #00FFFF / #00E5FF
   字体：Audiowide(标题) + Rajdhani(正文)
   ============================================================ */

/* ---------- CSS 变量：蒸汽波调色板 ---------- */
:root{
    --c-purple-deep: #2D1B69;     /* 深紫主色 */
    --c-purple:      #6C1B9C;     /* 紫色 */
    --c-pink:        #FF6EC7;     /* 霓虹粉 */
    --c-pink-hot:    #FF10F0;     /* 亮粉 */
    --c-cyan:        #00FFFF;     /* 青色 */
    --c-cyan-soft:   #00E5FF;     /* 软青 */
    --c-bg:          #1A0B3D;     /* 深夜紫底 */
    --c-bg-2:        #15082E;     /* 更深的底 */
    --c-text:        #F5E7FF;     /* 浅紫白文字 */
    --c-text-dim:    #B59EDC;     /* 暗紫文字 */
    --c-line:        rgba(255,110,199,.35);

    --font-title: 'Audiowide', 'Rajdhani', sans-serif;
    --font-body:  'Rajdhani', 'PingFang SC', 'Microsoft YaHei', sans-serif;

    --shadow-neon-pink: 0 0 8px var(--c-pink), 0 0 20px rgba(255,110,199,.55);
    --shadow-neon-cyan: 0 0 8px var(--c-cyan), 0 0 20px rgba(0,229,255,.55);
    --maxw: 1200px;
}

/* ---------- 全局重置 ---------- */
*,
*::before,
*::after{ box-sizing:border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; }

body{
    font-family: var(--font-body);
    color: var(--c-text);
    background: var(--c-bg);
    line-height: 1.7;
    overflow-x:hidden;
    /* 滚动条 */
}

img{ max-width:100%; display:block; }

a{ color: var(--c-cyan); text-decoration:none; transition:color .25s, text-shadow .25s; }
a:hover{ color: var(--c-pink); text-shadow: var(--shadow-neon-pink); }

button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }

.container{ width:min(100% - 2.5rem, var(--maxw)); margin-inline:auto; }

/* ============================================================
   蒸汽波背景层：3D透视网格 + 日落圆盘 + 扫描线 + CRT
   ============================================================ */
.vapor-bg{
    position:fixed; inset:0; z-index:-3;
    background:
        radial-gradient(ellipse at 50% 38%, rgba(255,110,199,.25), transparent 55%),
        linear-gradient(180deg, #2D1B69 0%, #6C1B9C 42%, #FF6EC7 62%, #2D1B69 78%, #15082E 100%);
    background-attachment:fixed;
}

/* 日落渐变圆盘 */
.vapor-sun{
    position:absolute; left:50%; top:34%;
    width:min(60vw, 560px); aspect-ratio:1;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:
        linear-gradient(180deg,
            #FF10F0 0%, #FF6EC7 18%, #FFB86C 38%,
            #FFE066 52%, #FF6EC7 66%, #6C1B9C 82%, #2D1B69 100%);
    box-shadow: 0 0 80px rgba(255,16,240,.55), 0 0 160px rgba(255,110,199,.35);
    /* 横向切割条纹，模拟日落光带 */
    -webkit-mask-image: repeating-linear-gradient(180deg, #000 0 12px, transparent 12px 18px);
            mask-image: repeating-linear-gradient(180deg, #000 0 12px, transparent 12px 18px);
    opacity:.9;
    animation: sunPulse 8s ease-in-out infinite;
}
@keyframes sunPulse{
    0%,100%{ filter:hue-rotate(0deg); }
    50%{ filter:hue-rotate(25deg) brightness(1.1); }
}

/* 3D 透视网格地平线 */
.vapor-grid{
    position:absolute; left:-50%; right:-50%; bottom:0;
    height:55vh;
    background-image:
        linear-gradient(rgba(0,229,255,.6) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,229,255,.6) 1px, transparent 1px);
    background-size: 40px 40px;
    transform: perspective(380px) rotateX(62deg);
    transform-origin: bottom center;
    animation: gridScroll 3s linear infinite;
    /* 顶部淡出 */
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 40%, #000 100%);
            mask-image: linear-gradient(180deg, transparent 0%, #000 40%, #000 100%);
}
@keyframes gridScroll{
    from{ background-position:0 0; }
    to{ background-position:0 40px; }
}

/* 扫描线覆盖层 */
.scanlines{
    position:fixed; inset:0; z-index:-2; pointer-events:none;
    background: repeating-linear-gradient(
        180deg,
        rgba(0,0,0,.18) 0 1px,
        transparent 1px 3px
    );
    mix-blend-mode:multiply;
}

/* CRT 显示器弯曲晕影 */
.crt-overlay{
    position:fixed; inset:0; z-index:-1; pointer-events:none;
    background: radial-gradient(ellipse at center, transparent 55%, rgba(20,5,40,.65) 100%);
}

/* ============================================================
   通用区块 / 标题
   ============================================================ */
.section{
    position:relative;
    padding: clamp(3.5rem, 8vw, 6.5rem) 0;
}

.section-eyebrow{
    font-family: var(--font-title);
    letter-spacing:.3em;
    color: var(--c-cyan);
    font-size:.8rem;
    text-shadow: var(--shadow-neon-cyan);
    margin-bottom:.6rem;
}

.section-title{
    font-family: var(--font-title);
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height:1.15;
    background: linear-gradient(90deg, var(--c-pink), var(--c-cyan));
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
    filter: drop-shadow(0 0 10px rgba(255,110,199,.45));
}

.section-head{ text-align:center; max-width:760px; margin:0 auto 2.5rem; }
.section-desc{ color:var(--c-text-dim); margin-top:.6rem; font-size:1.05rem; }

/* 滚动揭示动画（IntersectionObserver 触发） */
.reveal{
    opacity:0; transform: translateY(40px);
    transition: opacity .8s ease, transform .8s cubic-bezier(.22,1,.36,1);
}
.reveal.is-visible{ opacity:1; transform:none; }

/* ============================================================
   模块1：导航栏 + Logo
   ============================================================ */
.site-header{
    position:fixed; top:0; left:0; right:0; z-index:100;
    backdrop-filter: blur(10px);
    background: linear-gradient(180deg, rgba(45,27,105,.85), rgba(21,8,46,.6));
    border-bottom:1px solid var(--c-line);
    box-shadow: 0 4px 24px rgba(0,0,0,.4);
}

.navbar{
    width:min(100% - 2.5rem, var(--maxw));
    margin-inline:auto;
    display:flex; align-items:center; justify-content:space-between;
    height:68px;
}

.brand{ display:flex; align-items:center; gap:.6rem; }
.brand-mark{
    font-size:1.6rem; color:var(--c-cyan);
    text-shadow: var(--shadow-neon-cyan);
    animation: neonFlicker 4s infinite;
}
.brand-text{ display:flex; flex-direction:column; line-height:1; }
.brand-cn{
    font-family:var(--font-title); font-size:1.25rem;
    color:var(--c-pink);
    text-shadow: 0 0 6px rgba(255,16,240,.7), 0 0 14px rgba(255,110,199,.5);
}
.brand-en{
    font-size:.62rem; letter-spacing:.35em; color:var(--c-cyan-soft);
    margin-top:.25rem;
}

@keyframes neonFlicker{
    0%,18%,22%,25%,53%,57%,100%{ opacity:1; }
    20%,24%,55%{ opacity:.55; }
}

.nav-menu{
    display:flex; align-items:center; gap:1.6rem; list-style:none;
}
.nav-menu a{
    color:var(--c-text); font-weight:600; font-size:.98rem;
    letter-spacing:.05em; position:relative; padding:.3rem 0;
}
.nav-menu a::after{
    content:''; position:absolute; left:0; bottom:-2px; height:2px; width:0;
    background:linear-gradient(90deg, var(--c-pink), var(--c-cyan));
    box-shadow:var(--shadow-neon-pink);
    transition: width .3s ease;
}
.nav-menu a:hover::after{ width:100%; }
.nav-menu a:hover{ color:var(--c-pink); }

.nav-cta{
    border:1px solid var(--c-cyan);
    padding:.45rem 1.1rem !important; border-radius:4px;
    color:var(--c-cyan) !important;
    box-shadow: inset 0 0 8px rgba(0,229,255,.25), 0 0 8px rgba(0,229,255,.25);
}
.nav-cta:hover{ background:rgba(0,229,255,.12); }
.nav-cta::after{ display:none; }

/* 汉堡按钮 */
.nav-toggle{
    display:none; flex-direction:column; gap:5px; padding:8px;
    z-index:101;
}
.nav-toggle span{
    width:26px; height:2px; background:var(--c-pink);
    box-shadow:var(--shadow-neon-pink);
    transition: transform .3s, opacity .3s;
}
.nav-toggle.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.is-open span:nth-child(2){ opacity:0; }
.nav-toggle.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* ============================================================
   模块2：全屏轮播图
   ============================================================ */
.hero{
    position:relative;
    height:100vh; min-height:560px;
    overflow:hidden;
    margin-top:0; /* 紧贴导航 */
}
.hero-track{
    display:flex; height:100%;
    transition: transform .9s cubic-bezier(.7,0,.2,1);
    will-change: transform;
}
.hero-slide{
    flex:0 0 100%; position:relative; height:100%;
}
.hero-slide img{
    width:100%; height:100%; object-fit:cover;
    filter: saturate(1.25) contrast(1.08) hue-rotate(-6deg);
}
.hero-slide::after{
    /* 渐变压暗，增强文字可读性 */
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg,
        rgba(21,8,46,.55) 0%,
        rgba(45,27,105,.25) 40%,
        rgba(108,27,156,.45) 75%,
        rgba(21,8,46,.85) 100%);
}
.hero-caption{
    position:absolute; inset:0; z-index:2;
    display:flex; flex-direction:column; justify-content:center; align-items:center;
    text-align:center; padding:0 1.5rem;
}
.hero-eyebrow{
    font-family:var(--font-title); letter-spacing:.4em;
    color:var(--c-cyan); font-size:clamp(.7rem,2vw,.95rem);
    text-shadow:var(--shadow-neon-cyan);
    margin-bottom:1rem;
}
.hero-title{
    font-family:var(--font-title);
    font-size:clamp(2.2rem,7vw,5rem);
    line-height:1.1;
    background:linear-gradient(90deg, #fff, var(--c-pink) 50%, var(--c-cyan));
    -webkit-background-clip:text; background-clip:text;
    -webkit-text-fill-color:transparent;
    filter: drop-shadow(0 0 14px rgba(255,16,240,.6));
}
.hero-sub{
    margin-top:1rem; color:var(--c-text); font-size:clamp(1rem,2.4vw,1.3rem);
    text-shadow:0 2px 12px rgba(0,0,0,.7);
}

/* 网格滑动过渡覆盖：霓虹光带 */
.hero-track::before{
    content:''; position:absolute; inset:0; z-index:3; pointer-events:none;
    background:linear-gradient(90deg,
        transparent 0%,
        rgba(0,229,255,.0) 48%,
        rgba(0,229,255,.5) 50%,
        rgba(255,16,240,.5) 52%,
        transparent 54%, transparent 100%);
    opacity:0;
    transition:opacity .3s;
}
.hero-track.is-sliding::before{ opacity:1; animation: slideGlitch .9s ease; }
@keyframes slideGlitch{
    0%{ transform:translateX(-30%); opacity:0; }
    20%{ opacity:1; }
    80%{ opacity:1; }
    100%{ transform:translateX(30%); opacity:0; }
}

/* 轮播箭头 */
.hero-arrow{
    position:absolute; top:50%; transform:translateY(-50%);
    z-index:5; width:54px; height:54px; border-radius:50%;
    color:var(--c-pink); font-size:2rem; line-height:1;
    border:1px solid var(--c-pink);
    background:rgba(21,8,46,.45);
    box-shadow: var(--shadow-neon-pink);
    transition: background .25s, transform .25s;
}
.hero-arrow:hover{ background:rgba(255,110,199,.2); transform:translateY(-50%) scale(1.08); }
.hero-prev{ left:1.2rem; }
.hero-next{ right:1.2rem; }

.hero-dots{
    position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%);
    z-index:5; display:flex; gap:.6rem;
}
.hero-dots button{
    width:12px; height:12px; border-radius:50%;
    border:1px solid var(--c-cyan);
    background:transparent;
    transition: all .3s;
}
.hero-dots button.is-active{
    background:var(--c-pink); border-color:var(--c-pink);
    box-shadow: var(--shadow-neon-pink);
}

/* glitch 色差文字 */
.glitch{ position:relative; }
.glitch::before,
.glitch::after{
    content: attr(data-text);
    position:absolute; left:0; top:0; width:100%;
    background:transparent;
    -webkit-text-fill-color:initial;
}
.glitch::before{ color:var(--c-cyan);  transform:translate(-2px,0); mix-blend-mode:screen; opacity:.8; animation: glitchA 4s infinite; }
.glitch::after { color:var(--c-pink);  transform:translate(2px,0);  mix-blend-mode:screen; opacity:.8; animation: glitchB 4s infinite; }
@keyframes glitchA{
    0%,90%,100%{ clip-path:inset(0 0 100% 0); }
    92%{ clip-path:inset(20% 0 60% 0); transform:translate(-3px,0); }
    96%{ clip-path:inset(60% 0 20% 0); transform:translate(2px,0); }
}
@keyframes glitchB{
    0%,90%,100%{ clip-path:inset(100% 0 0 0); }
    92%{ clip-path:inset(40% 0 30% 0); transform:translate(3px,0); }
    96%{ clip-path:inset(10% 0 70% 0); transform:translate(-2px,0); }
}

/* ============================================================
   模块3：关于我们
   ============================================================ */
.about-wrap{
    display:grid; grid-template-columns: 1fr 1fr; gap:2.5rem; align-items:center;
}
.about-media{
    position:relative; border:1px solid var(--c-line);
    box-shadow: var(--shadow-neon-pink);
    overflow:hidden;
}
.about-media img{ aspect-ratio:4/3; object-fit:cover; transition:transform .8s; }
.about-media:hover img{ transform:scale(1.06); }
.about-media::before{
    content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
    background:linear-gradient(135deg, rgba(0,229,255,.15), transparent 60%);
}

.about-text{
    color:var(--c-text); margin-top:1rem; font-size:1.05rem;
}
.about-stats{
    list-style:none; display:grid; grid-template-columns:repeat(2,1fr);
    gap:1rem 2rem; margin-top:2rem;
}
.about-stats li{
    border-left:2px solid var(--c-cyan);
    padding:.4rem 0 .4rem 1rem;
    box-shadow: -2px 0 8px rgba(0,229,255,.2);
}
.stat-num{
    font-family:var(--font-title); font-size:2rem;
    color:var(--c-pink); text-shadow:var(--shadow-neon-pink);
}
.stat-unit{ color:var(--c-cyan); font-weight:700; margin-left:.2rem; }
.stat-label{ display:block; color:var(--c-text-dim); font-size:.9rem; }

/* ============================================================
   模块4：服务介绍（霓虹网格卡片）
   ============================================================ */
.services-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem;
}
.service-card{
    position:relative; padding:2rem 1.4rem;
    background:linear-gradient(180deg, rgba(45,27,105,.6), rgba(21,8,46,.7));
    border:1px solid var(--c-line);
    border-radius:8px;
    overflow:hidden;
    transition: transform .4s, box-shadow .4s, border-color .4s;
}
/* 卡片角落网格装饰 */
.service-card::before{
    content:''; position:absolute; inset:auto -30% -60% -30%; height:140%;
    background:
        linear-gradient(rgba(0,229,255,.25) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,229,255,.25) 1px, transparent 1px);
    background-size:24px 24px;
    transform: perspective(220px) rotateX(58deg);
    transform-origin:bottom;
    opacity:.5; transition:opacity .4s;
}
.service-card:hover{
    transform:translateY(-8px);
    border-color:var(--c-pink);
    box-shadow: 0 10px 30px rgba(255,16,240,.25), var(--shadow-neon-pink);
}
.service-card:hover::before{ opacity:.9; }

.service-icon{
    font-size:2.2rem; color:var(--c-cyan);
    text-shadow:var(--shadow-neon-cyan);
    margin-bottom:1rem; position:relative; z-index:2;
}
.service-name{
    font-family:var(--font-title); font-size:1.3rem; color:var(--c-pink);
    margin-bottom:.6rem; position:relative; z-index:2;
}
.service-desc{
    color:var(--c-text-dim); font-size:.98rem; position:relative; z-index:2;
}

/* ============================================================
   模块5：客户案例（滑动展示）
   ============================================================ */
.cases-slider{
    overflow-x:auto; padding:1rem 0 2rem;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
}
.cases-slider::-webkit-scrollbar{ display:none; }
.cases-track{
    display:flex; gap:1.5rem;
    width:max-content;
    /* 左右内边距与 .container 边距对齐，确保首张卡片与标题左对齐 */
    padding-left: max(1.25rem, calc((100vw - 1200px) / 2));
    padding-right: max(1.25rem, calc((100vw - 1200px) / 2));
}
.case-card{
    flex:0 0 auto; width:min(80vw, 300px);
    scroll-snap-align:center;
    background:linear-gradient(180deg, rgba(45,27,105,.7), rgba(21,8,46,.8));
    border:1px solid var(--c-line);
    border-radius:10px; overflow:hidden;
    transition: transform .4s, box-shadow .4s;
}
.case-card:hover{
    transform:translateY(-6px);
    box-shadow: var(--shadow-neon-pink);
}
.case-card img{
    aspect-ratio:1/1; object-fit:cover; width:100%;
    filter:saturate(1.2) contrast(1.05);
}
.case-info{ padding:1.2rem 1.2rem 1.5rem; }
.case-name{
    font-family:var(--font-title); color:var(--c-cyan); font-size:1.15rem;
    margin-bottom:.5rem;
}
.case-quote{ color:var(--c-text-dim); font-size:.95rem; font-style:italic; }

.cases-dots{
    display:flex; justify-content:center; gap:.6rem; margin-top:1rem;
    padding-bottom:.5rem;
}
.cases-dots button{
    width:10px; height:10px; border-radius:50%;
    border:1px solid var(--c-pink); background:transparent; transition:all .3s;
}
.cases-dots button.is-active{ background:var(--c-pink); box-shadow:var(--shadow-neon-pink); }

/* ============================================================
   模块6：新闻资讯
   ============================================================ */
.news-grid{
    display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
}
.news-card{
    position:relative; padding:1.6rem 1.4rem;
    background:linear-gradient(180deg, rgba(45,27,105,.6), rgba(21,8,46,.75));
    border:1px solid var(--c-line);
    border-radius:8px;
    transition: transform .35s, box-shadow .35s, border-color .35s;
    overflow:hidden;
}
.news-card::before{
    content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
    background:linear-gradient(180deg, var(--c-pink), var(--c-cyan));
    box-shadow:var(--shadow-neon-pink);
}
.news-card:hover{ transform:translateY(-6px); border-color:var(--c-cyan); box-shadow:var(--shadow-neon-cyan); }
.news-date{
    font-family:var(--font-title); color:var(--c-cyan);
    letter-spacing:.15em; font-size:.85rem; text-shadow:var(--shadow-neon-cyan);
}
.news-title{
    font-size:1.15rem; color:var(--c-pink); margin:.6rem 0 .8rem; line-height:1.4;
}
.news-excerpt{ color:var(--c-text-dim); font-size:.95rem; }
.news-link{
    display:inline-block; margin-top:1rem; font-weight:700; color:var(--c-cyan);
    letter-spacing:.05em;
}

/* ============================================================
   模块7：FAQ 手风琴
   ============================================================ */
.faq-wrap{ max-width:820px; }
.faq-list{ display:flex; flex-direction:column; gap:1rem; margin-top:1rem; }

.faq-item{
    border:1px solid var(--c-line);
    border-radius:8px;
    background:linear-gradient(180deg, rgba(45,27,105,.55), rgba(21,8,46,.7));
    overflow:hidden;
    transition: border-color .3s, box-shadow .3s;
}
.faq-item[open]{
    border-color:var(--c-pink);
    box-shadow:var(--shadow-neon-pink);
}
.faq-item summary{
    list-style:none; cursor:pointer;
    display:flex; justify-content:space-between; align-items:center; gap:1rem;
    padding:1.1rem 1.3rem;
    font-weight:600; color:var(--c-text); font-size:1.05rem;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-q{ flex:1; }
.faq-icon{
    font-size:1.5rem; color:var(--c-cyan);
    text-shadow:var(--shadow-neon-cyan);
    transition: transform .3s, color .3s;
}
.faq-item[open] .faq-icon{ transform:rotate(45deg); color:var(--c-pink); text-shadow:var(--shadow-neon-pink); }
.faq-a{
    max-height:0; overflow:hidden;
    transition: max-height .4s ease, padding .4s ease;
    padding:0 1.3rem;
}
.faq-item[open] .faq-a{ max-height:260px; padding:0 1.3rem 1.2rem; }
.faq-a p{ color:var(--c-text-dim); font-size:.98rem; }

/* ============================================================
   模块8：联系我们
   ============================================================ */
.contact-wrap{
    display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:start;
}
.contact-lead{ color:var(--c-text-dim); margin-top:.8rem; }
.contact-list{
    list-style:none; margin-top:1.5rem; display:flex; flex-direction:column; gap:1rem;
}
.contact-list li{
    display:flex; flex-direction:column; gap:.15rem;
    padding:.7rem 1rem; border-left:2px solid var(--c-pink);
    background:rgba(255,110,199,.06);
}
.ci-label{
    font-family:var(--font-title); font-size:.72rem; letter-spacing:.25em;
    color:var(--c-cyan); text-shadow:var(--shadow-neon-cyan);
}
.ci-value{ color:var(--c-text); font-size:1.02rem; }
.ci-link:hover{ text-shadow:var(--shadow-neon-pink); }

/* 表单 */
.contact-form{
    background:linear-gradient(180deg, rgba(45,27,105,.7), rgba(21,8,46,.85));
    border:1px solid var(--c-pink);
    border-radius:10px; padding:1.8rem;
    box-shadow: var(--shadow-neon-pink);
    position:relative;
}
.contact-form::before{
    content:''; position:absolute; inset:0; border-radius:10px; pointer-events:none;
    background:repeating-linear-gradient(180deg, transparent 0 3px, rgba(0,0,0,.05) 3px 4px);
}
.field{ margin-bottom:1.2rem; position:relative; }
.field label{
    display:block; font-size:.9rem; color:var(--c-cyan);
    margin-bottom:.4rem; letter-spacing:.05em;
}
.req{ color:var(--c-pink-hot); }
.field input,
.field textarea{
    width:100%;
    background:rgba(21,8,46,.7);
    border:1px solid var(--c-line);
    border-radius:6px;
    padding:.7rem .9rem;
    color:var(--c-text); font-family:inherit; font-size:1rem;
    transition: border-color .3s, box-shadow .3s;
}
.field input:focus,
.field textarea:focus{
    outline:none; border-color:var(--c-cyan);
    box-shadow: var(--shadow-neon-cyan);
}
.field textarea{ resize:vertical; }
.field input.invalid,
.field textarea.invalid{ border-color:var(--c-pink-hot); box-shadow:0 0 0 2px rgba(255,16,240,.3); }
.err{
    display:block; color:var(--c-pink-hot); font-size:.82rem; margin-top:.3rem;
    min-height:1rem;
}

.btn-neon{
    display:inline-block; width:100%;
    padding:.85rem 1.5rem; margin-top:.4rem;
    font-family:var(--font-title); letter-spacing:.15em; font-size:1rem;
    color:var(--c-bg);
    background:linear-gradient(90deg, var(--c-cyan), var(--c-pink));
    border-radius:6px;
    box-shadow: var(--shadow-neon-pink);
    transition: transform .25s, box-shadow .25s, filter .25s;
}
.btn-neon:hover{ transform:translateY(-2px); filter:brightness(1.1); box-shadow:0 0 14px var(--c-pink),0 0 28px var(--c-cyan); }
.btn-neon:active{ transform:translateY(0); }

.form-success{
    margin-top:1rem; padding:.8rem 1rem;
    border:1px solid var(--c-cyan); border-radius:6px;
    background:rgba(0,229,255,.1); color:var(--c-cyan);
    text-shadow:var(--shadow-neon-cyan);
}

/* ============================================================
   模块9：页脚 + 友情链接
   ============================================================ */
.site-footer{
    position:relative; margin-top:2rem;
    background:linear-gradient(180deg, rgba(21,8,46,.95), rgba(10,3,24,.98));
    border-top:1px solid var(--c-line);
    box-shadow: 0 -8px 30px rgba(0,0,0,.5);
}
.footer-wrap{
    display:grid; grid-template-columns:1.2fr 1fr 1.2fr; gap:2rem;
    padding:3rem 0 2rem;
}
.footer-brand{ display:flex; align-items:center; gap:.8rem; }
.footer-brand .brand-mark{ font-size:1.8rem; }
.footer-cn{
    font-family:var(--font-title); color:var(--c-pink); font-size:1.2rem;
    text-shadow:var(--shadow-neon-pink);
}
.footer-en{ color:var(--c-cyan-soft); font-size:.7rem; letter-spacing:.25em; }

.footer-head{
    font-family:var(--font-title); color:var(--c-cyan);
    letter-spacing:.2em; font-size:.85rem; margin-bottom:.9rem;
    text-shadow:var(--shadow-neon-cyan);
}
.footer-links ul,
.footer-contact p{ list-style:none; color:var(--c-text-dim); font-size:.92rem; line-height:2; }
.footer-links a{ color:var(--c-text-dim); }
.footer-links a:hover{ color:var(--c-pink); }

.footer-bottom{
    border-top:1px solid var(--c-line);
    padding:1.2rem 0; text-align:center;
    color:var(--c-text-dim); font-size:.82rem; letter-spacing:.05em;
}

/* 返回顶部 */
.back-top{
    position:fixed; right:1.2rem; bottom:1.2rem; z-index:90;
    width:46px; height:46px; border-radius:50%;
    color:var(--c-cyan); font-size:1.1rem;
    border:1px solid var(--c-cyan);
    background:rgba(21,8,46,.7);
    box-shadow:var(--shadow-neon-cyan);
    opacity:0; pointer-events:none;
    transition: opacity .3s, transform .3s, background .3s;
}
.back-top.is-show{ opacity:1; pointer-events:auto; }
.back-top:hover{ background:rgba(0,229,255,.2); transform:translateY(-3px); }

/* ============================================================
   响应式：移动优先适配
   ============================================================ */
@media (max-width: 992px){
    .services-grid{ grid-template-columns:repeat(2,1fr); }
    .news-grid{ grid-template-columns:1fr; }
    .footer-wrap{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 768px){
    /* 移动端汉堡菜单 */
    .nav-toggle{ display:flex; }
    .nav-menu{
        position:fixed; top:68px; right:0;
        flex-direction:column; align-items:stretch; gap:0;
        width:min(75vw, 280px); height:calc(100vh - 68px);
        background:linear-gradient(180deg, rgba(45,27,105,.97), rgba(21,8,46,.98));
        border-left:1px solid var(--c-line);
        padding:1.5rem 1.2rem;
        transform:translateX(100%); transition:transform .4s ease;
        box-shadow:-8px 0 30px rgba(0,0,0,.5);
    }
    .nav-menu.is-open{ transform:translateX(0); }
    .nav-menu li{ border-bottom:1px solid rgba(255,110,199,.15); }
    .nav-menu a{ display:block; padding:.9rem .2rem; }

    .about-wrap,
    .contact-wrap{ grid-template-columns:1fr; }

    .about-stats{ grid-template-columns:1fr 1fr; }

    .hero-arrow{ width:42px; height:42px; font-size:1.5rem; }
    .hero-prev{ left:.6rem; } .hero-next{ right:.6rem; }

    .footer-wrap{ grid-template-columns:1fr; text-align:left; }
}

@media (max-width: 480px){
    .services-grid{ grid-template-columns:1fr; }
    .about-stats{ grid-template-columns:1fr 1fr; }
    .section-title{ font-size:1.8rem; }
}

/* 减少动画偏好 */
@media (prefers-reduced-motion: reduce){
    *,
    *::before,
    *::after{
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
        scroll-behavior:auto !important;
    }
}
