*{
margin:0;
padding:0;
box-sizing:border-box;
}
:root{
    --primary:#ffbe0b;
    --dark:#111111;
    --dark-2:#181818;
    --gray:#777777;
    --gray-light:#cfcfcf;
    --radius:18px;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Outfit','Poppins',sans-serif;
    background:#faf8f3;
    color:#111;
    overflow-x:hidden;
}

a{
    text-decoration:none;
    color:#fff;
}

img{
    display:block;
    max-width:100%;
}
/* =========================================================
   NAVBAR
========================================================= */

.navbar{
    position:fixed;
    top:20px;
    left:50%;
    transform:translateX(-50%);

    width:90%;
    max-width:1400px;
    height:78px;

    padding:0 32px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    background:rgba(18,18,18,.82);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;

    box-shadow:
    0 20px 45px rgba(0,0,0,.25),
    inset 0 1px 0 rgba(255,255,255,.08);

    transition:top .4s,height .4s,background .4s,box-shadow .4s,transform .4s;

    z-index:9999;
}

.navbar.scrolled{
    top:12px;
    height:68px;
    background:rgba(18,18,18,.94);
}

.navbar.hide{
    transform:translate(-50%,-120px);
}

.logo{
    display:flex;
    align-items:center;
    gap:14px;
    flex-shrink:0;
}

.logo-icon{
    width:42px;
    height:42px;
    display:flex;
    justify-content:center;
    align-items:center;
    color:var(--primary);
    font-size:26px;
    flex-shrink:0;
}

.logo h2{
    font-size:clamp(20px,2.2vw,28px);
    color:#fff;
    font-weight:800;
    letter-spacing:1px;
    white-space:nowrap;
}

.nav-links{
    display:flex;
    align-items:center;
    gap:34px;
}

.nav-links a{
    color:#fff;
    font-size:15px;
    font-weight:500;
    transition:.3s;
}

.nav-links a:hover,
.nav-links a.active{
    color:var(--primary);
}

.menu-btn{
    display:none;
    justify-content:center;
    align-items:center;
    width:48px;
    height:48px;
    border:1px solid rgba(255,255,255,.12);
    outline:none;
    border-radius:16px;
    background:rgba(255,255,255,.06);
    color:#fff;
    cursor:pointer;
    transition:.35s cubic-bezier(.22,1,.36,1);
}

.menu-btn i{
    font-size:26px;
    transition:.35s;
}

.menu-btn:hover{
    background:rgba(255,190,11,.18);
}

.menu-btn.active{
    background:var(--primary);
    color:#111;
}
@media(max-width:991px){

    /* ---- Header / hamburger ---- */

    .navbar{
        width:92%;
        height:64px;
        top:15px;
        padding:0 18px;
        border-radius:16px;
    }

    .logo-icon{
        width:36px;
        height:36px;
        font-size:22px;
    }

    .logo h2{
        font-size:22px;
    }

    .menu-btn{
        display:flex;
    }

    .nav-links{
        position:absolute;
        top:calc(100% + 12px);
        left:0;
        right:0;
        width:100%;
        margin:auto;
        background:rgba(18,18,18,.96);
        backdrop-filter:blur(24px);
        border:1px solid rgba(255,255,255,.08);
        border-radius:18px;
        flex-direction:column;
        align-items:stretch;
        padding:14px;
        gap:8px;

        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-14px) scale(.97);
        transition:opacity .4s ease,transform .4s cubic-bezier(.22,1,.36,1),visibility .4s;
        box-shadow:0 25px 60px rgba(0,0,0,.45);
    }

    .nav-links.active{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0) scale(1);
    }

    .nav-links li{
        width:100%;
    }

    .nav-links a{
        display:flex;
        justify-content:center;
        align-items:center;
        height:52px;
        border-radius:12px;
        background:rgba(255,255,255,.04);
        font-size:16px;
        font-weight:600;
        transition:.3s;
    }

    .nav-links a:hover,
    .nav-links a.active{
        background:rgba(255,190,11,.16);
        color:var(--primary);
    }

    /* ---- Hero ---- */

    .hero{
        padding:150px 0 90px;
    }

    .hero .container{
        flex-direction:column;
        text-align:center;
        gap:60px;
    }

    .breadcrumb,
    .hero-badge{
        justify-content:center;
        margin-left:auto;
        margin-right:auto;
    }

    .breadcrumb{
        justify-content:center;
    }

    .hero-text{
        margin-left:auto;
        margin-right:auto;
    }

    .hero-buttons{
        justify-content:center;
    }

    .hero-image{
        width:100%;
        max-width:480px;
        margin:0 auto 60px;
    }

    .card-1{ top:-20px; left:-10px; }
    .card-2{ bottom:60px; right:-10px; }
    .card-3{ bottom:-24px; left:10px; }

    /* ---- Contact ---- */

    .contact-cards{
        grid-template-columns:repeat(2,1fr);
    }

    .contact-form{
        padding:36px;
    }

    /* ---- Why ---- */

    .why .container{
        flex-direction:column-reverse;
        text-align:center;
        gap:45px;
    }

    .why-item{
        text-align:left;
    }

    .why-right img{
        height:380px;
    }
}

