/* Dark luxury theme (Black + Gold) */
:root{
  --bg: #070707;
  --panel: rgba(255,255,255,0.06);
  --panel-2: rgba(255,255,255,0.09);
  --text: rgba(255,255,255,0.92);
  --muted: rgba(255,255,255,0.68);
  --gold: #D4AF37;
  --gold-2: rgba(212,175,55,0.25);
  --stroke: rgba(255,255,255,0.12);
}

html { scroll-behavior: smooth; }

body{
  background: radial-gradient(1200px 600px at 15% 10%, rgba(212,175,55,0.12), transparent 60%),
              radial-gradient(900px 500px at 85% 20%, rgba(0,255,153,0.10), transparent 55%),
              var(--bg);
  color: var(--text);
}

.glass{
  background: var(--panel);
  border: 1px solid var(--stroke);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.glass-strong{
  background: var(--panel-2);
  border: 1px solid var(--stroke);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.gold{
  color: var(--gold);
}

/* Hero */
.hero{
  min-height: 85vh;
  background: linear-gradient(180deg, rgba(0,0,0,0.2), rgba(0,0,0,0.85)),
              url("../images/hero.jpg") center/cover no-repeat;
  position: relative;
  display: flex;
  align-items: center;
}

.hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(600px 300px at 30% 30%, rgba(212,175,55,0.20), transparent 60%);
  pointer-events: none;
}

.hero-content{
  position: relative;
  z-index: 1;
  padding-top: 60px;
}

.btn-gold{
  background: linear-gradient(180deg, rgba(212,175,55,0.95), rgba(212,175,55,0.78));
  border: 1px solid rgba(212,175,55,0.7);
  color: #0b0b0b;
  font-weight: 700;
}
.btn-gold:hover{
  filter: brightness(1.06);
}

.btn-outline-gold{
  border: 1px solid rgba(212,175,55,0.6);
  background: rgba(212,175,55,0.08);
  color: rgba(212,175,55,0.98);
  font-weight: 700;
}
.btn-outline-gold:hover{
  background: rgba(212,175,55,0.14);
}

/* Sections */
section{
  padding: 70px 0;
}

.section-title{
  font-weight: 800;
  letter-spacing: 0.2px;
}

.section-subtitle{
  color: var(--muted);
}

/* Cards */
.card-hover{
  transition: transform 220ms ease, border-color 220ms ease, background 220ms ease;
}
.card-hover:hover{
  transform: translateY(-4px);
  border-color: rgba(212,175,55,0.35);
  background: rgba(255,255,255,0.08);
}

/* Portfolio grid */
.portfolio-img{
  height: 240px;
  object-fit: cover;
  border-radius: 16px;
  width: 100%;
  border: 1px solid rgba(255,255,255,0.10);
  transition: transform 240ms ease, filter 240ms ease;
}
.portfolio-item:hover .portfolio-img{
  transform: scale(1.03);
  filter: saturate(1.05) brightness(1.03);
}

/* Reveal on scroll */
.reveal{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 600ms ease, transform 600ms ease;
}
.reveal.in-view{
  opacity: 1;
  transform: translateY(0);
}

/* Lightbox */
.modal-backdrop{
  background: rgba(0,0,0,0.75) !important;
}
.lightbox-img{
  max-height: 70vh;
  width: auto;
}

.btn-close-white{
  filter: invert(1) brightness(2);
}

/* Inputs */
.form-control, .form-select{
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  color: var(--text) !important;
}
.form-control:focus, .form-select:focus{
  box-shadow: 0 0 0 0.2rem rgba(212,175,55,0.18) !important;
  border-color: rgba(212,175,55,0.55) !important;
}

.footer{
  padding: 26px 0;
  color: var(--muted);
  border-top: 1px solid rgba(255,255,255,0.10);
}

@media (max-width: 991px){
  .hero{ min-height: 78vh; }
  .hero-content{ padding-top: 40px; }
  .portfolio-img{ height: 210px; }
}

