/* ==========================================================================
   南诺方邦建站 nnfb.cn — 指南六页专属样式
   process / price / guarantee / advantage / faq / download
   纯手工 CSS，无任何框架依赖；响应式断点 1080 / 640
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. 通用：tab 面板显隐（配合 main.js 的 tabs 切换机制）
   -------------------------------------------------------------------------- */
.tab-panel { display: none; }
.tab-panel.active { display: block; animation: guidePanelIn .5s ease both; }
@keyframes guidePanelIn {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: none; }
}

/* 区段底色微染（供各页 section 使用，制造节奏差） */
.tint-band { background: linear-gradient(180deg, transparent, var(--pink-soft) 24%, var(--pink-soft) 76%, transparent); }
.tint-band-butter { background: linear-gradient(180deg, transparent, var(--butter-soft) 24%, var(--butter-soft) 76%, transparent); }

/* 居中题头时的 kicker 对齐 */
.sec-head.center .sec-kicker { justify-content: center; }

/* --------------------------------------------------------------------------
   1. 建站流程 process.html — 虚线路径旅程图 + 配合清单 + CTA
   -------------------------------------------------------------------------- */
.journey { position: relative; }
.journey-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}
.journey-svg .flow {
    stroke-dasharray: 9 9;
    animation: flowDash 5s linear infinite;
}
@keyframes flowDash { to { stroke-dashoffset: -180; } }

.journey-track {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 68px 48px;
    padding-top: 46px;
}
.journey-stop { position: relative; padding-top: 46px; }
/* 蛇形排布：第二行从右往左走，与虚线弯道方向一致 */
.journey-stop:nth-child(4) { grid-column: 3; }
.journey-stop:nth-child(5) { grid-column: 2; }
.journey-stop:nth-child(6) { grid-column: 1; }

.stop-node {
    position: absolute;
    top: 0; left: 50%;
    transform: translateX(-50%);
    width: 52px; height: 52px;
    border-radius: 50%;
    background: var(--milk);
    border: 2px dashed var(--butter);
    box-shadow: var(--shadow-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--serif);
    font-weight: 700;
    font-size: 21px;
    color: var(--butter-deep);
}
.stop-card {
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-sm);
    padding: 24px 24px 20px;
    min-height: 268px;
    transition: transform .35s ease, box-shadow .35s ease;
}
.stop-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.stop-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 10px;
}
.stop-head h3 { font-size: 18.5px; }
.stop-time {
    flex-shrink: 0;
    font-size: 12px;
    font-weight: 600;
    color: var(--pink-deep);
    letter-spacing: .08em;
    background: var(--pink-soft);
    padding: 3px 12px;
    border-radius: 999px;
}
.stop-deliver {
    margin: 14px 0 12px;
    padding: 10px 16px;
    background: var(--butter-soft);
    border-radius: var(--r-sm);
    font-size: 13px;
    color: #6B4318;
}
.stop-deliver strong {
    display: block;
    font-size: 11px;
    letter-spacing: .25em;
    color: var(--butter-deep);
    margin-bottom: 2px;
}
.stop-card > p { font-size: 13.5px; color: var(--ink-body); }

/* 每阶段"您需要配合的事"清单 */
.coop-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 22px;
}
.coop-item {
    display: flex;
    gap: 16px;
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    padding: 20px 22px;
    box-shadow: var(--shadow-sm);
    transition: transform .35s ease;
}
.coop-item:hover { transform: translateY(-4px); }
.coop-no {
    flex-shrink: 0;
    width: 42px; height: 42px;
    border-radius: 12px;
    background: var(--pink-soft);
    color: var(--pink-deep);
    font-family: var(--serif);
    font-weight: 700;
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.coop-item h3 { font-size: 16px; margin-bottom: 4px; }
.coop-item p { font-size: 13.5px; color: var(--ink-body); }

/* 流程页结尾 CTA 大卡 */
.proc-cta {
    position: relative;
    text-align: center;
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow);
    padding: 58px 40px;
    overflow: hidden;
}
.proc-cta::before {
    content: "";
    position: absolute;
    right: -70px; top: -70px;
    width: 200px; height: 200px;
    border: 2px dashed var(--butter);
    border-radius: 50%;
    opacity: .5;
}
.proc-cta::after {
    content: "";
    position: absolute;
    left: -60px; bottom: -80px;
    width: 180px; height: 180px;
    border: 2px dashed var(--pink);
    border-radius: 50%;
    opacity: .45;
}
.proc-cta h2 { font-size: clamp(24px, 3vw, 32px); margin-bottom: 12px; }
.proc-cta p {
    max-width: 580px;
    margin: 0 auto 28px;
    color: var(--ink-mute);
    font-size: 15px;
    position: relative;
    z-index: 1;
}
.proc-cta .cta-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

