﻿:root {
    --brand: #1a56ff;
    --brand-deep: #0e2f8f;
    --brand-soft: #eaf0ff;
    --cyan: #00a8b5;
    --ink: #111a2b;
    --ink-2: #3d4a63;
    --ink-3: #6b7891;
    --line: #e6eaf2;
    --bg: #ffffff;
    --bg-soft: #f6f8fc;
    --green: #16a34a;
    --warn: #f59e0b;
    --radius: 18px;
    --shadow-sm: 0 2px 10px rgba(17,26,43,.05);
    --shadow: 0 10px 30px rgba(17,26,43,.07);
    --shadow-lg: 0 22px 60px rgba(17,26,43,.12);
    --max: 1200px;
}

.wrap {
    max-width: var(--max);
    margin: 0 auto;
    padding: 0 28px
}

/* Hero */
.hero {
    position: relative;
    overflow: hidden;
    background: radial-gradient(1100px 480px at 80% -10%, rgba(26,86,255,.16), transparent 60%), radial-gradient(800px 400px at 8% 8%, rgba(0,168,181,.12), transparent 62%), linear-gradient(180deg,#fbfcff,#ffffff);
    padding: 100px 0 80px;
}

    .hero::before {
        content: "";
        position: absolute;
        inset: 0;
        background-image: linear-gradient(rgba(17,26,43,.035) 1px,transparent 1px), linear-gradient(90deg,rgba(17,26,43,.035) 1px,transparent 1px);
        background-size: 56px 56px;
        mask-image: radial-gradient(820px 500px at 50% 0%,#000,transparent 78%);
        -webkit-mask-image: radial-gradient(820px 500px at 50% 0%,#000,transparent 78%);
    }

.hero-inner {
    position: relative
}

h1 {
    font-size: clamp(30px,4.2vw,48px);
    line-height: 1.25;
    font-weight: 800;
    letter-spacing: -.5px;
    margin: 0 0 18px
}

    h1 em {
        font-style: normal;
        background: linear-gradient(100deg,var(--brand),var(--cyan));
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent
    }

.lead {
    font-size: 17px;
    color: var(--ink-2);
    /*max-width: 780px;*/
    line-height: 1.85;
    margin-bottom: 38px
}

.stats {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
}

.stat {
    padding: 24px 18px;
    border-right: 1px solid var(--line);
    text-align: center
}

    .stat:last-child {
        border-right: none
    }

    .stat b {
        display: block;
        font-size: 30px;
        font-weight: 800;
        letter-spacing: -.5px;
        color: var(--ink);
        line-height: 1.2
    }

        .stat b span {
            font-size: 16px;
            color: var(--brand);
            margin-left: 2px
        }

    .stat span.lbl {
        font-size: 13px;
        color: var(--ink-3);
        letter-spacing: .5px;
        display: block;
        margin-top: 4px
    }

/* 通用区块 */
section {
    padding: 96px 0
}

.sec-head {
    text-align: center;
    max-width: 760px;
    margin: 0 auto 60px
}

.tag {
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.5px;
    color: var(--brand);
    background: var(--brand-soft);
    padding: 6px 14px;
    border-radius: 6px;
    margin-bottom: 16px;
}

.sec-head h2 {
    font-size: clamp(24px,3vw,36px);
    font-weight: 800;
    letter-spacing: -.4px;
    margin-bottom: 14px;
    line-height: 1.35
}

.sec-head p {
    font-size: 16px;
    color: var(--ink-3);
    line-height: 1.8
}

/* 目标四象限 */
.obj-grid {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 24px
}

.obj {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 32px 30px;
    position: relative;
    overflow: hidden;
    transition: .3s;
}

    .obj:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow);
        border-color: transparent
    }

    .obj .no {
        position: absolute;
        right: 22px;
        bottom: 8px;
        font-size: 78px;
        font-weight: 800;
        color: var(--ink);
        opacity: .045;
        line-height: 1;
        letter-spacing: -3px;
    }

    .obj .ico {
        width: 46px;
        height: 46px;
        border-radius: 13px;
        background: var(--brand-soft);
        color: var(--brand);
        display: grid;
        place-items: center;
        margin-bottom: 18px;
        transition: .3s;
    }

    .obj:hover .ico {
        background: linear-gradient(135deg,var(--brand),var(--cyan));
        color: #fff
    }

    .obj .ico svg {
        width: 23px;
        height: 23px;
        stroke: currentColor;
        fill: none;
        stroke-width: 1.8;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .obj h3 {
        font-size: 18px;
        font-weight: 700;
        margin-bottom: 10px;
        position: relative
    }

    .obj p {
        font-size: 14.5px;
        color: var(--ink-3);
        line-height: 1.85;
        position: relative
    }

    .obj .kpi {
        display: inline-block;
        margin-top: 14px;
        background: var(--bg-soft);
        border: 1px solid var(--line);
        color: var(--brand);
        font-weight: 700;
        font-size: 13px;
        padding: 4px 12px;
        border-radius: 6px;
        position: relative;
    }

/* 训练流程 */
.flow {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px
}

.fstep {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 28px 26px;
    transition: .3s;
    position: relative;
}

    .fstep:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow);
        border-color: transparent
    }

    .fstep .sn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 34px;
        height: 34px;
        border-radius: 10px;
        background: linear-gradient(135deg,var(--brand),var(--cyan));
        color: #fff;
        font-size: 14px;
        font-weight: 800;
        margin-bottom: 14px;
    }

    .fstep h4 {
        font-size: 16.5px;
        font-weight: 700;
        margin-bottom: 10px
    }

    .fstep ul {
        list-style: none;
        margin: 0;
        text-align: left;
    }

    .fstep li {
        font-size: 13.5px;
        color: var(--ink-3);
        line-height: 1.75;
        padding-left: 15px;
        position: relative;
        margin-bottom: 6px;
    }

        .fstep li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 9px;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--cyan)
        }

        .fstep li b {
            color: var(--ink-2);
            font-weight: 600
        }

