/* ========================================
   企业Agent 专页 — 企业级视觉 / 全模块滚动显现
   ======================================== */

html:has(.ea-body) {
    background-color: var(--color-bg-light);
}

.ea-body {
    background: var(--color-bg-light);
    /* 避免整页内容偏短时底部露出默认白底 */
    min-height: 100dvh;
    min-height: 100svh;
}

.ea {
    --ea-cyan: #22d3ee;
    --ea-cyan-dim: rgba(34, 211, 238, 0.45);
    --ea-glow: rgba(16, 176, 252, 0.55);
    --ea-surface: rgba(15, 23, 42, 0.65);
    --ea-glass: rgba(255, 255, 255, 0.06);
    --ea-border: rgba(125, 211, 252, 0.22);
    /* 正文与分节节奏：偏易读、留白更大 */
    --ea-text-on-light: #334155;
    --ea-text-on-light-muted: #475569;
    --ea-text-on-dark: #f1f5f9;
    --ea-text-on-dark-muted: #cbd5e1;
    --ea-text-on-dark-subtle: #94a3b8;
    --ea-section-y: clamp(5.5rem, 11vw, 8.5rem);
    --ea-band-head-gap: clamp(2.75rem, 6vw, 4.5rem);
    padding-top: calc(var(--nav-offset, 72px) + env(safe-area-inset-top, 0px));
    overflow-x: hidden;
    background: var(--color-bg-light);
}

/* 本页版心略加宽，长文案与四列栅格更舒展 */
.ea .container {
    max-width: 1240px;
}

/* 本页滚动显现：短时长 + 略小位移；避免与外层 section 叠双层 fade-in（滞涩感主要来自叠层） */
.ea .fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity 0.38s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        transform 0.38s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ea .fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    .ea .fade-in {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .ea-pillar.fade-in {
        transition-delay: 0s !important;
    }

    .ea-stack__card.fade-in {
        transition-delay: 0s !important;
    }

    .ea-hero__content > .fade-in {
        transition-delay: 0s !important;
    }

    .ea-journey__track > li.fade-in {
        transition-delay: 0s !important;
    }

    .ea-split__list-wrap.fade-in {
        transition-delay: 0s !important;
    }

    .ea-phase.fade-in {
        transition-delay: 0s !important;
    }

    .ea-runtime-legend__item.fade-in {
        transition-delay: 0s !important;
    }

    .ea-runtime-svg > g.ea-runtime-step.fade-in {
        transition-delay: 0s !important;
    }

    .ea-hero__mesh {
        animation: none;
    }

    .ea-hero__eyebrow::before {
        animation: none;
    }

    .ea-hero__comet-flow {
        animation: none;
    }

    .ea-hero__comet-heads {
        display: none;
    }
}

/* Hero 内元素依次显现（短阶梯，避免首屏长时间排队） */
.ea-hero__content > .fade-in:nth-child(1) {
    transition-delay: 0s;
}
.ea-hero__content > .fade-in:nth-child(2) {
    transition-delay: 0.02s;
}
.ea-hero__content > .fade-in:nth-child(3) {
    transition-delay: 0.04s;
}
.ea-hero__content > .fade-in:nth-child(4) {
    transition-delay: 0.06s;
}
.ea-hero__content > .fade-in:nth-child(5) {
    transition-delay: 0.08s;
}
.ea-hero__content > .fade-in:nth-child(6) {
    transition-delay: 0.1s;
}

/* —— Hero：首屏铺满（视口高度 − 固定导航 − 顶部安全区） —— */
.ea-hero {
    position: relative;
    isolation: isolate;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    min-height: max(
        calc(100svh - var(--nav-offset, 72px) - env(safe-area-inset-top, 0px)),
        560px
    );
    min-height: max(
        calc(100dvh - var(--nav-offset, 72px) - env(safe-area-inset-top, 0px)),
        560px
    );
    padding: clamp(40px, 6vw, 80px) 0 clamp(40px, 7vw, 96px);
}

