/*==================================================
HASYESTO NIGERIA LIMITED
Luxury Interior Design Website
Version 2.0
==================================================*/


/*==================================================
GOOGLE FONTS
==================================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&family=Cormorant+Garamond:wght@400;500;600;700&display=swap');


/*==================================================
CSS VARIABLES
==================================================*/

:root{

    /* Brand */

    --primary:#d4af37;
    --primary-dark:#b38f25;

    --dark:#111111;
    --dark-2:#1b1b1b;

    --white:#ffffff;

    --light:#f7f7f7;
    --light-2:#eeeeee;

    --text:#444444;
    --text-light:#777777;

    --success:#25D366;

    /* Shadows */

    --shadow-sm:0 6px 20px rgba(0,0,0,.08);

    --shadow:0 12px 35px rgba(0,0,0,.12);

    --shadow-lg:0 20px 60px rgba(0,0,0,.18);

    /* Radius */

    --radius-sm:8px;

    --radius:16px;

    --radius-lg:24px;

    --radius-round:50px;

    /* Transition */

    --transition:.35s ease;

}


/*==================================================
RESET
==================================================*/

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;

    background:var(--light);

    color:var(--text);

    line-height:1.8;

    overflow-x:hidden;

    -webkit-font-smoothing:antialiased;

}

img{

    width:100%;

    display:block;

}

a{

    text-decoration:none;

    color:inherit;

}

ul{

    list-style:none;

}

button{

    border:none;

    background:none;

    cursor:pointer;

    font-family:inherit;

}

input,
textarea{

    font-family:inherit;

}


/*==================================================
CONTAINER
==================================================*/

.container{

    width:min(92%,1300px);

    margin:auto;

}


/*==================================================
TYPOGRAPHY
==================================================*/

h1,
h2,
h3,
h4,
h5{

    font-family:'Cormorant Garamond',serif;

    color:var(--dark);

    line-height:1.15;

}

h1{

    font-size:clamp(42px,6vw,74px);

    font-weight:700;

}

h2{

    font-size:clamp(34px,5vw,56px);

}

h3{

    font-size:30px;

}

p{

    font-size:17px;

    color:var(--text);

}


/*==================================================
GLOBAL SECTION
==================================================*/

section{

    padding:110px 0;

}

.section-title{

    max-width:800px;

    margin:0 auto 70px;

    text-align:center;

}

.section-title h5{

    color:var(--primary);

    letter-spacing:4px;

    text-transform:uppercase;

    font-family:'Poppins',sans-serif;

    font-size:15px;

    margin-bottom:15px;

}

.section-title h2{

    margin-bottom:20px;

}

.section-title p{

    color:var(--text-light);

}


/*==================================================
BUTTONS
==================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:16px 36px;

    border-radius:var(--radius-round);

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--primary);

    color:var(--dark);

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-4px);

    box-shadow:var(--shadow);

}

.btn-secondary{

    border:2px solid #ffffff;

    color:#ffffff;

}

.btn-secondary:hover{

    background:#ffffff;

    color:var(--dark);

}


/*==================================================
COMMON CARD
==================================================*/

.card{

    background:#ffffff;

    border-radius:var(--radius);

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}


/*==================================================
IMAGE EFFECT
==================================================*/

.image-hover{

    overflow:hidden;

    border-radius:var(--radius);

}

.image-hover img{

    transition:.6s;

}

.image-hover:hover img{

    transform:scale(1.08);

}


/*==================================================
SPACING UTILITIES
==================================================*/

.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}
.mt-4{margin-top:40px;}
.mt-5{margin-top:50px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}
.mb-4{margin-bottom:40px;}
.mb-5{margin-bottom:50px;}

.text-center{

    text-align:center;

}


/*==================================================
ANIMATIONS
==================================================*/

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

@keyframes zoomIn{

    from{

        opacity:0;

        transform:scale(.9);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-10px);

    }

    100%{

        transform:translateY(0);

    }

}

.fade-up{

    animation:fadeUp .8s ease both;

}

.zoom-in{

    animation:zoomIn .8s ease both;

}

.float{

    animation:float 4s ease-in-out infinite;

}


/*==================================================
END OF MODULE 1
NEXT:
HEADER + NAVIGATION
==================================================*/

/*==================================================
HEADER
==================================================*/

.header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    z-index:9999;

    padding:18px 0;

    background:rgba(17,17,17,.96);

    backdrop-filter:blur(10px);

    transition:all .35s ease;

}

.header.scrolled{

    padding:12px 0;

    background:#111;

    box-shadow:0 15px 40px rgba(0,0,0,.18);

}

.header .container{

    display:flex;

    align-items:center;

    justify-content:space-between;

}


/*==================================================
LOGO
==================================================*/

