html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
}

/* ===== Hero carousel ===== */
.hero-carousel .carousel-item img {
  width: 100%;
  height: 85vh;
  min-height: 420px;
  max-height: 720px;
  object-fit: cover;
  filter: brightness(0.6);
}

.hero-carousel .carousel-caption {
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  max-width: 700px;
  margin: 0 auto;
}

@media (max-width: 576px) {
  .hero-carousel .carousel-item img {
    height: 60vh;
    min-height: 320px;
  }

  .hero-carousel .carousel-caption h1 {
    font-size: 1.75rem;
  }
}

/* ===== Page header (About / Gallery / Contact) ===== */
.page-header {
  background: linear-gradient(135deg, #1a3b5d, #0d1b2a);
}

/* ===== CTA section ===== */
.cta-section {
  background: linear-gradient(135deg, #0d6efd, #0a58ca);
}

/* ===== Property cards ===== */
.property-card img {
  height: 200px;
  object-fit: cover;
}

.property-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.property-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.12) !important;
}

/* ===== Team photos ===== */
.team-photo {
  width: 150px;
  height: 150px;
  object-fit: cover;
}

/* ===== Gallery ===== */
.gallery-card img.gallery-img {
  height: 260px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.gallery-card:hover img.gallery-img {
  transform: scale(1.08);
}

.gallery-overlay {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 1rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75), transparent);
}

.gallery-filter-btn.active {
  background-color: #0d6efd;
  color: #fff;
}

/* ===== Footer ===== */
.footer-main {
  background-color: #0d1b2a;
}

.footer-link {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
}

.footer-link:hover {
  color: #fff;
}

/* ===== Forms ===== */
.form-control:focus {
  border-color: #0d6efd;
  box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.15);
}