/* --------------------------------------------------------------------------
   2. 价格套餐 price.html — 三档套餐卡 + 明细对比表 + 加购 chips + FAQ
   -------------------------------------------------------------------------- */
.price-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    align-items: stretch;
}
.price-card {
    position: relative;
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 36px 30px 30px;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-sm);
    transition: transform .35s ease, box-shadow .35s ease;
}
.price-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.price-card.hot {
    border: 2px solid var(--butter);
    background: linear-gradient(180deg, #FFFDF9 0%, #FDF3DD 100%);
    transform: scale(1.05);
    z-index: 2;
    box-shadow: var(--shadow);
}
.price-card.hot:hover { transform: scale(1.05) translateY(-6px); }
.price-tag {
    position: absolute;
    top: -15px; left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, var(--pink) 0%, #E58E9E 100%);
    color: #FFF6F7;
    font-size: 12px;
    letter-spacing: .22em;
    padding: 5px 20px;
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(232, 148, 165, .4);
    white-space: nowrap;
}
.price-name {
    font-size: 20px;
    text-align: center;
    letter-spacing: .22em;
}
.price-fit {
    text-align: center;
    font-size: 13px;
    color: var(--ink-mute);
    margin-top: 6px;
}
.price-num {
    text-align: center;
    margin: 20px 0 4px;
    font-family: var(--serif);
}
.price-num strong { font-size: 46px; color: var(--butter-deep); }
.price-num i { font-size: 14px; color: var(--ink-mute); margin-left: 4px; }
.price-unit {
    text-align: center;
    font-size: 12px;
    color: var(--ink-mute);
    letter-spacing: .15em;
    margin-bottom: 22px;
}
.price-list { flex: 1; margin-bottom: 26px; }
.price-list li {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-size: 13.5px;
    padding: 7px 0;
    border-bottom: 1px dashed var(--line);
}
.price-list li:last-child { border-bottom: 0; }
.price-list svg { flex-shrink: 0; margin-top: 5px; }
.price-card .btn { width: 100%; }

/* 明细对比表 */
.compare-wrap {
    overflow-x: auto;
    border-radius: var(--r-lg);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-sm);
    background: var(--milk);
}
.compare-table {
    width: 100%;
    min-width: 760px;
    border-collapse: collapse;
    font-size: 14px;
}
.compare-table th,
.compare-table td {
    padding: 15px 20px;
    border-bottom: 1px solid var(--line);
    text-align: center;
    color: var(--ink-body);
}
.compare-table th:first-child,
.compare-table td:first-child {
    text-align: left;
    font-weight: 700;
    color: var(--ink);
    white-space: nowrap;
    background: #FFFCF5;
    width: 168px;
}
.compare-table thead th {
    background: var(--cream);
    letter-spacing: .16em;
    font-size: 14.5px;
    color: var(--ink);
    font-weight: 700;
}
.compare-table .col-hot { background: var(--butter-soft); color: #6B4318; font-weight: 600; }
.compare-table thead .col-hot { color: #8A5B2B; }
.compare-table tbody tr:last-child td { border-bottom: 0; }
.compare-table tbody tr:hover td { background: rgba(250, 231, 191, .22); }
.compare-table tbody tr:hover td.col-hot { background: var(--butter-soft); }
.compare-table tbody tr:hover td:first-child { background: #FFFCF5; }

/* 加购项 chips */
.addon-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}
.addon-chip {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    background: var(--milk);
    border: 1px dashed var(--butter-deep);
    border-radius: 999px;
    padding: 10px 22px;
    font-size: 14px;
    color: var(--ink);
    transition: background .3s ease, transform .3s ease;
}
.addon-chip:hover { background: var(--butter-soft); transform: translateY(-3px); }
.addon-chip strong { color: var(--butter-deep); }

/* 价格页 FAQ（窄容器小卡，与 faq.html 大列表区分） */
.price-faq-wrap { max-width: 780px; margin: 0 auto; }
.pfaq-item {
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    margin-bottom: 14px;
    padding: 2px 24px;
    transition: border-color .3s ease;
}
.pfaq-item[open] { border-color: var(--butter); }
.pfaq-q {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 16px 0;
    font-weight: 700;
    color: var(--ink);
    cursor: pointer;
    list-style: none;
    font-size: 15.5px;
}
.pfaq-q::-webkit-details-marker { display: none; }
.pfaq-q::after {
    content: "+";
    font-size: 22px;
    font-weight: 400;
    color: var(--butter-deep);
    transition: transform .3s ease;
    flex-shrink: 0;
}
.pfaq-item[open] .pfaq-q::after { transform: rotate(45deg); color: var(--pink-deep); }
.pfaq-a { padding: 0 0 18px; font-size: 14px; color: var(--ink-body); }
.price-faq-note {
    text-align: center;
    font-size: 14px;
    color: var(--ink-mute);
    margin-top: 26px;
}

/* --------------------------------------------------------------------------
   3. 服务保障 guarantee.html — 承诺印章卡 + 售后细则 + 违约赔付
   -------------------------------------------------------------------------- */
.seal-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 26px;
}
.seal-card {
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 32px 22px 28px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    transition: transform .35s ease, box-shadow .35s ease;
}
.seal-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.seal-svg {
    width: 118px;
    height: 118px;
    margin: 0 auto 18px;
    animation: floatySlow 6s ease-in-out infinite;
}
.seal-card h3 {
    font-size: 17.5px;
    letter-spacing: .14em;
    margin-bottom: 8px;
}
.seal-card p { font-size: 13px; color: var(--ink-body); }

/* 售后细则：左图右清单 */
.after-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 44px;
    align-items: center;
}
.after-figure img {
    border-radius: var(--r-lg);
    box-shadow: var(--shadow);
    aspect-ratio: 4 / 3;
    object-fit: cover;
    width: 100%;
}
.after-figure figcaption {
    margin-top: 12px;
    font-size: 12.5px;
    color: var(--ink-mute);
    text-align: center;
    letter-spacing: .08em;
}
.after-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.after-item {
    display: flex;
    gap: 12px;
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    padding: 16px 18px;
    box-shadow: var(--shadow-sm);
    transition: transform .35s ease;
}
.after-item:hover { transform: translateY(-4px); }
.after-item svg { flex-shrink: 0; margin-top: 3px; }
.after-item h3 { font-size: 15px; margin-bottom: 3px; }
.after-item p { font-size: 12.8px; color: var(--ink-body); }