.logo{

    display:flex;

    align-items:center;

}

.logo img{

    height:72px;

    width:auto;

    transition:.35s;

}

.header.scrolled .logo img{

    height:60px;

}


/*==================================================
NAVIGATION
==================================================*/

.navbar{

    display:flex;

    align-items:center;

}

.navbar ul{

    display:flex;

    align-items:center;

    gap:38px;

}

.navbar ul li{

    position:relative;

}

.navbar ul li a{

    color:#ffffff;

    font-size:15px;

    font-weight:500;

    letter-spacing:.5px;

    transition:.35s;

    position:relative;

}


/* Gold underline */

.navbar ul li a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--primary);

    transition:.35s;

}

.navbar ul li a:hover{

    color:var(--primary);

}

.navbar ul li a:hover::after{

    width:100%;

}


/*==================================================
MOBILE MENU BUTTON
==================================================*/

.menu-btn{

    display:none;

    width:50px;

    height:50px;

    cursor:pointer;

    align-items:center;

    justify-content:center;

    flex-direction:column;

    gap:6px;

}

.menu-btn span{

    width:28px;

    height:3px;

    border-radius:10px;

    background:#ffffff;

    transition:.35s;

}

.menu-btn.active span:nth-child(1){

    transform:translateY(9px) rotate(45deg);

}

.menu-btn.active span:nth-child(2){

    opacity:0;

}

.menu-btn.active span:nth-child(3){

    transform:translateY(-9px) rotate(-45deg);

}


/*==================================================
TABLET
==================================================*/

@media(max-width:992px){

    .navbar ul{

        gap:24px;

    }

}


/*==================================================
MOBILE NAVIGATION
==================================================*/

@media(max-width:768px){

    .menu-btn{

        display:flex;

    }

    .navbar{

        position:fixed;

        top:90px;

        left:-100%;

        width:100%;

        background:#111;

        transition:.4s;

        padding:40px 0;

        box-shadow:0 15px 40px rgba(0,0,0,.25);

    }

    .navbar.active{

        left:0;

    }

    .navbar ul{

        width:100%;

        flex-direction:column;

        gap:30px;

        text-align:center;

    }

    .navbar ul li a{

        font-size:18px;

    }

}


/*==================================================
END OF MODULE 2
NEXT:
HERO SECTION
==================================================*/

/*==================================================
HERO SECTION
==================================================*/

.hero{

    position:relative;

    background:#111;

    color:#fff;

    padding:170px 0 120px;

    overflow:hidden;

}


/* Dark Overlay */

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        135deg,
        rgba(0,0,0,.75),
        rgba(0,0,0,.45)
    );

    z-index:1;

}


/* Decorative Gold Glow */

.hero::after{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    right:-250px;

    top:-180px;

    border-radius:50%;

    background:radial-gradient(
        rgba(212,175,55,.18),
        transparent 70%
    );

    pointer-events:none;

}


/*==================================================
GRID
==================================================*/

.hero-grid{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:1.1fr .9fr;

    align-items:center;

    gap:80px;

}


/*==================================================
TEXT
==================================================*/

.hero-content h5{

    color:var(--primary);

    font-family:'Poppins',sans-serif;

    font-size:15px;

    font-weight:600;

    letter-spacing:4px;

    text-transform:uppercase;

    margin-bottom:18px;

}

.hero-content h1{

    color:#fff;

    max-width:700px;

    margin-bottom:28px;

}

.hero-content p{

    color:rgba(255,255,255,.82);

    font-size:18px;

    max-width:620px;

    margin-bottom:40px;

}


/*==================================================
BUTTONS
==================================================*/

.hero-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:55px;

}

.hero-buttons .btn{

    min-width:210px;

}


/*==================================================
FEATURE BOXES
==================================================*/

.hero-features{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:18px;

}

.feature{

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(12px);

    padding:22px;

    border-radius:14px;

    transition:.35s;

}

.feature:hover{

    transform:translateY(-10px);

    background:rgba(255,255,255,.12);

    box-shadow:0 20px 40px rgba(0,0,0,.25);

}

.feature span{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    width:34px;

    height:34px;

    border-radius:50%;

    background:var(--primary);

    color:#111;

    font-weight:700;

    margin-bottom:15px;

}

.feature{

    font-size:15px;

    color:#fff;

}


/*==================================================
IMAGE
==================================================*/

.hero-image{

    position:relative;

}

.hero-image img{

    width:100%;

    height:700px;

    object-fit:cover;

    border-radius:22px;

    box-shadow:0 35px 80px rgba(0,0,0,.35);

    transition:.6s;

    animation:float 7s ease-in-out infinite;

}

.hero-image:hover img{

    transform:scale(1.04);

}


/* Gold Border */

