        .page-hero {
            min-height: 50vh;
            position: relative;
            display: flex;
            align-items: flex-end;
            justify-content: center;
            padding-bottom: 5rem;
            overflow: hidden;
        }

        .page-hero-bg {
            position: absolute;
            inset: 0;
            background: linear-gradient(rgba(0,0,0,0.55), rgba(0,0,0,0.7)), url("img/out2.jpg");
            background-size: cover;
            background-position: center;
        }

        .page-hero-content {
            position: relative;
            z-index: 2;
            text-align: center;
        }

        .page-hero-content .hero-eyebrow {
            margin-bottom: 1rem;
        }

        .page-hero-content h1 {
            font-family: 'Cormorant Garamond', 'EB Garamond', serif;
            font-weight: 300;
            font-size: clamp(2.5rem, 6vw, 4.5rem);
            color: var(--warm-white);
            line-height: 1.1;
        }

        .page-hero-content h1 em {
            color: var(--gold-bright);
            font-style: italic;
        }

        /* AMENITIES SECTION */
        .apt-amenities {
            padding: 7rem 4rem;
            max-width: 1300px;
            margin: 0 auto;
        }

        .apt-amenities-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .apt-amenities-header .section-title {
            margin-bottom: 1.2rem;
        }

        .apt-amenities-header .apt-amenities-intro {
            font-size: 1.05rem;
            color: var(--muted);
            max-width: 600px;
            margin: 0 auto 0.5rem;
            line-height: 1.9;
        }

        .apt-amenities-header .apt-amenities-tagline {
            font-size: 0.8rem;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            color: var(--gold-mid);
            margin-top: 1rem;
        }

        .apt-amenities-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
        }

        .apt-amenity-card {
            padding: 2rem 1.5rem;
            border: 1px solid rgba(201, 168, 76, 0.2);
            position: relative;
            transition: border-color 0.3s, background 0.3s;
        }

        .apt-amenity-card:hover {
            border-color: var(--gold-mid);
            background: rgba(201, 168, 76, 0.04);
        }

        .apt-amenity-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--gold-mid);
            transition: width 0.4s;
        }

        .apt-amenity-card:hover::before {
            width: 100%;
        }

        .apt-amenity-icon {
            font-size: 1.6rem;
            margin-bottom: 1rem;
            color: var(--gold-mid);
        }

        .apt-amenity-name {
            font-family: 'Cinzel', 'Alegreya SC', serif;
            font-size: 0.78rem;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            color: var(--gold-deep);
        }

        /* GALLERY SECTION */
        .gallery-section {
            padding: 2rem 4rem 7rem;
        }

        .gallery-header {
            text-align: center;
            margin-bottom: 4rem;
        }

        .gallery-divider {
            display: flex;
            align-items: center;
            gap: 1rem;
            justify-content: center;
            margin: 1.5rem 0 0;
        }

        .gallery-divider span {
            flex: 1;
            max-width: 120px;
            height: 1px;
            background: linear-gradient(to right, transparent, rgba(201, 168, 76, 0.4));
        }

        .gallery-divider span:last-child {
            background: linear-gradient(to left, transparent, rgba(201, 168, 76, 0.4));
        }

        .gallery-divider i {
            width: 6px;
            height: 6px;
            background: var(--gold-mid);
            transform: rotate(45deg);
            display: block;
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-auto-flow: dense;
            gap: 1rem;
            max-width: 1300px;
            margin: 0 auto;
        }

        /* big item on the LEFT: spans cols 1-2, rows N and N+1 */
        .gallery-grid .g-left {
            grid-column: span 2;
            grid-row: span 2;
        }

        /* big item on the RIGHT: anchored to cols 2-3, rows N and N+1
           put this item FIRST in the HTML group so dense fills col 1 with the two smalls */
        .gallery-grid .g-right {
            grid-column: 2 / 4;
            grid-row: span 2;
        }

        .gallery-item {
            position: relative;
            overflow: hidden;
            background: var(--dark-3);
            aspect-ratio: 4/3;
            cursor: pointer;
        }

        .gallery-grid .g-left,
        .gallery-grid .g-right {
            aspect-ratio: unset;
        }

        .gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform 0.6s ease;
            filter: brightness(0.85);
        }

        .gallery-item:hover img {
            transform: scale(1.04);
            filter: brightness(1);
        }

        /* placeholder when no image */
        .gallery-placeholder {
            width: 100%;
            height: 100%;
            min-height: 260px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.8rem;
            background: var(--dark-3);
            border: 1px dashed rgba(201, 168, 76, 0.2);
        }

        .gallery-placeholder-icon {
            width: 40px;
            height: 40px;
            color: rgba(201, 168, 76, 0.25);
        }

        .gallery-placeholder-label {
            font-size: 0.65rem;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            color: rgba(201, 168, 76, 0.25);
        }

        /* LIGHTBOX */
        .lightbox {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.92);
            z-index: 1000;
            align-items: center;
            justify-content: center;
        }

        .lightbox.open {
            display: flex;
        }

        .lightbox img {
            max-width: 90vw;
            max-height: 88vh;
            object-fit: contain;
        }

        .lightbox-close {
            position: absolute;
            top: 1.5rem;
            right: 2rem;
            font-size: 2rem;
            color: var(--gold-mid);
            cursor: pointer;
            background: none;
            border: none;
            line-height: 1;
        }

        /* RESPONSIVE */
        @media (max-width: 1024px) {
            .apt-amenities-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .gallery-grid {
                grid-template-columns: repeat(2, 1fr);
            }

            .gallery-grid .g-right {
                grid-column: span 2;
            }
        }

        @media (max-width: 640px) {
            .apt-amenities {
                padding: 4rem 1.5rem;
            }

            .apt-amenities-grid {
                grid-template-columns: 1fr;
            }

            .gallery-section {
                padding: 2rem 1.5rem 5rem;
            }

            .gallery-grid {
                grid-template-columns: 1fr;
            }

            .gallery-grid .g-left,
            .gallery-grid .g-right {
                grid-column: 1;
                grid-row: span 1;
                aspect-ratio: 4/3;
            }
        }