/* 蒸馏架构 */
.distill {
    display: grid;
    grid-template-columns: 1fr 1.1fr 1fr;
    gap: 0;
    align-items: center;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    margin-bottom: 34px;
}

.dm {
    padding: 38px 28px;
    text-align: center;
    position: relative
}

    .dm.teacher {
        background: linear-gradient(160deg,rgba(26,86,255,.05),rgba(0,168,181,.05))
    }

    .dm.student {
        background: linear-gradient(160deg,rgba(0,168,181,.06),rgba(22,163,74,.05))
    }

    .dm .role {
        font-size: 11.5px;
        font-weight: 700;
        letter-spacing: 2.5px;
        color: var(--ink-3);
        margin-bottom: 14px
    }

    .dm .box {
        border-radius: 16px;
        padding: 26px 20px;
        color: #fff;
        margin: 0 auto 16px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .dm.teacher .box {
        width: 170px;
        height: 170px;
        background: linear-gradient(145deg,var(--brand-deep),var(--brand));
        box-shadow: 0 16px 38px rgba(26,86,255,.32);
    }

    .dm.student .box {
        width: 112px;
        height: 112px;
        background: linear-gradient(145deg,var(--cyan),#0d8f7a);
        box-shadow: 0 14px 32px rgba(0,168,181,.3);
    }

    .dm .box .nm {
        font-size: 19px;
        font-weight: 800;
        line-height: 1.3
    }

    .dm .box .sub {
        font-size: 12px;
        opacity: .8;
        margin-top: 5px
    }

    .dm .cap {
        font-size: 13px;
        color: var(--ink-3);
        line-height: 1.75
    }

.dn-stream {
    padding: 34px 24px
}

.stream {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--bg-soft);
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 13px 16px;
    margin-bottom: 11px;
    transition: .28s;
}

    .stream:last-child {
        margin-bottom: 0
    }

    .stream:hover {
        background: #fff;
        border-color: var(--brand);
        transform: translateX(3px)
    }

    .stream .arw {
        color: var(--brand);
        flex-shrink: 0;
        display: grid;
        place-items: center
    }

        .stream .arw svg {
            width: 17px;
            height: 17px;
            stroke: currentColor;
            fill: none;
            stroke-width: 2;
            stroke-linecap: round;
            stroke-linejoin: round
        }

    .stream .tx b {
        display: block;
        font-size: 14px;
        font-weight: 700;
        color: var(--ink)
    }

    .stream .tx span {
        font-size: 12.5px;
        color: var(--ink-3);
        line-height: 1.6
    }

.temp-bar {
    margin-top: 16px;
    padding: 14px 16px;
    border-radius: 12px;
    background: linear-gradient(90deg,rgba(245,158,11,.14),rgba(26,86,255,.12));
    border: 1px solid var(--line);
}

    .temp-bar .lbl {
        font-size: 12.5px;
        color: var(--ink-2);
        font-weight: 600;
        margin-bottom: 8px
    }

    .temp-bar .bar {
        height: 7px;
        border-radius: 99px;
        background: linear-gradient(90deg,var(--warn),var(--brand));
        position: relative
    }

    .temp-bar .ends {
        display: flex;
        justify-content: space-between;
        font-size: 12px;
        color: var(--ink-3);
        margin-top: 7px
    }

/* 表格 */
.tbl-wrap {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    overflow-x: auto;
}

table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14.5px;
    min-width: 560px
}