.hero-image::before{

    content:"";

    position:absolute;

    top:25px;

    left:-25px;

    width:100%;

    height:100%;

    border:3px solid var(--primary);

    border-radius:22px;

    z-index:-1;

}


/*==================================================
SCROLL INDICATOR
==================================================*/

.hero-scroll{

    position:absolute;

    left:50%;

    bottom:30px;

    transform:translateX(-50%);

    color:#fff;

    z-index:2;

    animation:float 2.5s infinite;

}


/*==================================================
TABLET
==================================================*/

@media(max-width:992px){

.hero-grid{

grid-template-columns:1fr;

gap:60px;

}

.hero-content{

text-align:center;

}

.hero-content p{

margin:auto auto 40px;

}

.hero-buttons{

justify-content:center;

}

.hero-features{

grid-template-columns:1fr;

}

.hero-image{

max-width:700px;

margin:auto;

}

}


/*==================================================
MOBILE
==================================================*/

@media(max-width:768px){

.hero{

padding:150px 0 80px;

}

.hero-content h1{

font-size:44px;

}

.hero-image img{

height:450px;

}

.hero-buttons .btn{

width:100%;

}

}


/*==================================================
END OF MODULE 3

NEXT:
TRUST BAR + ABOUT SECTION

==================================================*/
/*==================================================
TRUST BAR
==================================================*/

.trust-bar{

    background:#ffffff;

    padding:70px 0;

    position:relative;

}

.trust-bar::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:4px;

    background:linear-gradient(
        90deg,
        transparent,
        var(--primary),
        transparent
    );

}

.trust-container{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

}

.trust-item{

    background:#fff;

    padding:35px 20px;

    text-align:center;

    border-radius:18px;

    transition:var(--transition);

    box-shadow:var(--shadow-sm);

}

.trust-item:hover{

    transform:translateY(-10px);

    box-shadow:var(--shadow-lg);

}

.trust-item h2{

    font-size:52px;

    color:var(--primary);

    margin-bottom:10px;

    font-family:'Poppins',sans-serif;

    font-weight:700;

}

.trust-item p{

    font-size:16px;

    color:var(--text-light);

}


/*==================================================
ABOUT SECTION
==================================================*/

.about{

    background:#fafafa;

    position:relative;

    overflow:hidden;

}

.about::before{

    content:"";

    position:absolute;

    width:500px;

    height:500px;

    left:-220px;

    bottom:-220px;

    border-radius:50%;

    background:radial-gradient(
        rgba(212,175,55,.08),
        transparent 70%
    );

}

.about-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:center;

}


/*==================================================
ABOUT IMAGE
==================================================*/

.about-image{

    position:relative;

}

.about-image img{

    height:680px;

    object-fit:cover;

    border-radius:22px;

    box-shadow:var(--shadow-lg);

    transition:.6s;

}

.about-image:hover img{

    transform:scale(1.04);

}

.about-image::before{

    content:"";

    position:absolute;

    width:100%;

    height:100%;

    left:25px;

    top:25px;

    border:3px solid var(--primary);

    border-radius:22px;

    z-index:-1;

}


/*==================================================
ABOUT CONTENT
==================================================*/

.about-content h3{

    font-size:48px;

    margin-bottom:25px;

}

.about-content p{

    margin-bottom:35px;

    color:var(--text-light);

    line-height:1.9;

}


/*==================================================
ABOUT LIST
==================================================*/

.about-list{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

    margin-bottom:45px;

}

.about-item{

    display:flex;

    align-items:center;

    gap:16px;

    background:#fff;

    padding:20px;

    border-radius:16px;

    transition:var(--transition);

    box-shadow:var(--shadow-sm);

}

.about-item:hover{

    transform:translateY(-8px);

    background:var(--dark);

}

.about-item span{

    width:42px;

    height:42px;

    border-radius:50%;

    background:var(--primary);

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

    color:#111;

    flex-shrink:0;

}

.about-item p{

    margin:0;

    font-size:15px;

    font-weight:600;

    color:var(--dark);

}

.about-item:hover p{

    color:#fff;

}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:992px){

.about-grid{

grid-template-columns:1fr;

}

.about-image{

max-width:700px;

margin:auto;

}

.about-content{

text-align:center;

}

.about-list{

grid-template-columns:1fr 1fr;

}

.trust-container{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.trust-container{

grid-template-columns:1fr;

}

.about-list{

grid-template-columns:1fr;

}

.about-image img{

height:460px;

}

.about-content h3{

font-size:38px;

}

}


/*==================================================
END OF MODULE 4

NEXT:
SERVICES SECTION

==================================================*/
/*==================================================
SERVICES
Luxury Edition
==================================================*/

.services{

    background:#f4f4f4;

    position:relative;

    overflow:hidden;

}

.services::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    right:-350px;

    top:-250px;

    border-radius:50%;

    background:radial-gradient(
        rgba(212,175,55,.08),
        transparent 70%
    );

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}


