/* =========================================================
RESET
========================================================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}


/* =========================================================
BASE BODY
========================================================= */

body{
font-family:'Inter',sans-serif;
background:#ffffff;
color:#1a1a1a;
line-height:1.7;
overflow-x:hidden;
}


/* =========================================================
BRAND COLORS
========================================================= */

:root{
--primary:#0f3d24;
--gold:#d4af37;
--light:#f6f6f6;
}


/* =========================================================
GLOBAL IMAGE
========================================================= */

img{
max-width:100%;
height:auto;
display:block;
}


/* =========================================================
CONTAINER
========================================================= */

.container{
width:100%;
max-width:1200px;
margin:auto;
padding:0 24px;
}

@media(max-width:992px){
.container{max-width:720px}
}

@media(max-width:768px){
.container{max-width:100%;padding:0 20px}
}


/* =========================================================
SECTION SPACING
========================================================= */

section{
padding:120px 0;
}

@media(max-width:992px){
section{padding:90px 0}
}

@media(max-width:600px){
section{padding:70px 0}
}


/* =========================================================
HEADINGS
========================================================= */

h1,h2,h3{
font-family:'Playfair Display',serif;
letter-spacing:.5px;
}


/* =========================================================
SECTION TITLES
========================================================= */

.section-title{
font-size:42px;
text-align:center;
margin-bottom:60px;
color:var(--primary);
}

.section-title:after{
content:"";
width:80px;
height:2px;
background:var(--gold);
display:block;
margin:18px auto;
}


/* =========================================================
NAVIGATION
========================================================= */

nav{
position:fixed;
width:100%;
z-index:100;
transition:.3s;
}

nav.scrolled{
background:white;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.nav-inner{
display:flex;
justify-content:space-between;
align-items:center;
height:80px;
}

.logo{
font-weight:600;
letter-spacing:3px;
color:white;
}

nav.scrolled .logo{
color:var(--primary);
}

.menu{
display:flex;
gap:40px;
}

.menu a{
text-decoration:none;
font-size:14px;
color:white;
}

nav.scrolled .menu a{
color:#333;
}


/* =========================================================
MOBILE MENU BUTTON
========================================================= */

.menu-toggle{
display:none;
font-size:26px;
cursor:pointer;
color:white;
}

nav.scrolled .menu-toggle{
color:var(--primary);
}

.close-btn{
display:none;
}


/* =========================================================
HERO SECTION
========================================================= */

.hero{
height:100vh;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
color:white;

background:
linear-gradient(rgba(0,0,0,.6),rgba(0,0,0,.6)),
url("https://images.unsplash.com/photo-1515562141207-7a88fb7ce338");

background-size:cover;
background-position:center;
}

.hero-content{
max-width:800px;
padding:0 20px;
}

.hero h1{
font-size:clamp(34px,6vw,72px);
margin-bottom:20px;
}

.hero p{
font-size:clamp(16px,2vw,20px);
margin-bottom:35px;
}


/* =========================================================
BUTTONS
========================================================= */

.btn{
display:inline-block;
padding:16px 36px;
border-radius:40px;
text-decoration:none;
transition:.3s;
font-size:14px;
}

.btn-gold{
background:var(--gold);
color:#000;
font-weight:500;
}

.btn-outline{
border:1px solid white;
color:white;
margin-left:15px;
}

.btn:hover{
transform:translateY(-4px);
}


/* =========================================================
TRUST SECTION
========================================================= */

.trust{
background:var(--light);
}

.trust-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
text-align:center;
gap:40px;
font-weight:500;
}


/* =========================================================
SERVICES
========================================================= */

.services{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
}

.service{
padding:40px;
border-radius:10px;
border:1px solid #eee;
transition:.4s;
background:white;
}

.service:hover{
transform:translateY(-10px);
box-shadow:0 30px 60px rgba(0,0,0,.1);
}


/* =========================================================
PROCESS
========================================================= */

.process{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
gap:25px;
text-align:center;
}

.step{
padding:30px;
background:var(--light);
border-radius:10px;
}


/* =========================================================
PORTFOLIO
========================================================= */

.portfolio{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
gap:25px;
}

.card{
overflow:hidden;
border-radius:12px;
}

.card img{
width:100%;
transition:.5s;
}

.card:hover img{
transform:scale(1.1);
}


/* =========================================================
TESTIMONIAL
========================================================= */

.testimonials{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.testimonial{
padding:35px;
border:1px solid #eee;
border-radius:10px;
font-style:italic;
}


/* =========================================================
CONTACT
========================================================= */

.contact{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
}

.contact input,
.contact textarea{
width:100%;
padding:12px;
border:1px solid #ddd;
border-radius:6px;
margin-bottom:12px;
}

@media(max-width:768px){
.contact{
grid-template-columns:1fr;
}
}


/* =========================================================
CTA
========================================================= */

.cta{
background:var(--primary);
color:white;
text-align:center;
}


/* =========================================================
FOOTER
========================================================= */

footer{
background:#111;
color:#aaa;
padding:80px 0;
}

.footer-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:30px;
}


/* =========================================================
MOBILE NAVIGATION
========================================================= */

@media(max-width:768px){

.menu-toggle{
display:block;
}

.menu{
position:fixed;
top:0;
right:-100%;
width:260px;
height:100vh;
background:white;
flex-direction:column;
padding:80px 30px;
gap:25px;
transition:.4s;
box-shadow:-10px 0 40px rgba(0,0,0,.2);
}

.menu a{
color:#333;
font-size:16px;
}

.menu.active{
right:0;
}

.close-btn{
display:block;
position:absolute;
top:20px;
right:20px;
font-size:22px;
cursor:pointer;
}

.btn{
display:block;
margin:10px auto;
width:80%;
text-align:center;
}

}


/* =========================================================
MOBILE STICKY CTA
========================================================= */

.mobile-cta{
display:none;
}

@media(max-width:600px){

.mobile-cta{
display:block;
position:fixed;
bottom:0;
left:0;
width:100%;
background:var(--primary);
text-align:center;
padding:14px;
z-index:100;
}

.mobile-cta a{
color:white;
text-decoration:none;
font-weight:500;
}

}

