
body {
  margin:0;
  font-family:Inter, sans-serif;
  background:#0e0e0e;
  color:#eee;
}

.hero {
  position: relative;
  width:100%;
  height:420px;
  background:#000;
  overflow:hidden;
}
.hero-img {
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0.75;
}
.hero-overlay {
  position:absolute;
  top:0; left:0;
  width:100%; height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.hero-title { font-size:3.3rem; margin:0; }
.hero-sub { margin-top:0.5rem; opacity:0.85; }

.section-title {
  text-align:center;
  margin-top:2rem;
  font-size:2rem;
}

.cards {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1rem;
  padding:1.5rem;
}
.card {
  background:#1c1c1c;
  padding:1rem;
  border-radius:8px;
  cursor:pointer;
  transition:0.2s;
}
.card:hover {
  transform:translateY(-3px);
  opacity:0.9;
}

.modal {
  position:fixed;
  top:0; left:0;
  width:100%; height:100%;
  background:rgba(0,0,0,0.8);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:200;
}
.hidden { display:none; }

.modal-content {
  position:relative;
  background:#1c1c1c;
  padding:2rem;
  max-width:800px;
  width:90%;
  border-radius:10px;
  overflow-y:auto;
  max-height:90vh;
  box-shadow:0 0 25px rgba(0,0,0,0.6);
}

.modal-x {
  position:absolute;
  top:12px;
  right:12px;
  background:none;
  border:none;
  font-size:1.8rem;
  cursor:pointer;
  color:#bbb;
  transition:0.2s;
}
.modal-x:hover {
  color:#fff;
  transform:scale(1.15);
}