/*==================================================
SERVICE CARD
==================================================*/

.service-card{

    position:relative;

    background:#ffffff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:.45s ease;

}


/* Gold top border */

.service-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:0;

    height:5px;

    background:var(--primary);

    transition:.5s;

}

.service-card:hover::before{

    width:100%;

}


/* Gold light sweep */

.service-card::after{

    content:"";

    position:absolute;

    top:0;

    left:-140%;

    width:70%;

    height:100%;

    background:linear-gradient(

        120deg,

        transparent,

        rgba(255,255,255,.45),

        transparent

    );

    transform:skewX(-25deg);

}

.service-card:hover::after{

    left:170%;

    transition:1.2s;

}


/*==================================================
IMAGE
==================================================*/

.service-card img{

    width:100%;

    height:270px;

    object-fit:cover;

    transition:.7s;

}

.service-card:hover img{

    transform:scale(1.08);

}


/*==================================================
CONTENT
==================================================*/

.service-card h3{

    font-size:32px;

    padding:28px 28px 15px;

    transition:.3s;

}

.service-card:hover h3{

    color:var(--primary);

}

.service-card p{

    padding:0 28px 35px;

    color:var(--text-light);

    line-height:1.9;

}


/*==================================================
HOVER EFFECT
==================================================*/

.service-card:hover{

    transform:translateY(-15px);

    box-shadow:

    0 30px 60px rgba(0,0,0,.12);

}


/* Floating glow */

.service-card:hover{

    background:

    linear-gradient(

        180deg,

        #ffffff,

        #fcfcfc

    );

}


/*==================================================
SERVICE ICON CIRCLE
Future-proof if added later
==================================================*/

.service-icon{

    width:70px;

    height:70px;

    border-radius:50%;

    background:var(--primary);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#111;

    font-size:28px;

}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:992px){

.services-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.services-grid{

grid-template-columns:1fr;

}

.service-card img{

height:240px;

}

.service-card h3{

font-size:28px;

}

}


/*==================================================
END OF MODULE 5

NEXT:
BEFORE & AFTER TRANSFORMATIONS

==================================================*/

/*==================================================
BEFORE & AFTER TRANSFORMATIONS
Luxury Portfolio
==================================================*/

.transformations{

    background:#ffffff;

    position:relative;

    overflow:hidden;

}

.transformations::before{

    content:"";

    position:absolute;

    left:-250px;

    top:-200px;

    width:650px;

    height:650px;

    border-radius:50%;

    background:radial-gradient(
        rgba(212,175,55,.07),
        transparent 72%
    );

}

.transform-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:35px;

}


/*==================================================
CARD
==================================================*/

.transform-card{

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:.45s;

    position:relative;

}

.transform-card:hover{

    transform:translateY(-15px);

    box-shadow:var(--shadow-lg);

}


/*==================================================
IMAGE LAYOUT
==================================================*/

.before-after{

    display:grid;

    grid-template-columns:1fr 1fr;

}

.before,
.after{

    position:relative;

    overflow:hidden;

}

.before img,
.after img{

    width:100%;

    height:270px;

    object-fit:cover;

    transition:.7s;

}

.transform-card:hover img{

    transform:scale(1.08);

}


/*==================================================
LABELS
==================================================*/

.before span,
.after span{

    position:absolute;

    top:18px;

    left:18px;

    padding:8px 18px;

    border-radius:50px;

    font-size:12px;

    font-weight:700;

    letter-spacing:1px;

    z-index:2;

}

.before span{

    background:#111;

    color:#fff;

}

.after span{

    background:var(--primary);

    color:#111;

}


/*==================================================
CENTER DIVIDER
==================================================*/

.before::after{

    content:"";

    position:absolute;

    right:-2px;

    top:0;

    width:4px;

    height:100%;

    background:var(--primary);

}


/*==================================================
OVERLAY
==================================================*/

.before::before,
.after::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(
        transparent,
        rgba(0,0,0,.15)
    );

    opacity:0;

    transition:.4s;

}

.transform-card:hover .before::before,
.transform-card:hover .after::before{

    opacity:1;

}


/*==================================================
CONTENT
==================================================*/

.transform-card h3{

    padding:28px 28px 15px;

    font-size:30px;

    transition:.35s;

}

.transform-card:hover h3{

    color:var(--primary);

}

.transform-card p{

    padding:0 28px 30px;

    color:var(--text-light);

    line-height:1.8;

}


/*==================================================
BORDER EFFECT
==================================================*/

.transform-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:0;

    height:5px;

    background:var(--primary);

    transition:.45s;

}

