
/* ═══ 开发成果图轮播美化 ═══ */
.carousel { border-color: rgba(192,88,42,.16); }
.carousel-slide img { transition: transform .8s var(--ease); }
.carousel-slide:hover img { transform: scale(1.015); }
.carousel-cap { padding: 64px 28px 22px; background: linear-gradient(180deg, rgba(17,17,24,0) 0%, rgba(28,17,10,.55) 52%, rgba(17,17,24,.88) 100%); }
.carousel-cap h3 { position: relative; padding-left: 15px; }
.carousel-cap h3::before { content: ""; position: absolute; left: 0; top: 5px; bottom: 5px; width: 4px; border-radius: 2px; background: var(--accent); }
.carousel-cap p { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: .4px; padding-left: 15px; color: rgba(255,255,255,.78); }
.carousel-btn:hover { background: var(--accent); color: #fff; }
.carousel-dot { width: 7px; height: 7px; }
.carousel-dot.active { width: 24px; border-radius: 100px; background: var(--accent); transform: none; }
.car-counter { position: absolute; right: 16px; bottom: 16px; z-index: 6; font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 1px; color: rgba(255,255,255,.88); background: rgba(17,17,24,.45); backdrop-filter: blur(6px); padding: 4px 11px; border-radius: 100px; }
/* ═══ 两栏等高: 左侧图片栏撑满, 与右侧介绍卡高度一致(仅桌面双栏) ═══ */
@media (min-width: 769px) {
    .hero-in { align-items: stretch; }
    .hero-in > .reveal:first-child { display: flex; flex-direction: column; }
    .carousel-wrap { flex: 1; }
    .carousel { flex: 1; }
    .carousel-track { height: 100%; }
    .carousel-slide img { position: absolute; inset: 0; width: 100%; height: 100%; }
}
