/* =========================================================
   STADIA: PARAMETRIC MODELING
   PROJECT-SPECIFIC STYLES
========================================================= */

.project-stadium-page {
    --project-accent: #ffb014;
}

.project-stadium-page .project-content {
    padding-bottom: 100px;
}

/* =========================================================
   MEDIA SLOTS
========================================================= */

.stadia-media-slot {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    background: rgba(17, 17, 17, 0.025);
    border: 1px solid rgba(17, 17, 17, 0.08);
}

.stadia-media-slot:has(img),
.stadia-media-slot:has(video) {
    background: transparent;
    border: none;
}

.stadia-media-slot img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}

/* =========================================================
   PRIMARY PROJECT MEDIA
========================================================= */

.stadia-primary-slot {
    grid-column: 3 / span 8;
    position: relative;
    overflow: hidden;
    aspect-ratio: 14 / 8;
    margin-top: 30px;
}

.stadia-primary-slot img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease;
}

.stadia-primary-hover {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    background: rgba(255, 255, 255, 0.5);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.stadia-primary-hover p {
    max-width: 520px;
    margin: 0;
    color: #111111;
    font-family: "Questrial", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
}

.stadia-primary-slot:hover .stadia-primary-hover {
    opacity: 1;
}

/* =========================================================
   PARAMETRIC STUDIES
   ORIGINAL CENTERED PROJECT WIDTH
========================================================= */

.stadia-two-grid {
    grid-column: 3 / span 8;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 28px;
    width: 100%;
    margin-top: 30px;
    align-items: center;
}

.stadia-two-grid > .stadia-media-slot {
    width: 100%;
    min-width: 0;
    background: transparent;
    border: none;
}

/* =========================================================
   CONCEPT SLIDER
========================================================= */

.stadia-concept-slider {
    position: relative;
    width: 100%;
}

.stadia-concept-track {
    position: relative;
    width: 100%;
}

.stadia-media-slot .stadia-concept-slide {
    display: none;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
}

.stadia-media-slot .stadia-concept-slide.active {
    display: block;
}

/* =========================================================
   CONCEPT CONTROLS
========================================================= */

.stadia-concept-prev,
.stadia-concept-next {
    position: absolute;
    bottom: 95px;
    padding: 0;
    border: none;
    background: transparent;
    color: #111111;
    font-family: Arial, sans-serif;
    font-size: 36px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    z-index: 5;
}

.stadia-concept-prev {
    left: 80px;
}

.stadia-concept-next {
    right: 80px;
}

.stadia-concept-counter {
    width: 100%;
    margin-top: 14px;
    font-family: "Questrial", sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1;
    text-align: center;
    color: #777777;
}

/* =========================================================
   LOOPING VIDEO
========================================================= */

.stadia-video-slot {
    display: flex;
    align-items: center;
    justify-content: center;
}

.stadia-loop-video {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;

    /* Crop 5% from top and bottom */
    clip-path: inset(5% 0 5% 0);
}



/* =========================================================
   WIDE PARAMETRIC / SYSTEM DRAWING
========================================================= */

.stadia-wide-slot {
    grid-column: 1 / span 12;
    aspect-ratio: 21 / 8;
    margin-top: -10px;
}


/* =========================================================
   VISIBILITY COMPARISON
   IMAGE MAP
========================================================= */

.stadia-visibility-map {
    position: relative;

    width: 100%;
    height: 100%;
}

.stadia-visibility-image {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;
}


/* =========================================================
   STADIA DATA BUBBLES
========================================================= */

.stadia-data-bubble {
    position: absolute;

    width: 28px;
    height: 28px;

    padding: 0;

    border: 2px solid #111111;
    border-radius: 50%;

    background: transparent;

    display: flex;
    align-items: center;
    justify-content: center;

    transform: translate(-50%, -50%);

    cursor: pointer;

    z-index: 10;

    animation:
        stadia-bubble-beat
        1.25s
        infinite;
}


/* =========================================================
   INNER DOT
========================================================= */

.stadia-data-bubble-inner {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #111111;

    pointer-events: none;
}


/* =========================================================
   BUBBLE POSITIONS
========================================================= */

/* NEW DELHI */

.bubble-delhi {
    left: 18.5%;
    top: 29%;
}


/* CAPE TOWN */

.bubble-cape {
    left: 47.5%;
    top:29%;
}


/* MEXICO CITY */

.bubble-mexico {
    left: 76.5%;
    top: 29%;
}


/* =========================================================
   BUBBLE HOVER
========================================================= */

.stadia-data-bubble:hover {
    animation-play-state: paused;

    transform:
        translate(-50%, -50%)
        scale(1.18);
}


/* =========================================================
   BUBBLE PULSE
========================================================= */

@keyframes stadia-bubble-beat {

    0% {
        transform:
            translate(-50%, -50%)
            scale(1);
    }

    14% {
        transform:
            translate(-50%, -50%)
            scale(1.28);
    }

    27% {
        transform:
            translate(-50%, -50%)
            scale(1);
    }

    40% {
        transform:
            translate(-50%, -50%)
            scale(1.16);
    }

    53% {
        transform:
            translate(-50%, -50%)
            scale(1);
    }

    100% {
        transform:
            translate(-50%, -50%)
            scale(1);
    }
}


/* =========================================================
   STADIA DATA OVERLAY
========================================================= */

.stadia-data-overlay {
    position: fixed;

    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 6vw;

    background: rgba(245, 245, 242, 0.96);

    opacity: 0;
    visibility: hidden;

    pointer-events: none;

    z-index: 9999;

    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
}


/* =========================================================
   OVERLAY — OPEN STATE
========================================================= */

.stadia-data-overlay.is-open {
    opacity: 1;
    visibility: visible;

    pointer-events: auto;
}


/* =========================================================
   OVERLAY IMAGE
========================================================= */

.stadia-data-overlay-image {
    display: block;

    width: auto;
    height: auto;

    max-width: 85%;
    max-height: 82vh;

    object-fit: contain;

    position: relative;

    z-index: 1;
}


/* =========================================================
   OVERLAY CLOSE BUTTON
========================================================= */

.stadia-data-overlay-close {
    position: absolute;

    top: 32px;
    right: 40px;

    width: 44px;
    height: 44px;

    padding: 0;

    border: 2px solid #111111;
    border-radius: 50%;

    background: transparent;

    color: #111111;

    display: flex;
    align-items: center;
    justify-content: center;

    font-family: inherit;
    font-size: 26px;
    line-height: 1;

    cursor: pointer;

    z-index: 2;

    transition:
        background 0.2s ease,
        color 0.2s ease;
}


/* =========================================================
   CLOSE BUTTON HOVER
========================================================= */

.stadia-data-overlay-close:hover {
    background: #111111;
    color: #f5f5f2;
}
/* =========================================================
   DEVELOPMENT GRID
========================================================= */

.stadia-development-grid {
    grid-column: 3 / span 8;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    width: 100%;
    margin-top: -250px;
}

.stadia-development-grid .stadia-media-slot {
    aspect-ratio: 3 / 4;
}

/* MOVE RIGHT IMAGE DOWN */

.stadia-development-grid
.stadia-media-slot:nth-child(2) {
    transform: translateY(0px);
}

/* =========================================================
   DEVELOPMENT GRID HOVER
========================================================= */

.stadia-development-card {
    position: relative;
    overflow: hidden;
}

/* IMAGE */

.stadia-development-card img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* HOVER OVERLAY */

.stadia-development-hover {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 30px;

    background: rgba(255, 255, 255, 0.55);

    opacity: 0;
    transition: opacity 0.3s ease;

    pointer-events: none;
}

/* TEXT */

.stadia-development-hover p {
    max-width: 300px;
    margin: 0;

    font-family: "Questrial", sans-serif;
    font-size: 15px;
    line-height: 1.45;

    text-align: center;
    color: #111111;
}

/* SHOW ON HOVER */

.stadia-development-card:hover .stadia-development-hover {
    opacity: 1;
}

/* =========================================================
   FINAL PROJECT MEDIA
========================================================= */

.stadia-final-slot {
    grid-column: 3 / span 8;
    aspect-ratio: 16 / 9;
    margin-top: 60px;
    margin-bottom: 30px;
}

/* =========================================================
   REVERSED STUDY — VIDEO POSITION
========================================================= */

.stadia-two-grid-reversed .stadia-video-slot {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

/* Move/scale the entire video assembly here */

.stadia-two-grid-reversed .stadia-video-stage {
    position: relative;
    width: 100%;

    transform:
        translateX(0px)
        translateY(115px);
}

/* VIDEO */

.stadia-two-grid-reversed .stadia-loop-video {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
}

/* =========================================================
   BOWL OPENING VIDEO
   CROP CONTAINER
========================================================= */

.stadia-bowl-video-slot {
    position: relative;
}



.stadia-bowl-video-crop {
    position: relative;

    width: 100%;
    height: 750px;

    transform: translateY(260px);

    overflow: hidden;

    box-sizing: border-box;
}
/* =========================================================
   BOWL OPENING VIDEO
   SCALE INSIDE CROP
========================================================= */

.stadia-bowl-video {
    display: block;

    width: 100%;
    height: auto;

    position: absolute;

    left: 50%;
    top: 0;

    transform:
        translateX(-50%)
        scale(1.12);

    transform-origin: top center;

    max-width: none;
}