/* AIWEAPP 官网通用区块与产品能力样式。 */
.section { position: relative; padding: 128px 0; }
.section-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(310px, 0.75fr); gap: 80px; align-items: end; margin-bottom: 64px; }
.section-heading h2, .platform__copy h2, .scenes__header h2, .contact h2 { max-width: 780px; margin: 0; color: var(--text); font-size: clamp(36px, 4.25vw, 60px); font-weight: 600; line-height: 1.16; letter-spacing: -0.045em; }
.section-heading > p, .platform__copy > p, .contact__action > p { margin: 0; color: var(--text-soft); font-size: 16px; line-height: 1.9; }

.capabilities { background: #080c12; }
.capabilities::before { position: absolute; top: 0; left: calc((100vw - min(1200px, calc(100vw - 48px))) / 2); width: 1px; height: 100%; background: var(--line); content: ""; }
.capability-grid { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(250px, auto); gap: 16px; }

.capability-card {
    position: relative;
    min-height: 274px;
    padding: 28px;
    overflow: hidden;
    border: 1px solid var(--line);
    background: var(--surface);
    transition: border-color 220ms ease, transform 220ms ease, background 220ms ease;
}

.capability-card:hover { border-color: rgba(94, 231, 216, 0.38); background: #0d151f; transform: translateY(-4px); }
.capability-card--wide { grid-column: span 2; }
.capability-card--tall { grid-row: span 2; min-height: 564px; background: #0b121b; }
.capability-card__index { color: var(--text-muted); font: 9px "SFMono-Regular", Consolas, monospace; letter-spacing: 0.11em; }
.capability-card h3 { margin: 28px 0 12px; font-size: 21px; font-weight: 600; }
.capability-card p { max-width: 440px; margin: 0; color: var(--text-soft); font-size: 14px; line-height: 1.8; }
.capability-card ul { display: flex; margin: 23px 0 0; padding: 0; flex-wrap: wrap; gap: 8px; list-style: none; }
.capability-card li, .platform__tags span { padding: 6px 9px; border: 1px solid var(--line); color: #8fa0b2; font: 9px "SFMono-Regular", Consolas, monospace; letter-spacing: 0.06em; }
.capability-card a { display: inline-flex; margin-top: 30px; align-items: center; gap: 14px; color: var(--accent); font-size: 13px; }
.capability-card a span { transition: transform 180ms ease; }
.capability-card a:hover span { transform: translateX(4px); }

.capability-card__icon--builder { position: absolute; top: 40px; right: 30px; width: 150px; height: 130px; }
.capability-card__icon--builder span { position: absolute; display: block; border: 1px solid rgba(94, 231, 216, 0.35); background: rgba(94, 231, 216, 0.03); }
.capability-card__icon--builder span:nth-child(1) { inset: 5px 26px 42px 5px; }
.capability-card__icon--builder span:nth-child(2) { top: 48px; right: 6px; width: 58px; height: 70px; border-color: rgba(90, 141, 255, 0.4); }
.capability-card__icon--builder span:nth-child(3) { bottom: 5px; left: 30px; width: 70px; height: 36px; border-color: rgba(168, 128, 255, 0.35); }
.capability-card__line { position: absolute; right: 0; bottom: 0; width: 50%; height: 1px; background: linear-gradient(90deg, transparent, var(--accent)); }

.commerce-visual { display: flex; min-height: 225px; margin: 36px -4px 0; align-items: center; flex-direction: column; justify-content: center; border: 1px solid var(--line); background: linear-gradient(rgba(143, 168, 192, 0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(143, 168, 192, 0.04) 1px, transparent 1px); background-size: 20px 20px; }
.commerce-visual__product { position: relative; width: 110px; height: 112px; border: 1px solid rgba(94, 231, 216, 0.38); background: rgba(94, 231, 216, 0.04); clip-path: polygon(0 0, 74% 0, 100% 26%, 100% 100%, 26% 100%, 0 74%); }
.commerce-visual__product span { position: absolute; top: 23px; left: 31px; width: 48px; height: 56px; border: 1px solid rgba(94, 231, 216, 0.64); transform: skewY(-8deg); }
.commerce-visual__product i { position: absolute; bottom: 15px; left: 25px; width: 40px; height: 1px; background: var(--accent); }
.commerce-visual__product i:last-child { bottom: 9px; width: 60px; opacity: 0.36; }
.commerce-visual__flow { display: flex; margin-top: 28px; align-items: center; justify-content: center; gap: 8px; }
.commerce-visual__flow b { color: #8fa0b1; font-size: 9px; font-weight: 500; }
.commerce-visual__flow em { width: 17px; height: 1px; background: rgba(94, 231, 216, 0.5); }

.mini-orbit, .data-bars, .ecard-visual, .scenario-dots { position: absolute; top: 28px; right: 26px; }
.mini-orbit { display: grid; width: 76px; height: 76px; place-items: center; border: 1px dashed rgba(94, 231, 216, 0.26); border-radius: 50%; }
.mini-orbit i { position: absolute; top: -3px; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 12px var(--accent); }
.mini-orbit span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(94, 231, 216, 0.44); color: var(--accent); font: 14px "SFMono-Regular", Consolas, monospace; }
.data-bars { display: flex; width: 90px; height: 72px; align-items: flex-end; gap: 5px; border-bottom: 1px solid var(--line-strong); }
.data-bars i { width: 10px; background: rgba(90, 141, 255, 0.35); }
.data-bars i:nth-child(4), .data-bars i:nth-child(6) { background: rgba(94, 231, 216, 0.58); }

.ecard-visual { width: 96px; height: 62px; padding: 11px; border: 1px solid rgba(168, 128, 255, 0.4); background: rgba(168, 128, 255, 0.06); transform: rotate(-5deg); }
.ecard-visual span { color: var(--accent-violet); font: 9px "SFMono-Regular", Consolas, monospace; }
.ecard-visual i { display: block; width: 21px; height: 12px; margin: 7px 0 5px; background: linear-gradient(90deg, rgba(168, 128, 255, 0.5) 2px, transparent 2px) 0 0 / 5px 100%; }
.ecard-visual b { color: #9b8db9; font: 500 6px "SFMono-Regular", Consolas, monospace; letter-spacing: 0.1em; }
.scenario-dots { display: flex; gap: 5px; }
.scenario-dots span { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid var(--line-strong); color: #8e9fb1; font: 9px "SFMono-Regular", Consolas, monospace; }
.scenario-dots span:nth-child(2) { margin-top: 12px; border-color: rgba(94, 231, 216, 0.38); color: var(--accent); }
.scenario-dots span:nth-child(3) { margin-top: 4px; border-color: rgba(90, 141, 255, 0.4); color: var(--accent-blue); }
