
:root{
  --bg:#0b0b0b;
  --panel:#121212;
  --text:#d1d1d1;
  --muted:#9b9b9b;
  --gold:#d4af37;
  --white:#ffffff;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,'Helvetica Neue',Arial}
a{color:inherit;text-decoration:none}

.nav{
  position:fixed;top:0;left:0;right:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;background:linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,0));
  backdrop-filter:saturate(120%) blur(6px);
}
.brand{font-weight:800;letter-spacing:.5px}
.brand span{color:var(--gold)}
.nav nav a{margin-left:18px;font-weight:600;opacity:.9}
.nav nav a:hover{opacity:1}

.hero{position:relative;height:88vh;min-height:540px;overflow:hidden}
.hero-bg{position:absolute;inset:0;filter:blur(2px) brightness(.75)}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.hero-bg img.active{opacity:1}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 60%, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.85) 100%)}

.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 20px}
.tagline{font-size:clamp(36px,7vw,68px);line-height:1.05;margin:0;color:var(--white);text-shadow:0 4px 24px rgba(0,0,0,.6)}
.sub{margin:14px 0 26px;color:var(--muted)}

.btn{display:inline-block;padding:12px 22px;border-radius:999px;border:1px solid transparent;transition:all .25s ease;font-weight:700}
.btn-gold{background:var(--gold);color:#111;box-shadow:0 0 0 rgba(212,175,55,.5)}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 0 24px rgba(212,175,55,.35)}
.btn-outline{border-color:var(--text);color:var(--white);background:transparent}
.btn-outline:hover{border-color:var(--white);transform:translateY(-1px)}

main{padding:40px 0}
.section{max-width:1100px;margin:0 auto;padding:64px 20px}
h2{font-size:clamp(28px,4.2vw,40px);margin:0 0 12px;color:var(--white)}
.muted{color:var(--muted)}
.small{font-size:.95rem}

.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:22px}
.gal-item{display:block;position:relative;overflow:hidden;border-radius:14px;background:var(--panel)}
.gal-item img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform .35s ease, filter .35s ease;filter:brightness(.92)}
.gal-item:hover img{transform:scale(1.06);filter:brightness(1)}

.about-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:24px;background:var(--panel);padding:22px;border-radius:16px}
.about-grid ul{margin:0}
.about-grid li{margin:8px 0}

.contact-card{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--panel);padding:22px;border-radius:16px;border:1px solid rgba(255,255,255,.06)}
.contact-card a.btn{white-space:nowrap}

.footer{padding:28px 14px;text-align:center;color:var(--muted);border-top:1px solid rgba(255,255,255,.06)}
.gold{color:var(--gold)}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease, transform .7s ease}
.reveal.show{opacity:1;transform:translateY(0)}

.fade-up{animation:fadeUp .9s ease both .2s}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:60;padding:20px}
.lightbox img{max-width:92vw;max-height:88vh;border-radius:12px;box-shadow:0 10px 40px rgba(0,0,0,.6)}
.lightbox.show{display:flex}

/* Mobile */
@media (max-width: 800px){
  .about-grid{grid-template-columns:1fr}
  .nav{padding:12px 16px}
  .gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
}
