@charset "utf-8";
/* ============================================================
   上海楚楚蜜糖文化传媒有限公司 全站样式
   兼容 Chrome / Firefox / Safari / Edge / IE9+ 等新旧浏览器
   ============================================================ */

* { margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }

body {
    font-family: "Microsoft YaHei", "PingFang SC", "Hiragino Sans GB", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: #2a2e3a;
    background: #ffffff;
    -webkit-font-smoothing: antialiased;
}

img { border: 0; max-width: 100%; vertical-align: middle; -ms-interpolation-mode: bicubic; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; outline: none; }
button { cursor: pointer; }
em, i { font-style: normal; }

.wrap { width: 1200px; max-width: 92%; margin: 0 auto; }
.clear { zoom: 1; }
.clear:after { content: ""; display: block; height: 0; clear: both; visibility: hidden; }

/* ---------- 主题色变量兜底（硬编码，兼容旧浏览器） ---------- */
.text-main { color: #c0392b; }

/* ================= 顶部导航 ================= */
.topbar {
    position: fixed; left: 0; top: 0; z-index: 1000;
    width: 100%; height: 72px;
    background: -webkit-linear-gradient(left, #c0392b, #922b21);
    background: linear-gradient(to right, #c0392b, #922b21);
    -webkit-box-shadow: 0 2px 18px rgba(0,0,0,.18);
    -moz-box-shadow: 0 2px 18px rgba(0,0,0,.18);
    box-shadow: 0 2px 18px rgba(0,0,0,.18);
}
.topbar .wrap { height: 72px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.logo { display: block; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; }
.logo-mark {
    display: inline-block; vertical-align: middle;
    width: 40px; height: 40px; line-height: 40px; text-align: center;
    border-radius: 50%;
    background: rgba(255,255,255,.14);
    border: 1px solid rgba(255,255,255,.55);
    margin-right: 10px;
}
.logo-mark span {
    display: inline-block; width: 16px; height: 16px; border-radius: 50%;
    border: 3px solid #fff; border-top-color: transparent;
    -webkit-animation: spin 7s linear infinite; animation: spin 7s linear infinite;
}
@-webkit-keyframes spin { to { -webkit-transform: rotate(360deg); } }
@keyframes spin { to { transform: rotate(360deg); } }
.logo-name {
    display: inline-block; vertical-align: middle;
    color: #fff; font-size: 21px; font-weight: 700; letter-spacing: 1px;
}
.logo-name b { color: #fff; }

.nav-menu { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-left: auto; }
.nav-menu li { margin-left: 6px; }
.nav-menu a {
    display: block; padding: 0 20px; height: 44px; line-height: 44px;
    color: #fff; font-size: 16px; position: relative; text-align: center;
    background: transparent;
    -webkit-transition: background .25s, color .25s; transition: background .25s, color .25s;
}
.nav-menu a:hover {
    color: #c0392b;
    background: #fff;
}
.nav-menu a.active {
    color: #c0392b;
    background: #fff;
}

.nav-auth { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-left: 22px; -webkit-box-flex: 0; -ms-flex: 0 0 auto; flex: 0 0 auto; }
.btn {
    display: inline-block; text-align: center; vertical-align: middle;
    border: 0; border-radius: 4px; padding: 0 26px; height: 42px; line-height: 42px;
    font-size: 15px; -webkit-transition: all .25s; transition: all .25s;
}
.btn-login { color: #fff; border: 0; background: transparent; margin-right: 10px; height: 40px; line-height: 40px; padding: 0 18px; }
.btn-login:hover { color: #c0392b; background: #fff; }
.btn-reg {
    color: #c0392b; height: 40px; line-height: 40px; padding: 0 20px;
    background: #fff;
}
.btn-reg:hover { background: #fdedec; }
.user-chip { color: rgba(255,255,255,.92); font-size: 14px; margin-right: 12px; }
.user-chip b { color: #fff; }

.nav-toggle { display: none; width: 42px; height: 42px; background: transparent; border: 1px solid rgba(255,255,255,.3); border-radius: 6px; position: relative; }
.nav-toggle i { position: absolute; left: 10px; right: 10px; height: 2px; background: #fff; }
.nav-toggle i:nth-child(1) { top: 12px; } .nav-toggle i:nth-child(2) { top: 19px; } .nav-toggle i:nth-child(3) { top: 26px; }

.m-nav { display: none; position: fixed; top: 0; right: -260px; z-index: 1100; width: 240px; height: 100%; background: -webkit-linear-gradient(top, #c0392b, #922b21); background: linear-gradient(to bottom, #c0392b, #922b21); padding: 20px 0; -webkit-transition: right .3s; transition: right .3s; -webkit-box-shadow: -4px 0 20px rgba(0,0,0,.3); box-shadow: -4px 0 20px rgba(0,0,0,.3); }
.m-nav.open { right: 0; }
.m-nav a { display: block; padding: 14px 28px; color: #fff; font-size: 16px; border-bottom: 1px solid rgba(255,255,255,.12); }
.m-nav a.active, .m-nav a:hover { color: #c0392b; background: #fff; }
.m-nav .m-auth { padding: 18px 28px; }
.m-nav .m-auth .btn { display: block; margin-bottom: 10px; width: 100%; }
.m-nav .m-auth .m-user-chip { display: block; margin: 0 0 12px; font-size: 13px; line-height: 1.5; color: rgba(255,255,255,.92); }
.m-nav .m-auth .m-user-chip b { color: #fff; }
.m-nav .m-close { position: absolute; top: 12px; right: 16px; color: #fff; font-size: 26px; line-height: 1; background: none; border: 0; }
.m-mask { display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; inset: 0; z-index: 1050; background: rgba(0,0,0,.45); }
.m-mask.show { display: block; }

/* ================= 首页首屏 ================= */
.hero {
    position: relative; min-height: 680px; color: #fff;
    background: #0d101e url("../img/svc-1.jpg") center center no-repeat;
    background-size: cover;
    padding-top: 72px;
    display: -webkit-box; display: -ms-flexbox; display: flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.hero-mask {
    position: absolute; left: 0; top: 0; right: 0; bottom: 0;
    background: -webkit-linear-gradient(90deg, rgba(8,10,22,.92) 0%, rgba(8,10,22,.68) 55%, rgba(8,10,22,.35) 100%);
    background: linear-gradient(90deg, rgba(8,10,22,.92) 0%, rgba(8,10,22,.68) 55%, rgba(8,10,22,.35) 100%);
}
.hero .wrap { position: relative; z-index: 2; padding-top: 40px; padding-bottom: 60px; }
.hero-kicker {
    display: inline-block; padding: 6px 16px; border-radius: 30px;
    border: 1px solid rgba(192,57,43,.6); color: #f1948a; font-size: 14px; letter-spacing: 2px;
    background: rgba(192,57,43,.1); margin-bottom: 24px;
}
.hero h1 { font-size: 48px; line-height: 1.3; font-weight: 700; letter-spacing: 2px; text-shadow: 0 4px 20px rgba(0,0,0,.4); }
.hero h1 span {
    background: -webkit-linear-gradient(left, #f1948a, #922b21);
    background: linear-gradient(to right, #f1948a, #922b21);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: #c0392b;
}
.hero p.sub { margin-top: 22px; font-size: 18px; color: #cfd5e6; max-width: 640px; }
.hero-btns { margin-top: 38px; }
.btn-primary {
    color: #fff; background: -webkit-linear-gradient(left, #e74c3c, #922b21);
    background: linear-gradient(to right, #e74c3c, #922b21);
    -webkit-box-shadow: 0 8px 22px rgba(146,43,33,.4); box-shadow: 0 8px 22px rgba(146,43,33,.4);
    padding: 0 34px; height: 50px; line-height: 50px; font-size: 17px; border-radius: 5px;
}
.btn-primary:hover { -webkit-transform: translateY(-3px); -ms-transform: translateY(-3px); transform: translateY(-3px); }
.btn-ghost {
    color: #fff; border: 1px solid rgba(255,255,255,.55); margin-left: 16px;
    padding: 0 34px; height: 50px; line-height: 50px; font-size: 17px; border-radius: 5px;
}
.btn-ghost:hover { background: rgba(255,255,255,.12); border-color: #fff; }

.hero-tags { margin-top: 44px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.hero-tags span {
    margin: 0 14px 10px 0; padding: 6px 16px; font-size: 14px; color: #d5dbee;
    border: 1px solid rgba(255,255,255,.22); border-radius: 30px; background: rgba(255,255,255,.06);
}

/* 通用区块 */
.section { padding: 84px 0; }
.section.gray { background: #f5f6fa; }
.section.dark { background: #0f1322; color: #e8ebf5; }
.sec-head { text-align: center; margin-bottom: 56px; }
.sec-head .kicker { display: block; font-size: 13px; letter-spacing: 4px; color: #c0392b; text-transform: uppercase; margin-bottom: 10px; font-weight: 600; }
.sec-head h2 { font-size: 34px; font-weight: 700; color: #171b2e; position: relative; display: inline-block; padding-bottom: 16px; }
.sec-head h2:after {
    content: ""; position: absolute; left: 50%; bottom: 0; width: 56px; height: 4px; margin-left: -28px;
    background: -webkit-linear-gradient(left, #e74c3c, #922b21);
    background: linear-gradient(to right, #e74c3c, #922b21); border-radius: 2px;
}
.sec-head p { margin-top: 16px; color: #7d8497; font-size: 16px; }
.section.dark .sec-head h2 { color: #fff; }
.section.dark .sec-head p { color: #aab2c8; }

/* ================= 服务区 ================= */
.svc-grid { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -12px; }
.svc-item {
    width: 20%; padding: 0 12px; margin-bottom: 10px;
}
.svc-card {
    position: relative; display: block; height: 360px; border-radius: 10px; overflow: hidden;
    background: #1b1f30 center center no-repeat; background-size: cover;
    -webkit-box-shadow: 0 10px 26px rgba(20,24,45,.12); box-shadow: 0 10px 26px rgba(20,24,45,.12);
}
.svc-card .mask {
    position: absolute; left: 0; right: 0; bottom: 0; top: 0;
    background: -webkit-linear-gradient(top, rgba(12,15,28,.12) 30%, rgba(12,15,28,.92) 100%);
    background: linear-gradient(to bottom, rgba(12,15,28,.12) 30%, rgba(12,15,28,.92) 100%);
    -webkit-transition: background .3s; transition: background .3s;
}
.svc-card .info { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 20px; color: #fff; }
.svc-card .info .num { font-size: 13px; color: #f1948a; letter-spacing: 2px; }
.svc-card h3 { font-size: 21px; margin: 6px 0 4px; }
.svc-card .en { font-size: 12px; color: #aeb6cc; letter-spacing: 1px; text-transform: uppercase; }
.svc-card .go { margin-top: 12px; display: inline-block; width: 38px; height: 38px; line-height: 38px; text-align: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; color: #fff; font-size: 18px; -webkit-transition: all .3s; transition: all .3s; }
.svc-card:hover .mask { background: -webkit-linear-gradient(top, rgba(146,43,33,.35) 0%, rgba(12,15,28,.94) 100%); background: linear-gradient(to bottom, rgba(146,43,33,.35) 0%, rgba(12,15,28,.94) 100%); }
.svc-card:hover .go { background: #c0392b; border-color: #c0392b; -webkit-transform: translateX(4px); -ms-transform: translateX(4px); transform: translateX(4px); }

/* ================= 关于我们（首页） ================= */
.about-row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.about-imgs { width: 46%; position: relative; }
.about-imgs .big { border-radius: 12px; overflow: hidden; -webkit-box-shadow: 0 18px 40px rgba(20,24,45,.18); box-shadow: 0 18px 40px rgba(20,24,45,.18); }
.about-imgs .big img { width: 100%; }
.about-imgs .small {
    position: absolute; right: -22px; bottom: -34px; width: 46%; border: 6px solid #fff; border-radius: 10px; overflow: hidden;
    -webkit-box-shadow: 0 14px 30px rgba(20,24,45,.2); box-shadow: 0 14px 30px rgba(20,24,45,.2);
}
.about-txt { width: 54%; padding-left: 60px; }
.about-txt .kicker { color: #c0392b; letter-spacing: 4px; font-size: 13px; font-weight: 600; }
.about-txt h2 { font-size: 32px; margin: 10px 0 20px; color: #171b2e; }
.about-txt p { color: #5d6478; margin-bottom: 16px; font-size: 15.5px; }
.about-tags { margin: 24px 0 30px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.about-tags span { margin: 0 12px 10px 0; padding: 5px 14px; background: #fdedec; color: #922b21; border-radius: 4px; font-size: 14px; }
.btn-line { display: inline-block; padding: 0 30px; height: 46px; line-height: 46px; color: #fff; font-size: 15px; border-radius: 23px; background: -webkit-linear-gradient(left, #e74c3c, #c0392b); background: linear-gradient(to right, #e74c3c, #c0392b); -webkit-box-shadow: 0 6px 16px rgba(146,43,33,.3); box-shadow: 0 6px 16px rgba(146,43,33,.3); -webkit-transition: all .25s; transition: all .25s; }
.btn-line:after { content: "→"; display: inline-block; margin-left: 8px; -webkit-transition: -webkit-transform .25s; transition: transform .25s; }
.btn-line:hover { -webkit-transform: translateY(-2px); -ms-transform: translateY(-2px); transform: translateY(-2px); -webkit-box-shadow: 0 10px 22px rgba(146,43,33,.42); box-shadow: 0 10px 22px rgba(146,43,33,.42); }
.btn-line:hover:after { -webkit-transform: translateX(5px); -ms-transform: translateX(5px); transform: translateX(5px); }

/* 数据条 */
.stats { margin-top: 70px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; background: #0f1322; border-radius: 12px; overflow: hidden; }
.stats .st { width: 25%; text-align: center; padding: 34px 10px; color: #fff; position: relative; }
.stats .st:after { content: ""; position: absolute; right: 0; top: 22%; height: 56%; width: 1px; background: rgba(255,255,255,.12); }
.stats .st:last-child:after { display: none; }
.stats .st b { display: block; font-size: 38px; color: #e74c3c; font-weight: 700; }
.stats .st span { color: #aab2c8; font-size: 14px; }

/* ================= 付费下载精选（首页+下载页） ================= */
.pay-grid { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -13px; }
.pay-card {
    width: 33.3333%; padding: 0 13px; margin-bottom: 26px;
}
.pay-card .inner {
    background: #fff; border: 1px solid #edf0f6; border-radius: 12px; overflow: hidden; height: 100%;
    -webkit-box-shadow: 0 8px 24px rgba(20,24,45,.06); box-shadow: 0 8px 24px rgba(20,24,45,.06);
    -webkit-transition: all .3s; transition: all .3s;
    display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column;
}
.pay-card .inner:hover { -webkit-transform: translateY(-6px); -ms-transform: translateY(-6px); transform: translateY(-6px); -webkit-box-shadow: 0 20px 40px rgba(20,24,45,.14); box-shadow: 0 20px 40px rgba(20,24,45,.14); }
.pay-thumb { position: relative; height: 220px; background: #dfe3ee center center no-repeat; background-size: cover; }
.pay-thumb .lock {
    position: absolute; left: 14px; top: 14px; z-index: 2;
    padding: 4px 12px; border-radius: 4px; font-size: 12px; color: #fff;
    background: -webkit-linear-gradient(left, #e74c3c, #922b21);
    background: linear-gradient(to right, #e74c3c, #922b21);
}
.pay-thumb:after { content: ""; position: absolute; inset: 0; background: rgba(10,13,26,.28); }
.pay-thumb .lockicon { position: absolute; z-index: 2; left: 50%; top: 50%; width: 58px; height: 58px; line-height: 58px; margin: -29px 0 0 -29px; text-align: center; border-radius: 50%; background: rgba(255,255,255,.18); border: 2px solid rgba(255,255,255,.75); color: #fff; font-size: 24px; }
.pay-body { padding: 22px 22px 24px; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column; }
.pay-body h3 { font-size: 19px; color: #171b2e; margin-bottom: 10px; }
.pay-body p { color: #727a8f; font-size: 14px; margin-bottom: 16px; }
.pay-tags { margin-bottom: 18px; }
.pay-tags span { display: inline-block; margin: 0 8px 6px 0; padding: 2px 10px; font-size: 12px; color: #8a91a5; background: #f3f5fa; border-radius: 3px; }
.pay-foot { margin-top: auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; border-top: 1px dashed #e6e9f2; padding-top: 16px; }
.price s { color: #aab0c0; font-size: 13px; }
.price b { display: block; color: #c0392b; font-size: 22px; }
.price b small { font-size: 13px; font-weight: normal; color: #8a91a5; }
.btn-pay { padding: 0 22px; height: 40px; line-height: 40px; color: #fff; border-radius: 4px; font-size: 15px; background: -webkit-linear-gradient(left, #e74c3c, #922b21); background: linear-gradient(to right, #e74c3c, #922b21); -webkit-box-shadow: 0 6px 14px rgba(146,43,33,.32); box-shadow: 0 6px 14px rgba(146,43,33,.32); white-space: nowrap; }
.btn-pay:hover { -webkit-transform: translateY(-2px); -ms-transform: translateY(-2px); transform: translateY(-2px); }

/* ================= 案例卡片 ================= */
.case-grid { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -13px; }
.case-item { width: 33.3333%; padding: 0 13px; margin-bottom: 30px; }
.case-card { display: block; background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid #edf0f6; -webkit-box-shadow: 0 8px 24px rgba(20,24,45,.06); box-shadow: 0 8px 24px rgba(20,24,45,.06); -webkit-transition: all .3s; transition: all .3s; }
.case-card:hover { -webkit-transform: translateY(-6px); -ms-transform: translateY(-6px); transform: translateY(-6px); -webkit-box-shadow: 0 22px 44px rgba(20,24,45,.16); box-shadow: 0 22px 44px rgba(20,24,45,.16); }
.case-thumb { height: 240px; background: #dfe3ee center center no-repeat; background-size: cover; position: relative; }
.case-thumb:after { content: ""; position: absolute; inset: 0; background: rgba(12,15,28,0); -webkit-transition: background .3s; transition: background .3s; }
.case-card:hover .case-thumb:after { background: rgba(12,15,28,.32); }
.case-info { padding: 20px 22px 24px; }
.case-info h3 { font-size: 19px; color: #171b2e; margin-bottom: 8px; }
.case-info p { color: #7d8497; font-size: 14px; height: 44px; overflow: hidden; }
.case-info .more { display: inline-block; margin-top: 12px; color: #c0392b; font-size: 14px; }
.case-info .more:after { content: " →"; -webkit-transition: margin .25s; transition: margin .25s; }
.case-card:hover .case-info .more:after { margin-left: 6px; }

/* ================= 优势条带（首页） ================= */
.adv-strip { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.adv-strip .a { width: 25%; padding: 30px 26px; text-align: center; color: #fff; border-right: 1px solid rgba(255,255,255,.08); }
.adv-strip .a:last-child { border-right: 0; }
.adv-strip .a i { display: inline-block; width: 56px; height: 56px; line-height: 56px; border-radius: 50%; background: rgba(192,57,43,.14); border: 1px solid rgba(192,57,43,.5); color: #e74c3c; font-size: 24px; font-weight: 700; margin-bottom: 16px; font-style: normal; }
.adv-strip .a h4 { font-size: 18px; margin-bottom: 8px; }
.adv-strip .a p { color: #aab2c8; font-size: 13.5px; }

/* CTA 条 */
.cta-band {
    background: -webkit-linear-gradient(110deg, #e74c3c, #922b21);
    background: linear-gradient(110deg, #e74c3c, #922b21);
    color: #fff; padding: 52px 0;
}
.cta-row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.cta-row h3 { font-size: 27px; margin-bottom: 8px; }
.cta-row p { font-size: 16px; opacity: .92; }
.cta-row .online { font-size: 14px; opacity: .85; margin-top: 6px; }
.btn-white { background: #fff; color: #922b21; padding: 0 40px; height: 52px; line-height: 52px; font-size: 17px; border-radius: 5px; font-weight: 600; }
.btn-white:hover { -webkit-transform: translateY(-3px); -ms-transform: translateY(-3px); transform: translateY(-3px); -webkit-box-shadow: 0 12px 26px rgba(0,0,0,.2); box-shadow: 0 12px 26px rgba(0,0,0,.2); }

/* ================= 内页横幅 ================= */
.page-banner {
    margin-top: 72px; height: 300px; position: relative;
    background: #0d101e url("../img/svc-1.jpg") center 35% no-repeat; background-size: cover;
    color: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center;
}
.page-banner:after { content: ""; position: absolute; inset: 0; background: rgba(9,11,24,.72); }
.page-banner .wrap { position: relative; z-index: 2; }
.page-banner h1 { font-size: 38px; letter-spacing: 3px; }
.page-banner p { color: #c6ccde; margin-top: 10px; font-size: 16px; letter-spacing: 2px; }
.page-banner h1 span { color: #e74c3c; }

/* ================= 我们页面 ================= */
.intro-block { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin-bottom: 70px; }
.intro-block .ib-img { width: 45%; }
.intro-block .ib-img img { border-radius: 12px; -webkit-box-shadow: 0 16px 38px rgba(20,24,45,.15); box-shadow: 0 16px 38px rgba(20,24,45,.15); }
.intro-block .ib-txt { width: 55%; padding-left: 54px; }
.intro-block.rev .ib-img { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; }
.intro-block.rev .ib-txt { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; padding-left: 0; padding-right: 54px; }
.ib-txt h3 { font-size: 26px; color: #171b2e; margin-bottom: 18px; padding-left: 16px; border-left: 5px solid #c0392b; line-height: 1.4; }
.ib-txt p { color: #5d6478; margin-bottom: 14px; }

.dept-grid { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -11px; }
.dept { width: 25%; padding: 0 11px; margin-bottom: 22px; }
.dept .d { background: #fff; border: 1px solid #edf0f6; border-radius: 10px; padding: 28px 22px; text-align: center; height: 100%; -webkit-transition: all .3s; transition: all .3s; }
.dept .d:hover { border-color: rgba(192,57,43,.5); -webkit-box-shadow: 0 14px 30px rgba(20,24,45,.1); box-shadow: 0 14px 30px rgba(20,24,45,.1); -webkit-transform: translateY(-4px); -ms-transform: translateY(-4px); transform: translateY(-4px); }
.dept i { display: inline-block; width: 54px; height: 54px; line-height: 54px; border-radius: 50%; background: #fdedec; color: #a93226; font-size: 24px; font-style: normal; margin-bottom: 14px; }
.dept h4 { font-size: 17px; color: #171b2e; margin-bottom: 6px; }
.dept p { font-size: 13px; color: #8a91a5; }

/* 时间轴 */
.timeline { position: relative; margin-top: 20px; }
.timeline:before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; margin-left: -1px; background: #e4e8f2; }
.tl-item { position: relative; width: 50%; padding: 0 44px 38px 0; }
.tl-item:nth-child(even) { left: 50%; padding: 0 0 38px 44px; }
.tl-item .dot { position: absolute; right: -9px; top: 4px; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 4px solid #c0392b; }
.tl-item:nth-child(even) .dot { left: -9px; right: auto; }
.tl-item .box { background: #fff; border: 1px solid #edf0f6; border-radius: 10px; padding: 20px 24px; -webkit-box-shadow: 0 8px 22px rgba(20,24,45,.06); box-shadow: 0 8px 22px rgba(20,24,45,.06); }
.tl-item h4 { color: #a93226; font-size: 18px; margin-bottom: 6px; }
.tl-item p { color: #6d7488; font-size: 14px; }

.culture-grid { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -12px; }
.culture { width: 25%; padding: 0 12px; margin-bottom: 20px; }
.culture .c { height: 100%; background: #fff; border-radius: 10px; padding: 34px 26px; text-align: center; border-top: 4px solid #c0392b; -webkit-box-shadow: 0 8px 24px rgba(20,24,45,.07); box-shadow: 0 8px 24px rgba(20,24,45,.07); }
.culture .c i { font-size: 30px; color: #c0392b; font-style: normal; }
.culture h4 { font-size: 19px; margin: 12px 0 8px; color: #171b2e; }
.culture p { font-size: 14px; color: #7d8497; }

/* ================= 优势页 ================= */
.feature-row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -13px 20px; }
.feature { width: 33.3333%; padding: 0 13px; margin-bottom: 26px; }
.feature .f { height: 100%; background: #fff; border-radius: 12px; padding: 34px 30px; border: 1px solid #edf0f6; -webkit-transition: all .3s; transition: all .3s; position: relative; overflow: hidden; }
.feature .f:hover { -webkit-transform: translateY(-6px); -ms-transform: translateY(-6px); transform: translateY(-6px); -webkit-box-shadow: 0 20px 42px rgba(20,24,45,.13); box-shadow: 0 20px 42px rgba(20,24,45,.13); }
.feature .f .no { position: absolute; right: 18px; top: 6px; font-size: 52px; font-weight: 700; color: #f3f4f9; line-height: 1; }
.feature .f i { display: inline-block; width: 54px; height: 54px; line-height: 54px; text-align: center; border-radius: 12px; font-style: normal; font-size: 26px; color: #fff; background: -webkit-linear-gradient(135deg, #e74c3c, #922b21); background: linear-gradient(135deg, #e74c3c, #922b21); margin-bottom: 18px; position: relative; z-index: 1; }
.feature h4 { font-size: 20px; color: #171b2e; margin-bottom: 10px; }
.feature p { color: #727a8f; font-size: 14.5px; }

.process { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -10px; counter-reset: step; }
.process .p { width: 20%; padding: 0 10px; text-align: center; margin-bottom: 16px; }
.process .circle { width: 76px; height: 76px; line-height: 76px; margin: 0 auto 14px; border-radius: 50%; background: #fff; border: 2px solid #c0392b; color: #a93226; font-size: 26px; font-weight: 700; position: relative; }
.process .p:not(:last-child) .circle:after { content: ""; position: absolute; right: -46px; top: 50%; width: 72px; height: 2px; background: -webkit-linear-gradient(left, #c0392b, rgba(192,57,43,.15)); background: linear-gradient(to right, #c0392b, rgba(192,57,43,.15)); z-index: -1; }
.process h5 { font-size: 17px; color: #171b2e; }
.process p { font-size: 13px; color: #8a91a5; }

.promise-grid { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -12px; }
.promise { width: 33.3333%; padding: 0 12px; margin-bottom: 24px; }
.promise .pm { background: #171b2e; color: #fff; border-radius: 10px; padding: 28px 28px; height: 100%; border-left: 4px solid #c0392b; }
.promise h4 { font-size: 18px; margin-bottom: 8px; color: #f1948a; }
.promise p { color: #b9c0d4; font-size: 14px; }

/* ================= 下载页（信息发布，多种版式） ================= */
.feed .feed-item { margin-bottom: 34px; }
.feed-style-a { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; background: #fff; border: 1px solid #edf0f6; border-radius: 14px; overflow: hidden; -webkit-box-shadow: 0 10px 28px rgba(20,24,45,.07); box-shadow: 0 10px 28px rgba(20,24,45,.07); }
.feed-style-a .fi-img { width: 38%; min-height: 300px; background: #dfe3ee center center no-repeat; background-size: cover; position: relative; }
.feed-style-a .fi-img .badge { position: absolute; left: 18px; top: 18px; background: -webkit-linear-gradient(left,#e74c3c,#922b21); background: linear-gradient(to right,#e74c3c,#922b21); color: #fff; font-size: 13px; padding: 5px 14px; border-radius: 4px; }
.feed-style-a .fi-body { width: 62%; padding: 38px 42px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.feed-style-a .fi-type { font-size: 13px; letter-spacing: 3px; color: #c0392b; }
.feed-style-a h3 { font-size: 26px; margin: 10px 0 14px; color: #171b2e; }
.feed-style-a p { color: #66708a; font-size: 15px; margin-bottom: 18px; }
.feed-meta { margin-bottom: 22px; }
.feed-meta span { display: inline-block; margin: 0 14px 8px 0; color: #8a91a5; font-size: 13.5px; }
.feed-meta span:before { content: "▪ "; color: #c0392b; }
.feed-bottom { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.feed-bottom .price b { font-size: 28px; color: #c0392b; }
.feed-bottom .price b small { color: #9aa1b4; font-weight: normal; font-size: 13px; }

.feed-style-b { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; background: #0f1322; color: #fff; border-radius: 14px; overflow: hidden; }
.feed-style-b .fi-left { width: 16%; background: -webkit-linear-gradient(160deg,#e74c3c,#922b21); background: linear-gradient(160deg,#e74c3c,#922b21); padding: 36px 20px; text-align: center; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.feed-style-b .fi-left .lab { font-size: 13px; letter-spacing: 4px; opacity: .9; }
.feed-style-b .fi-left .big { font-size: 40px; font-weight: 700; line-height: 1.2; margin: 10px 0; }
.feed-style-b .fi-left .deposit { font-size: 13px; opacity: .92; }
.feed-style-b .fi-main { width: 58%; padding: 34px 38px; }
.feed-style-b .fi-main .fi-type { color: #f1948a; font-size: 13px; letter-spacing: 3px; }
.feed-style-b h3 { font-size: 24px; margin: 8px 0 12px; }
.feed-style-b p { color: #b9c0d4; font-size: 14.5px; margin-bottom: 16px; }
.feed-style-b .fi-thumb { width: 26%; background: #22273d center center no-repeat; background-size: cover; min-height: 240px; }
.feed-style-b .feed-meta span { color: #98a1bb; }
.btn-pay-lg { display: inline-block; padding: 0 40px; height: 50px; line-height: 50px; color: #fff; border-radius: 5px; font-size: 17px; font-weight: 600; background: -webkit-linear-gradient(left,#e74c3c,#922b21); background: linear-gradient(to right,#e74c3c,#922b21); }
.btn-pay-lg:hover { -webkit-transform: translateY(-2px); -ms-transform: translateY(-2px); transform: translateY(-2px); }

.feed-style-c { background: #fff; border: 1px solid #edf0f6; border-radius: 14px; overflow: hidden; -webkit-box-shadow: 0 10px 28px rgba(20,24,45,.07); box-shadow: 0 10px 28px rgba(20,24,45,.07); }
.feed-style-c .fi-top { height: 230px; background: #22273d center center no-repeat; background-size: cover; position: relative; }
.feed-style-c .fi-top:after { content: ""; position: absolute; inset: 0; background: -webkit-linear-gradient(top, rgba(10,13,26,.1), rgba(10,13,26,.82)); background: linear-gradient(to bottom, rgba(10,13,26,.1), rgba(10,13,26,.82)); }
.feed-style-c .fi-top .tt { position: absolute; z-index: 2; left: 38px; right: 38px; bottom: 24px; color: #fff; }
.feed-style-c .fi-top .tt .fi-type { color: #f1948a; font-size: 13px; letter-spacing: 3px; }
.feed-style-c .fi-top h3 { font-size: 25px; margin-top: 6px; }
.feed-style-c .fi-info { padding: 30px 38px 34px; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.feed-style-c .fi-info p { width: 58%; color: #66708a; font-size: 14.5px; }
.feed-style-c .fi-info .right { text-align: right; }
.feed-style-c .fi-info .price b { font-size: 26px; color: #c0392b; }
.feed-note { background: #fef5f4; border: 1px dashed #e74c3c; color: #7b241c; border-radius: 8px; padding: 16px 22px; font-size: 14px; margin-top: 10px; }

/* ================= 联系页 ================= */
.contact-row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -13px; }
.contact-cards { width: 42%; padding: 0 13px; }
.contact-form-box { width: 58%; padding: 0 13px; }
.c-card { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; background: #fff; border: 1px solid #edf0f6; border-radius: 10px; padding: 24px 26px; margin-bottom: 18px; -webkit-box-shadow: 0 8px 22px rgba(20,24,45,.05); box-shadow: 0 8px 22px rgba(20,24,45,.05); }
.c-card .ico { width: 52px; height: 52px; line-height: 52px; text-align: center; border-radius: 50%; background: #fdedec; color: #a93226; font-size: 22px; font-style: normal; margin-right: 18px; }
.c-card h4 { font-size: 17px; color: #171b2e; }
.c-card p { color: #6d7488; font-size: 14.5px; }
.c-card p.big { font-size: 22px; color: #c0392b; font-weight: 700; }

.form-box { background: #fff; border: 1px solid #edf0f6; border-radius: 12px; padding: 38px 40px; -webkit-box-shadow: 0 10px 30px rgba(20,24,45,.07); box-shadow: 0 10px 30px rgba(20,24,45,.07); }
.form-box h3 { font-size: 23px; color: #171b2e; margin-bottom: 6px; }
.form-box .tip { color: #8a91a5; font-size: 14px; margin-bottom: 24px; }
.form-row { margin-bottom: 18px; }
.form-row label { display: block; font-size: 14px; color: #4a5064; margin-bottom: 7px; }
.form-row label em { color: #c0392b; margin-left: 3px; }
.form-row input, .form-row select, .form-row textarea {
    width: 100%; border: 1px solid #dfe3ee; border-radius: 6px; padding: 11px 14px; height: 44px;
    background: #fafbfe; -webkit-transition: border .2s; transition: border .2s;
}
.form-row textarea { height: 110px; resize: vertical; }
.form-row input:focus, .form-row select:focus, .form-row textarea:focus { border-color: #e74c3c; background: #fff; }
.form-row .err { display: none; color: #e5392f; font-size: 12.5px; margin-top: 5px; }
.form-row.bad input, .form-row.bad select, .form-row.bad textarea { border-color: #e5392f; background: #fff6f5; }
.form-row.bad .err { display: block; }
.form-2 { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.form-2 .form-row { width: 50%; padding-right: 12px; }
.form-2 .form-row:last-child { padding-right: 0; }
.form-msg { display: none; margin-top: 16px; padding: 12px 18px; border-radius: 6px; background: #eefaf0; color: #1d8a43; border: 1px solid #b6e5c3; font-size: 14px; }
.form-msg.show { display: block; }
.btn-submit { width: 100%; height: 50px; border: 0; border-radius: 6px; color: #fff; font-size: 17px; background: -webkit-linear-gradient(left,#e74c3c,#922b21); background: linear-gradient(to right,#e74c3c,#922b21); }
.btn-submit:hover { opacity: .92; }

.map-box { margin-top: 40px; height: 280px; border-radius: 12px; position: relative; overflow: hidden;
    background:
        -webkit-linear-gradient(0deg, rgba(255,255,255,.55) 1px, transparent 1px),
        -webkit-linear-gradient(90deg, rgba(255,255,255,.55) 1px, transparent 1px),
        -webkit-linear-gradient(135deg, #eef1f8, #dfe6f3);
    background:
        linear-gradient(0deg, rgba(255,255,255,.55) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.55) 1px, transparent 1px),
        linear-gradient(135deg, #eef1f8, #dfe6f3);
    background-size: 44px 44px, 44px 44px, 100% 100%;
    border: 1px solid #e6e9f2;
}
.map-box .pin { position: absolute; left: 50%; top: 50%; margin: -46px 0 0 -46px; width: 92px; height: 92px; }
.map-box .pin:before { content: ""; position: absolute; left: 50%; top: 0; margin-left: -16px; width: 32px; height: 32px; background: #c0392b; border: 4px solid #fff; border-radius: 50% 50% 50% 0; -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-box-shadow: 0 6px 14px rgba(0,0,0,.25); box-shadow: 0 6px 14px rgba(0,0,0,.25); }
.map-box .addr { position: absolute; left: 50%; bottom: 26px; margin-left: -230px; width: 460px; background: #fff; border-radius: 8px; padding: 14px 22px; text-align: center; -webkit-box-shadow: 0 10px 26px rgba(20,24,45,.15); box-shadow: 0 10px 26px rgba(20,24,45,.15); color: #4a5064; font-size: 14.5px; }

/* ================= 案例详情 ================= */
.crumb-line { font-size: 13px; color: #9aa1b4; margin-bottom: 22px; }
.crumb-line a { color: #9aa1b4; }
.crumb-line a:hover { color: #c0392b; }
.detail-wrap { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -18px; }
.detail-gallery { width: 62%; padding: 0 18px; }
.gallery-main { border-radius: 10px; overflow: hidden; background: #eef0f6; margin-bottom: 16px; }
.gallery-main img { width: 100%; }
.gallery-thumbs { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -6px; }
.gallery-thumbs a { width: 23%; margin: 0 1% 10px; border-radius: 6px; overflow: hidden; height: 86px; background: #eef0f6 center center no-repeat; background-size: cover; border: 2px solid transparent; display: block; }
.gallery-thumbs a.cur { border-color: #c0392b; }
.detail-side { width: 38%; padding: 0 18px; }
.side-box { background: #fff; border: 1px solid #edf0f6; border-radius: 12px; padding: 30px 32px; -webkit-box-shadow: 0 10px 28px rgba(20,24,45,.07); box-shadow: 0 10px 28px rgba(20,24,45,.07); position: -webkit-sticky; position: sticky; top: 96px; }
.side-box h1 { font-size: 25px; color: #171b2e; margin-bottom: 14px; line-height: 1.4; }
.side-box .desc { color: #66708a; font-size: 14.5px; margin-bottom: 20px; }
.side-list { border-top: 1px dashed #e3e7f1; padding-top: 16px; margin-bottom: 24px; }
.side-list li { padding: 7px 0; color: #66708a; font-size: 14px; }
.side-list li b { color: #171b2e; margin-right: 10px; }

.related { margin-top: 70px; }

/* ================= 注册登录页 ================= */
.auth-page {
    min-height: 100vh; padding: 110px 0 60px;
    background: #0d101e url("../img/svc-1.jpg") center center no-repeat; background-size: cover;
    position: relative;
}
.auth-page:after { content: ""; position: absolute; inset: 0; background: -webkit-linear-gradient(120deg, rgba(9,11,24,.94), rgba(20,16,40,.82)); background: linear-gradient(120deg, rgba(9,11,24,.94), rgba(20,16,40,.82)); }
.auth-page .logo { display: block; text-align: center; }
.auth-wrap { position: relative; z-index: 2; width: 960px; max-width: 94%; margin: 0 auto; background: #fff; border-radius: 16px; overflow: hidden; -webkit-box-shadow: 0 30px 70px rgba(0,0,0,.4); box-shadow: 0 30px 70px rgba(0,0,0,.4); display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.auth-aside { width: 38%; padding: 56px 44px; color: #fff; background: -webkit-linear-gradient(160deg, #e74c3c, #cb4335 70%, #7b241c); background: linear-gradient(160deg, #e74c3c, #cb4335 70%, #7b241c); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.auth-aside h2 { font-size: 27px; line-height: 1.5; margin-bottom: 18px; }
.auth-aside p { font-size: 14.5px; opacity: .92; margin-bottom: 14px; }
.auth-aside ul { margin-top: 18px; }
.auth-aside li { font-size: 14px; padding: 7px 0; opacity: .95; }
.auth-aside li:before { content: "✓ "; font-weight: 700; }
.auth-main { width: 62%; padding: 44px 52px 48px; }
.auth-tabs { display: -webkit-box; display: -ms-flexbox; display: flex; border-bottom: 2px solid #eef0f6; margin-bottom: 26px; }
.auth-tabs button { background: none; border: 0; padding: 12px 4px; margin-right: 40px; font-size: 20px; color: #9aa1b4; position: relative; font-weight: 600; }
.auth-tabs button.cur { color: #a93226; }
.auth-tabs button.cur:after { content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 3px; background: #c0392b; border-radius: 2px; }
.auth-pane { display: none; }
.auth-pane.cur { display: block; }
.code-row { display: -webkit-box; display: -ms-flexbox; display: flex; }
.code-row input { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; border-radius: 6px 0 0 6px; }
.btn-code { height: 44px; border: 1px solid #c0392b; border-left: 0; background: #fdedec; color: #922b21; padding: 0 16px; border-radius: 0 6px 6px 0; white-space: nowrap; font-size: 14px; }
.btn-code:disabled { color: #b7bdcc; border-color: #dfe3ee; background: #f5f6fa; cursor: default; }
.agree-row { font-size: 13.5px; color: #7d8497; margin: 6px 0 18px; }
.agree-row label { display: block; }
.agree-row input { vertical-align: middle; margin-right: 6px; }
.agree-row a { color: #a93226; }
.realname-tip { background: #f6f8fd; border-radius: 6px; padding: 10px 14px; font-size: 12.5px; color: #8a91a5; margin-bottom: 18px; }
.realname-tip b { color: #a93226; }
.auth-msg { display: none; margin-bottom: 14px; padding: 10px 16px; border-radius: 6px; font-size: 14px; }
.auth-msg.err { display: block; background: #fdecea; color: #d03226; border: 1px solid #f6c2bd; }
.auth-msg.ok { display: block; background: #eefaf0; color: #1d8a43; border: 1px solid #b6e5c3; }
.sms-float { display: none; margin-bottom: 12px; padding: 9px 14px; background: #fef5f4; border: 1px dashed #e74c3c; color: #7b241c; border-radius: 6px; font-size: 13.5px; }
.sms-float.show { display: block; }

/* ================= 定金支付页 ================= */
.pay-page { background: #f3f5fa; min-height: 100vh; padding: 110px 0 70px; }
.pay-panel { max-width: 900px; margin: 0 auto; background: #fff; border-radius: 14px; -webkit-box-shadow: 0 16px 44px rgba(20,24,45,.09); box-shadow: 0 16px 44px rgba(20,24,45,.09); overflow: hidden; }
.pay-head { background: -webkit-linear-gradient(120deg,#e74c3c,#922b21); background: linear-gradient(120deg,#e74c3c,#922b21); color: #fff; padding: 30px 40px; }
.pay-head h2 { font-size: 25px; }
.pay-head p { opacity: .92; font-size: 14px; }
.pay-body2 { padding: 36px 40px 40px; }
.pay-order { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; border: 1px solid #edf0f6; border-radius: 10px; padding: 24px 28px; margin-bottom: 26px; }
.pay-order .po-thumb { width: 150px; height: 104px; border-radius: 8px; background: #eef0f6 center center no-repeat; background-size: cover; margin-right: 24px; }
.pay-order .po-info { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; min-width: 240px; }
.pay-order .po-info h3 { font-size: 20px; color: #171b2e; margin-bottom: 8px; }
.pay-order .po-info p { color: #8a91a5; font-size: 14px; }
.pay-order .po-price { text-align: right; min-width: 150px; }
.pay-order .po-price s { color: #aab0c0; font-size: 13px; }
.pay-order .po-price b { display: block; color: #c0392b; font-size: 26px; }
.pay-block { margin-bottom: 28px; }
.pay-block h4 { font-size: 17px; color: #171b2e; margin-bottom: 14px; padding-left: 12px; border-left: 4px solid #c0392b; }
.amount-row { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.amount-opt { position: relative; width: 31%; margin: 0 3.5% 12px 0; border: 1.5px solid #e2e6f0; border-radius: 8px; padding: 16px 18px; background: #fff; }
.amount-opt:nth-child(3n) { margin-right: 0; }
.amount-opt input { position: absolute; right: 14px; top: 16px; }
.amount-opt.cur { border-color: #c0392b; background: #fef5f4; }
.amount-opt b { font-size: 22px; color: #c0392b; }
.amount-opt span { display: block; color: #8a91a5; font-size: 13px; }
.pay-methods { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.pay-method { width: 31%; margin: 0 3.5% 12px 0; border: 1.5px solid #e2e6f0; border-radius: 8px; padding: 16px; text-align: center; background: #fff; }
.pay-method:nth-child(3n) { margin-right: 0; }
.pay-method.cur { border-color: #c0392b; background: #fef5f4; }
.pay-method .mi { font-size: 26px; font-style: normal; }
.pay-method.wx .mi { color: #1aad19; } .pay-method.zfb .mi { color: #1677ff; } .pay-method.yl .mi { color: #c9202c; }
.pay-method span { display: block; margin-top: 4px; font-size: 14px; color: #4a5064; }
.pay-summary { background: #f7f8fc; border-radius: 10px; padding: 20px 26px; margin-bottom: 24px; }
.pay-summary .line { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 5px 0; color: #66708a; font-size: 14.5px; }
.pay-summary .line.total { border-top: 1px dashed #dfe3ee; margin-top: 8px; padding-top: 14px; color: #171b2e; font-size: 16px; }
.pay-summary .line.total b { color: #c0392b; font-size: 28px; }
.pay-success { display: none; text-align: center; padding: 30px 20px 10px; }
.pay-success .ok-ico { width: 84px; height: 84px; line-height: 84px; margin: 0 auto 20px; border-radius: 50%; background: #eafaf0; color: #1aad53; font-size: 44px; }
.pay-success h3 { font-size: 25px; color: #171b2e; margin-bottom: 10px; }
.pay-success .order-no { display: inline-block; background: #f5f6fa; border-radius: 6px; padding: 10px 22px; margin: 14px 0; color: #4a5064; font-size: 14.5px; }
.pay-success p { color: #7d8497; font-size: 14.5px; margin-bottom: 8px; }

/* ================= 底部 ================= */
.footer { background: #0c0f1c; color: #9aa1b9; padding: 58px 0 0; font-size: 14px; }
.foot-top { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.07); }
.foot-brand { width: 42%; padding-right: 40px; }
.foot-brand .logo-name { font-size: 20px; }
.foot-brand p { margin-top: 18px; line-height: 1.9; color: #808aa3; }
.foot-info { width: 58%; }
.foot-info ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.foot-info li { width: 50%; padding: 7px 0; }
.foot-info li b { color: #d3d9ea; margin-right: 10px; font-weight: normal; }
.foot-info li a:hover { color: #c0392b; }
.foot-bottom { padding: 20px 0; text-align: center; font-size: 13px; color: #69708a; line-height: 1.9; }
.foot-bottom a { color: #8a91a5; }
.foot-bottom a:hover { color: #c0392b; }

/* 回到顶部 */
.back-top { position: fixed; right: 26px; bottom: 34px; z-index: 900; width: 46px; height: 46px; line-height: 46px; text-align: center; border-radius: 8px; background: rgba(192,57,43,.9); color: #fff; font-size: 20px; display: none; -webkit-box-shadow: 0 8px 20px rgba(146,43,33,.4); box-shadow: 0 8px 20px rgba(146,43,33,.4); }
.back-top.show { display: block; }
.back-top:hover { background: #a93226; }

/* ================= 响应式（平板/手机） ================= */
@media (max-width: 1100px) {
    .logo { width: auto; }
    .logo-name { font-size: 18px; }
    .nav-menu a { padding: 0 11px; font-size: 15px; }
    .hero h1 { font-size: 40px; }
}

@media (max-width: 900px) {
    .nav-menu, .nav-auth { display: none; }
    .nav-toggle { display: block; }
    .m-nav { display: block; }
    .hero { min-height: 560px; }
    .hero h1 { font-size: 32px; letter-spacing: 1px; }
    .hero p.sub { font-size: 16px; }
    .section { padding: 60px 0; }
    .sec-head h2 { font-size: 27px; }
    .svc-item { width: 50%; margin-bottom: 20px; }
    .svc-card { height: 300px; }
    .about-imgs, .about-txt { width: 100%; padding-left: 0; }
    .about-imgs { margin-bottom: 50px; }
    .about-imgs .small { right: 10px; }
    .stats .st { width: 50%; padding: 26px 10px; }
    .stats .st:nth-child(2):after { display: none; }
    .pay-card, .case-item, .feature, .promise { width: 50%; }
    .pay-card:nth-child(3), .case-item:nth-child(3) { }
    .adv-strip .a { width: 50%; border-bottom: 1px solid rgba(255,255,255,.08); }
    .cta-row > div { width: 100%; margin-bottom: 20px; }
    .intro-block .ib-img, .intro-block .ib-txt { width: 100%; padding: 0; }
    .intro-block.rev .ib-img { -webkit-box-ordinal-group: 2; -ms-flex-order: 1; order: 1; }
    .intro-block.rev .ib-txt { -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; padding-right: 0; }
    .intro-block .ib-img { margin-bottom: 26px; }
    .dept, .culture { width: 50%; }
    .timeline:before { left: 9px; }
    .tl-item, .tl-item:nth-child(even) { width: 100%; left: 0; padding: 0 0 28px 38px; }
    .tl-item .dot, .tl-item:nth-child(even) .dot { left: 0; right: auto; }
    .process .p { width: 33.333%; margin-bottom: 26px; }
    .process .p:not(:last-child) .circle:after { display: none; }
    .contact-cards, .contact-form-box { width: 100%; }
    .contact-cards { margin-bottom: 26px; }
    .feed-style-a .fi-img, .feed-style-a .fi-body { width: 100%; }
    .feed-style-b .fi-left, .feed-style-b .fi-main, .feed-style-b .fi-thumb { width: 100%; }
    .feed-style-b .fi-thumb { min-height: 200px; }
    .feed-style-c .fi-info p { width: 100%; margin-bottom: 16px; }
    .feed-style-c .fi-info .right { text-align: left; }
    .detail-gallery, .detail-side { width: 100%; }
    .detail-side { margin-top: 26px; }
    .side-box { position: static; }
    .auth-aside, .auth-main { width: 100%; }
    .auth-aside { padding: 40px 36px; }
    .auth-main { padding: 34px 30px 40px; }
    .amount-opt, .pay-method { width: 48%; margin-right: 4%; }
    .amount-opt:nth-child(3n), .pay-method:nth-child(3n) { margin-right: 4%; }
    .amount-opt:nth-child(even), .pay-method:nth-child(even) { margin-right: 0; }
    .pay-order .po-price { text-align: left; margin-top: 12px; }
    .foot-brand, .foot-info { width: 100%; padding-right: 0; }
    .foot-brand { margin-bottom: 22px; }
    .map-box .addr { width: 86%; margin-left: -43%; }
}

@media (max-width: 560px) {
    body { font-size: 14px; }
    .topbar, .topbar .wrap { height: 62px; }
    .logo-mark { width: 34px; height: 34px; line-height: 34px; }
    .logo-mark span { width: 13px; height: 13px; border-width: 2px; }
    .logo-name { font-size: 15px; letter-spacing: 0; }
    .hero { padding-top: 62px; min-height: 520px; }
    .hero h1 { font-size: 26px; }
    .btn-ghost { margin-left: 0; margin-top: 14px; }
    .hero-tags span { font-size: 13px; }
    .svc-item, .pay-card, .case-item, .feature, .promise, .dept, .culture, .adv-strip .a { width: 100%; }
    .stats .st { width: 100%; }
    .stats .st:after { display: none; }
    .page-banner { margin-top: 62px; height: 230px; }
    .page-banner h1 { font-size: 28px; }
    .form-2 .form-row { width: 100%; padding-right: 0; }
    .form-box, .pay-body2, .pay-head { padding-left: 22px; padding-right: 22px; }
    .auth-main { padding: 28px 20px 34px; }
    .auth-tabs button { font-size: 17px; margin-right: 28px; }
    .gallery-thumbs a { width: 31.33%; }
    .pay-order .po-thumb { margin-bottom: 14px; }
    .amount-opt, .pay-method { width: 100%; margin-right: 0; }
    .foot-info li { width: 100%; }
}