.ea-hero__aurora {
    position: absolute;
    inset: 0;
    z-index: 0;
    background:
        radial-gradient(ellipse 80% 55% at 15% 20%, rgba(16, 176, 252, 0.35), transparent 55%),
        radial-gradient(ellipse 60% 50% at 85% 10%, rgba(34, 211, 238, 0.22), transparent 50%),
        radial-gradient(ellipse 70% 60% at 50% 100%, rgba(14, 165, 233, 0.18), transparent 55%),
        linear-gradient(180deg, #050a14 0%, #0a1628 38%, #030712 100%);
    pointer-events: none;
}

.ea-hero__aurora::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 0%, rgba(3, 7, 18, 0.55) 88%, #030712 100%);
}

.ea-hero__mesh {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0.35;
    background-image:
        linear-gradient(rgba(125, 211, 252, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(125, 211, 252, 0.07) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: radial-gradient(ellipse 75% 70% at 50% 35%, black 20%, transparent 75%);
    pointer-events: none;
    animation: ea-mesh-drift 28s linear infinite;
}

@keyframes ea-mesh-drift {
    0% {
        transform: translateY(0);
    }
    100% {
        transform: translateY(56px);
    }
}

.ea-hero__ring {
    position: absolute;
    z-index: 1;
    width: min(120vw, 1400px);
    height: min(120vw, 1400px);
    left: 50%;
    top: 42%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid rgba(125, 211, 252, 0.12);
    box-shadow:
        0 0 80px rgba(16, 176, 252, 0.08),
        inset 0 0 60px rgba(16, 176, 252, 0.04);
    pointer-events: none;
}

.ea-hero__ring--2 {
    width: min(95vw, 1100px);
    height: min(95vw, 1100px);
    opacity: 0.65;
    border-color: rgba(34, 211, 238, 0.1);
}

/* Hero 两侧弧形能量轨 + 沿轨发光彗星 */
.ea-hero__comets {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    pointer-events: none;
    opacity: 0.92;
    mask-image: radial-gradient(ellipse 108% 82% at 50% 42%, black 18%, transparent 94%);
}

.ea-hero__comet-track {
    stroke: url(#ea-comet-stroke);
    stroke-width: 1.15;
    opacity: 0.42;
}

.ea-hero__comet-flow {
    stroke-width: 2.4;
    stroke-dasharray: 72 520;
    stroke-dashoffset: 0;
    opacity: 0.75;
    animation: ea-comet-flow 7.5s linear infinite;
}

.ea-hero__comet-flow--1 {
    animation-duration: 9s;
}

.ea-hero__comet-flow--2 {
    animation-duration: 7.2s;
    animation-delay: -2.4s;
}

.ea-hero__comet-flow--3 {
    animation-duration: 7.8s;
    animation-direction: reverse;
}

.ea-hero__comet-flow--4 {
    animation-duration: 9.5s;
    animation-direction: reverse;
    animation-delay: -1.2s;
}

@keyframes ea-comet-flow {
    to {
        stroke-dashoffset: -592;
    }
}

.ea-hero__content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
}

.ea-hero__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 24px;
    padding: 10px 20px;
    font-size: var(--font-size-ea-eyebrow);
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--ea-cyan);
    border: 1px solid var(--ea-border);
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.5);
    backdrop-filter: blur(10px);
}

.ea-hero__eyebrow::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ea-cyan);
    box-shadow: 0 0 12px var(--ea-glow);
    animation: ea-pulse 2.2s ease-in-out infinite;
}

@keyframes ea-pulse {
    0%,
    100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.65;
        transform: scale(1.15);
    }
}

.ea-hero__title {
    margin: 0 0 16px;
    font-size: var(--font-size-ea-hero-title);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.08;
    color: #f0f9ff;
    text-shadow:
        0 0 40px rgba(56, 189, 248, 0.35),
        0 2px 0 rgba(0, 0, 0, 0.35);
}

