html{
    scroll-behavior:smooth;
}


*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}



body{
    font-family:'Montserrat', Arial, sans-serif;
    background:#111;
    color:white;
    overflow-x:hidden;
}


/* ================= HERO ================= */

.hero{

    position:relative;
    isolation:isolate;

    min-height:100vh;

    display:flex;
    align-items:center;
    justify-content:center;

    gap:80px;

    padding:120px 80px 80px;

    background:#111;

}



/* ================= VIDEO SIDE ================= */


.hero-video{

    position:relative;

    display:flex;
    flex-direction:column;
    align-items:center;

    z-index:2;

}


.video-label{

    color:#f97316;

    font-size:14px;

    font-weight:800;

    letter-spacing:3px;

    margin-bottom:15px;

}



.video-card{

    position:relative;

    width:380px;

    height:650px;

    border-radius:24px;

    overflow:visible;

    box-shadow:
    0 25px 60px rgba(0,0,0,.55);

}


.video-card::before{

    content:"";

    position:absolute;

    inset:-80px;

    background:#f97316;

    filter:blur(90px);

    opacity:.35;

    border-radius:50%;

    z-index:-1;

}


.video-card video{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    border-radius:24px;

    opacity:0;

    transition:opacity 1.2s ease-in-out;

}



#heroVideo1{

    opacity:1;

}



.video-caption{

    margin-top:25px;

    font-size:16px;

    color:#aaa;

    text-align:center;

}



/* ================= TEXT SIDE ================= */


.hero-content{

    max-width:600px;

}



.hero-content h1{

    font-family:'Montserrat', sans-serif;

    font-size:62px;

    font-weight:900;

    letter-spacing:-2px;

    line-height:1.05;

    margin-bottom:25px;

}


.hero-content h1 span{

    color:#f97316;

}

.hero-subtitle{

    font-size:22px;

    color:#ddd;

    line-height:1.5;

    margin-bottom:35px;

}



.hero-checks{

    display:flex;

    flex-direction:column;

    gap:12px;

    font-size:20px;

    margin-bottom:40px;

}



/* ================= BUTTONS ================= */


.buttons{

    display:flex;

    gap:15px;

    flex-wrap:wrap;

}


button,
.buttons a{

    padding:14px 22px;

    border:none;

    border-radius:10px;

    cursor:pointer;

    font-size:17px;

    font-weight:bold;

    transition:.3s;

    display:inline-block;

    text-decoration:none;

    text-align:center;

}


button:hover,
.buttons a:hover{

    transform:translateY(-4px);

}



/* ORANGE BUTTON */

.primary{

    background:#f97316;

    color:white;

}



/* WHITE BUTTON */

.secondary{

    background:white;

    color:#111;

}



/* FINANCING BUTTON */

.finance{

    background:#222;

    color:white;

    border:1px solid #f97316;

}



/* ================= NAV ================= */


nav{

    position:fixed;

    top:0;

    left:0;

    width:100%;


    display:flex;

    justify-content:space-between;

    align-items:center;


    padding:15px 70px;


    background:rgba(0,0,0,.35);

    backdrop-filter:blur(10px);


    z-index:999;

}



nav h2{

    font-family:'Montserrat',sans-serif;

    font-size:30px;

    font-weight:800;

}



nav ul{

    display:flex;

    gap:35px;

    list-style:none;

}



nav a{

    color:white;

    text-decoration:none;

}



nav a:hover{

    color:#f97316;

}

/* ================= BRAND ================= */

.brand{

    font-family:'Montserrat', sans-serif;

    font-size:30px;

    font-weight:900;

    letter-spacing:-1px;

    color:white;

}


.brand span{

    color:#f97316;

}
/* ================= SERVICES ================= */


.services{

    padding:100px 80px;

    background:#111;

    text-align:center;

}



.section-title p{

    color:#f97316;

    font-size:14px;

    font-weight:800;

    letter-spacing:3px;

    margin-bottom:10px;

}



.section-title h2{

    font-size:45px;

    font-weight:800;

    margin-bottom:50px;

}




.service-cards{

    display:flex;

    justify-content:center;

    gap:30px;

    flex-wrap:wrap;

}



.service-card{

    width:320px;

    min-height:220px;

    padding:35px 30px;

    background:#1a1a1a;

    border-radius:18px;

    border:1px solid rgba(255,255,255,.08);

    transition:.3s;

}



.service-card:hover{

    transform:translateY(-10px);

    border-color:#f97316;

    box-shadow:
    0 15px 40px rgba(249,115,22,.2);

}



.service-card h3{

    font-size:22px;

    margin-bottom:20px;

}



