/* ============================================================
   Monamia's Bakery by the Sea — GORGEOUS Greek Storybook
   ============================================================ */

/* --- CSS Custom Properties --- */
:root {
  /* Mediterranean palette */
  --color-cream:         #FFF8F0;
  --color-cream-deep:    #F5E6D0;
  --color-parchment:     #FAF0E2;
  --color-blush:         #FDF0F3;
  --color-sand:          #F2E0C8;

  --color-teal:          #2B6B7F;
  --color-teal-dark:     #1e4f60;
  --color-teal-mid:      #3a7d94;
  --color-teal-light:    #5A9FAF;

  --color-pink:          #E8A0B4;
  --color-pink-light:    #f0c2d1;
  --color-pink-dark:     #D4809A;
  --color-pink-deep:     #C06080;

  --color-terracotta:    #C4704B;
  --color-terracotta-lt: #D98B62;

  --color-sage:          #8ab87a;
  --color-sage-dark:     #6a9c5c;

  --color-white:         #FFFFFF;
  --color-charcoal:      #3d3028;
  --color-text-muted:    #6a5548;
  --color-text-faint:    #9a8878;

  /* Fonts */
  --font-display: 'Playfair Display', Georgia, serif;
  --font-script:  'Dancing Script', cursive;
  --font-serif:   'Lora', Georgia, serif;
  --font-sans:    'Inter', system-ui, -apple-system, sans-serif;

  /* Fluid type */
  --text-xs:   clamp(0.72rem, 0.68rem + 0.2vw,  0.82rem);
  --text-sm:   clamp(0.85rem, 0.78rem + 0.35vw, 1rem);
  --text-base: clamp(1rem,    0.94rem + 0.3vw,  1.125rem);
  --text-lg:   clamp(1.1rem,  0.95rem + 0.75vw, 1.4rem);
  --text-xl:   clamp(1.25rem, 1rem + 1.25vw,    1.75rem);
  --text-2xl:  clamp(1.5rem,  1.1rem + 2vw,     2.5rem);
  --text-3xl:  clamp(1.875rem,1.3rem + 2.75vw,  3.25rem);
  --text-4xl:  clamp(2.25rem, 1.5rem + 3.5vw,   4rem);

  /* Spacing (4px) */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-10: 40px;
  --sp-12: 48px; --sp-16: 64px; --sp-20: 80px; --sp-24: 96px;

  /* Radius */
  --r-sm: 8px; --r-md: 14px; --r-lg: 20px; --r-xl: 28px; --r-2xl: 40px; --r-full: 9999px;

  /* Shadows */
  --shadow-hero: 0 20px 60px rgba(43,107,127,0.18), 0 6px 20px rgba(60,40,30,0.08);
  --shadow-card: 0 8px 36px rgba(60,40,30,0.08), 0 2px 10px rgba(196,112,75,0.06);
  --shadow-lift: 0 16px 48px rgba(60,40,30,0.12), 0 4px 16px rgba(196,112,75,0.08);

  /* Motion */
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --t-fast: 120ms cubic-bezier(0.16, 1, 0.3, 1);
  --t-med:  360ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* --- Reset --- */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
}
body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  color: var(--color-charcoal);
  background: var(--color-cream);
  line-height: 1.65;
  overflow-x: hidden;
  min-height: 100vh;
}
img { display: block; max-width: 100%; height: auto; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; top: -100%; left: var(--sp-4); z-index: 1000;
  padding: var(--sp-3) var(--sp-6); background: var(--color-teal);
  color: var(--color-white); border-radius: var(--r-sm);
  font-size: var(--text-sm); font-weight: 600; text-decoration: none;
  transition: top 0.2s;
}
.skip-link:focus { top: var(--sp-4); }

/* ============================================================
   WATERCOLOR SKY BACKDROP
   ============================================================ */
.sky-backdrop {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: clamp(500px, 70vh, 900px);
  overflow: hidden;
  z-index: 0;
  pointer-events: none;
}
.sky-backdrop__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  opacity: 0.32;
  filter: saturate(0.8) brightness(1.05);
}
.sky-backdrop__fade {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 60%;
  background: linear-gradient(to top, var(--color-cream) 0%, transparent 100%);
}

/* ============================================================
   HERO
   ============================================================ */
.hero {
  position: relative;
  z-index: 2;
  padding: clamp(var(--sp-8), 5vh, var(--sp-20)) var(--sp-4) 0;
}