.ea-hero__title span {
    background: linear-gradient(135deg, #e0f2fe 0%, #7dd3fc 45%, #38bdf8 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.ea-hero__subtitle {
    margin: 0 0 28px;
    font-size: var(--font-size-ea-hero-subtitle);
    font-weight: 600;
    color: rgba(186, 230, 253, 0.92);
    letter-spacing: 0.06em;
}

.ea-hero__lead {
    margin: 0 auto 40px;
    max-width: 40em;
    font-size: var(--font-size-ea-hero-lead);
    line-height: 1.82;
    color: rgba(226, 232, 240, 0.96);
    text-align: center;
}

.ea-hero__lead strong {
    color: #f0f9ff;
    font-weight: 700;
}

.ea-hero__lead a {
    color: var(--ea-cyan);
    font-weight: 600;
    text-decoration: none;
    border-bottom: 1px solid var(--ea-cyan-dim);
    transition: color 0.2s ease, border-color 0.2s ease;
}

.ea-hero__lead a:hover {
    color: #fff;
    border-color: rgba(255, 255, 255, 0.45);
}

.ea-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    margin-bottom: 48px;
}

.ea-hero__actions .btn {
    border-radius: 10px;
    padding: 14px 28px;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.ea-hero__actions .btn-primary {
    background: linear-gradient(145deg, #0ea5e9, #0284c7);
    border: 1px solid rgba(125, 211, 252, 0.35);
    box-shadow: 0 12px 40px rgba(14, 165, 233, 0.35);
}

.ea-hero__actions .btn-primary:hover {
    background: linear-gradient(145deg, #38bdf8, #0ea5e9);
    box-shadow: 0 16px 48px rgba(14, 165, 233, 0.45);
}

.ea-hero__actions .btn-secondary {
    border-color: rgba(186, 230, 253, 0.45);
    color: #e0f2fe;
}

.ea-hero__actions .btn-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-color: #fff;
}

.ea-hero__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(14px, 2.5vw, 22px);
    max-width: 720px;
    margin: 0 auto;
}

.ea-metric {
    padding: 22px 18px;
    border-radius: 16px;
    border: 1px solid rgba(125, 211, 252, 0.22);
    background: rgba(15, 23, 42, 0.55);
    backdrop-filter: blur(12px);
}

.ea-metric__val {
    display: block;
    font-size: var(--font-size-ea-metric-val);
    font-weight: 800;
    color: #f8fafc;
    margin-bottom: 6px;
}

.ea-metric__lab {
    font-size: var(--font-size-ea-metric-lab);
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(203, 213, 225, 0.95);
}

/* —— 通用分节 —— */
.ea-band {
    position: relative;
    padding: var(--ea-section-y) 0;
}

/* 保留类名：典型交付区改为浅色主底，避免与页尾深色连成一片 */
.ea-band--dark {
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 55%, #e8eef5 100%);
}

.ea-band--light {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 45%, #f1f5f9 100%);
}

.ea-band__head {
    text-align: center;
    max-width: min(52rem, 100%);
    margin: 0 auto var(--ea-band-head-gap);
}

.ea-band__kicker {
    margin: 0 0 14px;
    font-size: var(--font-size-ea-band-kicker);
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--color-primary-blue);
}

.ea-band--dark .ea-band__kicker {
    color: #0369a1;
}

.ea-band__head h2 {
    margin: 0 0 18px;
    font-size: var(--font-size-ea-band-h2);
    font-weight: 800;
    letter-spacing: -0.025em;
    line-height: 1.18;
    color: #0f172a;
}

.ea-band--dark .ea-band__head h2 {
    color: #0f172a;
}

.ea-band__head p {
    margin: 0 auto;
    max-width: 46rem;
    font-size: var(--font-size-ea-band-lead);
    line-height: 1.78;
    color: var(--ea-text-on-light-muted);
}