/* 违约赔付：深墨色横幅卡 */
.penalty {
    position: relative;
    background: linear-gradient(120deg, #4A3A2C 0%, #40342A 100%);
    border-radius: var(--r-lg);
    padding: 50px 52px;
    color: #CBB9A6;
    overflow: hidden;
}
.penalty::before {
    content: "";
    position: absolute;
    right: -90px; top: -90px;
    width: 240px; height: 240px;
    border: 2px dashed rgba(242, 192, 99, .35);
    border-radius: 50%;
}
.penalty::after {
    content: "";
    position: absolute;
    left: -70px; bottom: -100px;
    width: 210px; height: 210px;
    border: 2px dashed rgba(242, 169, 180, .28);
    border-radius: 50%;
}
.penalty-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12.5px;
    letter-spacing: .32em;
    color: var(--butter);
    margin-bottom: 12px;
}
.penalty-kicker::before {
    content: "";
    width: 26px; height: 2px;
    background: var(--pink);
}
.penalty h2 { color: #FFF3E2; font-size: clamp(24px, 3vw, 32px); margin-bottom: 8px; }
.penalty-desc { font-size: 14px; position: relative; z-index: 1; }
.penalty-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 40px;
    margin: 30px 0 34px;
    position: relative;
    z-index: 1;
}
.penalty-item { display: flex; gap: 14px; }
.penalty-item svg { flex-shrink: 0; margin-top: 4px; }
.penalty-item strong {
    display: block;
    color: var(--butter);
    font-size: 15px;
    margin-bottom: 4px;
    letter-spacing: .06em;
}
.penalty-item p { font-size: 13px; color: #C4B29E; line-height: 1.8; }
.penalty-actions {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}
.penalty-actions .btn-ghost {
    border-color: var(--butter);
    color: var(--butter);
}
.penalty-actions .btn-ghost:hover { background: rgba(242, 192, 99, .14); }

/* --------------------------------------------------------------------------
   4. 核心优势 advantage.html — 双色对比表 + 优势展开卡
   -------------------------------------------------------------------------- */
.vs-wrap {
    overflow-x: auto;
    border-radius: var(--r-lg);
    border: 1px solid var(--line);
    box-shadow: var(--shadow);
    background: var(--milk);
}
.vs-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    font-size: 14.5px;
}
.vs-table th,
.vs-table td {
    padding: 15px 20px;
    border-bottom: 1px dashed var(--line);
    text-align: center;
    color: var(--ink-body);
}
.vs-table thead th {
    font-size: 16px;
    letter-spacing: .14em;
    border-bottom: 1px solid var(--line);
    white-space: nowrap;
}
.vs-table thead .vs-item { background: #FFFCF5; }
.vs-table thead .th-tpl { background: var(--pink-soft); color: var(--pink-deep); }
.vs-table thead .th-us { background: var(--butter-soft); color: #8A5B2B; }
.vs-table thead .th-us svg, .vs-table thead .th-tpl svg { vertical-align: -3px; margin-right: 6px; }
.vs-table td:first-child {
    text-align: left;
    font-weight: 700;
    color: var(--ink);
    white-space: nowrap;
    background: #FFFCF5;
    width: 150px;
}
.vs-table .col-tpl { background: rgba(251, 221, 226, .38); }
.vs-table .col-us {
    background: rgba(250, 231, 191, .45);
    color: #6B4318;
    font-weight: 600;
}
.vs-table tbody tr:last-child td { border-bottom: 0; }
.vs-note {
    text-align: center;
    font-size: 13px;
    color: var(--ink-mute);
    margin-top: 16px;
}
/* 表格 caption 视觉隐藏（屏幕阅读器可见） */
.sr-caption {
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* 优势展开大卡（details） */
.adv-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.adv-card {
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    overflow: hidden;
    transition: box-shadow .35s ease, border-color .35s ease;
}
.adv-card[open] { border-color: var(--butter); box-shadow: var(--shadow); }
.adv-head {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 22px 24px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.adv-head::-webkit-details-marker { display: none; }
.adv-num {
    font-family: var(--serif);
    font-size: 30px;
    font-weight: 700;
    color: var(--butter);
    flex-shrink: 0;
    line-height: 1;
}
.adv-head h3 { font-size: 18px; flex: 1; }
.adv-arrow {
    width: 34px; height: 34px;
    border-radius: 50%;
    background: var(--butter-soft);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform .35s ease, background .35s ease;
}
.adv-card[open] .adv-arrow { transform: rotate(180deg); background: var(--pink-soft); }
.adv-body { padding: 0 26px 26px 76px; }
.adv-body > p { font-size: 14px; color: var(--ink-body); }
.adv-points { margin-top: 14px; }
.adv-points li {
    position: relative;
    padding-left: 20px;
    font-size: 13.5px;
    color: var(--ink-body);
    margin-top: 8px;
}
.adv-points li::before {
    content: "";
    position: absolute;
    left: 2px; top: 11px;
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--pink);
}
.adv-tail {
    text-align: center;
    margin-top: 20px;
}
.adv-tail h2 { font-size: clamp(22px, 2.8vw, 30px); margin-bottom: 10px; }
.adv-tail p { color: var(--ink-mute); font-size: 15px; margin-bottom: 24px; }
.adv-tail .cta-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* --------------------------------------------------------------------------
   5. 常见问题 faq.html — 分类 tab + 手风琴
   -------------------------------------------------------------------------- */
.faq-tabs {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 44px;
}
.faq-tabs .tab-btn {
    padding: 11px 30px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: var(--milk);
    color: var(--ink-body);
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .1em;
    cursor: pointer;
    transition: all .3s ease;
}
.faq-tabs .tab-btn:hover { border-color: var(--butter); color: var(--butter-deep); }
.faq-tabs .tab-btn.active {
    background: linear-gradient(135deg, var(--butter) 0%, #EBAF54 100%);
    color: #5C3D0E;
    border-color: transparent;
    box-shadow: 0 10px 22px rgba(233, 172, 84, .35);
}
.faq-list { max-width: 860px; margin: 0 auto; }
.faq-item {
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-md);
    margin-bottom: 14px;
    padding: 0 26px;
    transition: border-color .3s ease, box-shadow .3s ease;
}
.faq-item[open] { border-color: var(--butter); box-shadow: var(--shadow-sm); }
.faq-q {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 0;
    font-weight: 700;
    color: var(--ink);
    cursor: pointer;
    list-style: none;
    font-size: 15.5px;
    line-height: 1.6;
}
.faq-q::-webkit-details-marker { display: none; }
.q-mark {
    flex-shrink: 0;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--pink-soft);
    color: var(--pink-deep);
    font-weight: 700;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.faq-q::after {
    content: "+";
    margin-left: auto;
    font-size: 24px;
    font-weight: 400;
    color: var(--butter-deep);
    transition: transform .35s ease, color .35s ease;
    flex-shrink: 0;
}
.faq-item[open] .faq-q::after { transform: rotate(45deg); color: var(--pink-deep); }
.faq-a {
    display: flex;
    gap: 12px;
    border-top: 1px dashed var(--line);
    padding: 16px 2px 20px;
}
.a-mark {
    flex-shrink: 0;
    width: 26px; height: 26px;
    border-radius: 50%;
    background: var(--butter-soft);
    color: var(--butter-deep);
    font-weight: 700;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}
.faq-a p { font-size: 14px; color: var(--ink-body); }

/* FAQ 结尾联系横条 */
.faq-cta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 26px;
    flex-wrap: wrap;
    background: linear-gradient(90deg, var(--butter-soft) 0%, var(--pink-soft) 100%);
    border-radius: var(--r-lg);
    padding: 36px 42px;
    margin-top: 64px;
}
.faq-cta h2 { font-size: 22px; margin-bottom: 6px; }
.faq-cta p { font-size: 14px; color: var(--ink-body); }
.faq-cta .cta-actions { display: flex; gap: 14px; flex-wrap: wrap; }

/* --------------------------------------------------------------------------
   6. 资料下载 download.html — 资料卡列表 + 演示表单
   -------------------------------------------------------------------------- */
.dl-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
}
.dl-card {
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    padding: 28px 26px 24px;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-sm);
    transition: transform .35s ease, box-shadow .35s ease;
}
.dl-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.dl-file { width: 58px; height: 58px; margin-bottom: 16px; }
.dl-card h3 { font-size: 16.5px; margin-bottom: 4px; }
.dl-meta {
    font-size: 12px;
    color: var(--ink-mute);
    letter-spacing: .14em;
    margin-bottom: 10px;
}
.dl-card > p { font-size: 13.5px; color: var(--ink-body); flex: 1; }
.dl-btn {
    margin-top: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 0;
    border-radius: 999px;
    border: 1px solid var(--butter);
    color: var(--butter-deep);
    font-size: 13.5px;
    font-weight: 600;
    letter-spacing: .06em;
    transition: background .3s ease, color .3s ease;
}
.dl-btn:hover { background: var(--butter-soft); color: #8A5B2B; }

/* 资料表单区：左文案右表单卡 */
.dl-form-grid {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 48px;
    align-items: center;
}
.dl-form-copy h2 { font-size: clamp(24px, 3vw, 34px); margin-bottom: 14px; }
.dl-form-copy > p { font-size: 15px; color: var(--ink-body); margin-bottom: 22px; }
.dl-tips li {
    position: relative;
    padding-left: 26px;
    font-size: 14px;
    color: var(--ink-body);
    margin-bottom: 10px;
}
.dl-tips li::before {
    content: "";
    position: absolute;
    left: 4px; top: 11px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--butter);
    box-shadow: 0 0 0 3px var(--butter-soft);
}
.dl-form-card {
    background: var(--milk);
    border: 1px solid var(--line);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow);
    padding: 38px 40px;
}
.dl-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 18px;
}
.dl-form-note {
    font-size: 12.5px;
    color: var(--ink-mute);
    margin-top: 14px;
    text-align: center;
}