@media(max-width:900px){

    .menu-btn{
        display:flex;
    }

    .navbar ul.nav-links{
        position:fixed;
        top:110px;
        left:50%;
        transform:translate(-50%, -20px);

        width:90%;
        max-width:420px;

        display:flex;
        flex-direction:column;
        align-items:center;
        gap:20px;

        background:rgba(18,18,18,.96);
        backdrop-filter:blur(18px);

        border:1px solid rgba(255,255,255,.1);
        border-radius:22px;

        padding:30px 20px;

        opacity:0;
        visibility:hidden;
        pointer-events:none;

        transition:
            opacity .35s ease,
            transform .35s ease,
            visibility .35s ease;

        z-index:9998;
    }

    .navbar ul.nav-links.open{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translate(-50%, 0);
    }

    .navbar ul.nav-links li{
        width:100%;
        text-align:center;
    }

    .navbar ul.nav-links li a{
        display:block;
        padding:10px;
        color:#fff;
    }

}
ul{
    list-style: none;
}
/* =========================================================
   BUILDING RENOVATION HERO
========================================================= */

.renovation-hero{

    position:relative;
    min-height:720px;

    background:#0b0b0b;
    color:#fff;

    overflow:hidden;

}


/* ================= BACKGROUND ================= */

.renovation-hero-bg{

    position:absolute;
    inset:0;

    background-image:url(
        "https://images.unsplash.com/photo-1540518614846-7eded433c457?auto=format&fit=crop&w=2000&q=90"
    );

    background-size:cover;
    background-position:center right;

    z-index:0;

}


.renovation-hero-overlay{

    position:absolute;
    inset:0;

    background:
    linear-gradient(
        90deg,
        #080808 0%,
        rgba(8,8,8,.98) 25%,
        rgba(8,8,8,.88) 45%,
        rgba(8,8,8,.55) 65%,
        rgba(8,8,8,.15) 100%
    );

    z-index:1;

}


/* ================= CONTAINER ================= */

.renovation-hero-container{

    position:relative;
    z-index:5;

    width:90%;
    max-width:1400px;

    margin:auto;

    padding-top:120px;
    padding-bottom:100px;

}


/* ================= BREADCRUMB ================= */

.renovation-breadcrumb{

    display:flex;
    align-items:center;
    gap:12px;

    margin-bottom:65px;

    color:#888;

    font-size:12px;

}


.renovation-breadcrumb i{

    color:#666;
    font-size:17px;

}


.renovation-breadcrumb strong{

    color:#ffbe0b;
    font-weight:600;

}


/* ================= CONTENT ================= */

.renovation-hero-content{

    display:grid;

    grid-template-columns:
    minmax(0, 1fr)
    minmax(450px, 1fr);

    align-items:center;

    gap:80px;

}


/* ================= TEXT ================= */

.renovation-hero-text{

    max-width:650px;

}


.renovation-label{

    display:inline-block;

    margin-bottom:20px;

    color:#ffbe0b;

    font-size:12px;

    font-weight:700;

    letter-spacing:3px;

}


.renovation-hero-text h1{

    margin:0;

    font-size:clamp(58px,6vw,92px);

    line-height:.95;

    letter-spacing:-4px;

    font-weight:800;

}


.renovation-hero-text h1 span{

    display:block;

    color:#ffbe0b;

}


.renovation-hero-text p{

    max-width:540px;

    margin:30px 0;

    color:#c5c5c5;

    font-size:16px;

    line-height:1.8;

}


/* ================= BUTTONS ================= */

.renovation-buttons{

    display:flex;

    align-items:center;

    gap:16px;

    margin-top:35px;

}


.renovation-primary-btn,
.renovation-secondary-btn{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:20px;

    min-height:55px;

    padding:0 25px;

    font-size:12px;

    font-weight:700;

    transition:.35s ease;

}


.renovation-primary-btn{

    background:#ffbe0b;
    color:#111;

}


