/* Explain: Immersive layout utilities and gallery structure */
.texture-section {
    position: relative;
    overflow: hidden;
}

.texture-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(23, 61, 50, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(23, 61, 50, 0.03) 1px, transparent 1px);
    background-size: 34px 34px;
    mask-image: radial-gradient(circle at 30% 10%, black 0%, transparent 62%);
}

.texture-section > * {
    position: relative;
    z-index: 1;
}

.hero-cinema::after {
    content: "";
    position: absolute;
    inset: auto 0 0 0;
    height: 28%;
    pointer-events: none;
    background: radial-gradient(ellipse at bottom, rgba(184, 115, 51, 0.18), transparent 58%);
}

.gallery-mosaic {
    display: grid;
    grid-auto-rows: 260px;
    gap: 1rem;
}

.gallery-frame {
    overflow: hidden;
    border-radius: 1.75rem;
    background: rgba(245, 242, 234, 0.08);
    box-shadow: var(--shadow-soft);
}

@media (min-width: 768px) {
    .gallery-mosaic {
        grid-template-columns: repeat(6, 1fr);
        grid-auto-rows: 220px;
    }

    .gallery-frame:nth-child(1) {
        grid-column: span 4;
        grid-row: span 2;
    }

    .gallery-frame:nth-child(2) {
        grid-column: span 2;
    }

    .gallery-frame:nth-child(3) {
        grid-column: span 2;
    }

    .gallery-frame:nth-child(4),
    .gallery-frame:nth-child(5),
    .gallery-frame:nth-child(6) {
        grid-column: span 2;
    }
}

@media (max-width: 767px) {
    .hero-cinema {
        min-height: 92vh;
    }
}
