/* ================================================================
   About Page
   ================================================================ */

/* Trust strip */
.about-trust-strip { padding: 28px 0; background: #f0f7ff; border-bottom: 1px solid rgba(11,124,255,.08); }
.about-kpi-row { display: flex; justify-content: center; gap: 36px; flex-wrap: wrap; }
.about-kpi-item { text-align: center; }
.about-kpi-item strong { display: block; font-size: 24px; font-weight: 900; color: #0b7cff; }
.about-kpi-item span { font-size: 12px; color: #64748b; }

/* Sections */
.about-section { padding: 56px 0; }
.about-section-alt { padding: 56px 0; }
.about-section .section-head { text-align: center; margin-bottom: 32px; }
.about-section .section-head h2 { font-size: 26px; font-weight: 900; color: #15365e; margin: 4px 0 8px; }
.about-section-alt .section-head { text-align: center; margin-bottom: 32px; }
.about-section-alt .section-head h2 { font-size: 26px; font-weight: 900; color: #15365e; margin: 4px 0 8px; }

/* Section card wrapper — white rounded card background */
.about-section-card { background: #fff; border-radius: 20px; border: 1px solid #e8ecf0; padding: 36px 32px; box-shadow: 0 2px 12px rgba(15,35,70,.04); }

/* Overview: left text + kpis, right image */
.about-overview-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; }
.about-overview-text h2 { font-size: 26px; font-weight: 900; color: #15365e; margin: 6px 0 14px; }
.about-overview-text p { font-size: 15px; color: #475569; line-height: 1.7; margin: 0 0 24px; }
.about-overview-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.about-overview-kpi-card { background: #f8fafc; border: 1px solid #e8ecf0; border-radius: 14px; padding: 16px 14px; text-align: center; }
.about-overview-kpi-card strong { display: block; font-size: 24px; font-weight: 900; color: #0b7cff; }
.about-overview-kpi-card span { font-size: 12px; color: #64748b; }
.about-overview-img { border-radius: 18px; overflow: hidden; background: #f1f5f9; }
.about-overview-img img { width: 100%; height: 100%; object-fit: cover; display: block; min-height: 280px; }

/* Capabilities grid */
.about-cap-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.about-cap-card { background: #f8fafc; border-radius: 16px; border: 1px solid #eef2f6; overflow: hidden; display: flex; flex-direction: column; transition: box-shadow .2s, transform .15s; }
.about-cap-card:hover { box-shadow: 0 8px 24px rgba(15,35,70,.06); transform: translateY(-2px); }
.about-cap-img { height: 120px; overflow: hidden; background: #f1f5f9; }
.about-cap-img img { width: 100%; height: 100%; object-fit: cover; }
.about-cap-body { padding: 18px; flex: 1; display: flex; flex-direction: column; }
.about-cap-body h3 { font-size: 15px; font-weight: 800; color: #15365e; margin: 0 0 8px; }
.about-cap-body p { font-size: 13px; color: #64748b; line-height: 1.55; margin: 0 0 12px; flex: 1; }
.about-cap-link { font-size: 13px; font-weight: 700; color: #0b7cff; text-decoration: none; }

/* Customers grid */
.about-cust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.about-cust-card { background: #f8fafc; border-radius: 16px; border: 1px solid #eef2f6; overflow: hidden; transition: box-shadow .2s, transform .15s; }
.about-cust-card:hover { box-shadow: 0 8px 24px rgba(15,35,70,.06); transform: translateY(-2px); }
.about-cust-img { height: 100px; overflow: hidden; background: #f1f5f9; }
.about-cust-img img { width: 100%; height: 100%; object-fit: cover; }
.about-cust-card h3 { font-size: 15px; font-weight: 800; color: #15365e; padding: 16px 18px 0; margin: 0; }
.about-cust-card p { font-size: 13px; color: #64748b; line-height: 1.5; padding: 8px 18px 18px; margin: 0; }

/* Industries + GEO split */
.about-ind-geo-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 24px; }
.about-ind-cards { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.about-ind-card { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: #fff; border-radius: 14px; border: 1px solid #e8ecf0; text-decoration: none; transition: box-shadow .2s; }
.about-ind-card:hover { box-shadow: 0 6px 18px rgba(15,35,70,.06); }
.about-ind-card img { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
.about-ind-info strong { display: block; font-size: 14px; font-weight: 700; color: #15365e; }
.about-ind-info span { font-size: 12px; color: #64748b; }
.about-geo-facts-panel { background: #fff; border-radius: 16px; border: 1px solid #e8ecf0; padding: 24px 22px; }
.about-geo-facts-panel h3 { font-size: 15px; font-weight: 800; color: #15365e; margin: 0 0 14px; }
.about-geo-facts-panel h4 { font-size: 13px; font-weight: 700; color: #64748b; margin: 0 0 8px; }
.about-geo-list { list-style: none; padding: 0; margin: 0; }
.about-geo-list li { position: relative; padding: 8px 0 8px 22px; font-size: 13px; color: #475569; line-height: 1.5; border-bottom: 1px solid #f1f5f9; }
.about-geo-list li::before { content: '\2713'; position: absolute; left: 0; color: #0b7cff; font-weight: 700; }

/* FAQ + CTA split */
.about-faq-cta-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 36px; align-items: start; }
.about-faq-col h2 { font-size: 24px; font-weight: 900; color: #15365e; margin: 6px 0 20px; }
.about-faq-list { }
.about-faq-item { border-bottom: 1px solid #e8ecf0; }
.about-faq-item summary { padding: 14px 0; font-weight: 700; font-size: 14px; color: #15365e; cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.about-faq-item summary::after { content: '+'; font-size: 18px; color: #94a3b8; }
.about-faq-item[open] summary::after { content: '\2212'; }
.about-faq-answer { padding: 0 0 14px; font-size: 13px; color: #64748b; line-height: 1.6; }
.about-cta-col { position: sticky; top: 100px; }
.about-cta-card { background: linear-gradient(135deg, #0b3d91, #0b7cff); border-radius: 18px; padding: 32px 26px; color: #fff; }
.about-cta-card h3 { font-size: 20px; font-weight: 900; margin: 0 0 10px; }
.about-cta-card p { font-size: 14px; line-height: 1.6; opacity: .9; margin: 0 0 20px; }
.about-cta-btns { display: flex; gap: 10px; flex-wrap: wrap; }
.about-cta-btns .btn-primary { background: #fff; color: #0b3d91; }
.about-cta-btns .btn-outline { border-color: rgba(255,255,255,.5); color: #fff; }

/* ── Brand Logo Wall — shared base ── */
.about-brand-wall-section { background: transparent; }
/* 整个板块的内圆角卡片容器 */
.about-brand-wall-card { background: #fff; border-radius: 20px; border: 1px solid #e8ecf2; box-shadow: 0 2px 16px rgba(15,35,70,.05); padding: 40px 36px 32px; position: relative; }
.about-brand-wall-title { font-size: clamp(20px, 2.2vw, 28px); font-weight: 800; color: #0f172a; margin: 8px 0 28px; text-align: center; }
.about-brand-wall-foot { text-align: center; margin-top: 28px; }

/* ── Style 1: card — logo透明底网格（默认）── */
.abw-card-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 20px 24px; }
.abw-card-item { display: flex; align-items: center; justify-content: center; width: 140px; height: 72px; background: transparent; padding: 8px 12px; text-decoration: none; transition: transform .15s, opacity .15s; }
.abw-card-item:hover { transform: translateY(-2px); opacity: .85; }
.abw-card-item img { max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(20%); transition: filter .2s; }
.abw-card-item:hover img { filter: grayscale(0%); }
.abw-card-item span { font-size: 13px; font-weight: 700; color: #334155; text-align: center; }

/* ── Style 2: scroll — 无边框横向自动滚动带 ── */
.abw-scroll-outer { position: relative; overflow: hidden; }
.abw-scroll-outer::before,
.abw-scroll-outer::after { content: ''; position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none; }
.abw-scroll-outer::before { left: 0; background: linear-gradient(to right, #fff, transparent); }
.abw-scroll-outer::after { right: 0; background: linear-gradient(to left, #fff, transparent); }
.abw-scroll-track { display: flex; gap: 40px; align-items: center; width: max-content; animation: abwScroll 28s linear infinite; }
.abw-scroll-track:hover { animation-play-state: paused; }
@keyframes abwScroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.abw-scroll-item { display: flex; align-items: center; justify-content: center; height: 64px; padding: 0 10px; text-decoration: none; flex-shrink: 0; }
.abw-scroll-item img { height: 44px; max-width: 120px; object-fit: contain; filter: grayscale(40%); opacity: .8; transition: filter .2s, opacity .2s; }
.abw-scroll-item:hover img { filter: grayscale(0%); opacity: 1; }
.abw-scroll-item span { font-size: 13px; font-weight: 700; color: #475569; white-space: nowrap; }

/* ── Style 3: dark — 深色背景，logo透明底亮色显示 ── */
.abw-dark-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 24px 32px; }
.abw-dark-item { display: flex; align-items: center; justify-content: center; width: 140px; height: 72px; background: transparent; padding: 8px 12px; text-decoration: none; transition: transform .15s, opacity .15s; }
.abw-dark-item:hover { transform: translateY(-2px); opacity: .85; }
.abw-dark-item img { max-width: 100%; max-height: 100%; object-fit: contain; filter: brightness(0) invert(1) grayscale(20%); opacity: .75; transition: opacity .2s, filter .2s; }
.abw-dark-item:hover img { opacity: 1; filter: brightness(0) invert(1); }
.abw-dark-item span { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.8); text-align: center; }
.about-brand-wall--dark .about-brand-wall-foot .btn-outline { border-color: rgba(255,255,255,.35); color: #f1f5f9; }
.about-brand-wall--dark .about-brand-wall-foot .btn-outline:hover { border-color: #7eb8ff; color: #7eb8ff; }

/* ── Style 4: minimal — 极简无卡片纯logo排列 ── */
.abw-minimal-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 36px 48px; }
.abw-minimal-item { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.abw-minimal-item img { height: 40px; max-width: 130px; object-fit: contain; filter: grayscale(55%); opacity: .65; transition: filter .22s, opacity .22s; }
.abw-minimal-item:hover img { filter: grayscale(0%); opacity: 1; }
.abw-minimal-item span { font-size: 14px; font-weight: 700; color: #94a3b8; transition: color .2s; }
.abw-minimal-item:hover span { color: #0f172a; }

/* ── Style 5: bar — 带分割线横条，logo透明底 ── */
.abw-bar-wrap { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
.abw-bar-item { display: flex; align-items: center; justify-content: center; height: 72px; width: 130px; padding: 8px 16px; text-decoration: none; background: transparent; margin: 6px; transition: transform .15s, opacity .15s; }
.abw-bar-item:hover { transform: translateY(-2px); opacity: .8; }
.abw-bar-item img { max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(20%); transition: filter .2s; }
.abw-bar-item:hover img { filter: grayscale(0%); }
.abw-bar-item span { font-size: 13px; font-weight: 700; color: #334155; }
.abw-bar-divider { width: 1px; height: 44px; background: #e2e8f0; margin: 6px 0; align-self: center; flex-shrink: 0; }

/* Responsive */
@media (max-width: 1024px) {
  .about-overview-grid { grid-template-columns: 1fr; }
  .about-cap-grid { grid-template-columns: repeat(2, 1fr); }
  .about-cust-grid { grid-template-columns: repeat(2, 1fr); }
  .about-ind-geo-grid { grid-template-columns: 1fr; }
  .about-faq-cta-grid { grid-template-columns: 1fr; }
  .about-cta-col { position: static; }
  .about-section-card { padding: 28px 22px; }
}
@media (max-width: 640px) {
  .about-cap-grid, .about-cust-grid { grid-template-columns: 1fr; }
  .about-ind-cards { grid-template-columns: 1fr; }
  .about-kpi-row { gap: 20px; }
  .about-section { padding: 36px 0; }
  .about-section-card { padding: 22px 16px; border-radius: 16px; }
}