.renovation-primary-btn:hover{

    background:#fff;

}


.renovation-secondary-btn{

    color:#fff;

    border:1px solid rgba(255,190,11,.7);

    background:rgba(0,0,0,.25);

}


.renovation-secondary-btn:hover{

    background:#ffbe0b;
    color:#111;

}


.renovation-buttons i{

    font-size:20px;

}


/* ================= FEATURES ================= */

.renovation-features{

    display:flex;

    flex-wrap:wrap;

    gap:25px;

    margin-top:55px;

}


.renovation-feature{

    display:flex;

    align-items:center;

    gap:10px;

}


.renovation-feature-icon{

    width:38px;
    height:38px;

    display:flex;

    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,190,11,.6);

    border-radius:50%;

    color:#ffbe0b;

    font-size:18px;

}


.renovation-feature span{

    color:#ddd;

    font-size:11px;

    font-weight:500;

    white-space:nowrap;

}


/* ================= IMAGE ================= */

.renovation-hero-image{

    position:relative;

    width:100%;

    max-width:650px;

    margin-left:auto;

}


.renovation-hero-image img{

    width:100%;

    height:520px;

    object-fit:cover;

    display:block;

    border-radius:4px;

    border:1px solid rgba(255,255,255,.12);

    box-shadow:
    0 30px 80px rgba(0,0,0,.6);

}


/* ================= IMAGE OVERLAY ================= */

.renovation-hero-image::after{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        180deg,
        transparent 60%,
        rgba(0,0,0,.35)
    );

    pointer-events:none;

}


/* ================= FLOATING CARD ================= */

.renovation-floating-card{

    position:absolute;

    left:-55px;

    bottom:35px;

    z-index:5;

    display:flex;

    align-items:center;

    gap:14px;

    min-width:190px;

    padding:18px 22px;

    background:#ffbe0b;

    color:#111;

    box-shadow:
    0 20px 45px rgba(0,0,0,.5);

}


.renovation-floating-icon{

    width:42px;
    height:42px;

    display:flex;

    align-items:center;
    justify-content:center;

    background:#111;

    color:#ffbe0b;

    border-radius:50%;

    font-size:20px;

}


.renovation-floating-card strong{

    display:block;

    font-size:25px;

    line-height:1;

    font-weight:800;

}


