/* Base Styles */
b/* ==========================================
   1. Core Reset & Global Styles
   ========================================== */
* {
  box-sizing: border-box;
}

body {
  font-family: 'Raleway', sans-serif;
  background-color: #f2ece4;
  margin: 0;
  padding: 0;

  /* Flexbox setup keeps all content vertically balanced */
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

/* ==========================================
   2. Header Banner Components
   ========================================== */
.top-banner {
  width: 100%;
  height: 320px; /* Perfect cinematic crop for a 1920x480 asset */
  background-image: url('images/banner-floral.webp');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* ==========================================
   3. Main Container & Typography
   ========================================== */
.container {
  text-align: center;
  width: 75%;
  max-width: 500px;
  margin: auto auto; /* Centers the container perfectly below the header banner */
  padding: 20px 0;
}

h1 {
  font-family: 'Cormorant Garamond', serif;
  font-weight: 600;
  font-style: italic;
  color: #333;
  margin: 1.25rem 0;
  white-space: nowrap;
  font-size: clamp(1.3rem, 7.5vw, 2rem);
  letter-spacing: clamp(0.08rem, 0.3vw, 0.15rem);
}

.description {
  text-align: center;
  font-weight: 400;
  color: #333;
  margin-bottom: 2rem;
  font-size: clamp(0.85rem, 3.5vw, 1rem);
}

/* ==========================================
   4. Features List Components
   ========================================== */
.features {
  text-align: center;
  margin: 0.5rem;
  font-weight: 600;
  color: #8a9e82;
  list-style-type: none;
  padding-left: 0;
  font-size: clamp(0.55rem, 2.8vw, 0.75rem);
}

.features li {
  margin-bottom: 0.5rem;
  letter-spacing: 0.15rem;
}

/* ==========================================
   5. Interactive Social Icons
   ========================================== */
.links {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin: 1.5rem;
}

.links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background-color: transparent;
  color: #333;
  text-decoration: none;
  border: none;
  font-size: 1.2rem;
  transition:
    color 0.3s,
    transform 0.2s;
}

.links a:hover {
  color: #8a9e82;
  transform: scale(1.5); /* Subtle grow effect */
}

/* ==========================================
   6. Footer & Responsive Adaptations
   ========================================== */
footer {
  margin-top: auto; /* Pushes footer neatly to the bottom boundary */
  margin-bottom: 2rem;
  text-align: center;
  font-size: clamp(0.45rem, 1.5vw, 0.55rem);
  color: #8a9e82;
  font-family: 'Raleway', sans-serif;
  font-weight: 400;
}

/* Mobile Breakpoint Layout adjustments */
@media (max-width: 600px) {
  .top-banner {
    height: 200px; /* Reduces image height on small phone viewports */
  }
}