.ea-band--dark .ea-band__head p {
    color: var(--ea-text-on-light-muted);
}

/* —— 能力四宫格 —— */
.ea-pillars {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(20px, 2.5vw, 28px);
}

.ea-pillar {
    position: relative;
    padding: clamp(28px, 3vw, 36px) clamp(22px, 2.5vw, 28px) clamp(26px, 3vw, 32px);
    border-radius: 20px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: linear-gradient(165deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 250, 252, 0.88) 100%);
    box-shadow:
        0 20px 50px rgba(15, 52, 96, 0.08),
        0 0 0 1px rgba(255, 255, 255, 0.8) inset;
    overflow: hidden;
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.35s ease, border-color 0.35s ease;
}

.ea-pillar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #0ea5e9, #22d3ee, #a5f3fc);
    opacity: 0.95;
}

.ea-pillar:hover {
    transform: translateY(-8px);
    border-color: rgba(14, 165, 233, 0.45);
    box-shadow:
        0 28px 70px rgba(14, 165, 233, 0.18),
        0 0 0 1px rgba(255, 255, 255, 0.9) inset;
}

.ea-pillar__icon {
    width: 48px;
    height: 48px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    font-size: var(--font-size-card-title);
    font-weight: 800;
    color: #0c4a6e;
    background: linear-gradient(145deg, rgba(14, 165, 233, 0.2), rgba(34, 211, 238, 0.12));
    border: 1px solid rgba(14, 165, 233, 0.25);
}

.ea-pillar h3 {
    margin: 0 0 14px;
    font-size: var(--font-size-ea-pillar-h3);
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
}

.ea-pillar p {
    margin: 0;
    font-size: var(--font-size-ea-pillar-p);
    line-height: 1.72;
    color: var(--ea-text-on-light-muted);
}

/* 同屏进入时阶梯延迟（短间隔） */
.ea-pillar.fade-in:nth-child(1) {
    transition-delay: 0s;
}
.ea-pillar.fade-in:nth-child(2) {
    transition-delay: 0.02s;
}
.ea-pillar.fade-in:nth-child(3) {
    transition-delay: 0.04s;
}
.ea-pillar.fade-in:nth-child(4) {
    transition-delay: 0.06s;
}