/* --------------------------------------------------------------------------
   7. 响应式 1080
   -------------------------------------------------------------------------- */
@media (max-width: 1080px) {
    /* 流程：隐藏蜿蜒 SVG，切换为纵向时间线 */
    .journey-svg { display: none; }
    .journey-track { grid-template-columns: 1fr; gap: 0; padding-top: 0; }
    .journey-stop { padding: 0 0 36px 40px; }
    .journey-stop:nth-child(4),
    .journey-stop:nth-child(5),
    .journey-stop:nth-child(6) { grid-column: auto; }
    .journey-stop::before {
        content: "";
        position: absolute;
        left: 19px; top: 46px; bottom: -2px;
        border-left: 2px dashed var(--butter);
    }
    .journey-stop:last-child::before { display: none; }
    .stop-node {
        position: absolute;
        left: 0; top: 2px;
        transform: none;
        width: 40px; height: 40px;
        font-size: 16px;
    }
    .stop-card { min-height: 0; }

    .coop-grid { grid-template-columns: 1fr; }

    .price-grid { grid-template-columns: 1fr; gap: 28px; }
    .price-card.hot { transform: none; }
    .price-card.hot:hover { transform: translateY(-6px); }

    .seal-grid { grid-template-columns: repeat(2, 1fr); }

    .after-grid { grid-template-columns: 1fr; gap: 34px; }
    .after-figure { max-width: 560px; margin: 0 auto; }

    .penalty { padding: 40px 34px; }
    .penalty-list { grid-template-columns: 1fr; gap: 18px; }

    .adv-grid { grid-template-columns: 1fr; }
    .adv-body { padding: 0 24px 24px; }

    .dl-grid { grid-template-columns: repeat(2, 1fr); }
    .dl-form-grid { grid-template-columns: 1fr; gap: 36px; }
}