thead th {
    background: var(--ink);
    color: #fff;
    text-align: left;
    padding: 15px 22px;
    font-weight: 600;
    font-size: 13.5px;
    letter-spacing: .5px;
    white-space: nowrap;
}

tbody td {
    padding: 16px 22px;
    border-top: 1px solid var(--line);
    color: var(--ink-2);
    line-height: 1.7;
    vertical-align: top
}

tbody tr:hover {
    background: var(--bg-soft)
}

tbody td:first-child {
    font-weight: 700;
    color: var(--ink);
    white-space: nowrap
}

tbody td b {
    color: var(--brand)
}

/* 实施阶段 */
.phases {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
    position: relative
}

.phase {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 28px 24px;
    transition: .3s;
    position: relative;
}

    .phase:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow);
        border-color: transparent
    }

    .phase .wk {
        display: inline-block;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 1.5px;
        color: var(--brand);
        background: var(--brand-soft);
        padding: 4px 11px;
        border-radius: 6px;
        margin-bottom: 12px;
    }

    .phase h4 {
        font-size: 16.5px;
        font-weight: 700;
        margin-bottom: 10px;
        line-height: 1.45
    }

    .phase ul {
        list-style: none;
        text-align: left;
    }

    .phase li {
        font-size: 13.5px;
        color: var(--ink-3);
        line-height: 1.75;
        padding-left: 14px;
        position: relative;
        margin-bottom: 5px
    }

        .phase li::before {
            content: "";
            position: absolute;
            left: 0;
            top: 9px;
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--brand);
            opacity: .55
        }

/* 指标条 */
.metrics {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
    margin-top: 34px
}

.metric {
    background: var(--bg-soft);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 24px 26px;
    display: flex;
    align-items: center;
    gap: 18px;
}

    .metric .qi {
        width: 46px;
        height: 46px;
        border-radius: 13px;
        flex-shrink: 0;
        background: linear-gradient(135deg,var(--brand),var(--cyan));
        color: #fff;
        display: grid;
        place-items: center;
        font-size: 18px;
        font-weight: 800;
    }

    .metric .tx b {
        display: block;
        font-size: 15.5px;
        font-weight: 700;
        color: var(--ink);
        margin-bottom: 3px
    }

    .metric .tx span {
        font-size: 13px;
        color: var(--ink-3);
        line-height: 1.6
    }

/* API 服务链路 */
.chain {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    overflow: hidden;
    margin-bottom: 34px;
}

    .chain .node {
        padding: 28px 22px;
        text-align: center;
        position: relative;
        border-right: 1px solid var(--line)
    }

        .chain .node:last-child {
            border-right: none
        }

        .chain .node::after {
            content: "";
            position: absolute;
            right: -9px;
            top: 50%;
            transform: translateY(-50%);
            width: 0;
            height: 0;
            z-index: 2;
            border-left: 9px solid var(--line);
            border-top: 7px solid transparent;
            border-bottom: 7px solid transparent;
        }

        .chain .node:last-child::after {
            display: none
        }

        .chain .node .cn {
            width: 38px;
            height: 38px;
            border-radius: 11px;
            margin: 0 auto 13px;
            background: linear-gradient(135deg,var(--brand),var(--cyan));
            color: #fff;
            display: grid;
            place-items: center;
            font-weight: 800;
            font-size: 14px;
        }

        .chain .node b {
            display: block;
            font-size: 15px;
            font-weight: 700;
            margin-bottom: 6px
        }

        .chain .node span {
            font-size: 13px;
            color: var(--ink-3);
            line-height: 1.7
        }

.api-spec {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    background: var(--bg-soft);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    overflow: hidden;
}

    .api-spec div {
        padding: 22px 18px;
        text-align: center;
        border-right: 1px solid var(--line)
    }

        .api-spec div:last-child {
            border-right: none
        }

    .api-spec b {
        display: block;
        font-size: 20px;
        font-weight: 800;
        letter-spacing: -.3px;
        color: var(--brand);
        line-height: 1.3
    }

    .api-spec span {
        display: block;
        font-size: 12.5px;
        color: var(--ink-3);
        margin-top: 5px
    }

/* 交付 */
.deliver {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px
}