.renovation-floating-card span{

    display:block;

    margin-top:5px;

    font-size:10px;

    font-weight:600;

}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

    .renovation-hero-content{

        grid-template-columns:1fr 1fr;

        gap:45px;

    }

    .renovation-hero-text h1{

        font-size:64px;

    }

    .renovation-hero-image img{

        height:460px;

    }

    .renovation-floating-card{

        left:-20px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:768px){

    .renovation-hero{

        min-height:auto;

    }


    .renovation-hero-container{

        width:92%;

        padding-top:120px;

        padding-bottom:70px;

    }


    .renovation-breadcrumb{

        margin-bottom:50px;

        font-size:10px;

    }


    .renovation-hero-content{

        grid-template-columns:1fr;

        gap:50px;

    }


    .renovation-hero-text{

        max-width:100%;

    }


    .renovation-hero-text h1{

        font-size:52px;

        letter-spacing:-2px;

    }


    .renovation-hero-text p{

        font-size:14px;

        line-height:1.7;

    }


    .renovation-buttons{

        flex-wrap:wrap;

    }


    .renovation-primary-btn,
    .renovation-secondary-btn{

        min-height:50px;

        padding:0 18px;

    }


    .renovation-features{

        gap:18px 15px;

        margin-top:35px;

    }


    .renovation-feature{

        width:calc(50% - 10px);

    }


    .renovation-feature span{

        font-size:10px;

    }


    .renovation-hero-image{

        max-width:100%;

    }


    .renovation-hero-image img{

        height:420px;

    }


    .renovation-floating-card{

        left:15px;

        bottom:20px;

    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:480px){

    .renovation-hero-container{

        padding-top:110px;

    }


    .renovation-hero-text h1{

        font-size:44px;

    }


    .renovation-label{

        font-size:10px;

        letter-spacing:2px;

    }


    .renovation-buttons{

        flex-direction:column;

        align-items:stretch;

    }


    .renovation-primary-btn,
    .renovation-secondary-btn{

        width:100%;

    }


    .renovation-features{

        display:grid;

        grid-template-columns:1fr 1fr;

    }


    .renovation-feature{

        width:100%;

    }


    .renovation-hero-image img{

        height:350px;

    }


    .renovation-floating-card{

        min-width:170px;

        padding:14px 16px;

    }

}

/* =====================================================
   RENOVATION SHOWCASE
===================================================== */

.renovation-showcase{

    position:relative;

    padding:130px 6%;

    background:#f8f7f3;

    overflow:hidden;

}


/* subtle background detail */

.renovation-showcase::before{

    content:"";

    position:absolute;

    width:500px;
    height:500px;

    border:1px solid rgba(229,165,28,.15);

    border-radius:50%;

    right:-250px;
    top:-200px;

}


.renovation-showcase-wrapper{

    position:relative;

    z-index:2;

    max-width:1380px;

    margin:auto;

    display:grid;

    grid-template-columns:
    minmax(0, .9fr)
    minmax(0, 1.1fr);

    gap:90px;

    align-items:center;

}


/* =====================================================
   CONTENT
===================================================== */

.renovation-showcase-content{

    max-width:600px;

}


.renovation-section-tag{

    display:inline-flex;

    align-items:center;

    gap:12px;

    margin-bottom:22px;

    color:#d99b08;

    font-size:11px;

    font-weight:800;

    letter-spacing:3px;

}


.renovation-section-tag::before{

    content:"";

    width:38px;

    height:2px;

    background:#e5a51c;

}


.renovation-showcase-content h2{

    margin:0;

    font-size:clamp(42px,4vw,68px);

    line-height:1.02;

    letter-spacing:-2.5px;

    color:#111;

    font-weight:800;

}


.renovation-showcase-content h2 span{

    display:block;

    color:#e5a51c;

}


.renovation-showcase-content > p{

    max-width:540px;

    margin:28px 0 35px;

    color:#777;

    font-size:15px;

    line-height:1.8;

}


/* =====================================================
   HIGHLIGHTS
===================================================== */

.renovation-highlights{

    display:grid;

    gap:18px;

    margin-bottom:35px;

}


.renovation-highlight{

    display:flex;

    align-items:flex-start;

    gap:18px;

    padding-bottom:18px;

    border-bottom:1px solid #deddd8;

}


.highlight-number{

    color:#e5a51c;

    font-size:13px;

    font-weight:800;

    min-width:28px;

}


.renovation-highlight h4{

    margin:0 0 5px;

    color:#111;

    font-size:16px;

    font-weight:700;

}


.renovation-highlight p{

    margin:0;

    color:#888;

    font-size:12px;

    line-height:1.6;

}


/* =====================================================
   BUTTON
===================================================== */

.renovation-showcase-btn{

    display:inline-flex;

    align-items:center;

    gap:20px;

    padding:17px 25px;

    background:#111;

    color:#fff;

    font-size:11px;

    font-weight:800;

    transition:.35s;

}


.renovation-showcase-btn i{

    color:#e5a51c;

    font-size:20px;

}


.renovation-showcase-btn:hover{

    background:#e5a51c;

    color:#111;

    transform:translateY(-3px);

}


.renovation-showcase-btn:hover i{

    color:#111;

}


/* =====================================================
   IMAGE
===================================================== */

.renovation-showcase-visual{

    position:relative;

}


.renovation-main-image{

    position:relative;

    height:620px;

    overflow:hidden;

    border-radius:28px;

}


.renovation-main-image::after{

    content:"";

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        180deg,
        transparent 55%,
        rgba(0,0,0,.55)
    );

}


.renovation-main-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .8s ease;

}


.renovation-main-image:hover img{

    transform:scale(1.05);

}


/* =====================================================
   IMAGE LABEL
===================================================== */

.renovation-image-label{

    position:absolute;

    z-index:3;

    left:30px;

    bottom:30px;

    display:flex;

    align-items:center;

    gap:15px;

    padding:16px 22px;

    background:#e5a51c;

    color:#111;

    border-radius:10px;

    box-shadow:0 15px 35px rgba(0,0,0,.2);

}


.label-icon{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    background:#111;

    color:#e5a51c;

    border-radius:50%;

    font-size:20px;

}


.renovation-image-label strong{

    display:block;

    font-size:13px;

}


.renovation-image-label small{

    display:block;

    margin-top:3px;

    font-size:10px;

    opacity:.7;

}


/* =====================================================
   FLOATING CARD
===================================================== */

.renovation-floating-card{

    position:absolute;

    right:-35px;

    top:70px;

    width:145px;

    height:145px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    background:#111;

    color:#fff;

    border:1px solid rgba(229,165,28,.4);

    border-radius:50%;

    box-shadow:0 20px 50px rgba(0,0,0,.25);

}


