:root{
  --brand:#ffc107;
  --dark:#0f1113;
}
*{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.hero{
  background: radial-gradient(900px 500px at 15% 20%, rgba(255,193,7,.22), transparent 60%),
              radial-gradient(700px 400px at 80% 30%, rgba(13,110,253,.20), transparent 60%),
              linear-gradient(180deg, #0b0d0f 0%, #111417 55%, #0b0d0f 100%);
  color:#fff;
}
.badge-soft{
  background: rgba(255,193,7,.15);
  color: var(--brand);
  border:1px solid rgba(255,193,7,.25);
}
.card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 1rem;
}
.shadow-soft{
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}
.section-title{
  letter-spacing:-.02em;
}
.icon-box{
  width:46px;height:46px;
  border-radius:14px;
  display:grid;place-items:center;
  background: rgba(13,110,253,.08);
}
.footer a:hover{opacity:.85}
.gallery-img{
  border-radius: 1rem;
  border: 1px solid rgba(0,0,0,.08);
  overflow:hidden;
}


/* Theme polish */
.navbar{background:#0b0d0f !important}
.btn-warning{color:#0b0d0f}
a{color:#0d6efd}
a:hover{opacity:.9}
.hero .lead{max-width: 56ch}
.hero-media{border:1px solid rgba(255,255,255,.12)}
/* Better spacing on mobile */
@media (max-width: 576px){
  .display-5{font-size:2rem}
  .hero{padding-top:2.5rem !important; padding-bottom:2.5rem !important}
  .navbar-brand span{font-size:1rem}
}
/* Gallery lightbox */
.gallery-img{cursor:pointer}
.modal-img{width:100%; height:auto; border-radius:1rem}
