﻿.grandluxury {
    --gl-green: #07382f;
    --gl-green-dark: #042820;
    --gl-gold: #b88a42;
    --gl-gold-light: #d7bb88;
    --gl-cream: #ffffff;
    --gl-text: #1c2925;
    --gl-muted: #6c7671;
    width: 100%;
    overflow: hidden;
    background: #ffffff;
}

.grandluxury-hero {
    position: relative;
    width: 100%;
    background: radial-gradient( circle at 15% 20%, rgba(184,138,66,.07), transparent 35% ), var(--gl-cream);
}

    .grandluxury-hero .container {
        position: relative;
        z-index: 2;
    }

    .grandluxury-hero .row {
        min-height: 500px;
    }



.grandluxury-content {
    position: relative;
    min-height: 500px;
    padding: 75px 55px 75px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
}




    .grandluxury-content::before {
        content: "";
        position: absolute;
        left: -100px;
        top: 50%;
        width: 1px;
        height: 120px;
        background: linear-gradient( to bottom, transparent, var(--gl-gold), transparent );
        transform: translateY(-50%);
    }

.grandluxury-content h1 {
    max-width: 650px;
    margin: 0;
    color: var(--gl-green);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 5.2vw, 76px);
    font-weight: 400;
    line-height: .98;
    
}

    .grandluxury-content h1 strong {
        display: block;
        margin-top: 5px;
        color: var(--gl-gold);
        font-weight: 400;
    }


/* =========================================================
   DESCRIPTION
========================================================= */

.grandluxury-description {
    max-width: 540px;
    margin: 27px 0 36px;
    color: var(--gl-muted);
    font-size: 14px;
    line-height: 1.85;
}


/* =========================================================
   PROJECT DETAILS
========================================================= */

.grandluxury-details {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(7,56,47,.16);
    border-bottom: 1px solid rgba(7,56,47,.16);
}


/* =========================================================
   DETAIL ITEM
========================================================= */

.grandluxury-detail {
    position: relative;
    min-height: 95px;
    padding: 17px 11px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-right: 1px solid rgba(7,56,47,.13);
}

    .grandluxury-detail:last-child {
        border-right: 0;
    }




.grandluxury-detail small {
    display: block;
    margin-bottom: 6px;
    color: #858c88;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1.3px;
    line-height: 1.2;
}




.grandluxury-detail b {
    display: block;
    color: var(--gl-green);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.45;
}


/* =========================================================
   RIGHT IMAGE
========================================================= */

.grandluxury-image {
    position: relative;
    height: 500px;
    overflow: hidden;
    background: #ddd;
}


    /* image */

    .grandluxury-image img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
        object-position: center;
        transition: transform 1.2s ease, filter .5s ease;
    }


    /* hover */

    .grandluxury-image:hover img {
        transform: scale(1.035);
        filter: brightness(.96);
    }


    /* =========================================================
   IMAGE LEFT CUT / LUXURY EDGE
========================================================= */

    .grandluxury-image::before {
        content: "";
        position: absolute;
        z-index: 3;
        left: 0;
        top: 0;
        width: 95px;
        height: 100%;
        background: var(--gl-cream);
        clip-path: polygon( 0 0, 100% 0, 32% 100%, 0 100% );
        pointer-events: none;
    }


    /* image overlay */

    .grandluxury-image::after {
        content: "";
        position: absolute;
        z-index: 2;
        inset: 0;
        background: linear-gradient( 90deg, rgba(0,0,0,.10), transparent 30% ), linear-gradient( 180deg, rgba(0,0,0,.03), transparent 50%, rgba(0,0,0,.12) );
        pointer-events: none;
    }




@media (max-width: 1199px) {

    .grandluxury-content {
        padding-right: 30px;
    }

        .grandluxury-content h1 {
            font-size: 56px;
            
        }

    .grandluxury-detail {
        padding-left: 7px;
        padding-right: 7px;
        gap: 7px;
    }

    

    .grandluxury-detail b {
        font-size: 9px;
    }

    .grandluxury-image::before {
        width: 65px;
    }
}



@media (max-width: 991px) {

    .grandluxury-hero .row {
        min-height: auto;
    }

    .grandluxury-content {
        min-height: auto;
        padding: 60px 30px 55px;
    }

        .grandluxury-content::before {
            display: none;
        }

        .grandluxury-content h1 {
            max-width: 700px;
            font-size: 58px;
        }

    .grandluxury-description {
        max-width: 500px;
    }

    .grandluxury-image {
        height: 500px;
    }

        .grandluxury-image::before {
            display: none;
        }
}




@media (max-width: 767px) {

    .grandluxury-content {
        padding: 42px 18px 40px;
    }
    .grandluxury-content h1 {
        font-size: 42px;
        line-height: 1;
       
    }

        .grandluxury-content h1 strong {
            margin-top: 4px;
        }


    /* description */

    .grandluxury-description {
        margin: 20px 0 27px;
        font-size: 12.5px;
        line-height: 1.75;
    }


    /* details */

    .grandluxury-details {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .grandluxury-detail {
        min-height: 82px;
        padding: 13px 8px;
        gap: 8px;
        border-bottom: 1px solid rgba(7,56,47,.13);
    }

        .grandluxury-detail:nth-child(2),
        .grandluxury-detail:nth-child(4) {
            border-right: 0;
        }

        .grandluxury-detail:nth-child(3),
        .grandluxury-detail:nth-child(4) {
            border-bottom: 0;
        }

    

    .grandluxury-detail small {
        margin-bottom: 4px;
        font-size: 5.8px;
        letter-spacing: .8px;
    }

    .grandluxury-detail b {
        font-size: 8.5px;
    }


    /* image */

    .grandluxury-image {
        height: 330px;
    }
}


@media (max-width: 400px) {

    .grandluxury-content {
        padding: 35px 14px;
    }

        .grandluxury-content h1 {
            font-size: 36px;
            
        }

    .grandluxury-description {
        font-size: 12px;
    }

    .grandluxury-detail {
        min-height: 77px;
        padding: 11px 6px;
        gap: 6px;
    }

    

    .grandluxury-detail b {
        font-size: 8px;
    }

    .grandluxury-image {
        height: 275px;
    }
}