.transform-card:hover::before{

    width:100%;

}


/*==================================================
LIGHT SWEEP
==================================================*/

.transform-card::after{

    content:"";

    position:absolute;

    top:0;

    left:-150%;

    width:70%;

    height:100%;

    background:linear-gradient(

        120deg,

        transparent,

        rgba(255,255,255,.45),

        transparent

    );

    transform:skewX(-25deg);

}

.transform-card:hover::after{

    left:180%;

    transition:1.3s;

}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:992px){

.transform-grid{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.before-after{

grid-template-columns:1fr;

}

.before::after{

display:none;

}

.before img,
.after img{

height:240px;

}

.transform-card h3{

font-size:26px;

}

}


/*==================================================
END OF MODULE 6

NEXT:
FEATURED PRODUCTS
==================================================*/

/*==================================================
FEATURED PRODUCTS
Luxury Showcase
==================================================*/

.products{

    background:#f8f8f8;

    position:relative;

    overflow:hidden;

}

.products::before{

    content:"";

    position:absolute;

    right:-250px;

    bottom:-250px;

    width:650px;

    height:650px;

    border-radius:50%;

    background:radial-gradient(
        rgba(212,175,55,.08),
        transparent 70%
    );

}

.product-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}


/*======================================
PRODUCT CARD
======================================*/

.product-card{

    position:relative;

    overflow:hidden;

    background:#fff;

    border-radius:22px;

    box-shadow:var(--shadow-sm);

    transition:.45s;

}

.product-card:hover{

    transform:translateY(-15px);

    box-shadow:var(--shadow-lg);

}


/*======================================
IMAGE
======================================*/

.product-card img{

    width:100%;

    height:320px;

    object-fit:cover;

    transition:.7s;

}

.product-card:hover img{

    transform:scale(1.08);

}


/*======================================
OVERLAY
======================================*/

.product-card::before{

    content:"";

    position:absolute;

    inset:0;

    background:linear-gradient(

        transparent,

        rgba(0,0,0,.55)

    );

    opacity:0;

    transition:.4s;

}

.product-card:hover::before{

    opacity:1;

}


/*======================================
TITLE
======================================*/

.product-card h3{

    padding:25px;

    text-align:center;

    font-size:28px;

    transition:.3s;

}

.product-card:hover h3{

    color:var(--primary);

}


/* Gold border */

.product-card::after{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:0;

    height:5px;

    background:var(--primary);

    transition:.4s;

}

.product-card:hover::after{

    width:100%;

}



/*==================================================
FEATURED PROJECTS
==================================================*/

.featured-projects{

    background:#fff;

}

.project-grid{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:30px;

}


/*======================================
LARGE PROJECT
======================================*/

.project-large{

    position:relative;

    overflow:hidden;

    border-radius:24px;

    box-shadow:var(--shadow);

}

.project-large img{

    width:100%;

    height:700px;

    object-fit:cover;

    transition:.8s;

}

.project-large:hover img{

    transform:scale(1.08);

}


/*======================================
SMALL GRID
======================================*/

.project-small{

    display:grid;

    gap:25px;

}

.project-small .project-card{

    position:relative;

    overflow:hidden;

    border-radius:20px;

    box-shadow:var(--shadow-sm);

}

.project-small img{

    width:100%;

    height:160px;

    object-fit:cover;

    transition:.7s;

}

.project-card:hover img{

    transform:scale(1.08);

}


/*======================================
OVERLAY
======================================*/

.project-overlay{

    position:absolute;

    left:0;

    right:0;

    bottom:0;

    padding:30px;

    background:linear-gradient(

        transparent,

        rgba(0,0,0,.82)

    );

    color:#fff;

}

.project-overlay h3{

    color:#fff;

    margin-bottom:10px;

    font-size:28px;

}

.project-overlay p{

    color:rgba(255,255,255,.82);

}


/*======================================
HOVER BORDER
======================================*/

.project-large::before,
.project-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:0;

    height:5px;

    background:var(--primary);

    transition:.45s;

    z-index:5;

}

.project-large:hover::before,
.project-card:hover::before{

    width:100%;

}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:992px){

.product-grid{

grid-template-columns:repeat(2,1fr);

}

.project-grid{

grid-template-columns:1fr;

}

.project-large img{

height:500px;

}

}

@media(max-width:768px){

.product-grid{

grid-template-columns:1fr;

}

.project-small{

grid-template-columns:1fr;

}

.project-small img{

height:220px;

}

.project-large img{

height:380px;

}

.product-card img{

height:260px;

}

}


/*==================================================
END OF MODULE 7

NEXT:
WHY CHOOSE US
TESTIMONIALS
==================================================*/


/*==================================================
WHY CHOOSE US
Luxury Edition
==================================================*/

