body {
            background:
                radial-gradient(circle at center, #29323a 0%, #11151a 55%, #090b0e 100%);
            margin: 0;
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        .gateway {
            display: grid;
            grid-template-columns: 170px auto;
            column-gap: 25px;
            align-items: center;
        }

        .gateway-title {
            color: rgba(255, 255, 255, 1.0);
            font-family: "Orbitron", sans-serif;
            font-size: 26px;
            line-height: 1.4;
            font-style: normal;
            text-align: right;
            width: 170px;
            transform: translate(-40px, -46px);
        }

        /* SMALL SUBTITLE */
        .gateway-subtitle {
            display: block;
            margin-top: 7px;
            color: rgba(255, 255, 255, 0.7);
            font-family: "Orbitron", sans-serif;
            font-size: 10px;
            letter-spacing: 3px;
            line-height: 1.4;
            text-transform: uppercase;
        }

        /* THE 2 x 2 PHOTO GRID */
        .photo-gallery {
            display: grid;
            grid-template-columns: 200px 200px;
            column-gap: 8px;
            row-gap: 0;
            justify-content: center;
            align-items: center;
            overflow: visible;
        }

        /* MOVE BOTTOM ROW UP */
        .photo-container:nth-child(3),
        .photo-container:nth-child(4) {
            transform: translateY(-66px);
        }

        /* CONTAINER FOR EACH PHOTO */
        .photo-container {
            position: relative;
            width: 200px;
            height: 200px;
            display: flex;
            justify-content: center;
            align-items: center;
            overflow: visible;
        }

        /* BRING HOVERED IMAGE AND POPUP TO THE FRONT */
        .photo-container:hover {
            z-index: 100;
        }

        /* THE PHOTOS */
        .photo {
            width: 200px;
            height: auto;

            transition:
                transform 0.35s ease,
                box-shadow 0.35s ease;

            position: relative;
            z-index: 2;

            border: 1px solid rgba(255, 255, 255, 0.18);

            box-shadow:
                0 8px 25px rgba(0, 0, 0, 0.40);

            background-color: #11151a;
        }

        /* ENLARGE PHOTO WHEN HOVERED */
        .photo-container:hover .photo {
            transform: scale(1.3);

            box-shadow:
                0 18px 45px rgba(0, 0, 0, 0.65),
                0 0 25px rgba(100, 170, 210, 0.15);

            z-index: 10;
        }

       /* POPUP */
.photo-text {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-decoration: none;

    width: 80px;
    padding: 6px 8px;

    background: rgba(235, 242, 246, 0.94);
    color: #26323a;

    border: 1px solid rgba(150, 190, 210, 0.55);
    border-radius: 6px;

    box-shadow:
        0 8px 25px rgba(0, 0, 0, 0.28),
        0 0 12px rgba(100, 170, 210, 0.12);

    font-family: Arial, sans-serif;
    font-size: 11px;
    letter-spacing: 0.5px;
    line-height: 1.35;
    text-align: center;

    opacity: 0;
    visibility: hidden;

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease,
        box-shadow 0.3s ease;

    z-index: 20;
            /* Popup is display only */
            pointer-events: none;
}
               /* POPUPS ABOVE ALL PHOTOS */
.photo-container:nth-child(1) .photo-text,
.photo-container:nth-child(2) .photo-text,
.photo-container:nth-child(3) .photo-text,
.photo-container:nth-child(4) .photo-text {
    left: 50%;
    top: -50px;
    transform: translateX(-50%);
}

        /* SHOW POPUP WHEN HOVERING */
        .photo-container:hover .photo-text {
            opacity: 1;
            visibility: visible;
        }

        /* MOBILE */
        @media (max-width: 600px) {

            body {
                padding: 20px;
                box-sizing: border-box;
                align-items: flex-start;
            }

            .gateway {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding-top: 90px;
}

            .gateway-title {
                width: 100%;
                text-align: center;
                font-size: 22px;
                margin-bottom: 20px;
                color: rgba(255, 255, 255, 0.9);
                transform: translate(0px, -15px);
            }

            .gateway-subtitle {
                margin-top: 5px;
                font-size: 9px;
                letter-spacing: 2.5px;
            }

            .photo-gallery {
                grid-template-columns: 1fr 1fr;
                width: 100%;
                max-width: 400px;
                column-gap: 8px;
                transform: translate(0px, -20px);
            }

            .photo-container {
                width: 100%;
                height: auto;
                aspect-ratio: 1 / 1;
            }

            .photo {
                width: 100%;
                height: auto;
            }

            /* Don't pull the bottom row upward on phones */
            .photo-container:nth-child(3),
            .photo-container:nth-child(4) {
               transform: translateY(-55px);
            }


           /* =========================================
   MOBILE POPUPS
   ========================================= */

/* Images 1 and 2 — POPUP ABOVE
   z.jpg and h.jpg */
.photo-container:nth-child(1) .photo-text,
.photo-container:nth-child(2) .photo-text {
    left: 50%;
    right: auto;
    top: -20px;
    bottom: auto;
    transform: translateX(-50%);
}

/* Images 3 and 4 — POPUP BELOW
   a.jpg and e.jpg */
.photo-container:nth-child(3) .photo-text,
.photo-container:nth-child(4) .photo-text {
    left: 50%;
    right: auto;
    top: -33px;
    bottom: auto;
    transform: translateX(-50%);
}



            /* =========================================
               MOBILE TAP BEHAVIOR
               ========================================= */

            /* Show popup after first tap */
            .photo-container.tap-active .photo-text {
                opacity: 1;
                visibility: visible;
            }

            /* Don't enlarge images on phones */
            .photo-container:hover .photo {
                transform: none;
            }
        }


        /* FOOTER */
        .site-footer {
            position: fixed;
            bottom: 15px;
            left: 0;
            width: 100%;
            text-align: center;
            color: rgba(255, 255, 255, 0.65);
            font-family: Arial, sans-serif;
            font-size: 11px;
            line-height: 1.5;
        }


  /* If any section is leaving transparent space, this keeps it black */
  body {
    background-color: #000;
  }
  /* FORCE ALL DESKTOP POPUPS ABOVE THEIR IMAGES */
@media (min-width: 601px) {

    .photo-container:nth-child(1) .photo-text,
    .photo-container:nth-child(2) .photo-text,
    .photo-container:nth-child(3) .photo-text,
    .photo-container:nth-child(4) .photo-text {
        top: auto !important;
        bottom: 100% !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

}
 /* DIM OTHER IMAGES WHEN ONE IS HOVERED */
.photo-gallery:has(.photo-container:hover) .photo-container:not(:hover) .photo {
    opacity: 0.35;
    transition: opacity 0.3s ease;
}

/* Keep the hovered image fully visible */
.photo-container .photo {
    opacity: 1;
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease,
        opacity 0.3s ease;
}