.service-card p{

    color:#ccc;

    font-size:16px;

    line-height:1.6;

}

/* ================= PROJECTS ================= */
.project-card img{

    width:100%;

    height:300px;

    object-fit:cover;

    transition:.4s;

}


.project-card:hover img{

    transform:scale(1.05);

}

.projects{

    padding:100px 80px;

    background:#151515;

}



.project-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}



.project-card{

    background:#1a1a1a;

    border-radius:20px;

    overflow:hidden;

    transition:.3s;

}



.project-card:hover{

    transform:translateY(-10px);

    box-shadow:
    0 20px 50px rgba(249,115,22,.25);

}



.project-card img{

    width:100%;

    height:300px;

    object-fit:cover;

}



.project-info{

    padding:25px;

}



.project-info h3{

    font-size:22px;

    margin-bottom:15px;

    position:relative;

}


.project-info h3::after{

    content:"";

    display:block;

    width:40px;

    height:3px;

    background:#f97316;

    margin-top:10px;

}



.project-info p{

    color:#ccc;

    line-height:1.6;

}

/* ================= ABOUT ================= */


.about{

    padding:100px 80px;

    background:#111;

}



.about-content{

    max-width:1100px;

    margin:auto;

    text-align:center;

}



.about-text{

    max-width:850px;

    margin:0 auto 50px;

    color:#ccc;

    font-size:20px;

    line-height:1.7;

}



.about-cards{

    display:flex;

    justify-content:center;

    gap:30px;

    flex-wrap:wrap;

}



.about-card{

    width:300px;

    padding:30px;

    background:#1a1a1a;

    border-radius:18px;

    border:1px solid rgba(255,255,255,.08);

    transition:.3s;

}



.about-card:hover{

    transform:translateY(-8px);

    border-color:#f97316;

    box-shadow:
    0 15px 40px rgba(249,115,22,.2);

}



.about-card h3{

    margin-bottom:15px;

    font-size:20px;

}



.about-card p{

    color:#ccc;

    line-height:1.6;

}

/* ================= CONTACT ================= */


.contact{

    padding:100px 80px;

    background:#151515;

}



.contact-container{

    max-width:1100px;

    margin:auto;

    display:flex;

    gap:60px;

    align-items:flex-start;

    justify-content:space-between;

}



.contact-info{

    flex:1;

}



.contact-info h3{

    font-size:32px;

    margin-bottom:20px;

}



.contact-info p{

    color:#ccc;

    font-size:18px;

    line-height:1.6;

    margin-bottom:30px;

}



.contact-details{

    display:flex;

    flex-direction:column;

    gap:12px;

    font-size:16px;

}




.estimate-form{

    flex:1;

    display:flex;

    flex-direction:column;

    gap:15px;

}



.estimate-form input,
.estimate-form textarea{

    width:100%;

    padding:16px;

    border-radius:10px;

    border:none;

    background:#222;

    color:white;

    font-size:16px;

}



.estimate-form textarea{

    height:140px;

    resize:none;

}



.estimate-form button{

    width:fit-content;

}
.instagram-link{

    color:#f97316;

    text-decoration:none;

    font-weight:700;
   
    font-size:16px;

    transition:.3s;

}

.instagram-link:hover{

    color:white;

}
/* ================= FOOTER ================= */


footer{

    padding:50px 80px;

    background:#0b0b0b;

    text-align:center;

    color:#aaa;

}



footer h3{

    color:white;

    font-size:26px;

    font-weight:800;

    margin-bottom:15px;

}



footer p{

    line-height:1.6;

}



.footer-links{

    display:flex;

    justify-content:center;

    gap:25px;

    margin:25px 0;

}



.footer-links a{

    color:#aaa;

    text-decoration:none;

    transition:.3s;

}



.footer-links a:hover{

    color:#f97316;

}



.copyright{

    font-size:14px;

    color:#777;

}
/* ================= SCROLL ANIMATIONS ================= */


.reveal{

    opacity:0;

    transform:translateY(40px);

    transition:all .8s ease;

}


.reveal.active{

    opacity:1;

    transform:translateY(0);

}
/* ================= MOBILE ================= */


@media(max-width:900px){


.hero{

    flex-direction:column;

    text-align:center;

    gap:40px;

    padding:140px 30px 60px;

}



.hero-content h1{

    font-size:42px;

}



.video-card{

    width:280px;

    height:500px;

}



.hero-checks{

    align-items:center;

}



.buttons{

    justify-content:center;

}



nav{

    padding:20px;

}



nav ul{

    display:none;

}


}
