:root{
  --ink:#070A12;
  --ink-2:#0B1020;
  --brand:#7C5CFF;
  --brand-2:#38BDF8;
}

body.bg-ink{
  background:
    radial-gradient(1000px 600px at 20% 10%, rgba(124,92,255,.22), transparent 55%),
    radial-gradient(900px 560px at 85% 20%, rgba(56,189,248,.16), transparent 50%),
    radial-gradient(900px 560px at 55% 95%, rgba(124,92,255,.10), transparent 55%),
    linear-gradient(180deg, var(--ink), var(--ink-2));
  min-height: 100vh;
}

.letterspace{ letter-spacing:.06em; }

.glass{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.hero-title{
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.badge-soft{
  background: rgba(124,92,255,.16);
  border: 1px solid rgba(124,92,255,.25);
  color: rgba(255,255,255,.92);
}

.btn-glow{
  box-shadow: 0 0 0 rgba(124,92,255,0);
  transition: transform .12s ease, box-shadow .2s ease;
}
.btn-glow:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 45px rgba(124,92,255,.25);
}

.form-control, .form-select{
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.92);
}
.form-control:focus, .form-select:focus{
  background: rgba(255,255,255,.08);
  border-color: rgba(124,92,255,.6);
  box-shadow: 0 0 0 .25rem rgba(124,92,255,.18);
  color: rgba(255,255,255,.95);
}
.form-control::placeholder{ color: rgba(255,255,255,.45); }

.card-dark{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
}

.hero-img{
  height: 420px;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.02);
}

.img-tile{
  position: relative;
  display: block;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.img-tile img{
  display:block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transform: scale(1.01);
  transition: transform .25s ease, filter .25s ease;
}
.img-tile:hover img{
  transform: scale(1.05);
  filter: contrast(1.05) saturate(1.05);
}
.img-overlay{
  position:absolute;
  left: 12px;
  bottom: 12px;
  padding: 8px 10px;
  border-radius: 999px;
  font-size: .85rem;
  color: rgba(255,255,255,.92);
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.text-white-50 a{ color: rgba(255,255,255,.85); }

.table-darkish{
  --bs-table-bg: rgba(255,255,255,.04);
  --bs-table-border-color: rgba(255,255,255,.10);
  --bs-table-color: rgba(255,255,255,.88);
}

@media (prefers-reduced-motion: reduce){
  .btn-glow{ transition: none; }
  .img-tile img{ transition: none; }
}