/* —— 工程纵深：浅色主底 + 白卡片，易读不压抑 —— */
.ea-band--stack {
    background:
        radial-gradient(ellipse 80% 50% at 50% 0%, rgba(14, 165, 233, 0.08), transparent 55%),
        linear-gradient(185deg, #f8fafc 0%, #eef2f7 50%, #f1f5f9 100%);
    border-top: 1px solid rgba(148, 163, 184, 0.18);
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.ea-band--stack .ea-band__head p {
    color: var(--ea-text-on-light-muted);
}

.ea-stack {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(18px, 2.2vw, 26px);
}

.ea-stack__card {
    position: relative;
    margin: 0;
    padding: clamp(24px, 2.5vw, 30px) clamp(20px, 2vw, 26px) clamp(22px, 2.5vw, 28px);
    border-radius: 20px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: linear-gradient(165deg, #ffffff 0%, rgba(248, 250, 252, 0.96) 100%);
    box-shadow:
        0 10px 40px rgba(15, 52, 96, 0.07),
        0 0 0 1px rgba(255, 255, 255, 0.9) inset;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.ea-stack__card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    border-radius: 16px 0 0 16px;
    background: linear-gradient(180deg, #22d3ee, #0ea5e9);
    opacity: 0.85;
}

.ea-stack__card:hover {
    transform: translateY(-5px);
    border-color: rgba(14, 165, 233, 0.35);
    box-shadow:
        0 22px 56px rgba(14, 165, 233, 0.12),
        0 0 0 1px rgba(255, 255, 255, 1) inset;
}

.ea-stack__tag {
    display: inline-block;
    margin-bottom: 14px;
    padding: 5px 12px;
    font-size: var(--font-size-ea-stack-tag);
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: #0c4a6e;
    background: linear-gradient(145deg, rgba(125, 211, 252, 0.35), rgba(14, 165, 233, 0.12));
    border: 1px solid rgba(14, 165, 233, 0.28);
    border-radius: 8px;
}

.ea-stack__card h3 {
    margin: 0 0 12px;
    padding-left: 6px;
    font-size: var(--font-size-ea-stack-h3);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: #0f172a;
}

.ea-stack__card p {
    margin: 0;
    padding-left: 6px;
    font-size: var(--font-size-ea-stack-p);
    line-height: 1.72;
    color: var(--ea-text-on-light-muted);
}

.ea-stack__card.fade-in:nth-child(1) {
    transition-delay: 0s;
}
.ea-stack__card.fade-in:nth-child(2) {
    transition-delay: 0.02s;
}
.ea-stack__card.fade-in:nth-child(3) {
    transition-delay: 0.04s;
}
.ea-stack__card.fade-in:nth-child(4) {
    transition-delay: 0.06s;
}
.ea-stack__card.fade-in:nth-child(5) {
    transition-delay: 0.02s;
}
.ea-stack__card.fade-in:nth-child(6) {
    transition-delay: 0.04s;
}
.ea-stack__card.fade-in:nth-child(7) {
    transition-delay: 0.06s;
}
.ea-stack__card.fade-in:nth-child(8) {
    transition-delay: 0.06s;
}

/* —— 运行时原理：浅色区 + 深色原理图卡片 —— */
.ea-band--runtime {
    background:
        radial-gradient(ellipse 70% 45% at 50% 0%, rgba(14, 165, 233, 0.06), transparent 50%),
        linear-gradient(188deg, #ffffff 0%, #f8fafc 40%, #f1f5f9 100%);
    border-top: 1px solid rgba(148, 163, 184, 0.15);
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.ea-band--runtime .ea-band__head {
    max-width: min(52rem, 100%);
}

.ea-band--runtime .ea-band__head p {
    color: var(--ea-text-on-light-muted);
}

.ea-band--runtime .ea-band__head strong {
    color: #0f172a;
}

.ea-runtime-diagram {
    margin-top: clamp(32px, 4.5vw, 52px);
    display: flex;
    flex-direction: column;
    gap: clamp(24px, 3vw, 36px);
    overflow: visible;
}

.ea-runtime-diagram__chart {
    padding: clamp(28px, 4vw, 48px) clamp(20px, 3vw, 36px);
    border-radius: 24px;
    border: 1px solid rgba(56, 189, 248, 0.22);
    background: linear-gradient(165deg, #0f172a 0%, #0c1322 55%, #020617 100%);
    box-shadow: 0 28px 70px rgba(15, 23, 42, 0.18);
    overflow: visible;
}

.ea-runtime-svg {
    display: block;
    width: 100%;
    max-width: min(820px, 100%);
    height: auto;
    margin: 0 auto;
    filter: drop-shadow(0 12px 32px rgba(0, 0, 0, 0.25));
}

/* 原理图：每步独立 fade-in + 阶梯延迟（与 main.js ScrollAnimation 的 .visible 配合） */
.ea-runtime-svg > g.ea-runtime-step.fade-in {
    opacity: 0;
    transform: translateY(14px);
    transition:
        opacity 0.34s cubic-bezier(0.25, 0.46, 0.45, 0.94),
        transform 0.34s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ea-runtime-svg > g.ea-runtime-step.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

.ea-runtime-svg > g.ea-runtime-step.fade-in:nth-of-type(1) {
    transition-delay: 0s;
}
.ea-runtime-svg > g.ea-runtime-step.fade-in:nth-of-type(2) {
    transition-delay: 0.01s;
}
.ea-runtime-svg > g.ea-runtime-step.fade-in:nth-of-type(3) {
    transition-delay: 0.02s;
}
.ea-runtime-svg > g.ea-runtime-step.fade-in:nth-of-type(4) {
    transition-delay: 0.03s;
}
.ea-runtime-svg > g.ea-runtime-step.fade-in:nth-of-type(5) {
    transition-delay: 0.04s;
}
.ea-runtime-svg > g.ea-runtime-step.fade-in:nth-of-type(6) {
    transition-delay: 0.05s;
}
.ea-runtime-svg > g.ea-runtime-step.fade-in:nth-of-type(7) {
    transition-delay: 0.06s;
}
.ea-runtime-svg > g.ea-runtime-step.fade-in:nth-of-type(8) {
    transition-delay: 0.07s;
}

.ea-runtime-legend {
    margin-top: 0;
    display: grid;
    gap: clamp(18px, 2.5vw, 22px);
    max-width: min(52rem, 100%);
    margin-left: auto;
    margin-right: auto;
}

.ea-runtime-legend__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px 20px;
    align-items: start;
    padding: clamp(18px, 2.2vw, 22px) clamp(20px, 2.5vw, 24px);
    border-radius: 16px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    background: #ffffff;
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.04);
}

.ea-runtime-legend__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.25rem;
    padding: 6px 12px;
    font-size: var(--font-size-ea-legend-tag);
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #22d3ee;
    border: 1px solid rgba(34, 211, 238, 0.35);
    border-radius: 8px;
    background: rgba(34, 211, 238, 0.1);
}

.ea-runtime-legend__tag--ses {
    color: #a5f3fc;
    border-color: rgba(103, 232, 249, 0.4);
    background: rgba(103, 232, 249, 0.1);
}

.ea-runtime-legend__item p {
    margin: 0;
    font-size: var(--font-size-ea-legend-p);
    line-height: 1.75;
    color: var(--ea-text-on-light-muted);
}

.ea-runtime-legend__item code {
    font-size: calc(1em * var(--font-size-ratio-code));
    padding: 0.15em 0.4em;
    border-radius: 6px;
    background: #f1f5f9;
    border: 1px solid rgba(148, 163, 184, 0.35);
    color: #0c4a6e;
}

.ea-runtime-legend__item.fade-in:nth-child(1) {
    transition-delay: 0s;
}
.ea-runtime-legend__item.fade-in:nth-child(2) {
    transition-delay: 0.02s;
}
.ea-runtime-legend__item.fade-in:nth-child(3) {
    transition-delay: 0.04s;
}

/* —— 交付：分屏冲击 —— */
.ea-split {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
    gap: 0;
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.28);
    box-shadow: 0 28px 72px rgba(15, 23, 42, 0.12);
}

.ea-split__visual {
    position: relative;
    padding: clamp(44px, 6vw, 72px);
    background:
        linear-gradient(145deg, rgba(15, 52, 96, 0.98) 0%, #0a1628 50%, #020617 100%);
    min-height: 360px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ea-split__visual::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 30%, rgba(56, 189, 248, 0.2), transparent 55%);
    pointer-events: none;
}

.ea-split__visual h2 {
    position: relative;
    margin: 0 0 16px;
    font-size: var(--font-size-ea-split-h2);
    font-weight: 800;
    color: #f8fafc;
    letter-spacing: -0.02em;
    line-height: 1.22;
}

.ea-split__visual > p {
    position: relative;
    margin: 0;
    font-size: var(--font-size-ea-split-p);
    line-height: 1.78;
    color: rgba(224, 242, 254, 0.94);
    max-width: 26em;
}

.ea-split__list-wrap {
    padding: clamp(44px, 6vw, 64px);
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
}

.ea-split__list-wrap.fade-in {
    transition-delay: 0.02s;
}

.ea-deliver-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ea-deliver-list li {
    position: relative;
    padding: 20px 0 20px 48px;
    font-size: var(--font-size-ea-deliver-li);
    line-height: 1.72;
    color: var(--ea-text-on-light);
    border-bottom: 1px solid rgba(15, 52, 96, 0.08);
}

.ea-deliver-list li:last-child {
    border-bottom: none;
}

.ea-deliver-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 1.15em;
    width: 12px;
    height: 12px;
    border-radius: 4px;
    background: linear-gradient(145deg, #0ea5e9, #0369a1);
    box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2);
}

/* —— 实施与验收：里程碑卡片（浅色体系） —— */
.ea-band--journey {
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 40%, #f1f5f9 100%);
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.ea-band--journey .ea-band__head {
    max-width: min(52rem, 100%);
}

.ea-phase-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(22px, 3vw, 32px);
    max-width: 1120px;
    margin: 0 auto;
}

.ea-phase {
    margin: 0;
    padding: clamp(26px, 3vw, 34px) clamp(24px, 2.8vw, 30px) clamp(24px, 3vw, 30px);
    border-radius: 20px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    background: linear-gradient(165deg, #ffffff 0%, rgba(248, 250, 252, 0.96) 100%);
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.06);
}

.ea-phase__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3rem;
    margin-bottom: 12px;
    padding: 5px 12px;
    font-size: var(--font-size-ea-phase-badge);
    font-weight: 800;
    letter-spacing: 0.1em;
    color: #0c4a6e;
    background: linear-gradient(145deg, #7dd3fc, #38bdf8);
    border-radius: 8px;
}

.ea-phase h3 {
    margin: 0 0 12px;
    font-size: var(--font-size-ea-phase-h3);
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.02em;
    line-height: 1.25;
}

.ea-phase__lead {
    margin: 0 0 16px;
    font-size: var(--font-size-ea-phase-lead);
    line-height: 1.72;
    color: var(--ea-text-on-light-muted);
}

.ea-phase__list {
    margin: 0 0 16px;
    padding-left: 1.2rem;
    color: var(--ea-text-on-light);
    font-size: var(--font-size-ea-phase-list);
    line-height: 1.72;
}

.ea-phase__list li {
    margin-bottom: 8px;
}

.ea-phase__list li::marker {
    color: #38bdf8;
}

.ea-phase__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ea-phase__tags span {
    padding: 5px 12px;
    font-size: var(--font-size-ea-phase-tag);
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #0369a1;
    border: 1px solid rgba(14, 165, 233, 0.35);
    border-radius: 999px;
    background: rgba(14, 165, 233, 0.08);
}

.ea-phase.fade-in:nth-child(1) {
    transition-delay: 0s;
}
.ea-phase.fade-in:nth-child(2) {
    transition-delay: 0.02s;
}
.ea-phase.fade-in:nth-child(3) {
    transition-delay: 0.04s;
}
.ea-phase.fade-in:nth-child(4) {
    transition-delay: 0.06s;
}

/* —— 响应式 —— */
@media (max-width: 1100px) {
    .ea-pillars {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ea-stack {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .ea-hero__comets {
        opacity: 0.55;
        mask-image: radial-gradient(ellipse 112% 76% at 50% 38%, black 12%, transparent 90%);
    }

    .ea-hero__comet-track {
        opacity: 0.28;
    }

    .ea-hero__comet-flow {
        stroke-width: 2;
        opacity: 0.55;
    }

    .ea-hero__metrics {
        grid-template-columns: 1fr;
    }

    .ea-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .ea-hero__actions .btn {
        width: 100%;
        text-align: center;
    }

    .ea-split {
        grid-template-columns: 1fr;
    }

    .ea-stack {
        grid-template-columns: 1fr;
    }

    .ea-phase-grid {
        grid-template-columns: 1fr;
    }

    .ea-runtime-svg {
        max-width: none;
    }
}