.why-us{

    background:linear-gradient(
        135deg,
        #111111,
        #1b1b1b
    );

    color:#ffffff;

    position:relative;

    overflow:hidden;

}

.why-us::before{

    content:"";

    position:absolute;

    right:-250px;

    top:-250px;

    width:650px;

    height:650px;

    border-radius:50%;

    background:radial-gradient(
        rgba(212,175,55,.12),
        transparent 70%
    );

}

.why-grid{

    position:relative;

    z-index:2;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.why-grid h5{

    color:var(--primary);

    letter-spacing:4px;

    margin-bottom:18px;

    font-family:'Poppins',sans-serif;

}

.why-grid h2{

    color:#fff;

    margin-bottom:25px;

}

.why-grid p{

    color:rgba(255,255,255,.82);

    line-height:1.9;

}


/*======================================
WHY BOXES
======================================*/

.why-boxes{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:25px;

}

.why-box{

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;

    padding:35px;

    text-align:center;

    transition:.4s;

}

.why-box:hover{

    transform:translateY(-12px);

    background:rgba(255,255,255,.12);

    box-shadow:0 25px 50px rgba(0,0,0,.35);

}

.why-box h3{

    color:var(--primary);

    font-size:42px;

    margin-bottom:10px;

    font-family:'Poppins',sans-serif;

}

.why-box h4{

    color:#fff;

    font-size:24px;

}


/*==================================================
TESTIMONIALS
==================================================*/

.testimonials{

    background:#f8f8f8;

}

.testimonial-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

.testimonial-card{

    position:relative;

    background:#fff;

    padding:45px 35px;

    border-radius:22px;

    box-shadow:var(--shadow-sm);

    transition:.4s;

}

.testimonial-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-lg);

}


/* Large Quote */

.testimonial-card::before{

    content:"❝";

    position:absolute;

    top:20px;

    left:25px;

    font-size:90px;

    color:rgba(212,175,55,.18);

    font-family:serif;

    line-height:1;

}

.testimonial-card p{

    position:relative;

    z-index:2;

    margin-top:30px;

    color:var(--text-light);

    line-height:1.9;

    font-style:italic;

}

.testimonial-card h4{

    margin-top:30px;

    color:var(--dark);

    font-size:20px;

}


/* Gold Top Border */

.testimonial-card::after{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:0;

    height:5px;

    background:var(--primary);

    transition:.45s;

}

.testimonial-card:hover::after{

    width:100%;

}