.renovation-floating-card strong{

    color:#e5a51c;

    font-size:35px;

    line-height:1;

}


.renovation-floating-card span{

    margin-top:8px;

    color:#aaa;

    font-size:10px;

    text-align:center;

    line-height:1.4;

}


/* =====================================================
   RENOVATION EXPERTISE
===================================================== */

.renovation-expertise{

    padding:130px 6%;

    background:#111;

    color:#fff;

}


.renovation-expertise-wrapper{

    max-width:1380px;

    margin:auto;

}


/* =====================================================
   HEADER
===================================================== */

.renovation-expertise-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    gap:60px;

    margin-bottom:65px;

}


.renovation-expertise-header h2{

    margin:0;

    max-width:650px;

    font-size:clamp(42px,4vw,64px);

    line-height:1.05;

    letter-spacing:-2px;

}


.renovation-expertise-header h2 span{

    color:#e5a51c;

}


.renovation-expertise-header > p{

    max-width:400px;

    margin:0;

    color:#999;

    font-size:14px;

    line-height:1.8;

}


/* =====================================================
   GRID
===================================================== */

.renovation-expertise-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:18px;

}


/* =====================================================
   CARD
===================================================== */

.renovation-expertise-card{

    min-height:370px;

    padding:30px;

    display:flex;

    flex-direction:column;

    background:#181818;

    border:1px solid rgba(255,255,255,.08);

    border-radius:20px;

    transition:.45s cubic-bezier(.22,1,.36,1);

}


.renovation-expertise-card:hover{

    background:#e5a51c;

    color:#111;

    transform:translateY(-12px);

    border-color:#e5a51c;

    box-shadow:
    0 25px 50px rgba(0,0,0,.3);

}


.expertise-card-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:55px;

}


.expertise-number{

    color:#e5a51c;

    font-size:12px;

    font-weight:800;

}


.renovation-expertise-card:hover
.expertise-number{

    color:#111;

}


.expertise-icon{

    width:55px;

    height:55px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid rgba(229,165,28,.5);

    border-radius:50%;

    color:#e5a51c;

    font-size:25px;

}


.renovation-expertise-card:hover
.expertise-icon{

    border-color:#111;

    color:#111;

}


.renovation-expertise-card h3{

    margin:0 0 15px;

    font-size:21px;

    line-height:1.2;

}


.renovation-expertise-card p{

    margin:0;

    color:#888;

    font-size:12px;

    line-height:1.8;

}


.renovation-expertise-card:hover p{

    color:#333;

}


.renovation-expertise-card a{

    display:flex;

    align-items:center;

    gap:10px;

    margin-top:auto;

    padding-top:30px;

    color:#fff;

    font-size:10px;

    font-weight:800;

}


.renovation-expertise-card a i{

    color:#e5a51c;

    font-size:18px;

}


.renovation-expertise-card:hover a{

    color:#111;

}


.renovation-expertise-card:hover a i{

    color:#111;

}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1100px){

    .renovation-showcase-wrapper{

        grid-template-columns:1fr 1fr;

        gap:50px;

    }


    .renovation-main-image{

        height:540px;

    }


    .renovation-floating-card{

        right:-15px;

    }


    .renovation-expertise-grid{

        grid-template-columns:
        repeat(2,1fr);

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:768px){

    .renovation-showcase{

        padding:90px 20px;

    }


    .renovation-showcase-wrapper{

        grid-template-columns:1fr;

        gap:60px;

    }


    .renovation-showcase-content h2{

        font-size:45px;

    }


    .renovation-main-image{

        height:480px;

    }


    .renovation-floating-card{

        width:110px;

        height:110px;

        right:10px;

        top:-30px;

    }


    .renovation-floating-card strong{

        font-size:28px;

    }


    .renovation-expertise{

        padding:90px 20px;

    }


    .renovation-expertise-header{

        flex-direction:column;

        align-items:flex-start;

        gap:25px;

    }


    .renovation-expertise-header h2{

        font-size:44px;

    }


    .renovation-expertise-grid{

        grid-template-columns:1fr;

    }


    .renovation-expertise-card{

        min-height:330px;

    }

}


/* =====================================================
   SMALL MOBILE
===================================================== */

@media(max-width:480px){

    .renovation-showcase-content h2{

        font-size:38px;

    }


    .renovation-showcase-content > p{

        font-size:13px;

    }


    .renovation-main-image{

        height:400px;

        border-radius:20px;

    }


    .renovation-image-label{

        left:15px;

        bottom:15px;

        padding:12px 15px;

    }


    .label-icon{

        width:35px;

        height:35px;

    }


    .renovation-expertise-header h2{

        font-size:38px;

    }

}
/* =====================================================
   BEFORE & AFTER
===================================================== */

.renovation-before-after{

    padding:130px 6%;

    background:#f8f7f3;

    overflow:hidden;

}


.before-after-wrapper{

    max-width:1380px;

    margin:auto;

}


.before-after-heading{

    max-width:650px;

    margin-bottom:65px;

}


.before-after-heading h2{

    margin:0;

    font-size:clamp(42px,4vw,65px);

    line-height:1;

    letter-spacing:-2px;

}


.before-after-heading h2 span{

    color:#e5a51c;

}


.before-after-heading p{

    max-width:520px;

    margin-top:22px;

    color:#777;

    line-height:1.8;

    font-size:14px;

}


.before-after-grid{

    display:grid;

    grid-template-columns:1fr 100px 1fr;

    align-items:center;

    gap:25px;

}


/* IMAGE CARD */

.renovation-compare-card{

    background:#fff;

    border:1px solid #e5e3dd;

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.06);

    transition:.45s ease;

}


