
    :root {
      --navy: #0C1F36;
      --navy-dark: #060F1C;
      --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);
      --bg: var(--white);
      --bg-light: var(--snow);
      --text: var(--ink);
      --text-secondary: var(--stone);
      --text-muted: var(--silver);
      --border: var(--smoke);
      --max-width: 1200px;
    }

    *,
    *::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
    }

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

    .sec-wide {
      padding: 100px 0
    }

    .sec-alt {
      background: var(--bg-light)
    }

    .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
    }

    .photo-wall {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 16px;
    }

    .photo-card {
      border-radius: 10px;
      overflow: hidden;
      background: var(--navy-dark);
      aspect-ratio: 4/3;
      position: relative
    }

    .photo-card img {
      width: 100%;
      height: 100%;
      object-fit: cover
    }

    .photo-card-main {
      grid-column: span 2;
      grid-row: span 2;
      aspect-ratio: auto
    }

    .photo-caption {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
      padding: 40px 20px 16px
    }

    .photo-caption .title {
      color: var(--white);
      font-size: 0.95rem;
      font-weight: 600
    }

    .photo-caption .sub {
      color: rgba(255, 255, 255, 0.7);
      font-size: 0.78rem;
      margin-top: 2px
    }

    /* ===== TABLET ===== */
    @media(max-width:1024px) {
      .photo-wall {
        grid-template-columns: 1fr 1fr
      }

      .photo-card-main {
        grid-column: span 1;
        grid-row: span 1;
        aspect-ratio: 4/3
      }
    }

    /* ===== MOBILE ===== */
    @media(max-width:768px) {
      .sec-wide {
        padding: 48px 0
      }

      .wrap {
        padding: 0 12px
      }

      h2 {
        font-size: 1.15rem
      }

      .label {
        font-size: 0.6rem;
        margin-bottom: 8px
      }

      .photo-wall {
        grid-template-columns: 1fr 1fr;
        gap: 6px;
        margin-top: 20px
      }

      .photo-card {
        border-radius: 6px
      }

      .photo-card-main {
        grid-column: span 2
      }

      .photo-caption {
        padding: 20px 8px 8px
      }

      .photo-caption .title {
        font-size: 0.68rem
      }

      .photo-caption .sub {
        font-size: 0.6rem;
        margin-top: 1px
      }
    }

    /* ===== SMALL MOBILE ===== */
    @media(max-width:400px) {
      .sec-wide {
        padding: 36px 0
      }

      .wrap {
        padding: 0 8px
      }

      h2 {
        font-size: 1.05rem
      }

      .photo-wall {
        grid-template-columns: 1fr;
        gap: 8px
      }

      /* 手机单列时大图也恢复为单列普通比例 */
      .photo-card-main {
        grid-column: span 1
      }

      .photo-card {
        aspect-ratio: 16/9
      }

      .photo-caption {
        padding: 24px 10px 10px
      }

      .photo-caption .title {
        font-size: 0.78rem
      }

      .photo-caption .sub {
        font-size: 0.65rem
      }
    }
  