/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:992px){

.why-grid{

grid-template-columns:1fr;

}

.testimonial-grid{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.why-boxes{

grid-template-columns:1fr;

}

.why-box{

padding:28px;

}

.testimonial-card{

padding:35px 25px;

}

}


/*==================================================
END OF MODULE 8

NEXT:
CALL TO ACTION
CONTACT
FOOTER
==================================================*/

/*==================================================
CALL TO ACTION
Luxury Edition
==================================================*/

.cta{

    background:
    linear-gradient(
        135deg,
        #111111,
        #1a1a1a
    );

    position:relative;

    overflow:hidden;

}

.cta::before{

    content:"";

    position:absolute;

    width:700px;

    height:700px;

    right:-280px;

    top:-250px;

    border-radius:50%;

    background:
    radial-gradient(
        rgba(212,175,55,.12),
        transparent 70%
    );

}

.cta-box{

    position:relative;

    z-index:2;

    max-width:900px;

    margin:auto;

    text-align:center;

}

.cta-box h5{

    color:var(--primary);

    font-family:'Poppins',sans-serif;

    letter-spacing:4px;

    margin-bottom:18px;

}

.cta-box h2{

    color:#fff;

    margin-bottom:25px;

}

.cta-box p{

    color:rgba(255,255,255,.82);

    font-size:18px;

    margin-bottom:45px;

}

.cta-buttons{

    display:flex;

    justify-content:center;

    gap:20px;

    flex-wrap:wrap;

}



/*==================================================
CONTACT
==================================================*/

.contact{

    background:#ffffff;

}

.contact-grid{

    display:grid;

    grid-template-columns:420px 1fr;

    gap:60px;

    align-items:start;

}


/* Contact Info */

.contact-info{

    background:#111;

    color:#fff;

    border-radius:24px;

    padding:45px;

    box-shadow:var(--shadow-lg);

}

.contact-info h3{

    color:var(--primary);

    margin-top:25px;

    margin-bottom:10px;

}

.contact-info h3:first-child{

    margin-top:0;

}

.contact-info p{

    color:rgba(255,255,255,.82);

}

.contact-info .social-links{

    margin-top:35px;

    display:flex;

    flex-wrap:wrap;

    gap:12px;

}

.contact-info .social-links a{

    padding:10px 18px;

    border:1px solid rgba(255,255,255,.15);

    border-radius:40px;

    transition:.35s;

}

.contact-info .social-links a:hover{

    background:var(--primary);

    color:#111;

}


/*==================================================
FORM
==================================================*/

.contact-form{

    background:#fff;

    padding:45px;

    border-radius:24px;

    box-shadow:var(--shadow);

}

.contact-form form{

    display:grid;

    gap:18px;

}

.contact-form input,

.contact-form select,

.contact-form textarea{

    width:100%;

    padding:18px;

    border:1px solid #ddd;

    border-radius:14px;

    font-size:16px;

    transition:.3s;

    background:#fafafa;

}

.contact-form input:focus,

.contact-form select:focus,

.contact-form textarea:focus{

    outline:none;

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(212,175,55,.15);

    background:#fff;

}

.contact-form textarea{

    resize:vertical;

    min-height:180px;

}

.contact-form button{

    width:100%;

}



/*==================================================
FOOTER
==================================================*/

.footer{

    background:#0b0b0b;

    color:#ddd;

    padding:90px 0 35px;

}

.footer-grid{

    display:grid;

    grid-template-columns:2fr 1fr 1fr 1.2fr;

    gap:50px;

}

.footer-logo{

    width:180px;

    margin-bottom:20px;

}

.footer-column h3{

    color:#fff;

    margin-bottom:22px;

}

.footer-column p,

.footer-column li{

    color:#9a9a9a;

    line-height:2;

}

.footer-column ul{

    display:grid;

    gap:10px;

}

.footer-column a{

    color:#9a9a9a;

    transition:.3s;

}

.footer-column a:hover{

    color:var(--primary);

    padding-left:8px;

}

.footer hr{

    margin:50px 0 25px;

    border:none;

    border-top:1px solid rgba(255,255,255,.08);

}

.copyright{

    text-align:center;

}

.copyright p{

    color:#777;

}



/*==================================================
RESPONSIVE
==================================================*/

@media(max-width:1100px){

.contact-grid{

grid-template-columns:1fr;

}

.footer-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.footer-grid{

grid-template-columns:1fr;

}

.contact-form{

padding:30px;

}

.contact-info{

padding:30px;

}

.cta-buttons{

flex-direction:column;

}

.cta-buttons .btn{

width:100%;

}

}


/*==================================================
END OF MODULE 9

NEXT:
FINAL POLISH
WHATSAPP
BACK TO TOP
RESPONSIVE
ANIMATIONS
==================================================*/

/*==================================================
FINAL POLISH
==================================================*/

/* Smooth Section Appearance */

.reveal{

    opacity:0;

    transform:translateY(60px);

    transition:1s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}


/*==================================================
IMAGE HOVER IMPROVEMENTS
==================================================*/

img{

    transition:.5s ease;

}

.image-hover{

    overflow:hidden;

}

.image-hover:hover img{

    transform:scale(1.08);

}


/*==================================================
PREMIUM BUTTON EFFECT
==================================================*/

.btn{

    position:relative;

    overflow:hidden;

}

.btn::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:70%;

    height:100%;

    background:linear-gradient(

        120deg,

        transparent,

        rgba(255,255,255,.35),

        transparent

    );

    transform:skewX(-25deg);

}

.btn:hover::before{

    left:180%;

    transition:1s;

}


/*==================================================
WHATSAPP BUTTON
==================================================*/

.whatsapp-float{

    position:fixed;

    right:25px;

    bottom:25px;

    width:65px;

    height:65px;

    background:#25D366;

    color:#fff;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:28px;

    text-decoration:none;

    box-shadow:0 15px 35px rgba(0,0,0,.25);

    z-index:9999;

    animation:pulse 2s infinite;

    transition:.35s;

}

.whatsapp-float:hover{

    transform:scale(1.12);

}


@keyframes pulse{

    0%{

        box-shadow:0 0 0 0 rgba(37,211,102,.55);

    }

    70%{

        box-shadow:0 0 0 18px rgba(37,211,102,0);

    }

    100%{

        box-shadow:0 0 0 0 rgba(37,211,102,0);

    }

}


/*==================================================
BACK TO TOP
==================================================*/

#backToTop{

    position:fixed;

    left:25px;

    bottom:25px;

    width:58px;

    height:58px;

    border:none;

    border-radius:50%;

    background:#111;

    color:#fff;

    font-size:22px;

    cursor:pointer;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:9999;

    box-shadow:0 15px 30px rgba(0,0,0,.2);

}

#backToTop.show{

    opacity:1;

    visibility:visible;

}

#backToTop:hover{

    background:var(--primary);

    color:#111;

}


/*==================================================
SCROLLBAR
==================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#ececec;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:30px;

}

::-webkit-scrollbar-thumb:hover{

    background:var(--primary-dark);

}


/*==================================================
TEXT SELECTION
==================================================*/

