:root{
    --primary:#0052d9;
    --primaryDark:#003db0;
    --gray:#f5f7fa;
    --text:#333;
    --radius:8px;
    --maxWidth:1100px;
}
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
body{
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
    color:var(--text);
    line-height:1.6;
    scroll-behavior:smooth;
}
.container{
    width:90%;
    max-width:var(--maxWidth);
    margin:auto;
}
header{
    background:#fff;
    box-shadow:0 2px 5px rgba(0,0,0,.1);
    position:sticky;
    top:0;
    z-index:999;
}
.nav{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:16px 0;
}
.logo{
    font-size:1.6em;
    font-weight:bold;
    color:var(--primary);
    text-decoration:none;
}
nav a{
    margin-left:24px;
    color:var(--text);
    text-decoration:none;
    font-weight:500;
}
nav a:hover,
nav a.active{
    color:var(--primary);
}
#nav-toggle{
    display:none;
    font-size:1.8em;
    cursor:pointer;
}
.hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    padding:100px 0 80px;
}
.hero-text{
    flex:1 1 500px;
}
.hero-text h1{
    font-size:2.4em;
    margin-bottom:12px;
    color:var(--primary);
}
.hero-text h2{
    font-size:1.8em;
    margin-bottom:10px;
}
.hero-text p{
    margin-bottom:25px;
    color:#555;
}
.hero-image{
    flex:1 1 400px;
    text-align:center;
}
.hero-image img{
    width:100%;
    border-radius:var(--radius);
}
.btn-primary{
    display:inline-block;
    padding:13px 34px;
    background:var(--primary);
    color:#fff;
    border-radius:30px;
    text-decoration:none;
    font-weight:600;
    transition:background .3s;
}
.btn-primary:hover{
    background:var(--primaryDark);
}
.sec{
    padding:80px 0;
}
.bg-light{
    background:var(--gray);
}
h3{
    text-align:center;
    font-size:2em;
    margin-bottom:50px;
    color:var(--primary);
}
.about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    align-items:center;
}
.timeline{
    list-style:none;
    margin-top:30px;
    border-left:3px solid var(--primary);
    padding-left:30px;
}
.timeline li{
    margin:18px 0;
    position:relative;
}
.timeline span{
    position:absolute;
    left:-60px;
    background:var(--primary);
    color:#fff;
    padding:3px 10px;
    border-radius:var(--radius);
    font-size:0.9em;
}
.service-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:30px;
}
.service-card{
    background:#fff;
    border-radius:var(--radius);
    padding:35px 25px;
    text-align:center;
    box-shadow:0 4px 12px rgba(0,0,0,.08);
    transition:transform .3s;
}
.service-card:hover{
    transform:translateY(-5px);
}
.service-card .icon{
    font-size:2.4em;
    margin-bottom:15px;
}
.service-card h4{
    margin-bottom:10px;
    font-size:1.25em;
}
.price{
    margin-top:15px;
    font-weight:bold;
    color:var(--primary);
}
.case-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:25px;
}
.case-item{
    position:relative;
    display:block;
    overflow:hidden;
    border-radius:var(--radius);
    box-shadow:0 4px 10px rgba(0,0,0,.1);
}
.case-item img{
    width:100%;
    display:block;
    transition:transform .4s;
}
.case-item:hover img{
    transform:scale(1.05);
}
.case-item span{
    position:absolute;
    bottom:0;
    left:0;
    right:0;
    background:rgba(0,0,0,.55);
    color:#fff;
    padding:10px 15px;
    font-size:0.95em;
}
.review-slider{
    max-width:700px;
    margin:40px auto 0;
    text-align:center;
}
.slide{
    display:none;
}
.slide.active{
    display:block;
}
.slide p{
    font-size:1.15em;
    margin-bottom:12px;
}
.contact-box{
    background:#fff;
    border-radius:var(--radius);
    padding:50px 40px;
    box-shadow:0 4px 15px rgba(0,0,0,.08);
}
.contact-grid{
    display:grid;
    grid-template-columns:2fr 1fr;
    gap:40px;
    align-items:center;
}
.qr{
    text-align:center;
}
.qr img{
    width:160px;
    border:4px solid var(--gray);
    border-radius:var(--radius);
}
footer{
    background:var(--primary);
    color:#fff;
    text-align:center;
    padding:22px 0;
    font-size:0.9em;
}
#topBtn{
    position:fixed;
    bottom:30px;
    right:30px;
    background:var(--primary);
    color:#fff;
    width:46px;
    height:46px;
    line-height:46px;
    text-align:center;
    border-radius:50%;
    cursor:pointer;
    opacity:0;
    transition:opacity .3s;
}
@media(max-width:768px){
    .nav{
        flex-wrap:wrap;
    }
    nav{
        display:none;
        width:100%;
        flex-direction:column;
        background:#fff;
        margin-top:10px;
    }
    nav a{
        margin:10px 0;
    }
    #nav-toggle{
        display:block;
    }
    .hero{
        padding:60px 0 40px;
    }
    .about-grid,
    .contact-grid{
        grid-template-columns:1fr;
    }
}
/* ========= 1. 无图极速 Banner ========= */
.hero-clean{
    padding:120px 0 100px;
    background:linear-gradient(135deg,#0052d9 0%, #003db0 100%);
    color:#fff;
}
.hero-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:50px;
}
.hero-l{
    flex:1 1 480px;
}
.hero-l h1{
    font-size:2.4em;
    margin-bottom:10px;
}
.hero-l h2{
    font-size:1.5em;
    margin-bottom:14px;
    font-weight:400;
    opacity:.9;
}
.hero-l p{
    margin-bottom:28px;
    opacity:.8;
}
.hero-r{
    flex:0 0 320px;
}
.hero-r svg{
    width:100%;
    height:auto;
    filter:drop-shadow(0 6px 12px rgba(0,0,0,.15));
}