.dl {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 32px 28px;
    text-align: center;
    transition: .3s;
}

    .dl:hover {
        transform: translateY(-4px);
        box-shadow: var(--shadow);
        border-color: transparent
    }

    .dl .di {
        width: 56px;
        height: 56px;
        border-radius: 16px;
        margin: 0 auto 18px;
        background: linear-gradient(135deg,var(--brand),var(--cyan));
        color: #fff;
        display: grid;
        place-items: center;
    }

        .dl .di svg {
            width: 26px;
            height: 26px;
            stroke: currentColor;
            fill: none;
            stroke-width: 1.8;
            stroke-linecap: round;
            stroke-linejoin: round
        }

    .dl h4 {
        font-size: 17px;
        font-weight: 700;
        margin-bottom: 9px
    }

    .dl p {
        font-size: 14px;
        color: var(--ink-3);
        line-height: 1.8
    }

/* 量化对比 */
.quant {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 26px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 32px;
    margin-top: 34px;
}

.qbox {
    text-align: center;
    padding: 20px 16px;
    border-radius: 14px
}

    .qbox.from {
        background: var(--bg-soft)
    }

    .qbox.to {
        background: linear-gradient(150deg,rgba(22,163,74,.09),rgba(0,168,181,.07))
    }

    .qbox .t {
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 2px;
        color: var(--ink-3);
        margin-bottom: 10px
    }

    .qbox .v {
        font-size: 30px;
        font-weight: 800;
        letter-spacing: -.5px;
        color: var(--ink);
        line-height: 1.2
    }

    .qbox.to .v {
        color: var(--green)
    }

    .qbox .s {
        font-size: 13px;
        color: var(--ink-3);
        margin-top: 6px
    }

.qarrow {
    text-align: center;
    color: var(--brand)
}

    .qarrow svg {
        width: 38px;
        height: 38px;
        stroke: currentColor;
        fill: none;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round
    }

    .qarrow .cut {
        display: block;
        font-size: 13px;
        font-weight: 700;
        color: var(--green);
        margin-top: 2px
    }

.reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .7s ease,transform .7s cubic-bezier(.22,.8,.3,1)
}

    .reveal.in {
        opacity: 1;
        transform: none
    }

@media(max-width:1100px) {
    .distill {
        grid-template-columns: 1fr;
        gap: 0
    }

    .dm.teacher, .dm.student {
        padding: 30px 24px
    }

    .dn-stream {
        border-top: 1px solid var(--line);
        border-bottom: 1px solid var(--line)
    }
}

@media(max-width:1000px) {
    .stats {
        grid-template-columns: repeat(2,1fr)
    }

    .stat {
        border-bottom: 1px solid var(--line)
    }

        .stat:nth-child(2) {
            border-right: none
        }

        .stat:nth-child(3), .stat:nth-child(4) {
            border-bottom: none
        }

    .flow {
        grid-template-columns: repeat(2,1fr)
    }

    .phases {
        grid-template-columns: repeat(2,1fr)
    }

    .deliver {
        grid-template-columns: 1fr
    }

    .metrics {
        grid-template-columns: 1fr
    }

    .chain {
        grid-template-columns: repeat(2,1fr)
    }

        .chain .node {
            border-bottom: 1px solid var(--line)
        }

            .chain .node:nth-child(2) {
                border-right: none
            }

                .chain .node:nth-child(2)::after {
                    display: none
                }

            .chain .node:nth-child(3), .chain .node:nth-child(4) {
                border-bottom: none
            }

    .api-spec {
        grid-template-columns: repeat(2,1fr)
    }

        .api-spec div {
            border-bottom: 1px solid var(--line)
        }

            .api-spec div:nth-child(2) {
                border-right: none
            }

            .api-spec div:nth-child(3), .api-spec div:nth-child(4) {
                border-bottom: none
            }
}

@media(max-width:720px) {
    .wrap {
        padding: 0 20px
    }

    .hero {
        padding: 68px 0 60px
    }

    section {
        padding: 68px 0
    }

    .obj-grid, .flow, .phases {
        grid-template-columns: 1fr
    }

    .quant {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 24px
    }

    .qarrow svg {
        transform: rotate(90deg)
    }

    .chain {
        grid-template-columns: 1fr
    }

        .chain .node {
            border-bottom: 1px solid var(--line);
            border-right: none
        }

            .chain .node:last-child {
                border-bottom: none
            }

    .api-spec {
        grid-template-columns: 1fr
    }

        .api-spec div {
            border-bottom: 1px solid var(--line);
            border-right: none
        }

            .api-spec div:last-child {
                border-bottom: none
            }

    .sec-head h2 {
        font-size: 24px
    }

    .stat b {
        font-size: 26px
    }
}