/* ===== 开放能力 → 企业合作 页面（示例 solutions/oem-solutions.html 对齐）===== */
.ly-ec-page {
  --ec-accent: #00c9a7;
  --ec-accent-dark: #009b81;
  --ec-accent-light: rgba(0, 201, 167, .12);
  --ec-radius-lg: 20px;
  --ec-shadow-sm: 0 2px 10px rgba(0, 0, 0, .06);
  --ec-shadow-lg: 0 18px 40px rgba(0, 0, 0, .12);
  --ec-transition: .3s ease;
  --ec-font-en: Inter, Arial, sans-serif;
}

/* ===== Hero ===== */
.ly-ec-page .re-hero { padding: 48px 0 80px; background: linear-gradient(135deg, #0A1628 0%, #0D2847 35%, #0054A6 70%, #003D7A 100%); color: #fff; position: relative; overflow: hidden; margin-top: 76px; }
.ly-ec-page .re-hero::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: radial-gradient(circle at 20% 30%, rgba(0, 201, 167, .08) 0, transparent 50%), radial-gradient(circle at 80% 70%, rgba(10, 77, 166, .12) 0, transparent 50%); }
.ly-ec-page .re-hero .container { position: relative; z-index: 1; }
.ly-ec-page .re-hero-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: center; }
.ly-ec-page .re-hero-badge { display: inline-flex; align-items: center; gap: 10px; padding: 8px 20px; border-radius: 100px; background: rgba(0, 201, 167, .15); border: 1px solid rgba(0, 201, 167, .3); color: var(--ec-accent); font-size: .85rem; font-weight: 700; margin-bottom: 24px; }
.ly-ec-page .re-hero-badge-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ec-accent); animation: ly-ec-pulse-dot 2s ease-in-out infinite; }
@keyframes ly-ec-pulse-dot { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .5; transform: scale(1.4); } }.ly-ec-page .re-hero h1{ font-size: 2.8rem; font-weight: 800; line-height: 1.2; letter-spacing: .02em; margin: 0 0 20px; color: #fff; }
.ly-ec-page .re-hero h1 .accent { color: var(--ec-accent); }
.ly-ec-page .re-hero-desc { font-size: 1.1rem; color: rgba(255, 255, 255, .7); line-height: 1.8; margin-bottom: 32px; }
.ly-ec-page .re-hero-visual { position: relative; border-radius: 16px; overflow: hidden; box-shadow: 0 24px 60px rgba(0, 0, 0, .4); border: 1px solid rgba(255, 255, 255, .1); }
.ly-ec-page .re-hero-img { width: 100%; aspect-ratio: 4/3; background: linear-gradient(135deg, #0D2847, #1E40AF); display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ly-ec-page .re-hero-img img, .ly-ec-page .re-hero-visual > img.re-hero-img { object-fit: cover; }
.ly-ec-page .re-hero-img .ph { font-size: 3rem; margin-bottom: 12px; opacity: .85; }
.ly-ec-page .re-hero-img .ph-label { font-size: .92rem; color: rgba(255, 255, 255, .85); text-align: center; padding: 0 20px; font-weight: 500; }
.ly-ec-page .re-hero-img .ph-sub { font-size: .72rem; color: rgba(255, 255, 255, .35); margin-top: 6px; font-family: var(--ec-font-en); }

/* ===== Section Commons ===== */
.ly-ec-page .ly-ec-section { padding:40px 0; }
.ly-ec-page .ly-ec-section.alt { background: var(--bg-light); }
.ly-ec-page .section-header { margin-bottom: 52px; }
.ly-ec-page .section-header.center { text-align: center; }
.ly-ec-page .section-kicker { display: inline-block; font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--primary); margin-bottom: 12px; }
.ly-ec-page .section-header h2 { font-size: 30px; font-weight: 700; letter-spacing: -.02em; margin: 0 0 12px; color: var(--text-primary); }
.ly-ec-page .section-header .intro { font-size: 16px; color: var(--text-secondary); max-width: 780px; line-height: 1.8; margin: 0; }
.ly-ec-page .section-header.center .intro { margin: 0 auto; }

/* ===== Section 2: Collaboration Models ===== */
.ly-ec-page .model-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.ly-ec-page .model-card { background: #fff; border: 1px solid var(--border); border-radius: var(--ec-radius-lg); padding: 36px 28px 32px; box-shadow: var(--ec-shadow-sm); transition: transform var(--ec-transition), box-shadow var(--ec-transition), border-color var(--ec-transition); position: relative; overflow: hidden; }
.ly-ec-page .model-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--primary); opacity: 0; transition: opacity var(--ec-transition); }
.ly-ec-page .model-card:hover { transform: translateY(-4px); box-shadow: var(--ec-shadow-lg); border-color: rgba(0, 84, 166, .2); }
.ly-ec-page .model-card:hover::before { opacity: 1; }
.ly-ec-page .model-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; font-size: 22px; }
.ly-ec-page .model-icon.c1 { background: var(--primary-50); color: var(--primary); }
.ly-ec-page .model-icon.c2 { background: rgba(16, 185, 129, .1); color: #059669; }
.ly-ec-page .model-icon.c3 { background: var(--ec-accent-light); color: var(--ec-accent); }
.ly-ec-page .model-icon.c4 { background: rgba(139, 92, 246, .1); color: #7C3AED; }
.ly-ec-page .model-icon-img { width: 48px; height: 48px; border-radius: 12px; object-fit: contain; margin-bottom: 20px; display: block; }
.ly-ec-page .model-card h3 { font-size: 20px; font-weight: 700; margin: 0 0 10px; letter-spacing: -.01em; color: var(--text-primary); }
.ly-ec-page .model-card p { font-size: 16px; color: var(--text-secondary); line-height: 1.7; margin: 0; }

/* ===== Section 3: Collaboration Process ===== */
.ly-ec-page .process-flow { display: flex; align-items: center; justify-content: center; gap: 0; flex-wrap: wrap; padding: 20px 0; }
.ly-ec-page .process-step { display: flex; flex-direction: column; align-items: center; text-align: center; min-width: 140px; }
.ly-ec-page .process-dot { width: 56px; height: 56px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 700; font-family: var(--ec-font-en); color: #fff; margin-bottom: 14px; position: relative; z-index: 1; transition: transform var(--ec-transition), box-shadow var(--ec-transition); }
.ly-ec-page .process-dot.s1 { background: var(--primary); }
.ly-ec-page .process-dot.s2 { background: var(--primary-dark); }
.ly-ec-page .process-dot.s3 { background: #059669; }
.ly-ec-page .process-dot.s4 { background: var(--ec-accent); }
.ly-ec-page .process-dot.s5 { background: var(--ec-accent-dark); }
.ly-ec-page .process-dot.s6 { background: #7C3AED; }
.ly-ec-page .process-step:hover .process-dot { transform: scale(1.08); box-shadow: 0 8px 20px rgba(0, 0, 0, .15); }
.ly-ec-page .process-label { font-size: 20px; font-weight: 600; color: var(--text-primary); line-height: 1.5; }
.ly-ec-page .process-arrow { font-size: 20px; color: var(--text-muted); margin: 0 -4px; padding-bottom: 30px; flex-shrink: 0; }

/* ===== Section 4: Long-term Partnership ===== */
.ly-ec-page .service-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.ly-ec-page .service-card { background: #fff; border: 1px solid var(--border); border-radius: var(--ec-radius-lg); padding: 32px 22px; text-align: center; transition: transform var(--ec-transition), box-shadow var(--ec-transition), border-color var(--ec-transition); }
.ly-ec-page .service-card:hover { transform: translateY(-4px); box-shadow: var(--ec-shadow-lg); border-color: rgba(0, 84, 166, .2); }
.ly-ec-page .service-icon { width: 52px; height: 52px; border-radius: 14px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-size: 24px; background: var(--primary-50); color: var(--primary); }
.ly-ec-page .service-icon-img { width: 52px; height: 52px; border-radius: 14px; object-fit: contain; margin: 0 auto 16px; display: block; }
.ly-ec-page .service-card h3 { font-size: 20px; font-weight: 700; margin: 0 0 8px; letter-spacing: -.01em; color: var(--text-primary); }
.ly-ec-page .service-card p { font-size: 16px; color: var(--text-secondary); line-height: 1.6; margin: 0; }

/* ===== Responsive ===== */
@media (max-width: 1024px) {
  .ly-ec-page .model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ly-ec-page .service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ly-ec-page .process-flow { flex-direction: column; gap: 0; }
  .ly-ec-page .process-arrow { transform: rotate(90deg); margin: 2px 0; padding-bottom: 0; }
  .ly-ec-page .process-step { flex-direction: row; gap: 16px; min-width: auto; width: 100%; max-width: 320px; }
  .ly-ec-page .process-dot { margin-bottom: 0; width: 44px; height: 44px; font-size: 16px; }
  .ly-ec-page .process-label { text-align: left; }
}
@media (max-width: 768px) {
  .ly-ec-page .re-hero { padding: 72px 0 48px; }
  .ly-ec-page .re-hero-grid { grid-template-columns: 1fr; gap: 32px; }.ly-ec-page .re-hero h1{ font-size: 1.9rem;
	letter-spacing:.02em;}
  .ly-ec-page .ly-ec-section { padding: 56px 0; }
  .ly-ec-page .section-header h2 { font-size: 24px; }
  .ly-ec-page .model-grid { grid-template-columns: 1fr; }
  .ly-ec-page .service-grid { grid-template-columns: 1fr; }
  .ly-ec-page .cta-section { padding: 64px 0; }
  .ly-ec-page .cta-section h2 { font-size: 22px; }
  .ly-ec-page .cta-actions { flex-direction: column; gap: 12px; }
  .ly-ec-page .cta-actions .btn { width: 100%; }
}

/* ===== Section 5: Contact CTA（主题无全局 .cta-section，本页作用域实现；无背景色）===== */
.ly-ec-page .cta-section { padding:40px 0; text-align: center; }
.ly-ec-page .cta-section h2 { font-size: 30px; font-weight: 700; letter-spacing: -.02em; color: var(--text-primary); margin: 0 0 16px; }
.ly-ec-page .cta-section p { font-size: 16px; color: var(--text-secondary); margin: 0 auto 32px; max-width: 720px; line-height: 1.7; }
.ly-ec-page .cta-actions { display: flex; align-items: center; justify-content: center; gap: 16px; flex-wrap: wrap; }
.ly-ec-page .cta-actions .btn { display: inline-flex; align-items: center; justify-content: center; padding: 16px 40px; font-size: 1rem; font-weight: 600; border-radius: 12px; border: 1px solid transparent; text-decoration: none; cursor: pointer; transition: background-color .25s ease, color .25s ease, border-color .25s ease, transform .2s ease, box-shadow .25s ease; }
.ly-ec-page .cta-actions .btn:focus-visible { outline: 2px solid var(--ec-accent); outline-offset: 3px; }
.ly-ec-page .cta-actions .btn:active { transform: translateY(0) !important; }
/* 主按钮：实心绿（accent 绿） */
.ly-ec-page .cta-actions .btn-accent { background: var(--ec-accent); color: #fff; box-shadow: 0 4px 14px rgba(0, 201, 167, .25); }
.ly-ec-page .cta-actions .btn-accent:hover { background: var(--ec-accent-dark); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0, 201, 167, .38); }
/* 次按钮：浅底深字带边框 */
.ly-ec-page .cta-actions .btn-outline-white { background: #fff; color: var(--text-primary); border-color: rgba(26, 26, 46, .12); }
.ly-ec-page .cta-actions .btn-outline-white:hover { background: var(--text-primary); color: #fff; border-color: var(--text-primary); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(26, 26, 46, .18); }
/* 统一页组口径：首屏后首个功能区与首屏保持 80px 间距 */
.ly-ec-page .re-hero + .ly-ec-section { padding-top: 80px; }
/* 首屏功能区内容上下居中，高度统一 400px（不动其它首屏样式） */
.ly-ec-page .re-hero{
  display:flex;
  align-items:center;
  min-height:400px;
}
