:root{
  --rev-primary:#0d6efd;
  --rev-accent:#00b894;
  --rev-dark:#1f2937;
  --rev-muted:#6b7280;
  --rev-bg:#f7f7f9;
  --rev-card:#ffffff;
  --rev-shadow:0 10px 25px rgba(16,24,40,.08);
}

/* Base */
html,body{height:100%}
body{
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", "Apple Color Emoji","Segoe UI Emoji";
  color: #111827;
  background: var(--rev-bg);
}

/* Topbar */
.topbar{letter-spacing:.2px}

/* Hero */
.hero{min-height: 56vh; background: #000}
.hero-img{height:56vh; filter:brightness(.75)}
.hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(0,0,0,.35) 60%, rgba(0,0,0,.45) 100%);
}
.announcement{
  backdrop-filter: blur(6px);
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 1rem;
}

/* Sections */
.section-padding{padding: 4rem 0}
.section-alt{padding: 4rem 0; background: linear-gradient(180deg, #fff, #f4f6fb)}
.feature-list li{
  padding-left: 1.75rem;
  margin-bottom: .5rem;
  position: relative;
}
.feature-list li::before{
  content:"";
  width:.75rem; height:.75rem; border-radius:50%;
  background: var(--rev-accent);
  position:absolute; left:0; top:.45rem;
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

/* Cards & media */
.card{border:0; border-radius:1rem}
.card.shadow-sm{box-shadow: var(--rev-shadow)}
img{object-fit: cover}

/* Buttons */
.btn-primary{--bs-btn-bg:var(--rev-primary); --bs-btn-border-color:var(--rev-primary)}
.btn-outline-success{--bs-btn-color:var(--rev-accent); --bs-btn-border-color:var(--rev-accent)}

/* Footer */
footer{background:#fff}

/* Utilities */
.rounded-4{border-radius:1rem !important}

/* Responsive tweaks */
@media (max-width: 575.98px){
  .hero{min-height: 68vh}
  .hero-img{height:68vh}
}

/* Forms */
#formAlert{transition: .25s ease}

.gallery-item img {
  transition: transform .2s cubic-bezier(.4,0,.2,1), box-shadow .2s;
}
.gallery-item img:hover {
  transform: scale(1.025) rotate(-1deg);
  box-shadow: 0 10px 24px rgba(0,0,0,.16);
}

