:root{
--bg:#000000;
--text:rgba(255,255,255,0.92);
--muted:rgba(255,255,255,0.65);
--max:1100px;
}

*{box-sizing:border-box;margin:0;padding:0}

body{
background:var(--bg);
color:var(--text);
font-family:'Inter',sans-serif;
line-height:1.6;
}

.container{
width:min(var(--max),90%);
margin:auto;
}

.site-header{
position:fixed;
top:0;
left:0;
width:100%;
padding:20px;
background:linear-gradient(to bottom,rgba(0,0,0,0.9),transparent);
z-index:10;
}

.brand{
font-family:'Playfair Display',serif;
font-size:16px;
}

.hero{
position:relative;
min-height:100vh;
display:flex;
align-items:flex-end;
padding-bottom:60px;
}

.hero img{
position:absolute;
width:100%;
height:100%;
object-fit:cover;
z-index:0;
opacity:0.9;
}

.hero-overlay{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:flex;
justify-content:center;
align-items:center;
z-index:1;
}

.hero-name{
font-family:'Playfair Display',serif;
font-size:40px;
letter-spacing:0.15em;
opacity:0;
transition:opacity 0.6s ease;
}

.hero-text{
position:relative;
z-index:2;
width:90%;
margin:auto;
}

.hero h1{
font-family:'Playfair Display',serif;
font-size:48px;
}

.section{
padding:100px 0;
}

.section h2{
font-family:'Playfair Display',serif;
font-size:14px;
letter-spacing:0.1em;
margin-bottom:30px;
color:var(--muted);
}

.section p{
margin-bottom:20px;
max-width:750px;
}

.gallery{
display:grid;
grid-template-columns:1fr;
gap:15px;
margin-top:40px;
}

.gallery img{
width:100%;
border-radius:15px;
}

@media(min-width:960px){
.gallery{grid-template-columns:repeat(2,1fr);}
}

.reveal{
opacity:0;
transform:translateY(20px);
transition:all 0.4s ease;
}

.reveal.visible{
opacity:1;
transform:translateY(0);
}

.footer{
padding:60px 0;
border-top:1px solid rgba(255,255,255,0.1);
text-align:center;
font-size:14px;
}

.footer a{
color:var(--muted);
text-decoration:none;
}