/* Extracted from page\research\partner.html */
/* ── Image-First Partner Layout ── */
    .partner-section { padding: 60px 0 80px; }

    .partner-showcase {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
      margin-bottom: 50px;
    }

    .partner-feature-card {
      border-radius: 16px;
      overflow: hidden;
      background: #fff;
      box-shadow: 0 6px 28px rgba(10,31,61,0.10);
      transition: transform 0.35s ease, box-shadow 0.35s ease;
      display: flex;
      flex-direction: column;
    }
    .partner-feature-card:hover {
      transform: translateY(-8px);
      box-shadow: 0 16px 48px rgba(10,31,61,0.18);
    }

    /* Large image area – takes center stage */
    .partner-img-wrap {
      width: 100%;
      height: 200px;
      overflow: hidden;
      position: relative;
    }
    .partner-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.5s ease;
    }
    .partner-feature-card:hover .partner-img-wrap img {
      transform: scale(1.04);
    }
    .partner-img-wrap::after {
      content: '';
      position: absolute;
      bottom: 0; left: 0; right: 0;
      height: 50%;
      background: linear-gradient(to top, rgba(0,0,0,0.45), transparent);
    }

    /* Card body */
    .partner-card-body {
      padding: 20px 24px 28px;
      flex: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
    }
    .partner-card-body h3 {
      font-size: 1.05rem;
      color: #0a1f3d;
      margin-bottom: 6px;
      margin-top: 8px;
    }
    .partner-card-body .partner-en {
      font-size: 0.76rem;
      color: #2e6fc4;
      font-weight: 600;
      margin-bottom: 14px;
      line-height: 1.4;
    }
    .partner-card-body p {
      font-size: 0.84rem;
      color: #5a6a80;
      line-height: 1.75;
      flex: 1;
    }
    .partner-card-body .partner-link {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      margin-top: 18px;
      padding: 9px 20px;
      background: linear-gradient(135deg, #1e4d8c, #2e6fc4);
      color: #fff;
      border-radius: 24px;
      font-size: 0.82rem;
      font-weight: 600;
      text-decoration: none;
      transition: gap 0.3s, opacity 0.3s;
    }
    .partner-card-body .partner-link:hover {
      gap: 10px;
      opacity: 0.9;
    }

    /* ── Collaboration Pillars ── */
    .collab-section {
      background: linear-gradient(135deg, #0a1f3d, #1a3a6e);
      border-radius: 20px;
      padding: 48px 40px;
      margin-bottom: 20px;
    }
    .collab-section h2 {
      text-align: center;
      color: #fff;
      font-size: clamp(1.2rem,2.5vw,1.6rem);
      margin-bottom: 32px;
    }
    .collab-pillars {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
    }
    .collab-pillar {
      background: rgba(255,255,255,0.1);
      border: 1px solid rgba(255,255,255,0.15);
      border-radius: 14px;
      padding: 24px 16px;
      text-align: center;
      backdrop-filter: blur(6px);
      transition: background 0.3s;
    }
    .collab-pillar:hover {
      background: rgba(255,255,255,0.18);
    }
    .collab-pillar h4 {
      color: #fff;
      font-size: 0.9rem;
      font-weight: 600;
      margin-bottom: 6px;
    }
    .collab-pillar p {
      color: rgba(255,255,255,0.65);
      font-size: 0.78rem;
      line-height: 1.5;
    }

    /* ── Responsive ── */
    /* Codex desktop refinement */
    @media (min-width: 901px) {
      .page-banner--research {
        min-height: 410px;
        padding: 92px 0 82px;
      }
      .page-banner--research h1 {
        font-size: clamp(3.1rem, 5vw, 4.65rem);
        line-height: 1.04;
        letter-spacing: 0;
      }
      .page-banner--research .banner-subtitle {
        max-width: 860px;
        font-size: 1.16rem;
        line-height: 1.82;
      }
      .partner-section {
        padding: 94px 0 112px;
      }
      .partner-showcase {
        gap: 34px;
        margin-bottom: 64px;
      }
      .partner-feature-card {
        position: relative;
        min-height: 540px;
        border-radius: 8px;
      }
      .partner-img-wrap {
        height: 282px;
      }
      .partner-card-body {
        padding: 34px 32px 34px;
      }
      .partner-card-body h3 {
        font-size: 1.48rem;
        line-height: 1.34;
      }
      .partner-card-body .partner-en {
        font-size: 0.95rem;
      }
      .partner-card-body p {
        font-size: 1.02rem;
        line-height: 1.78;
      }
      .partner-card-body .partner-link {
        min-height: 48px;
        font-size: 0.94rem;
        border-radius: 8px;
      }
      .collab-section {
        border-radius: 8px;
        padding: 64px 56px;
      }
      .collab-section h2 {
        font-size: 2.4rem;
        line-height: 1.18;
        margin-bottom: 38px;
      }
      .collab-pillars {
        gap: 24px;
      }
      .collab-pillar {
        min-height: 185px;
        padding: 32px 24px;
        border-radius: 8px;
      }
      .collab-pillar h4 {
        font-size: 1.12rem;
        line-height: 1.35;
        margin-bottom: 12px;
      }
      .collab-pillar p {
        font-size: 0.96rem;
        line-height: 1.72;
      }
    }

    @media (max-width: 960px) {
      .page-banner--research {
        min-height: 300px;
        padding: 62px 0 56px;
      }
      .partner-section {
        padding: 44px 0 62px;
      }
      .partner-showcase {
        grid-template-columns: 1fr;
        width: 100%;
        max-width: 560px;
        gap: 24px;
        margin: 0 auto 44px;
      }
      .partner-feature-card {
        min-height: 0;
        border-radius: 8px;
        box-shadow: 0 14px 38px rgba(21,32,53,0.08);
      }
      .partner-feature-card:hover {
        transform: none;
      }
      .partner-img-wrap {
        height: 224px;
      }
      .partner-card-body {
        align-items: flex-start;
        text-align: left;
        padding: 26px 24px 28px;
      }
      .partner-card-body h3 {
        margin-top: 0;
        font-size: 1.28rem;
        line-height: 1.36;
        overflow-wrap: anywhere;
      }
      .partner-card-body .partner-en {
        font-size: 0.9rem;
      }
      .partner-card-body p {
        font-size: 0.98rem;
        line-height: 1.76;
        overflow-wrap: anywhere;
      }
      .partner-card-body .partner-link {
        min-height: 44px;
        border-radius: 8px;
      }
      .collab-section {
        border-radius: 8px;
        padding: 38px 24px;
      }
      .collab-section h2 {
        text-align: left;
        font-size: 1.72rem;
        line-height: 1.22;
      }
      .collab-pillars {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
      }
      .collab-pillar {
        min-height: 0;
        border-radius: 8px;
        padding: 22px 18px;
        text-align: left;
      }
      .collab-pillar h4 {
        font-size: 1.02rem;
        line-height: 1.36;
      }
      .collab-pillar p {
        font-size: 0.9rem;
        line-height: 1.62;
      }
    }
    @media (max-width: 560px) {
      .partner-img-wrap {
        height: 192px;
      }
      .partner-card-body {
        padding: 24px 20px 26px;
      }
      .collab-section {
        padding: 32px 20px;
      }
      .collab-pillars { grid-template-columns: 1fr; }
    }