body{
margin:0;
height: 100%;
font-family:'Montserrat',sans-serif;
font-weight:300;
color:#111;
}
/* NAVBAR slide*/
html {
  scroll-behavior: smooth;
}

/* NAVBAR */

.navbar{
position:fixed;
top:0;
width:100%;
z-index:1000;
transition:.3s;
}

.nav-inner{
max-width:1100px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
padding:22px 40px;
}

/* LOGO */

.logo{
position:relative;
height:40px;
}

.logo img{
position:absolute;
top:0;
left:0;
height:40px;
transition:opacity .35s ease;
}

.logo-light{opacity:1;}
.logo-dark{opacity:0;}

.navbar.scrolled .logo-light{opacity:0;}
.navbar.scrolled .logo-dark{opacity:1;}

/* NAV LINKS */

.nav-links{
list-style:none;
display:flex;
gap:32px;
}

.nav-links a{
text-decoration:none;
color:white;
position:relative;
}

.nav-links a::after{
content:"";
position:absolute;
left:0;
bottom:-4px;
width:0;
height:1px;
background:currentColor;
transition:width .3s ease;
}

.nav-links a:hover::after{
width:100%;
}

.navbar.scrolled{
background:white;
}

.navbar.scrolled a{
color:#111;
}

/* HAMBURGER */

.hamburger{
width:42px;
height:42px;
display:none;
flex-direction:column;
justify-content:center;
align-items:center;
gap:5px;
border-radius:6px;
background:linear-gradient(135deg,#92744b,#bf9862);
cursor:pointer;
}

.hamburger span{
width:18px;
height:2px;
background:white;
}

/* HERO */

.hero{
height:100vh;
position:relative;
overflow:hidden;
display:flex;
align-items:center;
}

.hero-video{
position:absolute;
width:100%;
height:100%;
object-fit:cover;
}

.hero-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,0.45);
}

.hero-content{
position:relative;
z-index:2;
max-width:1100px;
margin:auto;
padding:0 40px;
color:white;
}

.hero h1{
font-size: clamp(40px, 5vw, 64px);
font-weight: 300;
line-height: 1.1;
letter-spacing: -0.02em;
}

.hero p{
font-size:20px;
max-width:520px;
}

/* BUTTON */


.button{
display:inline-block;
padding:14px 28px;
border-radius:4px;
text-decoration:none;
color:#fff;
background:linear-gradient(135deg,#92744b,#bf9862);
transition:all .25s ease;
}

.button:hover{
transform:translateY(-2px);
box-shadow:0 10px 20px rgba(0,0,0,0.15);
}

/* GRID HOVER EFFECT */

.work-grid,
.photo-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:30px;
margin-top:40px;
}

.work-item,
.photo-item{
position:relative;
height: auto;
background:#ddd;
overflow:hidden;
border-radius:6px;
transition:transform .35s ease;
}

.photo-item{
background:#ccc;
}

.hover-overlay{
position:absolute;
inset:0;
background:rgba(0,0,0,0.25);
opacity:0;
transition:opacity .35s ease;
}

.work-item:hover,
.photo-item:hover{
transform:scale(1.04);
}

.work-item:hover .hover-overlay,
.photo-item:hover .hover-overlay{
opacity:1;
}

/* SECTIONS */

.section{padding:85px 0;}
.content{max-width:1100px;margin:auto;padding:0 40px;}
.content.narrow{max-width:700px;}
.center{text-align:center;}

/* MOBILE */
@media (max-width: 768px) {

.section{
padding-top: 40px;
padding-bottom: 40px;
}

}

@media(max-width:768px){

.work-grid,
.photo-grid{
grid-template-columns:1fr;
}

.nav-links{
position:absolute;
top:70px;
left:0;
width:100%;
background:white;
flex-direction:column;
padding:30px 40px;
display:none;
}

.nav-links.active{
display:flex;
}

.hamburger{
display:flex;
}

}

/* FADE */

.fade-up{
opacity:0;
transform:translateY(40px);
transition:opacity .8s ease, transform .8s ease;
}

.fade-up.visible{
opacity:1;
transform:translateY(0);
}


/* ===== Featured Case Study responsive layout ===== */
.featured{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;
max-width:1100px;
margin:auto;
}

.featured-image img{
width:100%;
height:auto;
display:block;
border-radius:6px;
}

@media (max-width:768px){
.featured{
grid-template-columns:1fr;
gap:30px;
}
}

/* ===== Mobile navigation visibility fix ===== */
@media (max-width:768px){

.nav-links{
background:white;
}

.nav-links a{
color:#111 !important;
}

}


/* Selected Work Filters */
.work-filters{
margin-top:25px;
display:flex;
gap:14px;
flex-wrap:wrap;
}

.work-filters button{
border:1px solid #ccc;
background:white;
padding:8px 14px;
cursor:pointer;
font-family:inherit;
font-size:14px;
}

.work-filters button.active{
background:#111;
color:white;
border-color:#111;
}

/* PROJECT PAGE */

.project-hero{
height:70vh;
position:relative;
overflow:hidden;
display:flex;
align-items:center;
}

.project-hero-image{
position:absolute;
width:100%;
height:100%;
object-fit:cover;
}

/* Project hero alignment */

.project-hero .hero-content{
max-width:1100px;
margin:auto;
padding:0 40px;
text-align:left;
}

.two-col{
display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
margin-top:40px;
}
.two-col img{
width:100%;
height:auto;
display:block;
border-radius:6px;
}
@media(max-width:768px){

.two-col{
grid-template-columns:1fr;
gap:30px;
}

	
}

.project-hero{
height:60vh;
}

/* PROJECT FULL WIDTH SECTION */

.project-full{
padding-top:0;
}

.component-list{
margin:20px 0 40px;
padding-left:20px;
}

.component-list li{
margin-bottom:8px;
}

.contact-me {
background-color: #eeeeee;
}
 
/* Case study gallery */

.case-gallery{
display:grid;
grid-template-columns:repeat(1, 1fr);
gap:10px;
margin-top:20px;
}

.case-gallery img{
width:100%;
display:block;
border-radius:6px;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
transition:transform .25s ease;
}

.case-gallery img:hover{
transform:scale(1.02);
}

@media(max-width:768px){

.case-gallery{
grid-template-columns:1fr;
}

footer{
margin-bottom:0;
padding-bottom:0;
}