.renovation-compare-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 60px rgba(0,0,0,.12);

}


.compare-image{

    position:relative;

    height:420px;

    overflow:hidden;

}


.compare-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.7s ease;

}


.renovation-compare-card:hover
.compare-image img{

    transform:scale(1.06);

}


.compare-label{

    position:absolute;

    top:20px;

    left:20px;

    padding:10px 18px;

    background:#111;

    color:#fff;

    font-size:10px;

    font-weight:800;

    letter-spacing:2px;

}


.compare-label.after{

    background:#e5a51c;

    color:#111;

}


.compare-content{

    display:flex;

    gap:20px;

    padding:25px;

}


.compare-content > span{

    color:#e5a51c;

    font-size:12px;

    font-weight:800;

}


.compare-content h3{

    margin:0 0 8px;

    font-size:20px;

}


.compare-content p{

    margin:0;

    color:#888;

    font-size:12px;

    line-height:1.6;

}


/* CENTER */

.compare-center{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:15px;

    text-align:center;

}


.compare-arrow{

    width:65px;

    height:65px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#e5a51c;

    color:#111;

    font-size:28px;

    box-shadow:0 12px 30px rgba(229,165,28,.3);

}


.compare-center span{

    color:#999;

    font-size:8px;

    font-weight:700;

    letter-spacing:1px;

    line-height:1.5;

}


.compare-center strong{

    display:block;

    color:#111;

}


/* =====================================================
   RENOVATION PROCESS
===================================================== */

.renovation-process{

    padding:130px 6%;

    background:#111;

    color:#fff;

}


.renovation-process-wrapper{

    max-width:1380px;

    margin:auto;

    display:grid;

    grid-template-columns:.75fr 1.25fr;

    gap:100px;

}


.renovation-process-header{

    position:sticky;

    top:120px;

    height:max-content;

}


.renovation-process-header h2{

    margin:0;

    font-size:clamp(42px,4vw,65px);

    line-height:1.05;

    letter-spacing:-2px;

}


.renovation-process-header h2 span{

    color:#e5a51c;

}


.renovation-process-header p{

    max-width:420px;

    margin-top:25px;

    color:#888;

    font-size:14px;

    line-height:1.8;

}


/* PROCESS LIST */

.renovation-process-list{

    border-top:1px solid rgba(255,255,255,.12);

}


.renovation-process-item{

    position:relative;

    display:grid;

    grid-template-columns:60px 70px 1fr 50px;

    align-items:center;

    gap:25px;

    padding:35px 0;

    border-bottom:1px solid rgba(255,255,255,.12);

    transition:.4s ease;

}


.renovation-process-item:hover{

    padding-left:20px;

}


.process-number{

    color:#e5a51c;

    font-size:13px;

    font-weight:800;

}


.process-icon{

    width:58px;

    height:58px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid rgba(229,165,28,.5);

    border-radius:50%;

    color:#e5a51c;

    font-size:23px;

    transition:.4s;

}


.renovation-process-item:hover
.process-icon{

    background:#e5a51c;

    color:#111;

}


.process-info h3{

    margin:0 0 8px;

    font-size:20px;

}


.process-info p{

    max-width:500px;

    margin:0;

    color:#777;

    font-size:12px;

    line-height:1.7;

}


.process-arrow{

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid rgba(255,255,255,.15);

    border-radius:50%;

    color:#e5a51c;

    font-size:20px;

    transition:.4s;

}


