  .js .reveal { opacity: 1; transform: none; }
}

/* ======================================================================
   TEMA: MONO LINE
   ====================================================================== */

:root {
  --bg: #faf7f2; --surface: #fffdf9; --text: #1f1f1f; --heading: #1f1f1f; --muted: #6f6a62;
  --accent: #1f1f1f; --sage: #7d8f69; --line: #1f1f1f;
  --font-head: 'DM Serif Display', serif; --font-script: 'DM Serif Display', serif; --font-body: 'DM Sans', sans-serif;
  --btn-bg: #1f1f1f; --btn-color: #faf7f2; --btn-radius: 12px; --input-bg: #fffdf9; --radius: 14px; --radius-sm: 10px;
  --photo-radius: 160px 160px 14px 14px; --toast-bg: #1f1f1f;
}
h1, h2, h3 { font-weight: 400; }
.sec-eyebrow, .hero-eyebrow, .cover-label { color: var(--sage); letter-spacing: .3em; }
.person-name, .couple-amp, .closing-names { font-style: italic; color: var(--text); }
/* Bayangan offset ala sketsa */
.card-x, .cd-item, .cover-guest, .gift-card, .g-item, .person-photo, .video-box { border: 1.5px solid var(--line); box-shadow: 5px 5px 0 var(--line); }
.btn-main, .btn-ghost { border: 1.5px solid var(--line); box-shadow: 3px 3px 0 var(--line); }
.btn-main:hover, .btn-ghost:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--line); }
.btn-main:hover { color: var(--btn-color); }
.btn-ghost { color: var(--text); background: var(--surface); }
.oneline { display: block; width: min(240px, 70%); margin: 1rem auto; color: var(--text); }
.sprig { position: absolute; width: 70px; color: var(--sage); pointer-events: none; }
.sprig-l { left: 6%; bottom: 8%; transform: rotate(-12deg); }
.sprig-r { right: 6%; top: 8%; transform: rotate(168deg); }

.cover-photo { display: none; }
.cover-figure { width: min(200px, 56vw); aspect-ratio: 3 / 4; border-radius: 160px 160px 14px 14px; border: 1.5px solid var(--line); box-shadow: 6px 6px 0 var(--sage); }
.cover-figure img { border-radius: inherit; }
.cover-names { font-size: clamp(2.6rem, 12vw, 3.6rem); }
.cover-names .amp, .hero-names .amp { font-style: italic; color: var(--sage); }
.cover-guest { background: var(--surface); border-radius: 14px; }
.hero-bg, .hero-overlay { display: none; }
.hero-names { font-size: clamp(3.2rem, 14vw, 5rem); }
.event-icon { border: 1.5px solid var(--line); color: var(--text); }
.cd-item { background: var(--surface); }
.person-photo img { border-radius: inherit; }
.arabic { color: var(--text); }
.quote-box { background: var(--surface); border: 1.5px solid var(--line); border-radius: 14px; padding: 2rem 1.25rem; }
.gallery-grid { gap: .9rem; }
.g-item { border-radius: 12px; }
.sec-event { background: #f1ede4; }
.gift-bca { --gift-bg: #1f1f1f; --gift-color: #faf7f2; }
.gift-mandiri { --gift-bg: #e5ead9; --gift-color: #1f1f1f; }
.gift-mandiri .gift-chip { background: #1f1f1f; }
.gift-bank { font-family: 'DM Serif Display', serif; font-weight: 400; }
.attend label, .stats div { border: 1.5px solid var(--line); }
.attend input:checked + label { box-shadow: 3px 3px 0 var(--line); background: #e5ead9; }
.wish-avatar { background: #e5ead9; color: var(--text); border: 1.5px solid var(--line); }
.closing { background: #f1ede4; }
.music-btn { border: 1.5px solid var(--line); box-shadow: 3px 3px 0 var(--sage); }
