

body{
background:#0a0a0d;
color:#e8e8e8;
font-family:'Inter',sans-serif;
overflow-x:hidden;
}

h1,h2,h3{
font-family:'Playfair Display',serif;
}

.section{
padding:clamp(60px,10vw,120px) 0;
position:relative;
}

.container{
max-width:1300px;
}


/* HERO */

.hero{
height:100vh;
position:relative;
display:flex;
align-items:center;
justify-content:center;
overflow:hidden;
}

.hero img{
position:absolute;
width:100%;
height:100%;
object-fit:cover;
filter:brightness(.55);
animation:zoomHero 20s infinite alternate ease-in-out;
}

@keyframes zoomHero{
from{transform:scale(1)}
to{transform:scale(1.08)}
}

.hero-overlay{
position:absolute;
width:100%;
height:100%;
background:
linear-gradient(to bottom,
rgba(0,0,0,.2),
#0a0a0d);
}

.hero-content{
position:relative;
text-align:center;
z-index:2;
padding:20px;
animation:fadeUp 1.5s ease;
}

.hero-title{
font-size:clamp(36px,7vw,80px);
letter-spacing:4px;
}

.hero-sub{
opacity:.7;
font-size:clamp(14px,2vw,20px);
}


/* FADE ANIMATION */

.fade-up{
opacity:0;
transform:translateY(40px);
transition:1s ease;
}

.fade-up.show{
opacity:1;
transform:translateY(0);
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(40px);
}
to{
opacity:1;
transform:translateY(0);
}
}


/* ABOUT */

.section-title{
font-size:clamp(26px,4vw,42px);
margin-bottom:15px;
}

.section-sub{
color:#aaa;
max-width:600px;
margin:auto;
font-size:clamp(14px,2vw,18px);
}


/* MASONRY */

.masonry-grid{
column-count:3;
column-gap:20px;
}

@media(max-width:992px){
.masonry-grid{
column-count:2;
}
}

@media(max-width:576px){
.masonry-grid{
column-count:1;
}
}

.masonry-item{
break-inside:avoid;
margin-bottom:20px;
animation:fadeUp .8s ease;
}


/* GALLERY CARD */

.gallery-card{
position:relative;
border-radius:18px;
overflow:hidden;
background:#111;
box-shadow:0 10px 40px rgba(0,0,0,.4);
transition:.4s ease;
}

.gallery-card img{
width:100%;
height:auto;
display:block;
transition:1s ease;
}

.gallery-card:hover img{
transform:scale(1.08);
}

.gallery-overlay{
position:absolute;
bottom:0;
width:100%;
padding:25px;
background:linear-gradient(to top,
rgba(0,0,0,.95),
transparent);

opacity:0;
transition:.4s;
}

.gallery-card:hover .gallery-overlay{
opacity:1;
}

.gallery-title{
font-size:clamp(16px,2vw,22px);
}

.gallery-date{
font-size:clamp(12px,1.5vw,14px);
opacity:.7;
}

.gallery-card:hover{
transform:translateY(-8px);
box-shadow:0 20px 60px rgba(0,0,0,.8);
}


/* LOADER */

.loader{
text-align:center;
padding:30px;
opacity:.7;
}

.spinner{
width:40px;
height:40px;
border:2px solid #333;
border-top:2px solid #fff;
border-radius:50%;
margin:auto;
animation:spin 1s linear infinite;
}

@keyframes spin{
to{transform:rotate(360deg)}
}


/* FOOTER */

.footer{
border-top:1px solid rgba(255,255,255,.05);
padding:40px;
text-align:center;
color:#777;
font-size:clamp(12px,2vw,14px);
}


