*{

margin:0;

padding:0;

box-sizing:border-box;

font-family:Georgia, serif;

}


html{

scroll-behavior:smooth;

}


body{

background:#f6f3ee;

color:#222;

}


/* ================= HEADER ================= */


header{

background:#111;

padding:25px 8%;

display:flex;

justify-content:space-between;

align-items:center;

position:sticky;

top:0;

z-index:100;

box-shadow:0 5px 20px rgba(0,0,0,.3);

}



.logo{

font-size:34px;

font-weight:bold;

color:#d4af37;

letter-spacing:2px;

}



nav a{

color:white;

text-decoration:none;

margin-left:30px;

font-size:17px;

transition:.3s;

}



nav a:hover{

color:#d4af37;

}



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


.hero{


height:90vh;


background:


linear-gradient(

rgba(0,0,0,.65),

rgba(0,0,0,.65)

),


url("../images/hero.jpg");



background-size:cover;

background-position:center;


display:flex;

justify-content:center;

align-items:center;


text-align:center;

color:white;


}



.hero-content{

animation:fade 1.5s;

}



.hero h1{

font-size:70px;

letter-spacing:3px;

text-transform:uppercase;

}



.hero p{

font-size:24px;

margin:25px;

color:#eee;

}





/* ================= BUTTON ================= */


.button{


background:#d4af37;


color:#111;


padding:16px 40px;


text-decoration:none;


display:inline-block;


font-weight:bold;


border-radius:30px;


transition:.3s;


margin-top:20px;


}



.button:hover{

background:white;

transform:translateY(-5px);

}





/* ================= GENERAL ================= */


section{

padding:90px 10%;

}



h2{

text-align:center;

font-size:40px;

margin-bottom:50px;

}



h2:after{


content:"";


display:block;


width:80px;


height:3px;


background:#d4af37;


margin:15px auto;


}





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


.about{

background:white;

text-align:center;

}



.about p{

max-width:800px;

margin:auto;

font-size:20px;

line-height:1.8;

}





/* ================= PAGE HEADER ================= */


.page-header{


background:#111;


padding:120px 10%;


text-align:center;


color:white;


}



.page-header h1{


font-size:55px;


color:#d4af37;


}



.page-header p{


font-size:20px;


color:#ddd;


margin-top:20px;


}






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


.services-preview,

.services-page{


background:#111;

color:white;

}





.service-cards{


display:grid;


grid-template-columns:

repeat(auto-fit,minmax(280px,1fr));


gap:35px;


max-width:1200px;


margin:auto;


}




.service-card{


background:#1b1b1b;


padding:45px 30px;


text-align:center;


border-radius:20px;


border:1px solid #333;


position:relative;


overflow:hidden;


transition:.4s;


}




.service-card:before{


content:"";


position:absolute;


top:0;


left:0;


width:100%;


height:5px;


background:#d4af37;


}



.service-card:hover{


transform:translateY(-12px);


border-color:#d4af37;


box-shadow:

0 20px 40px rgba(0,0,0,.4);


}



.icon{


font-size:45px;


color:#d4af37;


margin-bottom:20px;


}



.service-card h3{


font-size:30px;


color:#d4af37;


margin-bottom:15px;


}



.service-card p{


font-size:18px;


line-height:1.6;


color:#ddd;


margin-bottom:25px;


}



.service-card span{


display:inline-block;


padding:10px 25px;


border-radius:30px;


background:#d4af37;


color:#111;


font-weight:bold;


}






/* ================= GALLERY ================= */


.gallery{


display:grid;


grid-template-columns:

repeat(auto-fit,minmax(280px,1fr));


gap:25px;


}



.gallery img{


width:100%;


height:350px;


object-fit:cover;


border-radius:15px;


transition:.4s;


}



.gallery img:hover{


transform:scale(1.05);


}






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


.contact{


background:#111;


color:white;


}



.contact-container{


display:flex;


align-items:center;


gap:60px;


max-width:1100px;


margin:auto;


}



.contact-image{


flex:1;


}



.contact-image img{


width:100%;


height:450px;


object-fit:cover;


border-radius:20px;


}




.contact-info{


flex:1;


background:#1b1b1b;


padding:45px;


border-radius:20px;


border-left:5px solid #d4af37;


}




.contact-info h2{


color:#d4af37;


text-align:left;


}



.contact-info h2:after{


margin-left:0;


}



.contact-info p{


font-size:20px;


line-height:1.8;


color:#ddd;


}



.phone{


color:#d4af37 !important;


font-weight:bold;


font-size:25px !important;


}






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


.contact-form{


max-width:1000px;


margin:80px auto;


}




.form-box{


background:#111;


padding:60px;


border-radius:20px;


color:white;


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


}



.form-box h2{


color:#d4af37;


}




.form-subtitle{


text-align:center;


color:#ccc;


margin-bottom:30px;


}



.contact-form form{


display:flex;


flex-direction:column;


gap:20px;


}




.contact-form input,

.contact-form textarea{


width:100%;


padding:18px;


background:#1c1c1c;


border:1px solid #444;


border-radius:10px;


color:white;


font-size:16px;


}



.contact-form textarea{


height:160px;


resize:none;


}



.contact-form button{


background:#d4af37;


border:none;


padding:18px;


border-radius:30px;


font-weight:bold;


font-size:18px;


cursor:pointer;


}



.contact-form button:hover{


background:white;


}






/* ================= PRIVACY ================= */


.privacy-text{


text-align:center;


margin-top:25px;


color:#ccc;


}



.privacy-text a{


display:inline-block;


margin-top:10px;


padding:10px 25px;


border:1px solid #d4af37;


border-radius:25px;


color:#d4af37;


text-decoration:none;


}



.privacy-text a:hover{


background:#d4af37;


color:#111;


}






/* ================= FIND US ================= */


.location-box{


background:#111;


color:white;


max-width:600px;


margin:auto;


padding:45px;


border-radius:20px;


text-align:center;


border-top:5px solid #d4af37;


}



.location-box h3{


color:#d4af37;


font-size:32px;


}






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


footer{


background:#111;


color:white;


padding:30px;


text-align:center;


}






/* ================= ANIMATION ================= */


@keyframes fade{


from{


opacity:0;


transform:translateY(30px);


}



to{


opacity:1;


transform:translateY(0);


}


}





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


@media(max-width:700px){


header{


flex-direction:column;


}



nav{


margin-top:20px;


}



nav a{


margin:10px;


}



.hero h1{


font-size:40px;


}



.hero p{


font-size:18px;


}



.contact-container{


flex-direction:column;


}



.contact-image img{


height:300px;


}



.form-box{


padding:30px;


}



.page-header h1{


font-size:40px;


}


}