
  :root{
    --oo-max: 1120px;
    --oo-pad: 20px;

    --oo-border: rgba(0,0,0,.10);
    --oo-border-strong: rgba(0,0,0,.14);
    --oo-bg-soft: rgba(0,0,0,.03);
    --oo-bg: #fff;

    --oo-shadow: 0 14px 40px rgba(0,0,0,.08);
    --oo-radius: 18px;

    --oo-body-opacity: .86;     /* v2.2: 正文更清晰 */
    --oo-muted-opacity: .70;

    /* ===== V2.2 Typography Tokens (for this module) ===== */
    --oo-font: Inter, "Segoe UI", Arial, sans-serif;

    --oo-h2: 32px;              /* v2.2 Section Title */
    --oo-h2-lh: 1.25;
    --oo-h2-w: 700;

    --oo-h3: 18px;              /* v2.2 Card title */
    --oo-h3-lh: 1.35;
    --oo-h3-w: 700;

    --oo-body: 18px;            /* v2.2 Body desktop */
    --oo-body-lh: 1.8;

    --oo-small: 14px;           /* note / helper */
    --oo-small-lh: 1.6;

    /* Rhythm */
    --oo-gap-1: 12px;
    --oo-gap-2: 18px;
    --oo-gap-3: 26px;
  }

  .oo-wrap{
    width:100%;
    background:transparent;
    font-family: var(--oo-font);
    color:#1a2530;              /* v2.2 深色正文 */
  }
  .oo-container{ max-width:var(--oo-max); margin:0 auto; padding:0 var(--oo-pad); }
  .oo-wrap *{ box-sizing:border-box; }

  /* ===== Sections (layout keep, rhythm refine) ===== */
  .oo-section{ padding:56px 0; } /* v2.2 section spacing */
  .oo-section + .oo-section{ border-top:1px solid var(--oo-border); }

  .oo-section h2{
    margin:0 0 var(--oo-gap-2);
    font-size:var(--oo-h2);
    font-weight:var(--oo-h2-w);
    line-height:var(--oo-h2-lh);
    letter-spacing:-0.01em;
    color:#1a2530;
  }

  .oo-section p{
    margin:0 0 var(--oo-gap-2);
    font-size:var(--oo-body);
    line-height:var(--oo-body-lh);
    opacity:var(--oo-body-opacity);
    color:#495057;              /* v2.2 次级正文 */
  }
  .oo-section p:last-child{ margin-bottom:0; }

  /* ===== Compare Table (layout keep, typography refine) ===== */
  .oo-table-wrap{
    margin-top: var(--oo-gap-2);
    border:1px solid var(--oo-border);
    border-radius: var(--oo-radius);
    overflow:hidden;
    background:#fff;
    box-shadow: 0 10px 28px rgba(0,0,0,.05);
  }
  .oo-table{
    width:100%;
    border-collapse: separate;
    border-spacing:0;
    font-size: var(--oo-body);
    line-height: 1.7;
    color:#495057;
  }
  .oo-table thead th{
    text-align:left;
    padding:16px 16px;
    font-weight:700;
    border-bottom:1px solid var(--oo-border);
    background: rgba(0,0,0,.02);
    color:#1a2530;
  }
  .oo-table thead th:first-child{ width:32%; }

  .oo-table tbody td{
    padding:14px 16px;
    border-bottom:1px solid var(--oo-border);
    vertical-align:top;
    line-height:1.7;
  }
  .oo-table tbody tr:last-child td{ border-bottom:none; }
  .oo-table tbody td:first-child{
    opacity:.92;
    font-weight:700;
    color:#1a2530;
  }

  .oo-bullets{ margin:0; padding-left:18px; }
  .oo-bullets li{
    margin:0 0 8px;
    opacity:var(--oo-body-opacity);
    line-height:1.7;
  }
  .oo-bullets li:last-child{ margin-bottom:0; }

  .oo-note{
    margin-top: var(--oo-gap-2);
    font-size: var(--oo-small);
    line-height: var(--oo-small-lh);
    opacity: var(--oo-muted-opacity);
    color:#495057;
  }

  /* ===== Cards (layout keep, typography + spacing refine) ===== */
  .oo-grid{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap:16px;
    margin-top: var(--oo-gap-2);
  }
  .oo-card{
    border:1px solid var(--oo-border);
    border-radius: var(--oo-radius);
    padding:18px 18px;
    background:#fff;
  }
  .oo-card h3{
    margin:0 0 var(--oo-gap-1);
    font-size: var(--oo-h3);
    font-weight: var(--oo-h3-w);
    line-height: var(--oo-h3-lh);
    color:#1a2530;
  }
  .oo-card ul{ margin:0; padding-left:18px; }
  .oo-card li{
    margin:0 0 10px;
    font-size: var(--oo-body);
    line-height: 1.75;
    opacity:var(--oo-body-opacity);
    color:#495057;
  }
  .oo-card li:last-child{ margin-bottom:0; }

  /* ===== Steps (layout keep, type refine) ===== */
  .oo-steps{
    display:grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap:10px;
    margin-top: var(--oo-gap-2);
  }
  .oo-step{
    border:1px solid var(--oo-border);
    border-radius: 14px;
    background:#fff;
    padding:12px 12px;
  }
  .oo-step small{
    display:block;
    font-size: 13px;
    line-height: 1.35;
    opacity:var(--oo-muted-opacity);
    margin-bottom:6px;
    color:#495057;
  }
  .oo-step strong{
    display:block;
    font-size: 16px;
    line-height: 1.35;
    font-weight:700;
    color:#1a2530;
  }

  /* ===== CTA (layout keep, typography refine) ===== */
  .oo-cta{
    padding:56px 0 72px;
    background: linear-gradient(180deg, transparent, var(--oo-bg-soft));
  }
  .oo-cta-box{
    border:1px solid var(--oo-border);
    border-radius: var(--oo-radius);
    background:#fff;
    padding:22px 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    box-shadow: 0 10px 28px rgba(0,0,0,.05);
  }
  .oo-cta-box h2{
    margin:0;
    font-size: 28px;
    font-weight:700;
    line-height:1.25;
    letter-spacing:-0.01em;
    color:#1a2530;
  }
  .oo-cta-box p{
    margin:10px 0 0;
    font-size: var(--oo-body);
    line-height: var(--oo-body-lh);
    opacity:var(--oo-body-opacity);
    color:#495057;
  }

  .oo-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border:1px solid var(--oo-border-strong);
    border-radius: 12px;
    padding:12px 18px;
    font-weight:700;
    font-size:16px;
    line-height:1;
    background:#111;
    color:#fff;
    white-space:nowrap;
    transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
  }
  .oo-btn.secondary{
    background:#fff;
    color:#1a2530;
    border-color: var(--oo-border);
  }
  .oo-cta-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }

  @media (hover:hover) and (pointer:fine){
    .oo-btn:hover{
      transform: translateY(-1px);
      box-shadow: 0 8px 18px rgba(0,0,0,.12);
    }
    .oo-btn.secondary:hover{
      border-color: rgba(0,0,0,.18);
    }
  }

  /* ===== Responsive (layout keep) ===== */
  @media (max-width: 980px){
    .oo-grid{ grid-template-columns: 1fr; }
    .oo-steps{ grid-template-columns: 1fr; }
    .oo-cta-box{ flex-direction:column; align-items:flex-start; }
    .oo-cta-actions{ width:100%; justify-content:flex-start; }
  }

  /* 表格移动端：转卡片（layout keep, type align) */
  @media (max-width: 760px){
    :root{
      --oo-h2: 24px;
      --oo-body: 17px;
    }

    .oo-section{ padding:44px 0; }

    .oo-table-wrap{ box-shadow:none; }

    .oo-table, .oo-table thead, .oo-table tbody, .oo-table th, .oo-table td, .oo-table tr{
      display:block;
      width:100%;
    }
    .oo-table thead{ display:none; }
    .oo-table tbody tr{
      border-bottom:1px solid var(--oo-border);
      padding:14px 16px;
    }
    .oo-table tbody tr:last-child{ border-bottom:none; }
    .oo-table tbody td{
      border:none;
      padding:6px 0;
    }
    .oo-table tbody td:first-child{
      font-weight:700;
      opacity:.92;
      margin-bottom:6px;
      color:#1a2530;
    }
    .oo-table tbody td[data-col]:before{
      content: attr(data-col) "：";
      font-weight:700;
      opacity:.78;
      display:block;
      margin:10px 0 4px;
      color:#1a2530;
    }

    .oo-cta-box h2{ font-size:24px; }
    .oo-btn{ width:100%; justify-content:center; }
  }

  /* =========================================================
     Button Color ONLY (Brown Tone Override) - Added
     只改按钮色调，其余保持不变
     ========================================================= */

  /* Primary button */
  .oo-btn{
    background:#8B5A2B;
    border-color:#8B5A2B;
    color:#fff;
  }

  @media (hover:hover) and (pointer:fine){
    .oo-btn:hover{
      background:#5c4033;
      border-color:#5c4033;
      box-shadow:0 10px 22px rgba(139,90,43,.28);
      transform:translateY(-1px);
    }
  }

  /* Secondary button */
  .oo-btn.secondary{
    background:#fff;
    color:#5c4033;
    border-color:#c8a985;
  }

  @media (hover:hover) and (pointer:fine){
    .oo-btn.secondary:hover{
      background:#f6efe9;
      border-color:#8B5A2B;
    }
  }