.renovation-process-item:hover
.process-arrow{

    background:#e5a51c;

    color:#111;

    border-color:#e5a51c;

}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1000px){

    .before-after-grid{

        grid-template-columns:1fr;

    }


    .compare-center{

        flex-direction:row;

        justify-content:center;

    }


    .renovation-process-wrapper{

        grid-template-columns:1fr;

        gap:60px;

    }


    .renovation-process-header{

        position:static;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

    .renovation-before-after{

        padding:90px 20px;

    }


    .before-after-heading h2{

        font-size:42px;

    }


    .compare-image{

        height:320px;

    }


    .renovation-process{

        padding:90px 20px;

    }


    .renovation-process-header h2{

        font-size:42px;

    }


    .renovation-process-item{

        grid-template-columns:45px 55px 1fr;

        gap:15px;

    }


    .process-arrow{

        display:none;

    }


    .process-icon{

        width:50px;

        height:50px;

    }


    .process-info h3{

        font-size:16px;

    }

}
/* =====================================================
   RENOVATION PROJECTS
===================================================== */

.renovation-projects{

    padding:130px 6%;

    background:#f8f7f3;

}


.renovation-projects-wrapper{

    max-width:1380px;

    margin:auto;

}


/* HEADER */

.renovation-projects-header{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    gap:40px;

    margin-bottom:60px;

}


.renovation-projects-header h2{

    margin:0;

    font-size:clamp(42px,4vw,64px);

    line-height:1;

    letter-spacing:-2px;

}


.renovation-projects-header h2 span{

    color:#e5a51c;

}


.renovation-projects-link{

    display:flex;

    align-items:center;

    gap:15px;

    padding:15px 22px;

    border:1px solid #111;

    color:#111;

    font-size:10px;

    font-weight:800;

    transition:.35s;

}


.renovation-projects-link i{

    color:#e5a51c;

    font-size:20px;

}


.renovation-projects-link:hover{

    background:#111;

    color:#fff;

}


/* GRID */

.renovation-projects-grid{

    display:grid;

    grid-template-columns:
    1.4fr
    1fr
    1fr;

    gap:20px;

}


.renovation-project-card{

    position:relative;

    height:500px;

    overflow:hidden;

    border-radius:20px;

    display:block;

}


.renovation-project-card.project-large{

    height:600px;

    grid-row:span 2;

}


.renovation-project-card img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .8s cubic-bezier(.22,1,.36,1);

}


.renovation-project-card:hover img{

    transform:scale(1.08);

}


.renovation-project-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        180deg,
        rgba(0,0,0,.05) 30%,
        rgba(0,0,0,.85) 100%
    );

}


.renovation-project-content{

    position:absolute;

    left:30px;

    right:30px;

    bottom:28px;

    color:#fff;

}


.renovation-project-content > span{

    color:#e5a51c;

    font-size:10px;

    font-weight:800;

    letter-spacing:2px;

}


.renovation-project-content h3{

    max-width:350px;

    margin:10px 0 22px;

    font-size:28px;

    line-height:1.1;

}


.project-meta{

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding-top:18px;

    border-top:1px solid rgba(255,255,255,.3);

}


.project-meta span{

    font-size:9px;

    letter-spacing:2px;

}


.project-meta i{

    width:38px;

    height:38px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:1px solid rgba(255,255,255,.4);

    border-radius:50%;

    color:#e5a51c;

    font-size:20px;

    transition:.35s;

}


.renovation-project-card:hover
.project-meta i{

    background:#e5a51c;

    border-color:#e5a51c;

    color:#111;

}


/* =====================================================
   CTA
===================================================== */

.renovation-cta{

    position:relative;

    min-height:580px;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:100px 6%;

    overflow:hidden;

    color:#fff;

}


.renovation-cta-bg{

    position:absolute;

    inset:0;

    background-image:url(
        "https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=2000&q=90"
    );

    background-size:cover;

    background-position:center;

    transition:transform 1s ease;

}


.renovation-cta:hover
.renovation-cta-bg{

    transform:scale(1.03);

}


.renovation-cta-overlay{

    position:absolute;

    inset:0;

    background:
    linear-gradient(
        90deg,
        rgba(10,10,10,.95),
        rgba(10,10,10,.65),
        rgba(10,10,10,.45)
    );

}


.renovation-cta-content{

    position:relative;

    z-index:2;

    width:100%;

    max-width:1000px;

    text-align:center;

}


.renovation-cta-content
.renovation-section-tag{

    justify-content:center;

}


.renovation-cta-content h2{

    margin:0;

    font-size:clamp(45px,5vw,75px);

    line-height:1;

    letter-spacing:-3px;

}