/* ========= 2. 关于我们（左右对齐） ========= */
.about-clean{
    padding:80px 0;
}
.about-grid{
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:50px;
    align-items:center;
}
.about-txt p{
    margin-bottom:16px;
    font-size:1.05em;
}
.about-img-free{
    min-height:240px;
    background:linear-gradient(135deg,#e7f0ff 0%, #d0d9ff 100%);
    border-radius:var(--radius);
}

/* ========= 3. 时间轴（竖线 + 圆点） ========= */
.timeline-clean{
    list-style:none;
    margin-top:40px;
    padding-left:30px;
    position:relative;
}
.timeline-clean::before{
    content:'';
    position:absolute;
    left:0;
    top:8px;
    bottom:8px;
    width:2px;
    background:var(--primary);
}
.timeline-clean li{
    position:relative;
    padding-left:40px;
    margin-bottom:28px;
    font-size:1.05em;
}
.timeline-clean time{
    position:absolute;
    left:-30px;
    background:var(--primary);
    color:#fff;
    padding:2px 10px;
    border-radius:4px;
    font-size:.9em;
    font-weight:600;
}
.timeline-clean li::before{
    content:'';
    position:absolute;
    left:-9px;
    top:6px;
    width:16px;
    height:16px;
    background:#fff;
    border:3px solid var(--primary);
    border-radius:50%;
}

/* 移动端堆叠 */
@media(max-width:768px){
    .hero-inner{
        flex-direction:column-reverse;
        text-align:center;
    }
    .hero-r{
        flex:0 0 auto;
        max-width:280px;
    }
    .about-grid{
        grid-template-columns:1fr;
    }
}
/* ===== 关于我们新栅格（左字 / 右历程） ===== */
.about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:start;
}
.about-timeline{
    background:var(--gray);
    padding:30px;
    border-radius:var(--radius);
}
.about-timeline h4{
    margin-bottom:20px;
    font-size:1.3em;
    color:var(--primary);
}

/* 时间轴同前，局部微调 */
.timeline-clean{
    list-style:none;
    padding-left:30px;
    position:relative;
}
.timeline-clean::before{
    content:'';
    position:absolute;
    left:0;
    top:8px;
    bottom:8px;
    width:2px;
    background:var(--primary);
}
.timeline-clean li{
    position:relative;
    padding-left:40px;
    margin-bottom:24px;
    font-size:1.05em;
}
.timeline-clean time{
    position:absolute;
    left:-60px;
    background:var(--primary);
    color:#fff;
    padding:2px 10px;
    border-radius:4px;
    font-size:.9em;
    font-weight:600;
}
.timeline-clean li::before{
    content:'';
    position:absolute;
    left:-9px;
    top:6px;
    width:16px;
    height:16px;
    background:#fff;
    border:3px solid var(--primary);
    border-radius:50%;
}

/* 移动端堆叠 */
@media(max-width:768px){
    .about-grid{
        grid-template-columns:1fr;
    }
}