﻿/* ============ 涓€閿紑鍖哄伐鍏峰畼缃?路 鏄庝寒寮€鏀鹃 + 绮掑瓙鍔ㄦ晥 ============ */
* { margin:0; padding:0; box-sizing:border-box; }
:root {
    --bg: #dde4ef;
    --bg2: #e8edf5;
    --card: #f5f8fc;
    --line: rgba(70,110,190,.18);
    --txt: #22304f;
    --sub: #5b6b8c;
    --blue: #3b7de0;
    --cyan: #0aa8c4;
    --violet: #7c5ce0;
    --gold: #e89a1f;
    --shadow: 0 10px 36px rgba(60,90,160,.14);
}
html,body { background:var(--bg); color:var(--txt);
    font-family:"Microsoft YaHei","PingFang SC",Segoe UI,system-ui,sans-serif; line-height:1.7; }
a { color:inherit; text-decoration:none; }
.wrap { max-width:1180px; margin:0 auto; padding:0 24px; }

/* 椤堕儴缁嗘潯 */
.topbar { background:#1e3a8a; color:#cfe0ff; font-size:12px; }
.topbar .wrap { display:flex; justify-content:space-between; padding-top:7px; padding-bottom:7px; }

/* 瀵艰埅 */
header { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.82);
    backdrop-filter:blur(14px); border-bottom:1px solid var(--line); }
.nav { max-width:1180px; margin:0 auto; padding:0 24px; height:64px; display:flex; align-items:center; }
.logo { font-size:20px; font-weight:800; letter-spacing:1px; display:flex; align-items:baseline; gap:10px; color:var(--txt); }
.logo .sub { font-size:13px; font-weight:400; color:var(--cyan); letter-spacing:0; }
.nav .sp { flex:1; }
.nav a { margin-left:28px; font-size:15px; color:var(--sub); transition:.2s; }
.nav a:hover { color:var(--blue); }

/* HERO 路 鏄庝寒娓愬彉 + 鑳屾櫙鍥?+ 绮掑瓙灞?*/
.hero { position:relative; padding:110px 0 110px; overflow:hidden; text-align:center;
    background:
        linear-gradient(180deg, rgba(210,222,240,.25) 0%, rgba(200,215,238,.45) 60%, var(--bg) 100%),
        url('assets/hero.jpg') center/cover no-repeat; }