.hero__frame {
  position: relative;
  max-width: 960px;
  margin: 0 auto;
  border-radius: var(--r-xl);
  overflow: hidden;
  box-shadow: var(--shadow-hero);
  /* Ornate border effect */
  border: 4px solid rgba(212,128,154,0.3);
  outline: 2px solid rgba(255,255,255,0.6);
  outline-offset: -8px;
}

.hero__image {
  width: 100%;
  display: block;
  position: relative;
  z-index: 1;
}

/* Bougainvillea draping over the top */
.hero__bougainvillea {
  position: absolute;
  z-index: 10;
  pointer-events: none;
}
.hero__bougainvillea--top {
  top: -15px;
  left: -40px;
  right: -40px;
  height: 70px;
  overflow: hidden;
}
.hero__bougainvillea--top img {
  width: 110%;
  margin-left: -5%;
  object-fit: cover;
  object-position: center top;
  opacity: 0.5;
  filter: saturate(1.1);
}

/* Shimmer light sweep */
.hero__shimmer {
  position: absolute;
  top: 0; left: -100%; right: 0; bottom: 0;
  z-index: 5;
  background: linear-gradient(
    105deg,
    transparent 40%,
    rgba(255,255,255,0.15) 45%,
    rgba(255,255,255,0.3) 50%,
    rgba(255,255,255,0.15) 55%,
    transparent 60%
  );
  animation: shimmer 8s ease-in-out 2s infinite;
  pointer-events: none;
}
@keyframes shimmer {
  0%   { left: -100%; }
  40%  { left: 200%; }
  100% { left: 200%; }
}

/* Sparkles */
.sparkle {
  position: absolute;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(232,160,180,0.6) 40%, transparent 70%);
  z-index: 20;
  pointer-events: none;
  animation: twinkle 3s ease-in-out infinite;
}
.sparkle--hero-1 { top: 15%; right: 8%; width: 8px; height: 8px; animation-delay: 0s; }
.sparkle--hero-2 { top: 8%;  left: 12%; width: 5px; height: 5px; animation-delay: 1.2s; }
.sparkle--hero-3 { bottom: 25%; right: 15%; width: 7px; height: 7px; animation-delay: 0.6s; }
@keyframes twinkle {
  0%, 100% { opacity: 0.3; transform: scale(1); }
  50%      { opacity: 1;   transform: scale(1.6); }
}

/* ============================================================
   BOUGAINVILLEA GARLAND DIVIDER
   ============================================================ */
.garland-divider {
  width: 100%;
  max-width: 600px;
  margin: var(--sp-4) auto var(--sp-4);
  padding: 0 var(--sp-8);
  position: relative;
  z-index: 5;
}
.garland-divider__img {
  width: 100%;
  height: auto;
  max-height: 100px;
  object-fit: contain;
  opacity: 0.5;
  filter: saturate(0.85);
}
.garland-divider--flip {
  margin: var(--sp-4) auto calc(-1 * var(--sp-4));
}
.garland-divider--flip .garland-divider__img {
  transform: scaleX(-1);
  opacity: 0.45;
}

/* ============================================================
   TAGLINE
   ============================================================ */
.tagline {
  position: relative;
  z-index: 4;
  text-align: center;
  padding: var(--sp-12) var(--sp-6) var(--sp-10);
}
.tagline__glow {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 700px; height: 350px;
  background: radial-gradient(ellipse, rgba(232,160,180,0.12) 0%, transparent 70%);
  pointer-events: none;
}

.tagline__text {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-style: italic;
  font-weight: 500;
  color: var(--color-teal);
  max-width: 720px;
  margin: 0 auto var(--sp-8);
  line-height: 1.6;
  text-shadow: 0 1px 0 rgba(255,248,240,0.8);
  position: relative;
  z-index: 1;
}

.tagline__pillars {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--sp-2) var(--sp-3);
  font-family: var(--font-serif);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
  letter-spacing: 0.06em;
}
.tagline__pill {
  display: inline-block;
  padding: var(--sp-1) var(--sp-4);
  border: 1.5px solid rgba(212,128,154,0.3);
  border-radius: var(--r-full);
  background: rgba(253,240,243,0.6);
  font-style: italic;
  transition: all 0.3s var(--ease);
}
.tagline__pill:hover {
  background: rgba(232,160,180,0.15);
  border-color: rgba(212,128,154,0.5);
  transform: translateY(-2px);
}
.tagline__dot {
  color: var(--color-pink);
  opacity: 0.5;
}

/* ============================================================
   FEATURES
   ============================================================ */
.features {
  position: relative;
  z-index: 4;
  padding: var(--sp-6) var(--sp-4) var(--sp-16);
}
.features__inner {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(var(--sp-8), 5vw, var(--sp-16));
  max-width: 900px;
  margin: 0 auto;
  flex-wrap: wrap;
}

