  .js .reveal { opacity: 1; transform: none; }
}

/* ======================================================================
   TEMA: BARNWOOD TALE
   ====================================================================== */

:root {
  --bg: #fdf6e3; --surface: #fffaf0; --text: #3b2a1a; --heading: #2f5d3a; --muted: #7a6650;
  --accent: #2f5d3a; --wood: #7c4a24; --fire: #ea580c; --line: rgba(124, 74, 36, .25);
  --font-head: 'Amatic SC', cursive; --font-script: 'Amatic SC', cursive; --font-body: 'Nunito', sans-serif;
  --btn-bg: #2f5d3a; --btn-color: #fdf6e3; --btn-radius: 8px; --btn-shadow: 0 5px 0 #1d3b24;
  --input-bg: #fffaf0; --radius: 10px; --radius-sm: 8px; --photo-radius: 10px; --toast-bg: #2f5d3a;
  --planks: repeating-linear-gradient(180deg, transparent 0 46px, rgba(0,0,0,.28) 46px 48px), repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 3px, transparent 3px 11px), linear-gradient(90deg, #7c4a24, #8b5a2b 30%, #6f4120 60%, #84522a);
}
body { font-weight: 600; }
h1, h2, h3 { font-weight: 700; letter-spacing: .04em; }
.sec-title { font-size: clamp(3rem, 13vw, 4.2rem); color: var(--heading); }
.sec-eyebrow, .hero-eyebrow, .cover-label { color: var(--fire); letter-spacing: .25em; font-weight: 800; }
.person-name, .closing-names, .couple-amp { font-weight: 700; color: var(--wood); font-size: clamp(3rem, 12vw, 3.8rem); }
.event-card h3 { font-size: 2.6rem; color: var(--heading); }
.cd-num { font-family: 'Amatic SC', cursive; font-size: 3rem; color: var(--wood); }
.btn-ghost { color: var(--wood); border-width: 2px; }
.pines { position: absolute; left: 0; right: 0; bottom: -2px; width: 100%; height: 90px; color: #1d3b24; pointer-events: none; }
.tent { display: block; width: 90px; margin: 0 auto 1rem; color: var(--fire); }

/* Papan kayu (cover, hero, acara, penutup) */
.cover, .hero, .sec-event, .closing { background: var(--planks); color: #fdf6e3; }
.cover-photo { display: none; }
.cover-inner, .hero-inner, .closing-inner { background: var(--surface); color: var(--text); border-radius: 12px; padding: 2.25rem 1.5rem; box-shadow: 0 14px 0 rgba(0, 0, 0, .25); border: 4px solid #5a3417; }
/* Paku di sudut papan */
.cover-inner::before, .hero-inner::before, .closing-inner::before { content: ""; position: absolute; inset: 6px; pointer-events: none;
  background: radial-gradient(circle, #5a3417 0 3px, transparent 4px) 0 0 / 12px 12px no-repeat, radial-gradient(circle, #5a3417 0 3px, transparent 4px) 100% 0 / 12px 12px no-repeat,
    radial-gradient(circle, #5a3417 0 3px, transparent 4px) 0 100% / 12px 12px no-repeat, radial-gradient(circle, #5a3417 0 3px, transparent 4px) 100% 100% / 12px 12px no-repeat; }
.cover-figure { width: min(170px, 48vw); aspect-ratio: 1; border-radius: 50%; border: 5px solid var(--wood); }
.cover-names, .hero-names { color: var(--heading); font-weight: 700; }
.cover-names { font-size: clamp(4.5rem, 22vw, 6rem); }
.hero-bg, .hero-overlay { display: none; }
.hero-inner { width: min(100%, 420px); }
.hero-names { font-size: clamp(5rem, 24vw, 7rem); }
.hero .scroll-hint { color: #fdf6e3; }
.card-x { border: 2px solid var(--line); box-shadow: 0 8px 0 rgba(124, 74, 36, .15); }
.event-icon { background: #fde7c7; border: 0; color: var(--fire); }
.person-photo { border: 6px solid var(--wood); }
.arabic { color: var(--heading); }
.quote-box { background: var(--surface); border: 2px dashed var(--wood); border-radius: 12px; padding: 2rem 1.25rem; }
.sec-event .sec-title { color: #fdf6e3; }
.sec-event .sec-eyebrow { color: #fdba74; }
.sec-event .sec-head .divider { color: #fdf6e3; }
.sec-event .cd-item { background: var(--surface); border: 3px solid #5a3417; }
.sec-event .card-x { color: var(--text); }
.g-item { border: 5px solid #fff; box-shadow: 0 8px 18px -10px rgba(59, 42, 26, .6); }
.gift-bca { --gift-bg: repeating-linear-gradient(180deg, transparent 0 46px, rgba(0,0,0,.28) 46px 48px), repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 3px, transparent 3px 11px), linear-gradient(90deg, #7c4a24, #8b5a2b 30%, #6f4120 60%, #84522a); --gift-color: #fdf6e3; }
.gift-mandiri { --gift-bg: linear-gradient(135deg, #3f7a4d, #2f5d3a 60%, #1d3b24); --gift-color: #fdf6e3; }
.closing-title { color: var(--heading); font-size: clamp(3.4rem, 15vw, 4.6rem); }
.music-btn { border: 3px solid #fdf6e3; box-shadow: 0 0 0 3px var(--wood); }