.hero #particles { position:absolute; inset:0; z-index:1; }
.hero .wrap { position:relative; z-index:2; }
.hero h1 { font-size:52px; font-weight:900; letter-spacing:2px; margin-bottom:18px; color:#12264d; }
.hero h1 span { background:linear-gradient(90deg,var(--cyan),var(--blue),var(--violet));
    -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero p { max-width:760px; margin:0 auto 36px; color:#3d4f7a; font-size:17px; }
.hero .dl { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.hero .ver { color:var(--sub); font-size:13px; margin-top:14px; }

/* 鎸夐挳 */
.btn { display:inline-block; padding:13px 34px; border-radius:10px; font-size:16px; font-weight:700;
    background:linear-gradient(135deg,var(--blue),var(--violet)); color:#fff;
    box-shadow:0 8px 24px rgba(59,130,246,.35); transition:.2s; }
.btn:hover { transform:translateY(-2px); box-shadow:0 12px 30px rgba(59,130,246,.5); }
.btn.ghost { background:rgba(255,255,255,.7); border:1px solid var(--line); color:var(--blue); box-shadow:none; }
.btn.ghost:hover { background:#fff; }
.btn.primary { background:linear-gradient(135deg,var(--cyan),var(--blue));
    box-shadow:0 8px 24px rgba(6,182,212,.4); }

/* 鍖哄潡鏍囬 */
.section-title { text-align:center; font-size:30px; font-weight:800; margin:80px 0 12px; letter-spacing:1px; color:var(--txt); }
.section-title::after { content:""; display:block; width:64px; height:4px; margin:14px auto 0; border-radius:2px;
    background:linear-gradient(90deg,var(--cyan),var(--blue)); }

/* 杞欢灞曠ず鍥?*/
.showcase { margin-top:56px; text-align:center; }
.showcase img { max-width:100%; border-radius:14px; border:1px solid var(--line);
    box-shadow:0 24px 60px rgba(59,110,220,.18); }

/* 鍔熻兘鍗＄墖 */
.feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.feat { position:relative; background:var(--card); border:1px solid var(--line); border-radius:20px;
    padding:38px 30px 34px; transition:.25s; overflow:hidden; box-shadow:var(--shadow); }
.feat::before { content:""; position:absolute; inset:0 0 auto 0; height:3px;
    background:linear-gradient(90deg,var(--cyan),var(--blue)); opacity:0; transition:.25s; }
.feat:hover { transform:translateY(-5px); border-color:rgba(59,130,246,.4); }
.feat:hover::before { opacity:1; }
.feat .ic { width:62px; height:62px; display:flex; align-items:center; justify-content:center;
    font-size:30px; margin-bottom:20px; border-radius:16px;
    background:linear-gradient(135deg, rgba(6,182,212,.12), rgba(59,130,246,.12));
    border:1px solid rgba(59,130,246,.2); }
.feat h3 { font-size:21px; margin-bottom:12px; font-weight:800; color:var(--txt); }
.feat p { color:var(--sub); font-size:14.5px; line-height:1.75; }

/* 涓嬭浇鍗＄墖 */
.dl-box { margin-top:44px; background:linear-gradient(135deg, rgba(59,130,246,.08), rgba(6,182,212,.06));
    border:1px solid rgba(59,130,246,.25); border-radius:18px; padding:34px 38px; }
.dl-box .row { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.ver-big { font-size:34px; font-weight:900; color:var(--blue); }
.dl-box .meta { color:var(--sub); font-size:14px; }
.dl-box .log { margin-top:18px; padding-top:18px; border-top:1px dashed var(--line); color:#3d4f7a; font-size:14px; white-space:pre-wrap; }
.dl-box .tip { margin-top:14px; color:var(--gold); font-size:13px; }

/* 浠锋牸濂楅 */
.price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:48px; }
.price-card { background:var(--card); border:1px solid var(--line); border-radius:20px; padding:38px 30px;
    text-align:center; transition:.25s; position:relative; box-shadow:var(--shadow); }
.price-card.hot { border-color:var(--cyan);
    background:linear-gradient(180deg, rgba(6,182,212,.08), #fff);
    box-shadow:0 18px 50px rgba(6,182,212,.2); }
.price-card:hover { transform:translateY(-4px); }
.price-card .badge { position:absolute; top:-13px; left:50%; transform:translateX(-50%);
    background:linear-gradient(90deg,var(--cyan),var(--blue)); color:#fff; font-size:12px;
    padding:4px 16px; border-radius:20px; white-space:nowrap; }
.price-card .pname { font-size:17px; color:var(--sub); }
.price-card .price { font-size:46px; font-weight:900; color:var(--txt); margin:14px 0 4px; }
.price-card .price small { font-size:16px; color:var(--sub); font-weight:400; }
.price-card .per { color:var(--sub); font-size:13px; margin-bottom:22px; }
.price-card ul { list-style:none; text-align:left; margin-bottom:28px; }
.price-card li { color:#3d4f7a; font-size:14px; padding:7px 0; border-bottom:1px dashed var(--line); }
.price-card li::before { content:"鉁?"; color:var(--cyan); font-weight:700; }
.price-card .buybtns { display:flex; gap:10px; justify-content:center; }
.price-card .buybtns .btn { padding:10px 20px; font-size:14px; }

.pay-info { margin-top:40px; text-align:center; color:var(--sub); font-size:14px; }
.pay-info .ways { display:flex; gap:14px; justify-content:center; margin-top:14px; flex-wrap:wrap; }
.pay-info .way { background:#fff; border:1px solid var(--line); border-radius:10px; padding:8px 22px; font-size:14px; color:#3d4f7a; }

/* 鍏憡鏃堕棿绾?*/
.timeline { margin-top:40px; position:relative; padding-left:28px; }
.timeline::before { content:""; position:absolute; left:7px; top:8px; bottom:8px; width:2px;
    background:linear-gradient(180deg, var(--cyan), rgba(59,130,246,.2)); }
.tl-item { position:relative; margin-bottom:22px; }
.tl-dot { position:absolute; left:-28px; top:24px; width:16px; height:16px; border-radius:50%;
    background:#fff; border:3px solid var(--cyan); box-shadow:0 0 10px rgba(6,182,212,.5); }
.tl-card { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:22px 26px;
    transition:.25s; box-shadow:var(--shadow); }
.tl-card:hover { border-color:rgba(59,130,246,.4); }
.tl-head { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.tl-head h4 { font-size:17px; font-weight:700; color:var(--txt); }
.tl-date { color:var(--sub); font-size:12.5px; background:#f1f5ff; padding:3px 12px; border-radius:20px; }
.tl-ct { margin-top:10px; color:#3d4f7a; font-size:14.5px; line-height:1.8; }

/* 鑱旂郴 */
.contact { margin-top:36px; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:32px; text-align:center; }
.contact .row { font-size:15px; color:var(--sub); margin:6px 0; }
.contact b { color:var(--txt); font-size:17px; }

/* 椤佃剼 */
footer { margin-top:90px; background:#1e3a8a; color:#cfe0ff; padding:36px 0; text-align:center; font-size:13px; }
footer a { color:#e0eaff; }

/* 涓嬭浇椤佃〃鏍?*/
.dl-table { margin-top:40px; width:100%; border-collapse:collapse; background:#fff; border-radius:14px; overflow:hidden;
    box-shadow:var(--shadow); }
.dl-table th, .dl-table td { padding:16px 20px; text-align:left; border-bottom:1px solid var(--line); font-size:14px; }
.dl-table th { background:#eef4ff; color:#3d4f7a; }
.dl-table tr:hover td { background:#f6f9ff; }
.dl-table .tag { display:inline-block; padding:2px 10px; border-radius:20px; background:rgba(6,182,212,.12); color:var(--cyan); font-size:12px; }

@media (max-width:900px) {
    .feat-grid { grid-template-columns:1fr; }
    .price-grid { grid-template-columns:1fr; }
    .hero h1 { font-size:34px; }
    .hero { padding:70px 0 70px; }
}

