body {
  font-family: "Montserrat", sans-serif;
  background: #f8f2ff;
  color: #4f3f67;
}

h1, h2, h3, h4, .navbar-brand {
  font-family: "Cinzel", serif;
}

.astro-nav {
  background: rgba(126, 86, 175, 0.88);
  backdrop-filter: blur(6px);
}

.hero-section {
  min-height: 88vh;
  background:
    linear-gradient(rgba(88, 48, 137, 0.35), rgba(127, 78, 179, 0.45)),
    url("https://images.unsplash.com/photo-1534447677768-be436bb09401?auto=format&fit=crop&w=1400&q=80") center/cover no-repeat;
}

.hero-top {
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #f4e6ff;
}

.hero-section h1 {
  font-family: "Cinzel", serif;
  font-size: clamp(2.1rem, 1.35rem + 2.5vw, 3.45rem);
  line-height: 1.2;
  letter-spacing: 0.015em;
  color: rgba(255, 250, 255, 0.92);
  text-shadow: 0 2px 14px rgba(28, 12, 52, 0.28);
}

.hero-portrait {
  width: 100%;
  max-width: 290px;
  max-height: 430px;
  object-fit: cover;
  border-radius: 20px;
  border: 4px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 14px 36px rgba(49, 28, 84, 0.35);
}

.section-dark {
  background: #f6eeff;
}

.section-gradient {
  background: linear-gradient(135deg, #faf4ff, #f2e8ff, #f8efff);
}

.section-title {
  color: #6d4b8f;
}

.moon-card,
.service-card,
.contact-form {
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(186, 146, 223, 0.28);
  box-shadow: 0 10px 30px rgba(138, 108, 168, 0.15);
}

.service-card {
  padding: 1.5rem;
  border-radius: 1rem;
}

.btn-glow {
  background: linear-gradient(90deg, #b785eb, #d699ee);
  border: none;
  color: #fff;
  font-weight: 600;
  padding: 0.8rem 1.4rem;
  border-radius: 999px;
}

.btn-glow:hover {
  color: #fff;
  box-shadow: 0 0 18px rgba(183, 133, 235, 0.5);
}

.form-control,
.form-select {
  background-color: rgba(255, 255, 255, 0.88);
  color: #5a4673;
  border: 1px solid rgba(182, 145, 217, 0.45);
}

.form-control::placeholder {
  color: #ad96c4;
}

.form-control:focus,
.form-select:focus {
  background-color: #fff;
  color: #4e3b65;
  border-color: #c694ea;
  box-shadow: 0 0 0 0.2rem rgba(198, 148, 234, 0.25);
}

.footer-dark {
  background: #c7a5e4;
}

.moon-card h3,
.service-card h4 {
  color: #6a478d;
}

.moon-card li,
.service-card p,
.contact-form label {
  color: #5a4673;
}

.contact-details a {
  color: #6a478d;
  font-weight: 500;
  text-decoration: none;
  word-break: break-word;
}

.contact-details a:hover {
  text-decoration: underline;
}

@media (max-width: 991px) {
  .hero-section {
    padding: 3.5rem 0;
  }

  .hero-portrait {
    max-width: 230px;
    max-height: 340px;
  }
}