.feature-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  flex: 0 1 auto;
  min-width: 140px;
  max-width: 200px;
}

.feature-card__circle {
  width: 110px; height: 110px;
  border-radius: 50%;
  background:
    url('./assets/warm-texture.jpg') center/cover,
    linear-gradient(145deg, #FFF3E8, #FDF0F4, #FFF8F0);
  border: 3px solid var(--color-pink);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: var(--sp-5);
  box-shadow:
    0 6px 24px rgba(232,160,180,0.2),
    0 2px 8px rgba(60,40,30,0.06),
    inset 0 1px 0 rgba(255,255,255,0.5);
  transition: all 0.3s var(--ease);
  cursor: default;
}
.feature-card:hover .feature-card__circle {
  transform: scale(1.08) translateY(-4px);
  box-shadow:
    0 12px 36px rgba(232,160,180,0.35),
    0 4px 12px rgba(60,40,30,0.08),
    inset 0 1px 0 rgba(255,255,255,0.5);
  border-color: var(--color-pink-dark);
}

.feature-card__circle svg {
  width: 48px; height: 48px;
  color: var(--color-pink-dark);
}

.feature-card__label {
  font-family: var(--font-serif);
  font-size: var(--text-lg);
  font-weight: 600;
  color: var(--color-teal);
  line-height: 1.35;
}

/* ============================================================
   ABOUT THE SERIES
   ============================================================ */
.about {
  position: relative;
  z-index: 4;
  padding: 0 var(--sp-4) var(--sp-12);
}

.about__card {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  border-radius: var(--r-xl);
  padding: var(--sp-12) var(--sp-12);
  overflow: hidden;
  /* Warm layered background */
  background: linear-gradient(155deg, #FDEEE3 0%, #FAF0E6 40%, #FDF7F0 70%, #F9EDDF 100%);
  border: 2px solid rgba(196,112,75,0.15);
  box-shadow: var(--shadow-card);
}
.about__texture {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: url('./assets/warm-texture.jpg') center/cover;
  opacity: 0.08;
  pointer-events: none;
  z-index: 0;
}

.about__heading {
  font-family: var(--font-script);
  font-size: var(--text-3xl);
  font-weight: 700;
  color: var(--color-teal);
  margin-bottom: var(--sp-4);
  text-align: center;
  line-height: 1.3;
  position: relative;
  z-index: 1;
}

.about__divider {
  display: flex;
  justify-content: center;
  margin-bottom: var(--sp-6);
  position: relative;
  z-index: 1;
}

.about__text {
  font-family: var(--font-serif);
  font-size: var(--text-base);
  color: var(--color-text-muted);
  line-height: 1.85;
  max-width: 62ch;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 1;
}
.about__text + .about__text {
  margin-top: var(--sp-5);
}

/* ============================================================
   WAITLIST
   ============================================================ */
.waitlist {
  position: relative;
  z-index: 4;
  padding: var(--sp-8) var(--sp-4) var(--sp-24);
  text-align: center;
}

.waitlist__card {
  position: relative;
  max-width: 580px;
  margin: 0 auto;
  border-radius: var(--r-xl);
  padding: var(--sp-12) var(--sp-10);
  overflow: hidden;
  background: linear-gradient(165deg, #FFF8F0 0%, #FDF0F4 30%, #FFF5EC 60%, #FBF0F4 100%);
  border: 2.5px solid rgba(232,160,180,0.25);
  box-shadow:
    0 8px 40px rgba(60,40,30,0.08),
    0 16px 56px rgba(232,160,180,0.12),
    inset 0 1px 0 rgba(255,255,255,0.7);
}
.waitlist__texture {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: url('./assets/warm-texture.jpg') center/cover;
  opacity: 0.06;
  pointer-events: none;
  z-index: 0;
}

.waitlist__heading {
  font-family: var(--font-script);
  font-size: var(--text-3xl);
  font-weight: 700;
  color: var(--color-teal);
  margin-bottom: var(--sp-3);
  line-height: 1.2;
  position: relative; z-index: 1;
}

.waitlist__desc {
  font-family: var(--font-serif);
  font-size: var(--text-base);
  font-style: italic;
  color: var(--color-text-muted);
  margin-bottom: var(--sp-8);
  line-height: 1.6;
  position: relative; z-index: 1;
}

.waitlist__form {
  max-width: 440px;
  margin: 0 auto;
  position: relative; z-index: 1;
}

.waitlist__input-row {
  display: flex;
  gap: var(--sp-3);
  flex-wrap: wrap;
}

.waitlist__input {
  flex: 1;
  min-width: 200px;
  padding: var(--sp-4) var(--sp-5);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  color: var(--color-charcoal);
  background: rgba(255,255,255,0.88);
  border: 2px solid rgba(232,160,180,0.3);
  border-radius: var(--r-md);
  outline: none;
  min-height: 52px;
  transition: border-color 0.18s var(--ease), box-shadow 0.18s var(--ease), background 0.18s var(--ease);
}
.waitlist__input::placeholder { color: var(--color-text-faint); }
.waitlist__input:focus {
  border-color: var(--color-teal);
  background: rgba(255,255,255,0.96);
  box-shadow: 0 0 0 3px rgba(43,107,127,0.12);
}

.waitlist__button {
  padding: var(--sp-4) var(--sp-8);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-white);
  background: linear-gradient(135deg, var(--color-teal-mid) 0%, var(--color-teal) 50%, var(--color-teal-dark) 100%);
  border: none;
  border-radius: var(--r-md);
  cursor: pointer;
  min-height: 52px;
  white-space: nowrap;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 16px rgba(43,107,127,0.25);
  transition: all 0.18s var(--ease);
}
.waitlist__button:hover {
  background: linear-gradient(135deg, var(--color-teal) 0%, var(--color-teal-dark) 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(43,107,127,0.35);
}
.waitlist__button:active { transform: translateY(0); }
.waitlist__button:focus-visible { outline: 3px solid var(--color-teal); outline-offset: 2px; }
.waitlist__button:disabled { opacity: 0.6; cursor: not-allowed; pointer-events: none; }

.waitlist__message {
  margin-top: var(--sp-4);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  padding: var(--sp-3) var(--sp-4);
  border-radius: var(--r-sm);
  opacity: 0;
  transition: opacity 300ms var(--ease);
  position: relative; z-index: 1;
}
.waitlist__message--visible { opacity: 1; }
.waitlist__message--success { color: var(--color-teal-dark); background: rgba(43,107,127,0.09); }
.waitlist__message--error { color: #b44; background: rgba(180,60,60,0.08); }

.waitlist__trust {
  margin-top: var(--sp-5);
  font-family: var(--font-serif);
  font-size: var(--text-xs);
  font-style: italic;
  color: var(--color-text-faint);
  letter-spacing: 0.03em;
  position: relative; z-index: 1;
}

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  position: relative;
  background: linear-gradient(180deg, var(--color-teal) 0%, var(--color-teal-dark) 100%);
  padding: 0 var(--sp-4) var(--sp-10);
  text-align: center;
  overflow: hidden;
}
.footer__wave { width: 100%; line-height: 0; overflow: hidden; margin-bottom: var(--sp-6); }
.footer__inner { position: relative; z-index: 2; }
.footer__flourish { margin-bottom: var(--sp-4); opacity: 0.8; display: flex; justify-content: center; }
.footer__copy {
  font-family: var(--font-sans);
  font-size: var(--text-xs);
  color: rgba(255,255,255,0.75);
  letter-spacing: 0.04em;
}
.footer__dot { opacity: 0.5; margin: 0 var(--sp-2); }

/* ============================================================
   FLOATING PETALS
   ============================================================ */
.petal-container {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  pointer-events: none;
  z-index: 1;
  overflow: hidden;
}
.petal {
  position: absolute;
  border-radius: 50% 0 50% 0;
  opacity: 0;
  animation: petal-fall linear infinite;
}
.petal--1 { width: 12px; height: 12px; background: rgba(232,160,180,0.3); left: 5%;  animation-duration: 18s; animation-delay: 0s; }
.petal--2 { width: 8px;  height: 8px;  background: rgba(240,194,209,0.25); left: 20%; animation-duration: 22s; animation-delay: 3s; }
.petal--3 { width: 10px; height: 10px; background: rgba(212,128,154,0.2);  left: 40%; animation-duration: 20s; animation-delay: 7s; }
.petal--4 { width: 7px;  height: 7px;  background: rgba(232,160,180,0.2);  left: 55%; animation-duration: 24s; animation-delay: 2s; }
.petal--5 { width: 11px; height: 11px; background: rgba(240,194,209,0.22); left: 70%; animation-duration: 19s; animation-delay: 9s; }
.petal--6 { width: 9px;  height: 9px;  background: rgba(232,160,180,0.25); left: 85%; animation-duration: 21s; animation-delay: 5s; }
.petal--7 { width: 6px;  height: 6px;  background: rgba(212,128,154,0.18); left: 92%; animation-duration: 26s; animation-delay: 11s; }
.petal--8 { width: 13px; height: 13px; background: rgba(240,194,209,0.18); left: 35%; animation-duration: 23s; animation-delay: 14s; }

@keyframes petal-fall {
  0%   { top: -5%; opacity: 0; transform: rotate(0deg) translateX(0); }
  10%  { opacity: 0.8; }
  50%  { transform: rotate(180deg) translateX(30px); opacity: 0.6; }
  90%  { opacity: 0.3; }
  100% { top: 105%; opacity: 0; transform: rotate(360deg) translateX(-20px); }
}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.scene-in { opacity: 1; }

@supports (animation-timeline: scroll()) {
  .scene-in {
    opacity: 0;
    animation: reveal linear both;
    animation-timeline: view();
    animation-range: entry 0% entry 70%;
  }
}
@keyframes reveal { to { opacity: 1; } }

@supports not (animation-timeline: scroll()) {
  .scene-in {
    opacity: 0;
    transition: opacity 0.8s var(--ease);
  }
  .scene-in.is-visible { opacity: 1; }
}

/* ============================================================
   MUSIC TOGGLE
   ============================================================ */
.music-toggle {
  position: fixed;
  bottom: var(--sp-6); right: var(--sp-6);
  z-index: 200;
  width: 52px; height: 52px;
  border-radius: 50%;
  border: 2.5px solid var(--color-pink);
  background: rgba(255,248,240,0.92);
  backdrop-filter: blur(8px);
  color: var(--color-teal);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(60,40,30,0.1), 0 6px 24px rgba(232,160,180,0.15);
  transition: all 0.18s var(--ease);
}
.music-toggle:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 28px rgba(60,40,30,0.14), 0 8px 32px rgba(232,160,180,0.25);
}
.music-toggle:active { transform: scale(0.94); }
.music-toggle:focus-visible { outline: 2px solid var(--color-teal); outline-offset: 3px; }
.music-toggle svg { width: 22px; height: 22px; }

.music-toggle--playing {
  background: var(--color-teal);
  color: var(--color-white);
  border-color: var(--color-teal-dark);
  animation: music-pulse 2.5s ease-in-out infinite;
}
@keyframes music-pulse {
  0%, 100% { box-shadow: 0 4px 20px rgba(60,40,30,0.1), 0 6px 24px rgba(232,160,180,0.15); }
  50%      { box-shadow: 0 6px 28px rgba(43,107,127,0.25), 0 0 36px rgba(43,107,127,0.2); }
}

/* ============================================================
   RESPONSIVE — TABLET (<=768px)
   ============================================================ */
@media (max-width: 768px) {
  .hero { padding-top: var(--sp-8); }
  .hero__frame { border-radius: var(--r-lg); }
  .hero__bougainvillea--top { height: 80px; top: -20px; }

  .garland-divider { max-width: 600px; padding: 0 var(--sp-4); }

  .features__inner {
    flex-direction: column;
    align-items: center;
    gap: var(--sp-8);
  }

  .about__card { padding: var(--sp-10) var(--sp-8); }
  .waitlist__card { padding: var(--sp-10) var(--sp-6); }

  .waitlist__input-row {
    flex-direction: column;
  }
  .waitlist__button { width: 100%; }
}

/* ============================================================
   RESPONSIVE — MOBILE (<=480px)
   ============================================================ */
@media (max-width: 480px) {
  .hero { padding: var(--sp-4) var(--sp-2) 0; }
  .hero__frame { border-radius: var(--r-md); border-width: 3px; }
  .hero__bougainvillea { display: none; }
  .hero__shimmer { display: none; }

  .garland-divider { display: none; }

  .tagline { padding: var(--sp-8) var(--sp-4) var(--sp-6); }
  .tagline__text { font-size: var(--text-xl); }
  .tagline__pill { font-size: var(--text-xs); padding: 2px 10px; }

  .features { padding: var(--sp-4) var(--sp-4) var(--sp-10); }
  .feature-card__circle { width: 90px; height: 90px; }
  .feature-card__circle svg { width: 40px; height: 40px; }
  .feature-card__label { font-size: var(--text-base); }

  .about__card { padding: var(--sp-8) var(--sp-5); border-radius: var(--r-lg); }
  .about__heading { font-size: var(--text-2xl); }

  .waitlist__card { padding: var(--sp-8) var(--sp-5); border-radius: var(--r-lg); }
  .waitlist__heading { font-size: var(--text-2xl); }
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .scene-in { opacity: 1 !important; }
  .petal { display: none; }
  .hero__shimmer { display: none; }
  .sparkle { animation: none; opacity: 0.5; }
}
