/* ========================================================================== 
   Partnership page
   ========================================================================== */

body.partnership-body {
      background: #121b29;
    }

    .partnership-bg-video {
      position: fixed;
      inset: 0;
      width: 100vw;
      height: 100vh;
      object-fit: cover;
      z-index: -3;
      opacity: 0.24;
      pointer-events: none;
    }

    .partnership-bg-overlay {
      position: fixed;
      inset: 0;
      z-index: -2;
      pointer-events: none;
      background:
        radial-gradient(circle at 20% 15%, rgba(3, 152, 158, 0.24), transparent 28%),
        radial-gradient(circle at 80% 5%, rgba(255, 255, 255, 0.08), transparent 24%),
        linear-gradient(180deg, rgba(7, 15, 28, 0.78), rgba(12, 20, 31, 0.96) 58%, rgba(3, 152, 158, 0.34));
    }

    .partnership-main {
      position: relative;
      z-index: 1;
      padding-top: 150px;
      overflow: hidden;
    }

    .partnership-main::before {
      content: '';
      position: absolute;
      top: 90px;
      left: 50%;
      width: min(920px, 92vw);
      height: min(920px, 92vw);
      border: 1px solid rgba(3, 152, 158, 0.12);
      border-radius: 50%;
      transform: translateX(-50%);
      box-shadow: 0 0 140px rgba(3, 152, 158, 0.12);
      pointer-events: none;
      z-index: -1;
    }

    .partnership-container {
      width: 92%;
      max-width: 1250px;
      margin: 0 auto;
    }

    .partnership-hero {
      min-height: auto;
      padding: 70px 0 45px;
      align-items: stretch;
    }

    .partnership-hero-panel {
      position: relative;
      padding: clamp(34px, 5vw, 70px);
      border: 1px solid rgba(3, 152, 158, 0.35);
      border-radius: 22px;
      background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.025)),
        rgba(0, 0, 0, 0.22);
      box-shadow:
        0 28px 70px rgba(0, 0, 0, 0.34),
        inset 0 0 38px rgba(3, 152, 158, 0.08);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      overflow: hidden;
    }

    .partnership-hero-panel::after {
      content: '';
      position: absolute;
      top: 0;
      right: -22%;
      width: 52%;
      height: 100%;
      background: linear-gradient(90deg, transparent, rgba(3, 152, 158, 0.13), transparent);
      transform: skewX(-18deg);
      pointer-events: none;
    }

    .partnership-kicker {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 22px;
      padding: 8px 14px;
      border: 1px solid rgba(3, 152, 158, 0.42);
      border-radius: 999px;
      color: #e0f7fa;
      background: rgba(3, 152, 158, 0.12);
      font-size: 0.88rem;
      letter-spacing: 1.4px;
      text-transform: uppercase;
      text-shadow: 0 0 10px rgba(3, 152, 158, 0.55);
    }

    .partnership-kicker::before {
      content: '';
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #03989e;
      box-shadow: 0 0 15px rgba(3, 152, 158, 0.85);
    }

    .partnership-hero h1 {
      max-width: 980px;
      margin: 0 0 26px;
      font-size: clamp(2.55rem, 6vw, 5.2rem);
      line-height: 0.98;
      letter-spacing: -2px;
    }

    .partnership-hero h1 .accent {
      color: #03989e;
      text-shadow: 0 0 22px rgba(3, 152, 158, 0.55);
    }

    .partnership-lead {
      max-width: 920px;
      margin: 0 0 28px;
      font-size: clamp(1.08rem, 2.1vw, 1.55rem);
      line-height: 1.55;
      color: rgba(255, 255, 255, 0.9);
    }

    .partnership-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 16px;
      margin-top: 34px;
    }

    .partnership-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 48px;
      padding: 0 24px;
      border-radius: 999px;
      text-decoration: none;
      font-weight: 700;
      letter-spacing: 0.4px;
      transition: transform 0.3s, box-shadow 0.3s, border-color 0.3s, background 0.3s;
    }

    .partnership-btn.primary {
      color: #fff;
      background: #03989e;
      border: 1px solid rgba(3, 152, 158, 0.65);
      box-shadow: 0 0 28px rgba(3, 152, 158, 0.38);
    }

    .partnership-btn.secondary {
      color: #fff;
      background: rgba(255, 255, 255, 0.06);
      border: 1px solid rgba(255, 255, 255, 0.18);
    }

    .partnership-btn:hover {
      transform: translateY(-3px);
      box-shadow: 0 12px 32px rgba(0, 0, 0, 0.32), 0 0 28px rgba(3, 152, 158, 0.34);
    }

    .partnership-facts {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
      margin-top: 42px;
      max-width: 950px;
    }

    .partnership-fact {
      padding: 18px;
      border-radius: 16px;
      background: rgba(255, 255, 255, 0.055);
      border: 1px solid rgba(255, 255, 255, 0.12);
    }

    .partnership-fact strong {
      display: block;
      margin-bottom: 7px;
      color: #03989e;
      font-size: 1.05rem;
    }

    .partnership-fact span {
      color: rgba(255, 255, 255, 0.82);
      font-size: 0.95rem;
      line-height: 1.45;
    }

    .partnership-section {
      min-height: auto;
      padding: 58px 0;
      align-items: stretch;
    }

    .partnership-section-header {
      max-width: 920px;
      margin-bottom: 34px;
    }

    .partnership-section h2 {
      margin: 0 0 16px;
      font-size: clamp(2rem, 4vw, 3.35rem);
      line-height: 1.05;
      color: #fff;
      text-shadow: none;
    }

    .partnership-section h2::first-letter {
      color: #03989e;
    }

    .partnership-section-header p {
      margin: 0;
      color: rgba(255, 255, 255, 0.82);
      font-size: clamp(1rem, 1.6vw, 1.25rem);
      line-height: 1.65;
    }

    .partnership-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 22px;
    }

    .partnership-grid.two {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .partnership-card {
      position: relative;
      padding: 28px;
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.055);
      border: 1px solid rgba(255, 255, 255, 0.11);
      box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
      transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
      overflow: hidden;
    }

    .partnership-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 3px;
      height: 100%;
      background: #03989e;
      opacity: 0.7;
      box-shadow: 0 0 18px rgba(3, 152, 158, 0.8);
    }

    .partnership-card:hover {
      transform: translateY(-5px);
      border-color: rgba(3, 152, 158, 0.48);
      background: rgba(3, 152, 158, 0.08);
    }

    .partnership-card h3 {
      margin: 0 0 13px;
      color: #03989e;
      font-size: 1.32rem;
      line-height: 1.25;
    }

    .partnership-card p {
      margin: 0;
      color: rgba(255, 255, 255, 0.82);
      font-size: 1rem;
      line-height: 1.58;
    }

    .partnership-card .card-label {
      display: inline-block;
      margin-bottom: 14px;
      color: rgba(255, 255, 255, 0.55);
      font-size: 0.78rem;
      letter-spacing: 1.4px;
      text-transform: uppercase;
    }

    .partnership-hypotheses {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
      counter-reset: hypothesis;
    }

    .hypothesis-card {
      counter-increment: hypothesis;
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 18px;
      padding: 24px;
      border-radius: 18px;
      background: rgba(0, 0, 0, 0.2);
      border: 1px solid rgba(3, 152, 158, 0.2);
    }

    .hypothesis-card::before {
      content: counter(hypothesis, decimal-leading-zero);
      display: flex;
      align-items: center;
      justify-content: center;
      width: 46px;
      height: 46px;
      border-radius: 50%;
      color: #e0f7fa;
      background: rgba(3, 152, 158, 0.16);
      border: 1px solid rgba(3, 152, 158, 0.55);
      box-shadow: 0 0 20px rgba(3, 152, 158, 0.25);
      font-size: 0.85rem;
      font-weight: 700;
    }

    .hypothesis-card h3 {
      margin: 0 0 8px;
      color: #fff;
      font-size: 1.12rem;
      line-height: 1.35;
    }

    .hypothesis-card p {
      margin: 0;
      color: rgba(255, 255, 255, 0.78);
      font-size: 0.98rem;
      line-height: 1.55;
    }

    .partnership-quote {
      margin: 22px 0 0;
      padding: clamp(28px, 4vw, 44px);
      border-radius: 20px;
      border: 1px solid rgba(3, 152, 158, 0.35);
      background:
        linear-gradient(135deg, rgba(3, 152, 158, 0.16), rgba(255, 255, 255, 0.04)),
        rgba(0, 0, 0, 0.18);
      box-shadow: inset 0 0 35px rgba(3, 152, 158, 0.08);
    }

    .partnership-quote p {
      margin: 0;
      font-size: clamp(1.14rem, 2vw, 1.45rem);
      line-height: 1.6;
      color: #fff;
    }

    .partnership-quote strong {
      color: #03989e;
    }

    .partnership-process {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 14px;
    }

    .process-step {
      position: relative;
      padding: 22px 18px;
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.05);
      border: 1px solid rgba(255, 255, 255, 0.1);
      min-height: 160px;
    }

    .process-step::after {
      content: '→';
      position: absolute;
      right: -15px;
      top: 50%;
      transform: translateY(-50%);
      color: #03989e;
      font-size: 1.4rem;
      opacity: 0.85;
    }

    .process-step:last-child::after {
      content: '';
    }

    .process-step strong {
      display: block;
      color: #03989e;
      margin-bottom: 10px;
      font-size: 1.02rem;
    }

    .process-step span {
      display: block;
      color: rgba(255, 255, 255, 0.76);
      font-size: 0.95rem;
      line-height: 1.45;
    }

    .partnership-final {
      padding-bottom: 92px;
    }

    .partnership-final-panel {
      text-align: center;
      padding: clamp(34px, 5vw, 58px);
      border-radius: 22px;
      border: 1px solid rgba(3, 152, 158, 0.38);
      background:
        radial-gradient(circle at 50% 0%, rgba(3, 152, 158, 0.24), transparent 45%),
        rgba(0, 0, 0, 0.24);
      box-shadow: 0 26px 70px rgba(0, 0, 0, 0.28);
    }

    .partnership-final-panel h2 {
      text-shadow: none;
      color: #fff;
      margin-bottom: 18px;
    }

    .partnership-final-panel p {
      max-width: 840px;
      margin: 0 auto 28px;
      color: rgba(255, 255, 255, 0.82);
      font-size: 1.13rem;
      line-height: 1.65;
    }

    .partnership-footer-note {
      margin-top: 22px;
      color: rgba(255, 255, 255, 0.55);
      font-size: 0.92rem;
    }

    @media (max-width: 1024px) {
      .partnership-main {
        padding-top: 125px;
      }

      .partnership-grid,
      .partnership-grid.two,
      .partnership-hypotheses {
        grid-template-columns: 1fr;
      }

      .partnership-process {
        grid-template-columns: 1fr;
      }

      .process-step {
        min-height: auto;
      }

      .process-step::after {
        content: '↓';
        right: 50%;
        top: auto;
        bottom: -20px;
        transform: translateX(50%);
      }

      .process-step:last-child::after {
        content: '';
      }

      .partnership-facts {
        grid-template-columns: 1fr;
      }
    }

    @media (max-width: 768px) {
      .partnership-main {
        padding-top: 105px;
      }

      .partnership-hero {
        padding-top: 40px;
      }

      .partnership-hero-panel {
        padding: 28px 20px;
        border-radius: 18px;
      }

      .partnership-hero h1 {
        letter-spacing: -1px;
      }

      .partnership-actions {
        flex-direction: column;
      }

      .partnership-btn {
        width: 100%;
        box-sizing: border-box;
      }

      .partnership-card,
      .hypothesis-card,
      .process-step {
        padding: 22px 18px;
      }

      .hypothesis-card {
        grid-template-columns: 1fr;
      }

      .partnership-section {
        padding: 42px 0;
      }
    }

.partnership-actions.centered {
  justify-content: center;
}