:root{
  --bg:#0c0c0c;--panel:#151515;--text:#f4f4f4;--muted:#a5a5a5;
  --line:#2a2a2a;--max:1400px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.6}
a{color:inherit;text-decoration:none}
.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:22px 4vw;background:linear-gradient(#000b,transparent);transition:.3s}
.brand{display:flex;flex-direction:column;font-weight:700;letter-spacing:.12em;font-size:.9rem}
.brand small{font-size:.55rem;letter-spacing:.35em;color:#aaa;margin-top:2px}
.nav{display:flex;gap:28px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.nav a{opacity:.9}.nav a:hover{opacity:.55}
.menu-toggle{display:none;background:none;border:0;color:white;font-size:1.6rem}
.hero{min-height:100vh;position:relative;display:grid;place-items:center;overflow:hidden}
.hero-image{position:absolute;inset:0;background:url("img/hero/hero.jpg") center/cover no-repeat}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#000b,#0003),linear-gradient(#0005,#0008)}
.hero-content{position:relative;z-index:1;width:min(1000px,88%);padding-top:100px}
.eyebrow{font-size:.7rem;letter-spacing:.32em;color:#aaa;text-transform:uppercase;margin:0 0 18px}
h1{font-size:clamp(3.2rem,8vw,7.5rem);line-height:.9;margin:0 0 28px;font-weight:700}
h1 em{font-family:Georgia,serif;font-weight:400;font-size:.62em}
.hero-text{font-size:1rem;letter-spacing:.18em;color:#ddd}
.button{display:inline-block;margin-top:25px;border:1px solid #fff;padding:12px 24px;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;transition:.25s}
.button:hover{background:#fff;color:#000}
.section{width:min(var(--max),92%);margin:auto}
.intro{padding:130px 0 80px;max-width:900px}
.intro h2,.section-heading h2,.about h2,.contact h2{font-size:clamp(2rem,4vw,4rem);line-height:1;margin:0 0 20px}
.intro>p:last-child{color:var(--muted);font-size:1.1rem;max-width:720px}
.gallery-section{padding:70px 0 100px}
.section-heading{margin-bottom:35px}
.section-heading>p:last-child{color:var(--muted);margin:0}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}
.gallery figure{margin:0;position:relative;overflow:hidden;background:var(--panel);cursor:pointer}
.gallery figure:nth-child(1){grid-column:span 7}
.gallery figure:nth-child(2){grid-column:span 5}
.gallery figure:nth-child(3){grid-column:span 5}
.gallery figure:nth-child(4){grid-column:span 7}
.gallery img{display:block;width:100%;height:100%;min-height:330px;object-fit:cover;transition:transform .7s ease;aspect-ratio:4/3}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:35px 18px 16px;background:linear-gradient(transparent,#000b);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}
.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:140px 0;border-top:1px solid var(--line)}
.about-text{color:var(--muted);font-size:1.05rem}
.signature{font-family:Georgia,serif;font-style:italic;font-size:2rem;color:#eee}
.contact{text-align:center;padding:130px 0;border-top:1px solid var(--line)}
.contact>p:not(.eyebrow){color:var(--muted)}
.instagram{display:block;margin-top:28px;color:#bbb;font-size:.85rem;letter-spacing:.12em}
footer{border-top:1px solid var(--line);padding:28px 4vw;display:flex;justify-content:space-between;color:#777;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.lightbox{position:fixed;z-index:100;inset:0;background:#000f;display:none;align-items:center;justify-content:center;padding:60px 80px}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:82vh;object-fit:contain}
.lightbox button{position:absolute;background:none;border:0;color:#fff;cursor:pointer}
.lb-close{top:18px;right:28px;font-size:3rem}.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:4rem;padding:20px}
.lb-prev{left:20px}.lb-next{right:20px}
#lb-caption{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#ccc;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}
@media(max-width:800px){
 .site-header{padding:17px 5vw;background:#000b}.menu-toggle{display:block}
 .nav{display:none;position:absolute;top:70px;left:0;right:0;background:#0b0b0b;padding:20px 5vw;flex-direction:column;gap:18px}
 .nav.open{display:flex}.hero-content{padding-top:80px}h1{font-size:clamp(3rem,16vw,5rem)}
 .gallery{grid-template-columns:1fr}.gallery figure,.gallery figure:nth-child(n){grid-column:auto}
 .gallery img{min-height:280px}.about{grid-template-columns:1fr;padding:100px 0}
 footer{flex-direction:column;gap:10px}.lightbox{padding:50px 20px}.lb-prev{left:0}.lb-next{right:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img{transition:none}}
