.collage-section {
      height: 100vh;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* ── CONTAINER: two equal slots ── */
    .collage-container {
      position: relative;
      width: 100%;
      max-width: 1100px;
      margin: 0 auto;
      padding: 0 48px;
      display: flex;
      align-items: center;
      gap: 60px;
    }

    /* ── IMAGE SLOT (left 50%) ── */
    .image-slot {
      flex: 0 0 calc(50% - 30px);
      display: flex;
      justify-content: center;
    }

    .collage-wrapper {
      position: relative;
      width: 100%;
      max-width: 480px;
      aspect-ratio: 3 / 2;
      z-index: 2;
    }

    /* ── PIECES ── */
    .collage-pieces {
      position: absolute;
      inset: 0;
    }

    /* ── FULL IMAGE ── */
    .collage-full {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 6px;
      box-shadow: 0 16px 56px rgba(0, 0, 0, 0.18);
      opacity: 0;
      z-index: 1;
    }

    /* ── TILES ── */
    .tile {
      position: absolute;
      width: calc(50% - 2px);
      height: calc(50% - 2px);
      object-fit: cover;
      border-radius: 5px;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.13);
      will-change: transform;
    }

    .t1 {
      top: 0;
      left: 0;
    }

    .t2 {
      top: 0;
      left: calc(50% + 2px);
    }

    .t3 {
      top: calc(50% + 2px);
      left: 0;
    }

    .t4 {
      top: calc(50% + 2px);
      left: calc(50% + 2px);
    }

    /* ── TEXT SLOT (right 50%) ── */
    .text-slot {
      flex: 0 0 calc(50% - 30px);
      opacity: 0;
      will-change: opacity, transform;
    }

    

    /* ══════════════════════════════════════
     MOBILE
  ══════════════════════════════════════ */
    @media (max-width: 768px) {
      .collage-section {
        height: auto;
        padding: 56px 0 48px;
      }

      .collage-container {
        flex-direction: column;
        align-items: center;
        gap: 28px;
        padding: 0 20px;
      }

      .image-slot {
        flex: none;
        width: min(88vw, 420px);
      }

      .collage-wrapper {
        width: 100%;
        max-width: 100%;
      }

      .collage-pieces {
        display: none;
      }

      .collage-full {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        height: 100% !important;
        opacity: 1 !important;
      }

      .text-slot {
        flex: none;
        width: 100%;
        max-width: 480px;
        opacity: 1 !important;
        transform: none !important;
      }
    }