/* === Global Base / Utility Styles === */

/* Reset box sizing to avoid overflow issues */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent side-scroll on mobile */
html, body {
  max-width: 100%;
  overflow-x: hidden;
  margin: 0 auto;
  width: 100%;
}

/* Bright Section Wrapper */
.bright-section {
  background: #f7f5e7;       /* parchment background */
  color: #0b3d0b;
  padding: 5rem 1.5rem;
}

.bright-section .container {
  max-width: 1000px;
  background: #fff;          /* white card inside */
  border-radius: 14px;       /* rounded corners */
  padding: 3rem 2rem;
  margin: 0 auto;
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

/* Dark Section Wrapper */
.dark-section {
  background: #0b3d0b;       /* dark green */
  color: #f7f5e7;
  padding: 5rem 1.5rem;
}

.dark-section .container {
  max-width: 1000px;
  margin: 0 auto;           /* center horizontally */
  padding: 3rem 1.5rem;     /* equal padding left/right */
  text-align: center;
  box-sizing: border-box;   /* ensures padding doesn't break width */
}

/* Section Headings */
.bright-section h2,
.dark-section h2 {
  font-family: 'Playfair Display', serif;
  font-size: 2.4rem;
  margin-bottom: 1.5rem;
}

/* Paragraphs */
.bright-section p,
.dark-section p {
  font-size: 1.1rem;
  line-height: 1.7;
}

/* Force all sections to respect viewport */
section {
  overflow-x: hidden;
}

/* Responsive Utility */
@media (max-width: 768px) {
  .bright-section .container {
    padding: 2rem 1.25rem;
  }

  .dark-section .container {
    padding: 2rem 1.25rem;  /* same as bright so they align */
  }
}
/* === Collapse gaps between sections === */
.bright-section,
.dark-section,
.waitlist,
.final-cta {
  margin: 0;              /* remove outside margins */
  padding-top: 3rem;      /* uniform smaller spacing */
  padding-bottom: 3rem;
}

.bright-section .container,
.dark-section .container,
.waitlist .container,
.final-cta .container {
  margin: 0 auto;
  padding-top: 0;         /* prevent double spacing */
  padding-bottom: 0;
}
