* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  /* Paper-like warm off-white (#fbf9f6 ≈ “canvas cream”; easier on the eyes than pure white) */
  background-color: #fbf9f6;
}

body {
  display: flex;
  flex-direction: column;
  font-family: "Work Sans", system-ui, sans-serif;
  background-color: #fbf9f6;
  min-height: 100vh;
  overflow-x: hidden;
}

body > main {
  flex: 1 1 auto;
  width: 100%;
}

.font-display {
  font-family: "Fredoka", system-ui, sans-serif;
}

.gradient-vibrant {
  background: linear-gradient(135deg, #c80073 0%, #faaa0f 50%, #ff6b35 100%);
}

.gradient-soft {
  background: linear-gradient(135deg, #fff5e6 0%, #fef7ff 50%, #e6f3ff 100%);
}

.menu-hidden {
  display: none;
}

.menu-visible {
  display: block;
}

.tech-modal-hidden {
  display: none;
}

.tech-modal-visible {
  display: flex;
}

/* #id + .class beats Tailwind’s .flex so the modal stays hidden until opened */
#waitlist-modal.waitlist-modal-hidden {
  display: none;
}

#waitlist-modal.waitlist-modal-visible {
  display: flex;
  align-items: center;
  justify-content: center;
}

.site-footer {
  position: relative;
  isolation: isolate;
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 55% at 100% 0%, rgba(200, 0, 115, 0.07), transparent 52%),
    radial-gradient(ellipse 55% 45% at 0% 100%, rgba(250, 170, 15, 0.08), transparent 48%);
  pointer-events: none;
  z-index: 0;
}

.site-footer__inner {
  position: relative;
  z-index: 1;
}
