/* =========================================================
   OFISTUDIO · GALERÍA
========================================================= */


/* =========================================================
   HERO
========================================================= */

.gallery-hero {
    padding:
        clamp(110px, 14vw, 180px)
        0
        clamp(80px, 10vw, 125px);

    background:
        radial-gradient(
            circle at 78% 18%,
            rgba(200, 225, 0, .11),
            transparent 30%
        ),
        #080808;
}

.gallery-hero-grid {
    display: grid;

    grid-template-columns:
        1.15fr .85fr;

    gap:
        clamp(55px, 9vw, 120px);

    align-items: end;
}

.gallery-hero h1 {
    margin: 0;

    font-size:
        clamp(60px, 8.5vw, 112px);

    line-height: .86;

    letter-spacing: -.065em;
}

.gallery-hero h1 span {
    color: var(--accent);
}

.gallery-hero-copy .lead {
    margin-top: 0;
}

.gallery-hero-copy p:not(.lead) {
    color: var(--muted);
}


/* =========================================================
   SECTION HEADINGS
========================================================= */

.gallery-section-heading,
.real-space-grid {
    display: grid;

    grid-template-columns:
        1.15fr .85fr;

    gap:
        clamp(50px, 9vw, 110px);

    align-items: end;
}

.gallery-section-heading {
    margin-bottom:
        clamp(40px, 7vw, 70px);
}

.gallery-section-heading h2,
.real-space-section h2,
.gallery-cta h2 {
    margin: 0;

    font-size:
        clamp(42px, 5.8vw, 76px);

    line-height: .97;

    letter-spacing: -.052em;
}

.gallery-section-heading > p {
    max-width: 500px;

    margin-bottom: 5px;

    color: var(--muted);

    font-size: 18px;
}


/* =========================================================
   GALLERY BASE
========================================================= */

.gallery-section {
    background: #0b0b0b;
}

.gallery-dark-section {
    background: #080808;
}

.creator-gallery-section {
    background: #101010;
}

.gallery-mosaic {
    display: grid;

    gap: 14px;
}

.gallery-item {
    position: relative;

    min-height: 420px;

    margin: 0;

    overflow: hidden;

    border-radius:
        var(--radius-lg);

    background: #111;
}

.gallery-item img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform .65s ease;
}

.gallery-item:hover img {
    transform:
        scale(1.025);
}

.gallery-item::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            0deg,
            rgba(0, 0, 0, .75) 0%,
            rgba(0, 0, 0, .12) 38%,
            transparent 65%
        );
}

.gallery-item figcaption {
    position: absolute;
    z-index: 2;

    left: 25px;
    bottom: 22px;

    display: flex;
    gap: 12px;

    align-items: center;

    color: #fff;

    font-size: 13px;
    font-weight: 800;
}

.gallery-item figcaption span {
    color: var(--accent);

    font-size: 10px;
}


/* =========================================================
   WORKSPACE MOSAIC
========================================================= */

.gallery-mosaic-workspace {
    grid-template-columns:
        1.35fr .65fr;
}

.gallery-mosaic-workspace .gallery-item-large {
    min-height: 620px;
}

.gallery-mosaic-workspace
.gallery-item:not(.gallery-item-large) {
    min-height: 620px;
}


/* =========================================================
   STUDIO MOSAIC
========================================================= */

.gallery-mosaic-studio {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
}

.gallery-mosaic-studio
.gallery-item-wide {
    grid-column:
        1 / -1;

    min-height: 620px;
}

.gallery-mosaic-studio
.gallery-item:not(.gallery-item-wide) {
    min-height: 500px;
}


/* =========================================================
   CREATOR MOSAIC
========================================================= */

.gallery-mosaic-creator {
    grid-template-columns:
        .7fr 1.3fr;
}

.gallery-mosaic-creator .gallery-item {
    min-height: 580px;
}


/* =========================================================
   REAL SPACE
========================================================= */

.real-space-section {
    background: #f0eee8;
    color: #111;
}

.real-space-section .section-kicker {
    color: #5f6700;
}

.real-space-grid {
    align-items: start;
}

.real-space-section .lead {
    margin-top: 0;

    color: #555550;
}

.real-space-section p:not(.lead) {
    color: #6c6c65;
}

.real-space-links {
    display: flex;

    flex-wrap: wrap;

    gap: 12px 30px;

    margin-top: 24px;
}

.text-link {
    display: inline-block;

    font-weight: 800;

    transition:
        color var(--transition),
        transform var(--transition);
}

.text-link:hover {
    color: #5f6800;

    transform: translateX(3px);
}


/* =========================================================
   CTA
========================================================= */

.gallery-cta {
    background: var(--accent);
    color: #0c0c0c;
}

.gallery-cta .section-kicker {
    color: #282c13;
}

.gallery-cta-inner {
    display: flex;

    justify-content: space-between;
    align-items: flex-end;

    gap: 60px;
}

.gallery-cta p {
    max-width: 560px;

    margin:
        25px 0 0;

    color: #393d22;

    font-size: 17px;
}

.gallery-cta-actions {
    min-width: 285px;

    display: flex;
    flex-direction: column;

    gap: 16px;
}

.gallery-cta-button {
    background: #0c0c0c;
    color: #fff;

    border-color: #0c0c0c;
}

.gallery-cta-button:hover {
    background: #1c1c1c;

    border-color: #1c1c1c;
}

.gallery-phone {
    text-align: center;

    font-size: 13px;
    font-weight: 800;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 950px) {

    .gallery-hero-grid,
    .gallery-section-heading,
    .real-space-grid {
        grid-template-columns: 1fr;
    }

    .gallery-mosaic-workspace,
    .gallery-mosaic-creator {
        grid-template-columns: 1fr;
    }

    .gallery-mosaic-workspace
    .gallery-item-large,
    .gallery-mosaic-workspace
    .gallery-item:not(.gallery-item-large),
    .gallery-mosaic-creator
    .gallery-item {
        min-height: 500px;
    }

}


@media (max-width: 700px) {

    .gallery-hero {
        padding-top: 100px;
    }

    .gallery-hero h1 {
        font-size:
            clamp(54px, 16vw, 80px);
    }

    .gallery-mosaic-studio {
        grid-template-columns: 1fr;
    }

    .gallery-mosaic-studio
    .gallery-item-wide {
        grid-column: auto;
    }

    .gallery-mosaic-studio
    .gallery-item-wide,
    .gallery-mosaic-studio
    .gallery-item:not(.gallery-item-wide),
    .gallery-mosaic-workspace
    .gallery-item-large,
    .gallery-mosaic-workspace
    .gallery-item:not(.gallery-item-large),
    .gallery-mosaic-creator
    .gallery-item {
        min-height: 420px;
    }

    .gallery-cta-inner {
        flex-direction: column;

        align-items: flex-start;
    }

    .gallery-cta-actions {
        width: 100%;
    }

}


@media (max-width: 480px) {

    .gallery-item,
    .gallery-mosaic-studio
    .gallery-item-wide,
    .gallery-mosaic-studio
    .gallery-item:not(.gallery-item-wide),
    .gallery-mosaic-workspace
    .gallery-item-large,
    .gallery-mosaic-workspace
    .gallery-item:not(.gallery-item-large),
    .gallery-mosaic-creator
    .gallery-item {
        min-height: 330px;
    }

    .gallery-item figcaption {
        left: 18px;
        bottom: 17px;
    }

}