.renovation-cta-content h2 span{

    display:block;

    color:#e5a51c;

}


.renovation-cta-content > p{

    max-width:600px;

    margin:25px auto 35px;

    color:#ccc;

    font-size:15px;

    line-height:1.8;

}


.renovation-cta-buttons{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:18px;

    flex-wrap:wrap;

}


.renovation-cta-primary{

    display:flex;

    align-items:center;

    gap:20px;

    padding:18px 25px;

    background:#e5a51c;

    color:#111;

    font-size:10px;

    font-weight:800;

    transition:.35s;

}


.renovation-cta-primary i{

    font-size:20px;

}


.renovation-cta-primary:hover{

    background:#fff;

}


.renovation-cta-phone{

    display:flex;

    align-items:center;

    gap:10px;

    padding:17px 24px;

    border:1px solid rgba(255,255,255,.4);

    color:#fff;

    font-size:10px;

    font-weight:800;

    transition:.35s;

}


.renovation-cta-phone i{

    color:#e5a51c;

    font-size:20px;

}


.renovation-cta-phone:hover{

    background:#fff;

    color:#111;

}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1000px){

    .renovation-projects-grid{

        grid-template-columns:1fr 1fr;

    }


    .renovation-project-card.project-large{

        grid-column:span 2;

        grid-row:auto;

        height:550px;

    }


    .renovation-project-card{

        height:420px;

    }

}


/* =====================================================
   MOBILE
===================================================== */

@media(max-width:600px){

    .renovation-projects{

        padding:90px 20px;

    }


    .renovation-projects-header{

        flex-direction:column;

        align-items:flex-start;

    }


    .renovation-projects-header h2{

        font-size:42px;

    }


    .renovation-projects-grid{

        grid-template-columns:1fr;

    }


    .renovation-project-card.project-large{

        grid-column:auto;

        height:450px;

    }


    .renovation-project-card{

        height:400px;

    }


    .renovation-cta{

        min-height:600px;

        padding:80px 20px;

    }


    .renovation-cta-content h2{

        font-size:43px;

        letter-spacing:-2px;

    }


    .renovation-cta-content > p{

        font-size:13px;

    }


    .renovation-cta-buttons{

        flex-direction:column;

        width:100%;

    }


    .renovation-cta-primary,
    .renovation-cta-phone{

        width:100%;

        justify-content:center;

    }

}
/* =========================================================
   FOOTER
========================================================= */

.footer{
    background:var(--dark);
    color:#fff;
    padding:55px 8% 0;
}

.footer-container{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:50px;
}

.footer-logo{
    display:flex;
    align-items:center;
    gap:12px;
}

.footer-logo .logo-icon{
    width:44px;
    height:44px;
    background:var(--primary);
    color:#111;
    border-radius:50%;
}

.footer-logo h2{
    font-size:28px;
    color:#fff;
}

.footer-about p{
    color:#aaa;
    line-height:1.8;
    margin:22px 0;
    font-size:14px;
}

.footer-social{
    display:flex;
    gap:12px;
}

.footer-social a{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#222;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:19px;
    transition:.3s;
}

.footer-social a:hover{
    background:var(--primary);
    color:#111;
}

.footer h3{
    font-size:19px;
    margin-bottom:24px;
    color:#fff;
}

.footer-links a{
    display:block;
    color:#aaa;
    margin-bottom:14px;
    font-size:14px;
    transition:.3s;
}

.footer-links a:hover{
    color:var(--primary);
}

.footer-contact p{
    display:flex;
    align-items:center;
    gap:12px;
    color:#aaa;
    margin-bottom:16px;
    font-size:14px;
}

.footer-contact i{
    color:var(--primary);
    font-size:20px;
}

.footer-bottom{
    margin-top:55px;
    padding:25px 0;
    border-top:1px solid #2a2a2a;
    display:flex;
    justify-content:space-between;
    color:#888;
    font-size:13px;
}

.footer-bottom div a{
    color:#888;
    margin-left:20px;
    transition:.3s;
}

.footer-bottom div a:hover{
    color:var(--primary);
}



@media(max-width:480px){

    .footer-container{
        grid-template-columns:1fr;
        text-align:center;
    }

    .footer-social{
        justify-content:center;
    }

    .footer-contact p{
        justify-content:center;
    }
}

/* =========================================================
   SMOOTH / SLOW SCROLL FEEL
========================================================= */
html{
    scroll-behavior:auto; /* JS lerp-scroll handles smoothing */
}
body{
    overflow-x:hidden;
}
