/* ==========================================================================
   bess.re About 页例外样式（框架 v1 唯一登记例外 · 2026-10-07）
   依据 CEO 批准：About 页保留 v2 定制版（1180px 版式）。
   组件库中可替换的部分（按钮）已改用 c- 组件类；此处仅保留 About 页
   专属的 ab-* 版式样式。变量由 style.css 全局提供。
   ========================================================================== */

  .ab-hero h1, .ab-hero h2, .ab-hero h3, .ab-hero .ab-tag { color:#fff; }
  .ab-sec h2, .ab-sec h3, .ab-sec h4, .ab-card h3 { color:#0C1512; }
  .ab-cta h2 { color:#0C1512; }
  .ab-comp h3 { color:#fff; }
  .ab-thumb b { color:#fff; }
  .ab-thumb .mono { color:#0ADB6D; }
  .ab-thumb.green .mono { color:#fff; }
  .ab-hero { background:var(--ink); color:#fff; position:relative; overflow:hidden;
    background-image:linear-gradient(rgba(10,219,109,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(10,219,109,.07) 1px,transparent 1px);
    background-size:40px 40px; padding:88px 0 0; }
  .ab-hero-inner { position:relative; z-index:1; max-width:1180px; margin:0 auto; padding:0 40px;
    display:grid; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; }
  .ab-eyebrow { font-family:var(--mono); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--green); margin-bottom:12px; }
  .ab-hero h1 { font-family:var(--disp); font-weight:700; font-size:56px; line-height:1.05; letter-spacing:-.01em; margin:16px 0 0; }
  .ab-hero .lede { font-size:19px; color:#C3D0C9; margin:24px 0 12px; max-width:640px; line-height:1.6; }
  .ab-tag { color:var(--green); font-family:var(--disp); font-weight:600; font-size:18px; }
  .ab-illu { display:flex; align-items:center; justify-content:center; }
  .ab-illu svg { width:100%; height:320px; }
  .ab-facts { display:grid; grid-template-columns:repeat(3,1fr); max-width:1180px; margin:72px auto 0;
    padding:0 40px; border-top:1px solid #24342C; }
  .ab-facts div { padding:24px 24px 28px 0; }
  .ab-facts b { display:block; font-family:var(--disp); font-size:20px; color:#fff; }
  .ab-facts span { color:#9AA8A1; font-size:14px; }
  .ab-sec { padding:96px 0; }
  .ab-sec.tint { background:#F3F6F4; }
  .ab-wrap { max-width:1180px; margin:0 auto; padding:0 40px; }
  .ab-sec h2 { font-family:var(--disp); font-weight:700; font-size:38px; line-height:1.15; letter-spacing:-.01em; color:var(--ink); margin:0; max-width:760px; }
  .ab-sub { color:var(--muted); font-size:17px; max-width:720px; margin:14px 0 0; line-height:1.6; }
  .ab-two { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }
  .ab-card { background:#fff; border:1px solid var(--line); border-radius:16px; padding:32px; }
  .ab-card h3 { font-family:var(--disp); font-size:22px; margin:16px 0 12px; }
  .ab-card p { font-size:15px; line-height:1.6; color:#2B3631; margin:0; }
  .ab-card ul { margin:0; padding:0; list-style:none; }
  .ab-card li { padding:8px 0; border-top:1px solid #EEF2EF; color:#2B3631; font-size:15px; line-height:1.55; }
  .ab-card li b { font-weight:600; color:#0C1512; }
  .ab-card li:first-child { border-top:none; }
  .ab-ico { width:48px; height:48px; border-radius:12px; background:#EEF4F0; display:flex; align-items:center; justify-content:center; color:var(--green-deep); }
  .ab-more { display:inline-block; margin-top:18px; font-weight:600; }
  .ab-life { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:40px; }
  .ab-step { border-top:3px solid var(--green); padding-top:18px; }
  .ab-step .n { font-family:var(--mono); font-size:12px; color:var(--green-deep); }
  .ab-step b { display:block; font-family:var(--disp); font-size:18px; margin:8px 0 6px; }
  .ab-step p { margin:0; font-size:14px; color:var(--muted); }
  .ab-map { display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:center; margin-top:40px; }
  .ab-mapbox { background:var(--ink); border-radius:16px; padding:20px; }
  .ab-mapbox svg { width:100%; height:auto; display:block; }
  .ab-leg { display:flex; flex-direction:column; gap:20px; }
  .ab-leg b { display:block; font-family:var(--disp); font-size:18px; }
  .ab-leg span { color:var(--muted); font-size:15px; }
  .ab-dot { display:inline-block; width:10px; height:10px; border-radius:50%; background:var(--green); margin-right:8px; }
  .ab-dot.outline { background:#fff; border:1px solid var(--muted); }
  .ab-neu { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:40px; }
  .ab-neu .ab-card h3 { margin-top:0; }
  .ab-row { display:flex; gap:12px; align-items:flex-start; padding:10px 0; border-top:1px solid #EEF2EF; font-size:15px; }
  .ab-row:first-child { border-top:none; }
  .ab-mk { flex:none; width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; }
  .ab-mk.y { background:var(--green); color:var(--ink); }
  .ab-mk.n { background:#fff; border:1.5px solid var(--muted); color:var(--muted); }
  .ab-comp { display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; background:var(--ink); color:#fff; border-radius:16px; padding:40px; margin-top:40px; }
  .ab-comp p { color:#C3D0C9; margin:10px 0 0; max-width:680px; }
  .ab-comp h3 { font-family:var(--disp); font-size:26px; margin-top:10px; }
  .ab-comp .ab-eyebrow { margin-bottom:0; }
  .ab-ent { display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; margin-top:40px; }
  .ab-ent .ab-card { padding:26px; }
  .ab-ent b { display:block; font-family:var(--disp); font-size:18px; margin:12px 0 6px; }
  .ab-ent p { margin:0; font-size:14px; color:var(--muted); }
  .ab-flag { display:inline-block; font-size:11px; padding:4px 8px; border-radius:6px; background:#EEF4F0; color:var(--green-deep); }
  .ab-res { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:40px; }
  .ab-thumb { height:180px; border-radius:12px; margin-bottom:18px; background:var(--ink); display:flex; flex-direction:column; justify-content:flex-end; padding:18px; color:#fff; }
  .ab-thumb .mono { font-family:var(--mono); font-size:10px; color:var(--green); letter-spacing:.08em; text-transform:uppercase; }
  .ab-thumb b { font-family:var(--disp); font-size:17px; margin-top:6px; }
  .ab-thumb.green { background:var(--green-deep); }
  .ab-thumb.green .mono { color:#fff; }
  .ab-res h3 { font-family:var(--disp); font-size:19px; margin:0 0 6px; }
  .ab-res p { margin:0 0 12px; font-size:14px; color:var(--muted); }
  .ab-cta { background:var(--green); padding:72px 0; }
  .ab-cta-in { max-width:1180px; margin:0 auto; padding:0 40px; display:flex; justify-content:space-between; align-items:center; gap:32px; }
  .ab-cta h2 { font-family:var(--disp); font-size:34px; max-width:620px; color:var(--ink); margin:0; }
  .ab-cta-btns { display:flex; gap:12px; flex-wrap:wrap; }
  /* About CTA 按钮尺寸对齐 v2 视觉稿（比组件库 c-btn 大一号）*/
  .ab-cta .c-btn-dark, .ab-cta .c-btn-outline { padding:15px 22px; font-size:16px; border-radius:8px; }
  @media (max-width: 760px) {
    .ab-hero { padding-top:48px; }
    .ab-hero-inner { padding:0 20px; grid-template-columns:1fr; gap:32px; }
    .ab-hero h1 { font-size:38px; }
    .ab-hero .lede { font-size:17px; }
    .ab-facts { grid-template-columns:1fr; margin-top:40px; padding:0 20px; }
    .ab-facts div { padding:18px 0; border-bottom:1px solid #24342C; }
    .ab-sec { padding:64px 0; }
    .ab-wrap { padding:0 20px; }
    .ab-sec h2 { font-size:30px; }
    .ab-two, .ab-map, .ab-neu, .ab-comp, .ab-ent, .ab-res { grid-template-columns:1fr; }
    .ab-life { grid-template-columns:1fr 1fr; }
    .ab-cta-in { flex-direction:column; align-items:flex-start; padding:0 20px; }
    .ab-cta h2 { font-size:28px; }
    .ab-illu svg { height:auto; }
  }