::selection{

    background:var(--primary);

    color:#111;

}


/*==================================================
INPUT PLACEHOLDER
==================================================*/

::placeholder{

    color:#999;

}


/*==================================================
SECTION SPACING
==================================================*/

section{

    scroll-margin-top:110px;

}


/*==================================================
LUXURY HOVER
==================================================*/

.card,

.service-card,

.product-card,

.transform-card,

.testimonial-card,

.why-box{

    transition:

    transform .4s,

    box-shadow .4s;

}

.card:hover,

.service-card:hover,

.product-card:hover,

.transform-card:hover,

.testimonial-card:hover,

.why-box:hover{

    transform:translateY(-12px);

}


/*==================================================
RESPONSIVE IMPROVEMENTS
==================================================*/

@media(max-width:992px){

section{

padding:90px 0;

}

}

@media(max-width:768px){

section{

padding:75px 0;

}

.hero{

padding-top:140px;

}

h1{

font-size:42px;

}

h2{

font-size:34px;

}

.whatsapp-float{

width:58px;

height:58px;

font-size:24px;

}

#backToTop{

width:52px;

height:52px;

font-size:20px;

}

}


/*==================================================
END OF STYLE.CSS
Version 2.0
Luxury Edition
==================================================*/
/*==================================================
ACTIVE NAVIGATION
==================================================*/

.navbar a.active{

    color:var(--primary);

}

.navbar a.active::after{

    width:100%;

}



/*==================================================
REVEAL ANIMATION
==================================================*/

.reveal{

    opacity:0;

    transform:translateY(70px);

    transition:all .9s ease;

}

.reveal.active{

    opacity:1;

    transform:translateY(0);

}
/*==================================================
PRELOADER
==================================================*/

#preloader{

    position:fixed;

    inset:0;

    background:#111;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:999999;

    transition:opacity .7s ease,
               visibility .7s ease;

}

#preloader.hide{

    opacity:0;

    visibility:hidden;

}



.loader{

    position:relative;

    width:180px;

    height:180px;

}



.loader img{

    position:absolute;

    top:50%;

    left:50%;

    width:95px;

    transform:translate(-50%,-50%);

}



.loader-ring{

    position:absolute;

    inset:0;

    border-radius:50%;

    border:5px solid rgba(255,255,255,.08);

    border-top:5px solid var(--primary);

    animation:spin 1.2s linear infinite;

}



@keyframes spin{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}
/*==================================================
LUXURY LIGHTBOX
==================================================*/

#lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.92);

    backdrop-filter:blur(10px);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.4s;

    z-index:999999;

}

#lightbox.active{

    opacity:1;

    visibility:visible;

}

#lightboxImage{

    max-width:90%;

    max-height:88%;

    border-radius:16px;

    box-shadow:0 35px 70px rgba(0,0,0,.5);

    transform:scale(.85);

    transition:.4s;

}

#lightbox.active #lightboxImage{

    transform:scale(1);

}

#lightboxClose{

    position:absolute;

    top:30px;

    right:40px;

    font-size:48px;

    color:#fff;

    cursor:pointer;

    transition:.3s;

    line-height:1;

}

#lightboxClose:hover{

    color:var(--primary);

    transform:rotate(90deg);

}

/* Images that can be opened */

.lightbox-item{

    cursor:pointer;

}

.lightbox-item img{

    transition:.5s;

}

.lightbox-item:hover img{

    transform:scale(1.05);

}
/*==================================================
ABOUT PAGE
PART 1
==================================================*/

.page-hero{

    padding:180px 0 120px;

    background:linear-gradient(rgba(17,17,17,.70),rgba(17,17,17,.70)),
    url("../images/about-banner.jpg") center/cover;

    text-align:center;

    color:#fff;

}

.page-hero h1{

    color:#fff;

    margin-bottom:20px;

}

.page-hero p{

    max-width:720px;

    margin:auto;

    color:rgba(255,255,255,.85);

}

.breadcrumb{

    margin-top:30px;

}

.breadcrumb a{

    color:var(--primary);

}

.breadcrumb span{

    color:#fff;

    margin:0 8px;

}



/* STORY */

.about-story{

    background:#fff;

}

.about-story-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.about-story-image img{

    border-radius:24px;

    box-shadow:var(--shadow-lg);

}

.about-story-content h5{

    color:var(--primary);

    letter-spacing:4px;

    margin-bottom:15px;

}

.about-story-content h2{

    margin-bottom:25px;

}

.about-story-content p{

    margin-bottom:22px;

    color:var(--text-light);

    line-height:1.9;

}

@media(max-width:992px){

.about-story-grid{

grid-template-columns:1fr;

}

}