/* --------------------------------------------------------------------------
   8. 响应式 640
   -------------------------------------------------------------------------- */
@media (max-width: 640px) {
    .journey-stop { padding-left: 34px; padding-bottom: 30px; }
    .stop-node { width: 34px; height: 34px; font-size: 14px; }
    .journey-stop::before { left: 16px; top: 40px; }
    .stop-card { padding: 18px 18px 16px; }
    .stop-head { flex-wrap: wrap; gap: 6px; }
    .stop-card > p { font-size: 13px; }

    .proc-cta { padding: 44px 24px; }

    .price-card { padding: 30px 24px 26px; }
    .price-num strong { font-size: 38px; }

    .seal-grid { grid-template-columns: 1fr; }
    .seal-svg { width: 100px; height: 100px; }

    .penalty { padding: 32px 22px; }

    .vs-table { font-size: 13.5px; }
    .vs-table th, .vs-table td { padding: 12px 12px; }
    .compare-table { font-size: 13px; }
    .compare-table th, .compare-table td { padding: 12px 12px; }

    .adv-head { padding: 18px; gap: 12px; }
    .adv-num { font-size: 24px; }
    .adv-head h3 { font-size: 16px; }
    .adv-body { padding: 0 18px 20px; }

    .faq-tabs .tab-btn { padding: 9px 20px; font-size: 14px; }
    .faq-item { padding: 0 18px; }
    .faq-q { font-size: 14.5px; }
    .faq-cta { padding: 30px 24px; }

    .dl-grid { grid-template-columns: 1fr; }
    .dl-form-card { padding: 28px 22px; }
    .dl-form-row { grid-template-columns: 1fr; }
}
