  .js .reveal { opacity: 1; transform: none; }
}

/* ======================================================================
   TEMA: GARDEN WHISPER
   ====================================================================== */

:root {
  --bg: #f6fbf7; --surface: #fff; --text: #24382d; --heading: #2f6b4f; --muted: #6a8173;
  --accent: #2f6b4f; --accent-2: #a7c4a0; --line: rgba(47, 107, 79, .18);
  --font-head: 'Quicksand', sans-serif; --font-script: 'Allura', cursive; --font-body: 'Quicksand', sans-serif;
  --btn-bg: linear-gradient(135deg, #4f8f6c, #2f6b4f); --btn-color: #fff; --btn-shadow: 0 10px 22px -12px rgba(47, 107, 79, .8);
  --input-bg: #fff; --radius: 22px; --radius-sm: 14px; --photo-radius: 999px 999px 22px 22px; --toast-bg: #2f6b4f;
}
body { font-weight: 500; }
h1, h2, h3 { font-weight: 700; }
.sec-title, .cover-names, .hero-names, .closing-title, .closing-names, .person-name, .couple-amp { font-family: 'Allura', cursive; font-weight: 400; color: var(--heading); }
.sec-title { font-size: clamp(3rem, 12vw, 4rem); }
.sec-eyebrow, .hero-eyebrow, .cover-label { color: #7aa486; }
.btn-ghost { color: var(--accent); }
.garland { display: block; width: min(260px, 70vw); margin: 0 auto .5rem; color: var(--accent-2); position: relative; z-index: 1; }
.cover .garland { margin-bottom: -1.5rem; }
.garland-sm { width: 120px; margin: .75rem auto; }
.leaf-corner { position: absolute; width: 160px; color: var(--accent-2); opacity: .7; pointer-events: none; }
.leaf-tl { top: -20px; left: -50px; transform: rotate(-30deg); }
.leaf-br { bottom: -20px; right: -50px; transform: rotate(150deg); }

.cover { background: radial-gradient(ellipse at top, #e8f5ec, #f6fbf7 60%); }
.cover-photo { display: none; }
.cover-figure { width: min(210px, 58vw); aspect-ratio: 3 / 4; border-radius: 999px 999px 24px 24px; border: 6px solid #fff; box-shadow: 0 20px 40px -24px rgba(47, 107, 79, .6); }
.cover-figure img { border-radius: inherit; }
.cover-names { font-size: clamp(3.4rem, 15vw, 4.6rem); }
.cover-guest { background: #fff; border-radius: 18px; box-shadow: 0 10px 25px -18px rgba(47, 107, 79, .5); }
.hero-overlay { background: linear-gradient(180deg, rgba(246, 251, 247, .5), rgba(246, 251, 247, .9) 60%, #f6fbf7); }
.hero-names { font-size: clamp(4rem, 17vw, 6rem); }
.card-x { border: 0; box-shadow: 0 20px 40px -28px rgba(47, 107, 79, .55); }
.card-x::after { content: ""; position: absolute; top: 14px; right: 14px; width: 26px; height: 26px; border-radius: 0 60% 0 60%; background: var(--accent-2); opacity: .5; }
.event-icon { background: #e8f5ec; border: 0; }
.cd-item { border: 0; background: #fff; box-shadow: 0 10px 25px -18px rgba(47, 107, 79, .5); }
.person-photo { border: 6px solid #fff; box-shadow: 0 0 0 1px var(--accent-2), 0 18px 34px -22px rgba(47, 107, 79, .6); }
.arabic { color: var(--heading); }
.g-item { border-radius: 18px; }
.sec-event { background: #e8f5ec; }
.gift-bca { --gift-bg: linear-gradient(135deg, #5c9a78, #2f6b4f 60%, #1f4a36); --gift-color: #f0fbf4; }
.gift-mandiri { --gift-bg: linear-gradient(135deg, #f1f8ef, #d6e8d1 55%, #a7c4a0); --gift-color: #1f4a36; }
.closing { background: linear-gradient(180deg, #f6fbf7, #e3f1e7); }
