:root {

--dark:#1E1E1E;

--cream:#F8F6F1;

--copper:#B46B35;

--gray:#D9D5CE;

--green:#3E4A3A;

}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


html {
    scroll-behavior: smooth;
}


body {
    font-family: "Arial", "Helvetica", sans-serif;
    color: #222;
    line-height: 1.6;
    background: #fff;
}


.container {
    width: 90%;
    max-width: 1200px;
    margin: auto;
}



/* HEADER */

.header {
    background: #ffffff;
    padding: 18px 0;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0,0,0,.08);
}


.nav-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.logo img {
    max-height: 70px;
    width: auto;
}


nav a {
    text-decoration: none;
    color: #222;
    margin-left: 30px;
    font-weight: 600;
    transition: .3s;
}


nav a:hover {
    color: #b46b35;
}





/* HERO */

.hero {
    height: 80vh;
    min-height: 550px;
    background-image: url("images/hero.jpg");
    background-size: cover;
    background-position: center;
    position: relative;
    display: flex;
    align-items: center;
}


.hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.55);
}


.hero-content {
    position: relative;
    color:white;
    max-width:700px;
}


.hero h1 {
    font-size: clamp(40px, 6vw, 70px);
    line-height: 1.1;
    margin-bottom: 20px;
}


.hero p {
    font-size: 21px;
    margin-bottom: 30px;
}





/* BUTTON */

.button {
    display:inline-block;
    background:#b46b35;
    color:white;
    padding:15px 35px;
    border-radius:4px;
    text-decoration:none;
    font-weight:bold;
    transition:.3s;
}


.button:hover {
    background:#8f5128;
}





/* SECTION STYLES */


section {
    padding:80px 0;
}


h2 {
    text-align:center;
    font-size:42px;
    margin-bottom:20px;
}


.section-intro {
    text-align:center;
    max-width:700px;
    margin:0 auto 50px;
    color:#555;
}





/* SERVICES */


.service-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}


.service-card {
    background:#f7f7f7;
    border-radius:8px;
    overflow:hidden;
    transition:.3s;
}


.service-card:hover {
    transform:translateY(-5px);
    box-shadow:0 10px 25px rgba(0,0,0,.12);
}


.service-card img {
    width:100%;
    height:220px;
    object-fit:cover;
}


.service-card h3 {
    font-size:25px;
    padding:20px 20px 10px;
}


.service-card p {
    padding:0 20px 25px;
    color:#555;
}






/* ABOUT */


.about {
    background:#202020;
    color:white;
    text-align:center;
}


.about p {
    max-width:800px;
    margin:auto;
    font-size:20px;
}





/* PROJECTS */


.gallery {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
    margin-top:40px;
}


.gallery div {
    height:280px;
    background:#ddd;
    border-radius:8px;
}





/* CONTACT */


.contact {
    text-align:center;
}


.email,
.phone {
    margin-top:15px;
    font-size:18px;
}





/* FOOTER */


footer {
    background:#111;
    color:white;
    text-align:center;
    padding:25px 0;
}





/* MOBILE */


@media(max-width:900px) {


.nav-container {
    flex-direction:column;
}


nav {
    margin-top:20px;
}


nav a {
    margin:0 10px;
}


.service-grid {
    grid-template-columns:repeat(2,1fr);
}


.gallery {
    grid-template-columns:1fr;
}


}



@media(max-width:600px) {


.hero {
    height:70vh;
}


.hero h1 {
    font-size:42px;
}


.hero p {
    font-size:18px;
}


.service-grid {
    grid-template-columns:1fr;
}


h2 {
    font-size:34px;
}


}


/* SERVICE AREA */

.service-area {
    background:#f6f6f6;
    text-align:center;
}


.area-grid {
    margin-top:40px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}


.area-grid div {
    background:white;
    padding:25px;
    border-radius:8px;
}





/* WHY US */

.why-us {
    text-align:center;
}


.why-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:40px;
}


.why-grid div {
    padding:30px;
    border:1px solid #ddd;
    border-radius:8px;
}





/* FAQ */

.faq {
    background:#202020;
    color:white;
}


.faq h3 {
    margin-top:30px;
    font-size:22px;
}


.faq p {
    color:#ddd;
}





@media(max-width:900px){

.area-grid {
    grid-template-columns:repeat(2,1fr);
}


.why-grid {
    grid-template-columns:1fr;
}

}



@media(max-width:600px){

.area-grid {
    grid-template-columns:1fr;
}

}

/* QUOTE FORM */


.quote-form {
    max-width:800px;
    margin:40px auto 0;
}


.form-row {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-bottom:20px;
}


.quote-form input,
.quote-form select,
.quote-form textarea {

width:100%;
padding:15px;
border:1px solid #ccc;
border-radius:5px;
font-size:16px;

}


.quote-form textarea {
    resize:none;
    margin-bottom:20px;
}


.quote-form button {
    border:none;
    cursor:pointer;
}




@media(max-width:700px){

.form-row {
    grid-template-columns:1fr;
}

}