/* Explain: Responsive layout for Abike Ilu's gallery page. - */
.gallery-page {
    padding-top: 5.75rem;
}

.section-pad {
    min-height: 100vh;
    padding: 8vh 1rem;
}

.hero-section {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: calc(100vh - 5.75rem);
    padding-bottom: clamp(1rem, 4vh, 3rem);
    padding-top: clamp(1rem, 3vh, 2rem);
}

.hero-grid {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.hero-copy {
    order: 1;
    position: relative;
    z-index: 2;
}

.hero-image-wrapper {
    margin-top: 0.5rem;
    order: 2;
    width: 100%;
}

.hero-cta-wrapper {
    order: 3;
}

.split-heading {
    display: grid;
    gap: 1rem;
    margin-bottom: 3rem;
}

.compact-heading {
    margin-bottom: 3rem;
}

.exhibition-grid {
    display: grid;
    gap: 1rem;
}

.artist-stack {
    display: grid;
    gap: 1rem;
}

.vip-section {
    min-height: auto;
    padding-bottom: 4rem;
}

.service-ledger {
    margin-left: auto;
    max-width: 72rem;
}

.inquiry-section {
    display: grid;
    gap: 3rem;
    min-height: 92vh;
}

.inquiry-copy {
    max-width: 48rem;
}

.inquiry-copy p:last-child {
    color: var(--text-muted);
    font-size: 1.1rem;
    line-height: 1.5;
    max-width: 32rem;
}

@media (min-width: 768px) {
    .section-pad {
        padding-left: 5vw;
        padding-right: 5vw;
    }

    .exhibition-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .artist-card {
        max-width: 82vw;
    }

    .inquiry-section {
        align-items: end;
        grid-template-columns: 0.9fr minmax(20rem, 30rem);
    }
}

@media (min-width: 1024px) {
    .gallery-page {
        padding-left: 0;
        padding-top: 5.75rem;
    }

    .section-pad {
        padding-left: 7vw;
        padding-right: 7vw;
    }

    .hero-grid {
        display: grid;
        align-items: start;
        grid-template-columns: minmax(28rem, 0.85fr) minmax(28rem, 1fr);
        gap: 1.5rem 3rem;
    }

    .hero-copy {
        align-self: end;
        grid-column: 1;
        grid-row: 1;
    }

    .hero-cta-wrapper {
        grid-column: 1;
        grid-row: 2;
    }

    .hero-image-wrapper {
    grid-column: 2;
    grid-row: 1 / span 2;
    margin-top: 0;
    height: 100%;
}

    .split-heading {
        align-items: end;
        grid-template-columns: 0.36fr 1fr;
    }

    .artist-stack {
        margin-left: auto;
        max-width: 75rem;
    }

    .artist-card {
        width: 72%;
    }

    .artist-card:nth-child(2) {
        transform: translateX(-10%);
    }

    .service-row {
        align-items: start;
        grid-template-columns: 0.9fr 1fr;
    }

    .inquiry-section {
        padding-right: 8vw;
    }
}
