
    /* ===== TOKENS ===== */
    :root {
      --navy: #0C1F36;
      --navy-dark: #060F1C;
      --navy-mid: #132D4A;
      --gold: #C9971A;
      --gold-light: #DDB84A;
      --white: #FFFFFF;
      --snow: #F5F6F8;
      --smoke: #E8EAED;
      --ink: #1A1D22;
      --stone: #5F6670;
      --silver: #959CA6;
      --primary: var(--navy);
      --primary-dark: var(--navy-dark);
      --accent: var(--gold);
      --accent-light: var(--gold-light);
      --bg: var(--white);
      --bg-light: var(--snow);
      --text: var(--ink);
      --text-secondary: var(--stone);
      --text-muted: var(--silver);
      --border: var(--smoke);
      --red: #C0392B;
      --max-width: 1200px;
      --nav-height: 72px;
    }

    /* ===== RESET ===== */
    *,
    *::before,
    *::after {
      margin: 0;
      padding: 0;
      box-sizing: border-box
    }

    html {
      font-size: 16px;
      -webkit-font-smoothing: antialiased
    }

    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", "Helvetica Neue", sans-serif;
      color: var(--text);
      background: var(--bg);
      line-height: 1.6
    }

    a {
      text-decoration: none;
      color: inherit
    }

    ul {
      list-style: none
    }

    /* ===== SECTION ===== */
    .sec-wide {
      padding: 100px 0
    }

    .wrap {
      max-width: var(--max-width);
      margin: 0 auto;
      padding: 0 40px
    }

    .label {
      display: inline-block;
      font-size: 0.68rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.14em;
      color: var(--accent);
      margin-bottom: 14px
    }

    h2 {
      font-size: clamp(1.6rem, 3.5vw, 2.4rem);
      font-weight: 700;
      line-height: 1.18;
      letter-spacing: -0.015em
    }

    .sec-sub {
      color: var(--text-secondary);
      font-size: 0.9rem;
      max-width: 520px
    }

    /* ===== PROCESS — Desktop: horizontal timeline ===== */
    .process-track {
      display: flex;
      align-items: stretch;
      justify-content: space-between;
      gap: 16px;
      margin-top: 56px;
      position: relative
    }

    .process-track::before {
      content: '';
      position: absolute;
      top: 46px;
      left: 8%;
      right: 8%;
      height: 2px;
      background: linear-gradient(90deg, var(--accent), var(--accent-light), var(--accent));
      z-index: 0;
      opacity: 0.3
    }

    .process-node {
      text-align: center;
      position: relative;
      z-index: 1;
      flex: 1;
      padding: 28px 16px 24px;
      background: var(--bg-light);
      border-radius: 14px;
      border: 1px solid var(--border);
      display: flex;
      flex-direction: column;
      align-items: center;
      transition: all 0.25s ease
    }

    .process-node:hover {
      border-color: var(--accent);
      box-shadow: 0 4px 20px rgba(201, 151, 26, 0.12)
    }

    .process-node .node-icon {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      background: var(--bg);
      border: 2px solid var(--accent);
      display: flex;
      align-items: center;
      justify-content: center;
      margin: 0 auto 18px;
      color: var(--primary);
      transition: all 0.25s ease;
      flex-shrink: 0
    }

    .process-node:hover .node-icon {
      background: var(--accent);
      color: var(--bg)
    }

    .process-node .node-num {
      font-size: 0.72rem;
      font-weight: 700;
      color: var(--accent);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      margin-bottom: 10px
    }

    .process-node h4 {
      font-size: 1rem;
      font-weight: 700;
      color: var(--primary);
      margin-bottom: 10px;
      line-height: 1.3;
      min-height: 2.6em;
      display: flex;
      align-items: center
    }

    .process-node p {
      font-size: 0.88rem;
      color: var(--text-secondary);
      line-height: 1.7;
      max-width: 280px;
      margin: 0 auto
    }

    /* ===== TABLET: 3-column grid ===== */
    @media(max-width:1024px) {
      .sec-wide {
        padding: 72px 0
      }
      .wrap {
        padding: 0 24px
      }
      .process-track {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 12px;
        margin-top: 40px
      }
      .process-track::before {
        display: none
      }
      .process-node {
        padding: 20px 14px 16px;
        border-radius: 10px
      }
      .process-node .node-icon {
        width: 48px;
        height: 48px;
        margin: 0 auto 14px
      }
      .process-node .node-icon svg {
        width: 20px;
        height: 20px
      }
      .process-node h4 {
        font-size: 0.95rem;
        min-height: auto;
        margin-bottom: 8px
      }
      .process-node p {
        font-size: 0.82rem;
        max-width: 100%
      }
    }

    /* ===== MOBILE: 2-column grid ===== */
    @media(max-width:768px) {
      .sec-wide {
        padding: 56px 0
      }
      .wrap {
        padding: 0 14px
      }
      h2 {
        font-size: 1.2rem
      }
      .sec-sub {
        font-size: 0.85rem;
        max-width: 100%
      }
      .process-track {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 8px;
        margin-top: 28px
      }
      .process-node {
        padding: 16px 10px 14px;
        border-radius: 10px;
        text-align: center;
        flex-direction: column;
        align-items: center;
        gap: 0
      }
      .process-node .node-icon {
        width: 38px;
        height: 38px;
        margin: 0 auto 10px;
        border-width: 1.5px
      }
      .process-node .node-icon svg {
        width: 17px;
        height: 17px
      }
      .process-node .node-num {
        font-size: 0.6rem;
        letter-spacing: 0.08em;
        margin-bottom: 4px
      }
      .process-node h4 {
        font-size: 0.8rem;
        min-height: auto;
        margin-bottom: 4px;
        line-height: 1.25
      }
      .process-node p {
        font-size: 0.72rem;
        line-height: 1.45;
        max-width: 100%
      }

      /* last row: if odd count (6 items = 3 rows even, no orphans) */
      /* 6 cards → 2 cols × 3 rows, no special handling needed */
    }

    /* ===== SMALL MOBILE: still 2-column, tighter ===== */
    @media(max-width:400px) {
      .sec-wide {
        padding: 44px 0
      }
      .wrap {
        padding: 0 10px
      }
      h2 {
        font-size: 1.1rem
      }
      .sec-sub {
        font-size: 0.8rem
      }
      .process-track {
        gap: 6px;
        margin-top: 22px
      }
      .process-node {
        padding: 12px 8px 10px;
        border-radius: 8px
      }
      .process-node .node-icon {
        width: 32px;
        height: 32px;
        margin: 0 auto 8px
      }
      .process-node .node-icon svg {
        width: 15px;
        height: 15px
      }
      .process-node .node-num {
        font-size: 0.55rem;
        margin-bottom: 3px
      }
      .process-node h4 {
        font-size: 0.74rem;
        margin-bottom: 2px
      }
      .process-node p {
        font-size: 0.68rem;
        line-height: 1.4
      }
    }
  