/* Core styles: solid black background, white text, green accents */
:root{
  --bg:#000;
  --fg:#fff;
  --green:#1db954; /* clean green accent */
  --muted:#b3b3b3;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;
}

/* Header with lowered nav */
.site-header{
  position:sticky;
  top:0;
  background:rgba(0,0,0,.9);
  backdrop-filter:saturate(140%) blur(6px);
  border-bottom:1px solid #111;
  z-index:100;
}
.brand{
  display:flex;
  align-items:flex-end;
  gap:.75rem;
  padding:1rem 1rem .25rem;
}
.logo{
  display:inline-grid;
  place-items:center;
  width:40px;height:40px;
  border:2px solid var(--green);
  color:var(--green);
  font-weight:800;
  border-radius:8px;
  letter-spacing:.5px;
}
.site-title{margin:0;font-size:1.4rem;font-weight:800}
.tag{margin:.1rem 0 .2rem;color:var(--muted);font-size:.9rem}

/* NAV is purposefully "lowered" below the title */
.site-nav{
  display:flex;gap:.75rem;
  padding: .25rem 1rem 1rem;
  border-top:1px solid #111;
}
.nav-link{
  color:var(--fg);text-decoration:none;
  padding:.5rem .8rem;border-radius:8px;border:1px solid #222;
}
.nav-link:hover{border-color:#333;background:#0a0a0a}
.nav-link.active{border-color:var(--green);color:var(--green)}

/* Hero */
.hero{padding:3rem 1rem 2rem;border-bottom:1px solid #111}
.hero-inner{max-width:1000px;margin:0 auto;text-align:center}
.hero h2{font-size:2rem;margin:0 0 .5rem}
.hero p{color:var(--muted);margin:.25rem 0 1.25rem}
.cta-row{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:.8rem 1.1rem;border-radius:10px;text-decoration:none;font-weight:700;border:1px solid #2a2a2a}
.btn.primary{background:var(--green);color:#000;border-color:var(--green)}
.btn.ghost{color:var(--fg)}

/* Highlights */
.highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;padding:1.5rem}
.card{border:1px solid #111;border-radius:12px;padding:1rem;background:linear-gradient(180deg,#0a0a0a,#050505)}

/* Page wrapper */
.page{max-width:1100px;margin:0 auto;padding:1.25rem}

/* Services */
.services-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.services-list li{border:1px solid #111;border-radius:10px;padding:.8rem;background:#0a0a0a}

/* Gallery */
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
  gap:.6rem;
}
.gallery-grid img{
  width:100%;height:220px;object-fit:cover;border-radius:10px;border:1px solid #111;cursor:pointer
}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;padding:1rem}
.lightbox.open{display:flex}
.lightbox img{max-width:95vw;max-height:85vh;border:1px solid #222;border-radius:12px}
.lightbox-close{
  position:absolute;top:1rem;right:1rem;
  width:44px;height:44px;border-radius:50%;
  background:#0a0a0a;border:1px solid #222;color:#fff;font-size:1.4rem;cursor:pointer
}

/* Footer */
.site-footer{border-top:1px solid #111;padding:1rem;text-align:center;color:var(--muted)}

/* Mobile tweaks */
@media (max-width:640px){
  .site-title{font-size:1.2rem}
  .hero h2{font-size:1.5rem}
  .gallery-grid img{height:180px}
}