/* =====================================================================
   Tema Javanese Maroon Royal Heritage — namespace .ti-theme-javanese-maroon-royal-heritage (prefix jmr-)
   "A Timeless Javanese Wedding" · Hybrid 2D watercolor + 3D pre-rendered (tanpa WebGL)
   ===================================================================== */
@font-face { font-family: 'Cinzel'; font-style: normal; font-weight: 400; font-display: swap; src: url(assets/fonts/cinzel-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'Cinzel'; font-style: normal; font-weight: 500; font-display: swap; src: url(assets/fonts/cinzel-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'Cinzel'; font-style: normal; font-weight: 600; font-display: swap; src: url(assets/fonts/cinzel-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 400; font-display: swap; src: url(assets/fonts/cormorant-garamond-latin-400-normal.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 500; font-display: swap; src: url(assets/fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: normal; font-weight: 600; font-display: swap; src: url(assets/fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 400; font-display: swap; src: url(assets/fonts/cormorant-garamond-latin-400-italic.woff2) format('woff2'); }
@font-face { font-family: 'Cormorant Garamond'; font-style: italic; font-weight: 500; font-display: swap; src: url(assets/fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2'); }

.ti-theme-javanese-maroon-royal-heritage {
  --jmr-deep: #2E0D14; --jmr-maroon: #471620; --jmr-burgundy: #641F2C; --jmr-wine: #7B2B3A; --jmr-teak: #39251D; --jmr-brown: #604333;
  --jmr-champ: #D1B06A; --jmr-gold: #B89045; --jmr-ivory: #F7F0E3; --jmr-cream: #E9DDC9; --jmr-sage: #7D8A70; --jmr-ink: #3A1A1F; --jmr-soft: #6E5048;
  --jmr-display: "Cinzel", "Trajan Pro", Georgia, serif;
  --jmr-serif: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
  --jmr-ease: cubic-bezier(.22,.68,.18,1);
  --jmr-k: 1; --jmr-q: 0;
  background: var(--jmr-deep); color: var(--jmr-ivory); font-family: var(--jmr-serif); font-size: 18px; line-height: 1.65;
  font-variant-numeric: lining-nums; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden;
}
.ti-theme-javanese-maroon-royal-heritage h1, .ti-theme-javanese-maroon-royal-heritage h2, .ti-theme-javanese-maroon-royal-heritage h3 { margin: 0; font-weight: 400; }
.ti-theme-javanese-maroon-royal-heritage img { max-width: 100%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-sec, .ti-theme-javanese-maroon-royal-heritage .jmr-shot, .ti-theme-javanese-maroon-royal-heritage .jmr-panel, .ti-theme-javanese-maroon-royal-heritage .jmr-btn, .ti-theme-javanese-maroon-royal-heritage .jmr-countdown, .ti-theme-javanese-maroon-royal-heritage .jmr-gift .ti-gift__card { box-sizing: border-box; }
.ti-theme-javanese-maroon-royal-heritage .jmr-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ti-theme-javanese-maroon-royal-heritage .jmr-center { text-align: center; }

/* ---------- tipografi ---------- */
.ti-theme-javanese-maroon-royal-heritage .jmr-kicker { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 0 0 10px; font-family: var(--jmr-display); font-size: 11px; letter-spacing: .34em; text-transform: uppercase; color: var(--jmr-champ); }
.ti-theme-javanese-maroon-royal-heritage .jmr-kicker::before, .ti-theme-javanese-maroon-royal-heritage .jmr-kicker::after { content: ""; width: 28px; height: 1px; background: linear-gradient(90deg, transparent, var(--jmr-champ)); }
.ti-theme-javanese-maroon-royal-heritage .jmr-kicker::after { background: linear-gradient(90deg, var(--jmr-champ), transparent); }
.ti-theme-javanese-maroon-royal-heritage .jmr-title { font-family: var(--jmr-display); font-weight: 400; font-size: 32px; line-height: 1.2; letter-spacing: .06em; color: var(--jmr-maroon); }
.ti-theme-javanese-maroon-royal-heritage .jmr-title--light { color: var(--jmr-ivory); }
.ti-theme-javanese-maroon-royal-heritage .jmr-head { position: relative; z-index: 3; margin: 0 0 30px; text-align: center; }
.ti-theme-javanese-maroon-royal-heritage .jmr-head__sub { margin: 10px 0 0; font-style: italic; font-size: 19px; color: var(--jmr-soft); }
.ti-theme-javanese-maroon-royal-heritage .jmr-lead { position: relative; z-index: 3; max-width: 360px; margin: 0 auto 36px; font-size: 19px; color: var(--jmr-soft); }
.ti-theme-javanese-maroon-royal-heritage .jmr-lead--light { color: rgba(247,240,227,.82); }
.ti-theme-javanese-maroon-royal-heritage .jmr-label { margin: 0 0 6px; font-family: var(--jmr-display); font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: var(--jmr-gold); }
.ti-theme-javanese-maroon-royal-heritage .jmr-link { font-family: var(--jmr-display); font-size: 12px; letter-spacing: .12em; color: var(--jmr-gold); text-decoration: none; border-bottom: 1px solid rgba(184,144,69,.5); padding-bottom: 2px; }

/* ---------- tombol: maroon + bingkai champagne + teks ivory ---------- */
.ti-theme-javanese-maroon-royal-heritage .jmr-btn,
.ti-theme-javanese-maroon-royal-heritage .ti-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 0 26px; border: 1px solid var(--jmr-champ); border-radius: 2px; background: linear-gradient(180deg, var(--jmr-wine), var(--jmr-maroon)); color: var(--jmr-ivory); font-family: var(--jmr-display); font-weight: 500; font-size: 11.5px; letter-spacing: .24em; text-transform: uppercase; text-decoration: none; cursor: pointer; overflow: hidden; box-shadow: inset 0 0 0 3px rgba(71,22,32,.9), inset 0 0 0 4px rgba(209,176,106,.45), 0 14px 28px -16px rgba(20,4,8,.9); transition: transform .4s var(--jmr-ease), box-shadow .4s, background .4s; -webkit-tap-highlight-color: transparent; }
.ti-theme-javanese-maroon-royal-heritage .jmr-btn::after,
.ti-theme-javanese-maroon-royal-heritage .ti-btn::after { content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, transparent, rgba(240,217,160,.35), transparent); transform: skewX(-18deg); transition: left .9s var(--jmr-ease); pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-btn:hover, .ti-theme-javanese-maroon-royal-heritage .ti-btn:hover { transform: translateY(-2px); }
.ti-theme-javanese-maroon-royal-heritage .jmr-btn:hover::after, .ti-theme-javanese-maroon-royal-heritage .ti-btn:hover::after { left: 120%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-btn:active, .ti-theme-javanese-maroon-royal-heritage .ti-btn:active { transform: scale(.98); }
.ti-theme-javanese-maroon-royal-heritage .jmr-btn:focus-visible, .ti-theme-javanese-maroon-royal-heritage .ti-btn:focus-visible { outline: 2px solid var(--jmr-champ); outline-offset: 3px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-btn--ghost,
.ti-theme-javanese-maroon-royal-heritage .ti-btn--ghost { background: transparent; color: var(--jmr-champ); box-shadow: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ivory .ti-btn--ghost, .ti-theme-javanese-maroon-royal-heritage .jmr-cream .ti-btn--ghost { color: var(--jmr-maroon); border-color: var(--jmr-gold); }

/* ---------- latar, batik, grain ---------- */
.ti-theme-javanese-maroon-royal-heritage .jmr-backdrop { display: none; }
@media (min-width: 560px) {
  .ti-theme-javanese-maroon-royal-heritage .jmr-backdrop { display: block; position: fixed; inset: 0; z-index: 0; background: var(--jmr-deep); }
  .ti-theme-javanese-maroon-royal-heritage .jmr-backdrop img { width: 100%; height: 100%; object-fit: cover; filter: blur(16px) brightness(.55); transform: scale(1.12); }
  .ti-theme-javanese-maroon-royal-heritage .jmr-backdrop::after { content: ""; position: absolute; inset: 0; background: url(assets/img/batik-kawung.svg) 0 0 / 72px 72px; opacity: .07; }
}
.ti-theme-javanese-maroon-royal-heritage .jmr-batik { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .08; background: url(assets/img/batik-kawung.svg) 0 0 / 64px 64px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-batik--parang { background-image: url(assets/img/batik-parang.svg); background-size: 52px 52px; opacity: .09; }
.ti-theme-javanese-maroon-royal-heritage .jmr-batik--truntum { background-image: url(assets/img/batik-truntum.svg); background-size: 60px 60px; opacity: .14; }
.ti-theme-javanese-maroon-royal-heritage .jmr-grain { position: absolute; inset: 0; z-index: 9; pointer-events: none; background: url(assets/img/paper.webp) 0 0 / 320px 320px; mix-blend-mode: multiply; opacity: .22; }

/* ============================ PEMANDANGAN BERLAPIS ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-land { position: absolute; inset: 0; overflow: hidden; pointer-events: none; background: linear-gradient(180deg, #2A0B12 0%, #471620 40%, #3A1712 62%, #1F0C0A 100%); }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly { position: absolute; display: block; max-width: none; height: auto; will-change: transform; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--sky { inset: 0; width: 100%; height: 62%; object-fit: cover; object-position: 50% 100%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--cloud { top: 10%; left: -20%; width: 80%; opacity: .55; animation: jmr-drift 60s ease-in-out infinite alternate; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--rays { top: 0; left: 10%; width: 80%; height: 52%; opacity: .32; mix-blend-mode: screen; animation: jmr-rays 9s ease-in-out infinite alternate; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--mount { left: -16%; width: 132%; top: 33%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--garden { left: -14%; width: 128%; top: 42%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--mist { left: -40%; width: 180%; opacity: .22; mix-blend-mode: screen; animation: jmr-mist 40s ease-in-out infinite alternate; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--mist-a { top: 38%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--mist-b { top: 50%; opacity: .16; animation-duration: 52s; animation-direction: alternate-reverse; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--tree { top: 18%; transform-origin: 50% 100%; opacity: .95; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--tree-l { left: -24%; width: 58%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--tree-r { right: -18%; width: 44%; top: 14%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--midflora { left: -10%; width: 120%; top: 56%; opacity: .55; filter: blur(2px); }
.ti-theme-javanese-maroon-royal-heritage .jmr-joglo { position: absolute; left: 50%; top: 22%; width: 104%; aspect-ratio: 1600 / 1000; margin-left: -52%; will-change: transform; }
.ti-theme-javanese-maroon-royal-heritage .jmr-joglo img { position: absolute; inset: 0; width: 100%; height: 100%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-joglo__glow { position: absolute; left: 22%; right: 22%; top: 48%; bottom: 18%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,196,110,.55), rgba(255,170,80,.18) 60%, rgba(255,170,80,0)); mix-blend-mode: screen; animation: jmr-flicker 5s ease-in-out infinite; }

/* ============================ OPENING / COVER ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-cover { position: fixed; inset: 0; z-index: 40; overflow: hidden; background: var(--jmr-maroon); transition: opacity 1s ease 1.9s, visibility 0s linear 2.9s; }
.ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-cover { opacity: 0; visibility: hidden; pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-stage { --u: max(1vw, .6vh); position: absolute; left: 50%; bottom: 0; width: max(100vw, 60vh); height: max(100vh, 166.667vw); transform: translateX(-50%); overflow: hidden; background: var(--jmr-maroon); }
@supports (height: 100dvh) { .ti-theme-javanese-maroon-royal-heritage .jmr-stage { --u: max(1vw, .6dvh); width: max(100vw, 60dvh); height: max(100dvh, 166.667vw); } }
@media (min-aspect-ratio: 3/4) {
  .ti-theme-javanese-maroon-royal-heritage .jmr-cover { background: var(--jmr-deep); }
  .ti-theme-javanese-maroon-royal-heritage .jmr-stage { --u: .6vh; width: 60vh; height: 100vh; box-shadow: 0 0 120px rgba(0,0,0,.6); }
  @supports (height: 100dvh) { .ti-theme-javanese-maroon-royal-heritage .jmr-stage { --u: .6dvh; width: 60dvh; height: 100dvh; } }
}
/* timeline pembuka: dimulai saat aset siap (.jmr-ready) */
.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover > *, .ti-theme-javanese-maroon-royal-heritage .jmr-cv, .ti-theme-javanese-maroon-royal-heritage .jmr-cover .jmr-particles, .ti-theme-javanese-maroon-royal-heritage .jmr-cover__text > * { opacity: 0; }
.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-ly--sky { animation: jmr-fade 1.4s ease .0s forwards; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-ly--cloud { animation: jmr-fade-to 1.6s ease .3s forwards, jmr-drift 60s ease-in-out 2s infinite alternate; --to: .55; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-ly--mount { animation: jmr-fade 1.4s ease .3s forwards; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-ly--mist { animation: jmr-fade-to 1.6s ease .5s forwards, jmr-mist 40s ease-in-out 2s infinite alternate; --to: .22; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-ly--garden,
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-ly--tree { animation: jmr-fade 1.4s ease .6s forwards; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-ly--midflora { animation: jmr-fade-to 1.4s ease 1.8s forwards; --to: .55; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-joglo { animation: jmr-rise 1.6s var(--jmr-ease) 1s forwards; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-ly--rays { animation: jmr-fade-to 2s ease 1.6s forwards; --to: .32; }
.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-joglo__dark { filter: brightness(.42) saturate(.8); }
.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-joglo__lit, .ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-joglo__glow { opacity: 0; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-joglo__lit { animation: jmr-fade 1.4s ease 1.5s forwards; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover .jmr-joglo__glow { animation: jmr-fade 1.4s ease 1.7s forwards, jmr-flicker 5s ease-in-out 3.1s infinite; }
.ti-theme-javanese-maroon-royal-heritage .jmr-cv { position: absolute; display: block; max-width: none; pointer-events: none; transition: translate 1.8s cubic-bezier(.65,0,.25,1), scale 1.8s cubic-bezier(.65,0,.25,1); }
.ti-theme-javanese-maroon-royal-heritage .jmr-cv--lamp { top: -1.5%; width: 13%; filter: brightness(.35); }
.ti-theme-javanese-maroon-royal-heritage .jmr-cv--lamp-l { left: 6%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-cv--lamp-r { right: 6%; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cv--lamp-l { animation: jmr-fade 1s ease .8s forwards, jmr-lamp-on .8s ease 1.8s forwards, jmr-lamp 4.2s ease-in-out 2.6s infinite; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cv--lamp-r { animation: jmr-fade 1s ease .8s forwards, jmr-lamp-on .8s ease 2.1s forwards, jmr-lamp 4.8s ease-in-out 2.9s infinite; }
.ti-theme-javanese-maroon-royal-heritage .jmr-cv--ronce { top: 0; left: 24%; width: 52%; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cv--ronce { animation: jmr-fade-to 1.4s ease 1.9s forwards; --to: .85; }
.ti-theme-javanese-maroon-royal-heritage .jmr-cv--flora-l { left: -14%; bottom: -4%; width: 66%; filter: blur(8px); }
.ti-theme-javanese-maroon-royal-heritage .jmr-cv--flora-r { right: -15%; bottom: -5%; width: 66%; filter: blur(8px); }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cv--flora-l, .jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cv--flora-r { animation: jmr-unblur 1.5s ease 2s forwards; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cover .jmr-particles { animation: jmr-fade 1.4s ease 2.5s forwards; }
.ti-theme-javanese-maroon-royal-heritage .jmr-cover__text { position: absolute; top: 55%; left: 50%; z-index: 8; width: min(calc(100vw - 56px), 76%); transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; text-align: center; transition: opacity .8s ease, translate 1s var(--jmr-ease); }
.ti-theme-javanese-maroon-royal-heritage .jmr-cover__text::before { content: ""; position: absolute; left: -16%; right: -16%; top: -14%; bottom: -10%; z-index: -1; background: radial-gradient(closest-side, rgba(36,10,14,.62), rgba(36,10,14,0)); }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cover__text > * { animation: jmr-text-in 1.2s var(--jmr-ease) forwards; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cover__text > :nth-child(1) { animation-delay: 2.7s; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cover__text > :nth-child(2) { animation-delay: 2.85s; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cover__text > :nth-child(3) { animation-delay: 3s; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cover__text > :nth-child(4) { animation-delay: 3.2s; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cover__text > :nth-child(5) { animation-delay: 3.35s; }
.jmr-ready.ti-theme-javanese-maroon-royal-heritage .jmr-cover__text > :nth-child(6) { animation-delay: 3.5s; }
/* lewati timeline (tap / aset sudah di-cache) */
.jmr-skip.ti-theme-javanese-maroon-royal-heritage .jmr-cover * { animation-delay: 0s !important; animation-duration: .5s !important; }
.jmr-skip.ti-theme-javanese-maroon-royal-heritage .jmr-cover .jmr-ly--cloud, .jmr-skip.ti-theme-javanese-maroon-royal-heritage .jmr-cover .jmr-ly--mist, .jmr-skip.ti-theme-javanese-maroon-royal-heritage .jmr-cover .jmr-cv--lamp, .jmr-skip.ti-theme-javanese-maroon-royal-heritage .jmr-cover .jmr-joglo__glow, .jmr-skip.ti-theme-javanese-maroon-royal-heritage .jmr-cover .jmr-particles i { animation-duration: 60s, 40s !important; }
.ti-theme-javanese-maroon-royal-heritage .jmr-cover__gunungan { width: calc(var(--u) * 6.6); margin-bottom: calc(var(--u) * 1.2); filter: drop-shadow(0 4px 10px rgba(0,0,0,.4)); }
.ti-theme-javanese-maroon-royal-heritage .jmr-cover .jmr-kicker { font-size: calc(var(--u) * 1.85); margin-bottom: calc(var(--u) * .6); }
.ti-theme-javanese-maroon-royal-heritage .jmr-cover__names { display: flex; flex-direction: column; align-items: center; font-family: var(--jmr-serif); font-style: italic; font-weight: 500; font-size: calc(var(--u) * 9.6); line-height: .98; color: var(--jmr-ivory); text-shadow: 0 2px 22px rgba(0,0,0,.55), 0 0 30px rgba(209,176,106,.25); overflow-wrap: anywhere; }
.ti-theme-javanese-maroon-royal-heritage .jmr-cover__names em { font-size: .5em; line-height: 1.2; color: var(--jmr-champ); }
.ti-theme-javanese-maroon-royal-heritage .jmr-cover__date { margin: calc(var(--u) * 1.6) 0 calc(var(--u) * 2); padding: calc(var(--u) * .8) calc(var(--u) * 1.4); border-top: 1px solid rgba(209,176,106,.6); border-bottom: 1px solid rgba(209,176,106,.6); font-family: var(--jmr-display); font-size: calc(var(--u) * 1.9); letter-spacing: .22em; text-transform: uppercase; color: var(--jmr-champ); }
.ti-theme-javanese-maroon-royal-heritage .jmr-cover__guest { margin-bottom: calc(var(--u) * 2.2); padding: calc(var(--u) * 1.1) calc(var(--u) * 3.2); border: 1px solid rgba(209,176,106,.45); border-radius: 2px; background: rgba(46,13,20,.55); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.ti-theme-javanese-maroon-royal-heritage .jmr-cover__guest:empty { display: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-cover__guest .ti-guest__label { display: block; font-family: var(--jmr-display); font-size: calc(var(--u) * 1.5); letter-spacing: .14em; text-transform: uppercase; color: rgba(247,240,227,.7); }
.ti-theme-javanese-maroon-royal-heritage .jmr-cover__guest .ti-guest__name { display: block; font-family: var(--jmr-serif); font-size: calc(var(--u) * 3.4); line-height: 1.25; color: var(--jmr-ivory); }
.ti-theme-javanese-maroon-royal-heritage .jmr-btn--open { min-height: calc(var(--u) * 8); padding: 0 calc(var(--u) * 4.4); font-size: calc(var(--u) * 1.9); }
.ti-theme-javanese-maroon-royal-heritage .jmr-btn--open svg { color: var(--jmr-champ); }

/* transisi buka: kamera maju ke Joglo, bunga keluar, gebyok masuk dari sisi, kilau emas */
.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover { transform-origin: 50% 36%; transition: transform 2.4s cubic-bezier(.55,0,.2,1), filter 2s ease; }
.ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover { transform: scale(1.32); filter: brightness(1.1); }
.ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-cv--flora-l { translate: -55% 38%; }
.ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-cv--flora-r { translate: 55% 38%; }
.ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-cv--lamp, .ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-cv--ronce { translate: 0 -120%; }
.ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-cover__text { opacity: 0; translate: 0 30px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-gate { position: absolute; top: 0; bottom: 0; z-index: 10; width: 52%; height: 100%; object-fit: cover; object-position: 50% 30%; pointer-events: none; filter: drop-shadow(0 0 30px rgba(0,0,0,.6)); transition: translate 1.3s cubic-bezier(.6,0,.25,1) .45s; }
.ti-theme-javanese-maroon-royal-heritage .jmr-gate--l { left: 0; translate: -105% 0; }
.ti-theme-javanese-maroon-royal-heritage .jmr-gate--r { right: 0; translate: 105% 0; scale: -1 1; }
.ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-gate--l { translate: -8% 0; }
.ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-gate--r { translate: 8% 0; }
.ti-theme-javanese-maroon-royal-heritage .jmr-flash { position: absolute; inset: 0; z-index: 11; pointer-events: none; opacity: 0; background: radial-gradient(60% 45% at 50% 50%, rgba(255,226,160,.85), rgba(209,176,106,.35) 55%, rgba(71,22,32,0)); }
.ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-flash { animation: jmr-flash 1.4s ease 1.55s forwards; }

/* partikel emas */
.ti-theme-javanese-maroon-royal-heritage .jmr-particles { position: absolute; inset: 0; z-index: 7; pointer-events: none; overflow: hidden; }
.ti-theme-javanese-maroon-royal-heritage .jmr-particles i { position: absolute; bottom: 10%; left: calc(var(--n) * 8.3% + 3%); width: 4px; height: 4px; border-radius: 50%; background: radial-gradient(circle, #FFE7AE 0%, rgba(209,176,106,.6) 45%, rgba(209,176,106,0) 70%); opacity: 0; animation: jmr-float calc(9s + var(--n) * .9s) linear calc(var(--n) * -1.3s) infinite; }
.ti-theme-javanese-maroon-royal-heritage .jmr-particles i:nth-child(3n) { width: 6px; height: 6px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-particles i:nth-child(4n+1) { bottom: 30%; }

/* ============================ MAIN ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-main { position: relative; z-index: 1; max-width: 480px; margin: 0 auto; overflow: hidden; overflow: clip; background: var(--jmr-maroon); }
@media (min-width: 560px) { .ti-theme-javanese-maroon-royal-heritage .jmr-main { box-shadow: 0 0 90px rgba(0,0,0,.55); } }
.ti-theme-javanese-maroon-royal-heritage .jmr-sec { position: relative; padding: 96px 26px; text-align: center; }
.ti-theme-javanese-maroon-royal-heritage .jmr-sec > * { position: relative; z-index: 2; }
.ti-theme-javanese-maroon-royal-heritage .jmr-sec > .jmr-batik { position: absolute; z-index: 0; }
.ti-theme-javanese-maroon-royal-heritage .jmr-maroon { background: linear-gradient(180deg, var(--jmr-maroon) 0%, var(--jmr-burgundy) 50%, var(--jmr-maroon) 100%); color: var(--jmr-ivory); }
.ti-theme-javanese-maroon-royal-heritage .jmr-deep { background: radial-gradient(120% 70% at 50% 0%, var(--jmr-burgundy), var(--jmr-maroon) 45%, var(--jmr-deep) 100%); color: var(--jmr-ivory); }
.ti-theme-javanese-maroon-royal-heritage .jmr-ivory { background: var(--jmr-ivory) url(assets/img/paper-ivory.webp) 0 0 / 320px 320px; color: var(--jmr-ink); }
.ti-theme-javanese-maroon-royal-heritage .jmr-cream { background: linear-gradient(180deg, var(--jmr-cream), var(--jmr-ivory) 40%, var(--jmr-cream)); color: var(--jmr-ink); }
.ti-theme-javanese-maroon-royal-heritage .jmr-ivory::before, .ti-theme-javanese-maroon-royal-heritage .jmr-cream::before { content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: 1; height: 10px; background: linear-gradient(90deg, transparent, var(--jmr-gold) 20%, var(--jmr-champ) 50%, var(--jmr-gold) 80%, transparent); opacity: .6; height: 1px; }

/* reveal (JS menambah .jmr-js; elemen tampak → .jmr-in) */
.jmr-js.ti-theme-javanese-maroon-royal-heritage [data-jmr-reveal] { opacity: 0; translate: 0 28px; transition: opacity 1.1s var(--jmr-ease), translate 1.1s var(--jmr-ease); }
.jmr-js.ti-theme-javanese-maroon-royal-heritage [data-jmr-reveal].jmr-in { opacity: 1; translate: 0 0; }

/* ============================ HERO ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-hero { position: relative; height: 180vh; background: var(--jmr-deep); }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__sticky { position: sticky; top: 0; height: 100vh; min-height: 580px; overflow: hidden; }
@supports (height: 100svh) { .ti-theme-javanese-maroon-royal-heritage .jmr-hero__sticky { height: 100svh; } }
/* kamera virtual: lapisan jauh lambat, dekat cepat; Joglo membesar 1 → 1.03+ */
.ti-theme-javanese-maroon-royal-heritage .jmr-land--hero .jmr-ly { translate: 0 calc(var(--jmr-q) * var(--d, 0) * var(--jmr-k) * -160px); }
.ti-theme-javanese-maroon-royal-heritage .jmr-land--hero .jmr-joglo { translate: 0 calc(var(--jmr-q) * var(--jmr-k) * -40px); scale: calc(1.03 + var(--jmr-q) * .09); transform-origin: 50% 70%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-land--hero { transform-origin: 50% 40%; scale: calc(1 + var(--jmr-q) * var(--jmr-k) * .06); }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__ronce { position: absolute; top: 0; left: 18%; width: 64%; z-index: 6; opacity: .9; translate: 0 calc(var(--jmr-q) * var(--jmr-k) * -120px); pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__lamp { position: absolute; top: -1%; z-index: 6; width: 14%; pointer-events: none; translate: 0 calc(var(--jmr-q) * var(--jmr-k) * -140px); animation: jmr-lamp 4.4s ease-in-out infinite; filter: drop-shadow(0 0 14px rgba(255,170,80,.75)); }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__lamp--l { left: 4%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__lamp--r { right: 4%; animation-duration: 5.1s; }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__text { position: absolute; left: 22px; right: 22px; top: 60%; z-index: 8; text-align: center; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-hero__text.jmr-in { translate: 0 calc(var(--jmr-q) * -70px); opacity: calc(1 - var(--jmr-q) * 1.6); }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__text::before { content: ""; position: absolute; inset: -26% -8%; z-index: -1; background: radial-gradient(closest-side, rgba(36,10,14,.7), rgba(36,10,14,0)); }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__names { font-style: italic; font-weight: 500; font-size: clamp(40px, 12.5vw, 58px); line-height: 1.04; color: var(--jmr-ivory); text-shadow: 0 2px 20px rgba(0,0,0,.6); }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__names span { display: inline-block; }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__names em { font-size: .6em; color: var(--jmr-champ); }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__orn { display: block; width: 200px; margin: 10px auto 8px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__date { margin: 0; font-family: var(--jmr-display); font-size: 13px; letter-spacing: .34em; color: var(--jmr-champ); }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__flora { position: absolute; bottom: -5%; z-index: 7; max-width: none; pointer-events: none; transform-origin: 50% 100%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__flora--l { left: -22%; width: 62%; translate: calc(var(--jmr-q) * var(--jmr-k) * -30%) calc(var(--jmr-q) * var(--jmr-k) * 30%); rotate: calc(var(--jmr-q) * -6deg); }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__flora--r { right: -23%; width: 62%; translate: calc(var(--jmr-q) * var(--jmr-k) * 30%) calc(var(--jmr-q) * var(--jmr-k) * 30%); rotate: calc(var(--jmr-q) * 6deg); }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero .jmr-particles i { animation-duration: calc(11s + var(--n) * .9s); }
.ti-theme-javanese-maroon-royal-heritage .jmr-hero__fade { position: absolute; left: 0; right: 0; bottom: 0; z-index: 10; height: 26%; background: linear-gradient(180deg, rgba(71,22,32,0), var(--jmr-maroon)); opacity: calc(.2 + var(--jmr-q) * 1.2); pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-scrollcue { position: absolute; left: 50%; bottom: 16px; z-index: 11; translate: -50% 0; display: flex; flex-direction: column; align-items: center; gap: 8px; font-family: var(--jmr-display); font-size: 9.5px; letter-spacing: .4em; text-transform: uppercase; color: var(--jmr-champ); opacity: calc(.85 - var(--jmr-q) * 5); }
.ti-theme-javanese-maroon-royal-heritage .jmr-scrollcue i { width: 1px; height: 32px; background: linear-gradient(var(--jmr-champ), transparent); animation: jmr-cue 2.2s ease-in-out infinite; transform-origin: 50% 0; }

/* ============================ QUOTE ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-quote { padding-top: 84px; padding-bottom: 90px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-quote__orn { display: block; width: 190px; margin: 0 auto 18px; filter: drop-shadow(0 6px 10px rgba(0,0,0,.4)); }
.ti-theme-javanese-maroon-royal-heritage .jmr-quote__text { max-width: 360px; margin: 0 auto 24px; font-style: italic; font-size: 25px; line-height: 1.5; color: var(--jmr-ivory); }
.ti-theme-javanese-maroon-royal-heritage .jmr-quote__ayat { max-width: 340px; margin: 0 auto 10px; font-size: 16.5px; color: rgba(247,240,227,.7); }
.ti-theme-javanese-maroon-royal-heritage .jmr-quote .jmr-label { color: var(--jmr-champ); }
.ti-theme-javanese-maroon-royal-heritage .jmr-quote__sprig { position: absolute !important; width: 150px; opacity: .95; pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-quote__sprig--l { left: -36px; top: 26px; scale: -1 1; }
.ti-theme-javanese-maroon-royal-heritage .jmr-quote__sprig--r { right: -36px; bottom: 22px; }

/* ============================ MEMPELAI ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-couple .jmr-title { font-size: 34px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-person { position: relative; margin: 0 auto; }
.ti-theme-javanese-maroon-royal-heritage .jmr-portrait { position: relative; width: min(84%, 330px); aspect-ratio: 1100 / 1240; margin: 0 auto; }
.ti-theme-javanese-maroon-royal-heritage .jmr-portrait__shadow { position: absolute; left: 16%; right: 16%; top: 12%; bottom: 3%; border-radius: 50% 50% 6px 6px / 30% 30% 6px 6px; box-shadow: 0 34px 50px -18px rgba(46,13,20,.75); }
.ti-theme-javanese-maroon-royal-heritage .jmr-portrait__photo { position: absolute; left: 25.2%; right: 25.2%; top: 25.7%; bottom: 7.9%; overflow: hidden; border-radius: 50% 50% 0 0 / 31% 31% 0 0; background: linear-gradient(160deg, #5A2630, #2E0D14); }
.ti-theme-javanese-maroon-royal-heritage .jmr-portrait__photo img, .ti-theme-javanese-maroon-royal-heritage .jmr-portrait__photo .jmr-person__img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-portrait__photo .ti-couple-monogram, .ti-theme-javanese-maroon-royal-heritage .jmr-portrait__mono { display: flex; align-items: center; justify-content: center; gap: .08em; width: 100%; height: 100%; font-family: var(--jmr-serif); font-style: italic; font-size: 56px; color: var(--jmr-champ); background: radial-gradient(circle at 50% 40%, #6A2834, #2E0D14); }
.ti-theme-javanese-maroon-royal-heritage .jmr-portrait__frame { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-portrait__spray { position: absolute; left: -6%; bottom: -6%; width: 112%; max-width: none; pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-portrait__line { position: absolute; left: 50%; bottom: -16%; width: 64%; height: 1px; margin-left: -32%; background: linear-gradient(90deg, transparent, var(--jmr-gold), transparent); }
/* urutan: bingkai → bayangan → foto (fade, blur 10px→0, scale 1.05→1) → bunga → garis emas */
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-portrait[data-jmr-reveal] { opacity: 1; translate: 0 0; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-portrait .jmr-portrait__frame { opacity: 0; scale: .96; transition: opacity 1s ease, scale 1.2s var(--jmr-ease); }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-portrait .jmr-portrait__shadow { opacity: 0; transition: opacity 1.2s ease .35s; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-portrait .jmr-portrait__photo { opacity: 0; filter: blur(10px); scale: 1.05; transition: opacity 1.1s ease .6s, filter 1.6s ease .7s, scale 1.8s var(--jmr-ease) .6s; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-portrait .jmr-portrait__spray { opacity: 0; translate: 0 18px; transition: opacity 1s ease 1.25s, translate 1.2s var(--jmr-ease) 1.25s; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-portrait .jmr-portrait__line { scale: 0 1; transition: scale 1.2s var(--jmr-ease) 1.6s; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-portrait.jmr-in .jmr-portrait__frame { opacity: 1; scale: 1; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-portrait.jmr-in .jmr-portrait__shadow { opacity: 1; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-portrait.jmr-in .jmr-portrait__photo { opacity: 1; filter: blur(0); scale: 1; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-portrait.jmr-in .jmr-portrait__spray { opacity: 1; translate: 0 0; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-portrait.jmr-in .jmr-portrait__line { scale: 1 1; }
.ti-theme-javanese-maroon-royal-heritage .jmr-person__info { margin: 50px auto 0; max-width: 340px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-person__role { margin: 0 0 4px; font-family: var(--jmr-display); font-size: 11px; letter-spacing: .32em; text-transform: uppercase; color: var(--jmr-gold); }
.ti-theme-javanese-maroon-royal-heritage .jmr-person__nick { margin: 0; font-style: italic; font-weight: 500; font-size: 54px; line-height: 1; color: var(--jmr-maroon); }
.ti-theme-javanese-maroon-royal-heritage .jmr-person__name { margin: 10px 0 8px; font-family: var(--jmr-display); font-size: 14px; letter-spacing: .12em; line-height: 1.6; color: var(--jmr-ink); }
.ti-theme-javanese-maroon-royal-heritage .jmr-person__parents { margin: 0 0 10px; font-size: 17.5px; line-height: 1.5; color: var(--jmr-soft); }
.ti-theme-javanese-maroon-royal-heritage .jmr-amp { margin: 34px 0 30px; font-style: italic; font-size: 96px; line-height: .8; color: var(--jmr-gold); }

/* ============================ KISAH KITA ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-chapter { position: relative; margin: 0; text-align: center; }
.ti-theme-javanese-maroon-royal-heritage .jmr-chapter__photo { position: relative; width: 82%; margin: 0 auto 26px; padding: 8px; background: #FBF6EC; box-shadow: 0 2px 6px rgba(58,26,31,.12), 0 26px 44px -26px rgba(58,26,31,.7); }
.ti-theme-javanese-maroon-royal-heritage .jmr-chapter__photo::after { content: ""; position: absolute; inset: -9px; border: 1px solid rgba(184,144,69,.6); pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-chapter--alt .jmr-chapter__photo { rotate: 1.2deg; }
.ti-theme-javanese-maroon-royal-heritage .jmr-chapter:not(.jmr-chapter--alt) .jmr-chapter__photo { rotate: -1.2deg; }
.ti-theme-javanese-maroon-royal-heritage .jmr-chapter__photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.ti-theme-javanese-maroon-royal-heritage .jmr-chapter__text h3 { margin: 0 0 10px; font-family: var(--jmr-display); font-size: 22px; letter-spacing: .06em; color: var(--jmr-maroon); }
.ti-theme-javanese-maroon-royal-heritage .jmr-chapter__text p:last-child { max-width: 340px; margin: 0 auto; font-size: 17.5px; color: var(--jmr-soft); }
.ti-theme-javanese-maroon-royal-heritage .jmr-chapter__orn { display: block; width: 130px; margin: 18px auto 0; }
.ti-theme-javanese-maroon-royal-heritage .jmr-chapter--alt .jmr-chapter__orn { scale: -1 1; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-chapter[data-jmr-reveal] { opacity: 1; translate: 0 0; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-chapter .jmr-chapter__photo { opacity: 0; transition: opacity 1.2s ease; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-chapter .jmr-chapter__text { opacity: 0; translate: 0 30px; transition: opacity 1s ease .3s, translate 1.1s var(--jmr-ease) .3s; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-chapter .jmr-chapter__orn { opacity: 0; transition: opacity 1.2s ease .7s; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-chapter.jmr-in .jmr-chapter__photo, .jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-chapter.jmr-in .jmr-chapter__orn { opacity: 1; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-chapter.jmr-in .jmr-chapter__text { opacity: 1; translate: 0 0; }

/* divider batik Kawung — tergambar */
.ti-theme-javanese-maroon-royal-heritage .jmr-divider { max-width: 300px; margin: 46px auto; color: var(--jmr-gold); }
.ti-theme-javanese-maroon-royal-heritage .jmr-divider--light { color: var(--jmr-champ); }
.ti-theme-javanese-maroon-royal-heritage .jmr-divider svg { display: block; width: 100%; height: auto; overflow: visible; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-divider[data-jmr-reveal] { opacity: 1; translate: 0 0; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-divider .jmr-draw, .jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-divider .jmr-draw-k ellipse { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.6s var(--jmr-ease); }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-divider .jmr-draw-k ellipse { transition-delay: .5s; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-divider.jmr-in .jmr-draw, .jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-divider.jmr-in .jmr-draw-k ellipse { stroke-dashoffset: 0; }

/* ============================ COUNTDOWN ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-count__gunungan { display: block; width: 74px; margin: 0 auto 18px; filter: drop-shadow(0 8px 12px rgba(0,0,0,.45)); }
.ti-theme-javanese-maroon-royal-heritage .jmr-countdown { display: flex; justify-content: center; align-items: flex-start; margin: 0 auto; max-width: 380px; padding: 22px 4px; border-top: 1px solid rgba(209,176,106,.5); border-bottom: 1px solid rgba(209,176,106,.5); }
.ti-theme-javanese-maroon-royal-heritage .jmr-countdown .ti-countdown__item { position: relative; flex: 1 1 0; min-width: 0; width: auto; padding: 0 4px; border: 0; border-radius: 0; background: none; box-shadow: none; text-align: center; }
.ti-theme-javanese-maroon-royal-heritage .jmr-countdown .ti-countdown__item + .ti-countdown__item::before { content: "\2756"; position: absolute; left: -5px; top: 18px; font-size: 9px; color: var(--jmr-gold); }
.ti-theme-javanese-maroon-royal-heritage .jmr-countdown .ti-countdown__num { display: block; font-family: var(--jmr-serif); font-weight: 500; font-size: 52px; line-height: 1; color: var(--jmr-ivory); font-variant-numeric: lining-nums tabular-nums; text-shadow: 0 0 24px rgba(209,176,106,.25); }
.ti-theme-javanese-maroon-royal-heritage .jmr-countdown .ti-countdown__label { display: block; margin-top: 10px; font-family: var(--jmr-display); font-size: 9.5px; letter-spacing: .26em; text-transform: uppercase; color: var(--jmr-champ); }
.ti-theme-javanese-maroon-royal-heritage .jmr-count__date { margin: 22px 0 0; font-family: var(--jmr-display); font-size: 12px; letter-spacing: .26em; text-transform: uppercase; color: var(--jmr-champ); }

/* ============================ HARI BAHAGIA ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-events { padding-top: 110px; overflow: hidden; }
.ti-theme-javanese-maroon-royal-heritage .jmr-events__arch { position: absolute !important; z-index: 1 !important; left: 50%; top: 40px; width: 150%; max-width: none; margin-left: -75%; opacity: .22; filter: saturate(.8); translate: 0 calc((var(--jmr-q) - .5) * var(--jmr-k) * 80px); pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-events__lamp { position: absolute !important; top: -6px; width: 56px; z-index: 2; filter: drop-shadow(0 0 12px rgba(255,170,80,.7)); animation: jmr-lamp 4.6s ease-in-out infinite; pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-events__lamp--l { left: 14px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-events__lamp--r { right: 14px; animation-duration: 5.3s; }
.ti-theme-javanese-maroon-royal-heritage .jmr-event { padding: 6px 0; }
.ti-theme-javanese-maroon-royal-heritage .jmr-event__name { margin: 0 0 16px; font-family: var(--jmr-display); font-size: 17px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--jmr-champ); }
.ti-theme-javanese-maroon-royal-heritage .jmr-event__day { margin: 0; font-style: italic; font-size: 24px; color: rgba(247,240,227,.82); }
.ti-theme-javanese-maroon-royal-heritage .jmr-event__date { margin: 0; font-size: 34px; line-height: 1.15; color: var(--jmr-ivory); }
.ti-theme-javanese-maroon-royal-heritage .jmr-event__date span { font-size: 1.7em; color: var(--jmr-champ); vertical-align: -.08em; }
.ti-theme-javanese-maroon-royal-heritage .jmr-event__time { display: inline-block; margin: 14px 0 12px; padding: 6px 4px; font-family: var(--jmr-display); font-size: 13px; letter-spacing: .2em; color: var(--jmr-ivory); border-top: 1px solid rgba(209,176,106,.5); border-bottom: 1px solid rgba(209,176,106,.5); }
.ti-theme-javanese-maroon-royal-heritage .jmr-event__venue { margin: 0; font-size: 20px; color: rgba(247,240,227,.85); }

/* ============================ LOKASI ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-venue { padding-top: 60px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-venue__joglo { display: block; width: 92%; margin: 0 auto 34px; filter: drop-shadow(0 20px 22px rgba(58,26,31,.35)); }
.ti-theme-javanese-maroon-royal-heritage .jmr-place { max-width: 360px; margin: 0 auto; }
.ti-theme-javanese-maroon-royal-heritage .jmr-place__name { font-family: var(--jmr-display); font-size: 22px; letter-spacing: .05em; line-height: 1.3; color: var(--jmr-maroon); }
.ti-theme-javanese-maroon-royal-heritage .jmr-place__addr { margin: 10px auto 20px; font-size: 17.5px; color: var(--jmr-soft); }
.ti-theme-javanese-maroon-royal-heritage .jmr-place__act { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-place__act > * { margin: 0; }

/* ============================ VIDEO ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-video__frame { padding: 8px; background: var(--jmr-teak); box-shadow: 0 26px 46px -26px rgba(46,13,20,.8); outline: 1px solid rgba(184,144,69,.7); outline-offset: 6px; }

/* ============================ GALERI ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-gallery { padding-left: 18px; padding-right: 18px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-collage { display: flex; flex-wrap: wrap; align-items: flex-start; padding-bottom: 20px; perspective: 1000px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-shot { position: relative; z-index: 1; display: block; padding: 5px; background: #FBF6EC; box-shadow: 0 2px 6px rgba(58,26,31,.1), 0 22px 34px -22px rgba(58,26,31,.6); text-decoration: none; transition: scale .6s var(--jmr-ease), box-shadow .6s ease; }
.ti-theme-javanese-maroon-royal-heritage .jmr-shot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ti-theme-javanese-maroon-royal-heritage .jmr-shot:hover { scale: 1.03; z-index: 5; }
.ti-theme-javanese-maroon-royal-heritage .jmr-shot--feature { padding: 7px; background: linear-gradient(135deg, #EAD7A0, #B89045 45%, #E6CC8C 70%, #9C7638); box-shadow: inset 0 0 0 1px rgba(255,240,200,.6), 0 4px 10px rgba(58,26,31,.18), 0 34px 46px -26px rgba(46,13,20,.8); }
.ti-theme-javanese-maroon-royal-heritage .jmr-shot--feature::after { content: ""; position: absolute; inset: 7px; box-shadow: inset 0 0 0 1px rgba(71,22,32,.5), inset 0 0 24px rgba(46,13,20,.35); pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-shot--0 { width: 70%; aspect-ratio: 3 / 4; transform: rotateY(6deg); transform-origin: 0 50%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-shot--1 { width: 44%; aspect-ratio: 1 / 1; margin: 36% 0 0 -14.2%; z-index: 2; rotate: 2deg; }
.ti-theme-javanese-maroon-royal-heritage .jmr-shot--2 { width: 86%; aspect-ratio: 4 / 3; margin: -6% 0 0 7%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-shot--3 { width: 54%; aspect-ratio: 2 / 3; margin: -4% 0 0 0; z-index: 2; transform: rotateY(-7deg); transform-origin: 100% 50%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-shot--4 { width: 52%; aspect-ratio: 1 / 1; margin: 26% 0 0 -6.2%; z-index: 3; rotate: 1.5deg; }
.ti-theme-javanese-maroon-royal-heritage .jmr-shot--5 { width: 78%; aspect-ratio: 3 / 2; margin: -8% 0 26px 16%; z-index: 2; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-shot[data-jmr-reveal] { translate: 0 50px; transition: opacity 1.1s ease, translate 1.3s var(--jmr-ease), scale .6s var(--jmr-ease); }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-shot--0[data-jmr-reveal], .jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-shot--3[data-jmr-reveal] { translate: -50px 0; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-shot--1[data-jmr-reveal], .jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-shot--4[data-jmr-reveal] { translate: 50px 0; transition-delay: .15s; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-shot[data-jmr-reveal].jmr-in { translate: 0 0; }
/* lightbox (sistem core): latar maroon, garis emas, fade */
.ti-theme-javanese-maroon-royal-heritage .ti-lightbox { background: rgba(36,10,14,.95) !important; animation: jmr-fade .5s ease; }
.ti-theme-javanese-maroon-royal-heritage .ti-lightbox img { outline: 1px solid rgba(209,176,106,.65); outline-offset: 10px; box-shadow: 0 30px 60px rgba(0,0,0,.6); }

/* ============================ PANEL (RSVP / ucapan) ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-panel { position: relative; z-index: 2; padding: 42px 22px 28px; text-align: left; background: var(--jmr-ivory) url(assets/img/paper-ivory.webp) 0 0 / 320px 320px; color: var(--jmr-maroon); border: 1px solid var(--jmr-champ); border-radius: 2px; box-shadow: 0 34px 60px -34px rgba(0,0,0,.75); }
.ti-theme-javanese-maroon-royal-heritage .jmr-panel::before { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(184,144,69,.4); pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-panel__orn { position: absolute; top: -12px; left: 50%; width: 170px; margin-left: -85px; padding: 0 12px; background: var(--jmr-burgundy); }
.ti-theme-javanese-maroon-royal-heritage .jmr-panel--ivory .jmr-panel__orn { background: var(--jmr-ivory); }
.ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-field { margin-bottom: 18px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-field label, .ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-field legend { display: block; margin-bottom: 6px; font-family: var(--jmr-display); font-weight: 500; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--jmr-gold); }
.ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-field input[type="text"], .ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-field input[type="number"], .ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-field input[type="tel"], .ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-field select, .ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-field textarea { width: 100%; box-sizing: border-box; padding: 10px 2px; border: 0; border-bottom: 1px solid rgba(71,22,32,.3); border-radius: 0; background: transparent; font-family: var(--jmr-serif); font-size: 18px; color: var(--jmr-maroon); box-shadow: none; transition: border-color .4s; }
.ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-field input:focus, .ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-field select:focus, .ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-field textarea:focus { outline: none; border-bottom-color: var(--jmr-gold); }
.ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-choice span { font-family: var(--jmr-display); font-size: 11px; letter-spacing: .12em; border: 1px solid rgba(184,144,69,.6); border-radius: 2px; background: transparent; color: var(--jmr-maroon); transition: background .3s, color .3s; }
.ti-theme-javanese-maroon-royal-heritage .jmr-panel .ti-choice input:checked + span { background: var(--jmr-maroon); border-color: var(--jmr-maroon); color: var(--jmr-ivory); }
.ti-theme-javanese-maroon-royal-heritage .jmr-panel form .ti-btn--primary, .ti-theme-javanese-maroon-royal-heritage .jmr-panel form button[type="submit"] { width: 100%; min-height: 52px; }
.ti-theme-javanese-maroon-royal-heritage .ti-guestbook__item { background: rgba(233,221,201,.6); color: var(--jmr-ink); border-left: 2px solid var(--jmr-gold); border-radius: 0 2px 2px 0; }

/* ============================ HADIAH: kotak kayu 3D ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-giftbox { position: relative; width: 250px; aspect-ratio: 1000 / 800; margin: -10px auto 18px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-giftbox img { position: absolute; inset: 0; width: 100%; height: 100%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-giftbox__glow { position: absolute; left: 20%; right: 20%; top: 18%; height: 40%; border-radius: 50%; background: radial-gradient(closest-side, rgba(255,214,140,.9), rgba(209,176,106,0)); opacity: 0; transition: opacity 1.2s ease 1s; }
.ti-theme-javanese-maroon-royal-heritage .jmr-giftbox__lid { transition: translate 1.3s var(--jmr-ease) .5s, rotate 1.3s var(--jmr-ease) .5s; transform-origin: 30% 60%; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-giftbox.jmr-in .jmr-giftbox__lid { translate: 4% -22%; rotate: -7deg; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-giftbox.jmr-in .jmr-giftbox__glow { opacity: 1; }
.jmr-js.ti-theme-javanese-maroon-royal-heritage .jmr-giftwrap[data-jmr-reveal] { transition-delay: .5s; }
.ti-theme-javanese-maroon-royal-heritage .jmr-gift .ti-gift__card { position: relative; padding: 32px 22px 26px; background: #FBF6EC; color: var(--jmr-ink); overflow: hidden; border: 1px solid var(--jmr-champ); border-radius: 2px; box-shadow: inset 0 0 0 5px #FBF6EC, inset 0 0 0 6px rgba(184,144,69,.45), 0 24px 40px -28px rgba(46,13,20,.8); }
.ti-theme-javanese-maroon-royal-heritage .jmr-gift .ti-gift__card::before { content: ""; position: absolute; inset: 0; background: url(assets/img/batik-truntum.svg) 0 0 / 60px 60px; opacity: .1; pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-gift .ti-gift__card > * { position: relative; }
.ti-theme-javanese-maroon-royal-heritage .jmr-gift .ti-gift__bank { font-family: var(--jmr-display); font-size: 13px; letter-spacing: .24em; text-transform: uppercase; color: var(--jmr-gold); }

/* ============================ PENUTUP (malam) ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-closing { position: relative; height: 100vh; min-height: 660px; max-height: 920px; overflow: hidden; background: #160609; }
.ti-theme-javanese-maroon-royal-heritage .jmr-land--night { background: linear-gradient(180deg, #160609 0%, #2A0C12 45%, #1A0A0B 70%, #0E0506 100%); transform-origin: 50% 40%; scale: calc(1.18 - min(var(--jmr-q) * 1.6, 1) * .18); }
.ti-theme-javanese-maroon-royal-heritage .jmr-land--night .jmr-ly { translate: 0 calc((var(--jmr-q) - .5) * var(--d, 0) * var(--jmr-k) * -140px); }
.ti-theme-javanese-maroon-royal-heritage .jmr-land--night .jmr-ly--rays { display: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-land--night .jmr-joglo { top: 24%; }
.ti-theme-javanese-maroon-royal-heritage .jmr-land--night .jmr-joglo__glow { background: radial-gradient(closest-side, rgba(255,186,96,.7), rgba(255,160,70,.2) 60%, rgba(255,160,70,0)); }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing::before { content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: 5; height: 16%; background: linear-gradient(var(--jmr-cream), rgba(233,221,201,0)); opacity: .0; }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__ronce { position: absolute; top: 0; left: 15%; width: 70%; z-index: 6; opacity: .9; pointer-events: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__text { position: absolute; top: 60%; left: 26px; right: 26px; z-index: 8; text-align: center; }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__text::before { content: ""; position: absolute; inset: -18% -8%; z-index: -1; background: radial-gradient(closest-side, rgba(20,6,9,.75), rgba(20,6,9,0)); }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__gunungan { display: block; width: 46px; margin: 0 auto 10px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__msg { max-width: 330px; margin: 0 auto 14px; font-style: italic; font-size: 17.5px; color: rgba(247,240,227,.85); }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__thanks { margin: 0; font-family: var(--jmr-display); font-size: 15px; letter-spacing: .4em; text-transform: uppercase; color: var(--jmr-champ); }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__names { margin: 6px 0 0; font-style: italic; font-weight: 500; font-size: clamp(38px, 11vw, 52px); line-height: 1.05; color: var(--jmr-ivory); text-shadow: 0 0 26px rgba(209,176,106,.3); }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__names span { display: inline-block; }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__names em { font-size: .6em; color: var(--jmr-champ); }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__flora { position: absolute; bottom: -6%; z-index: 7; max-width: none; pointer-events: none; filter: brightness(.7) saturate(.9); }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__flora--l { left: -24%; width: 60%; translate: 0 calc((1 - min(var(--jmr-q) * 1.8, 1)) * 40%); }
.ti-theme-javanese-maroon-royal-heritage .jmr-closing__flora--r { right: -25%; width: 60%; translate: 0 calc((1 - min(var(--jmr-q) * 1.8, 1)) * 46%); }
.ti-theme-javanese-maroon-royal-heritage .jmr-footer { position: relative; z-index: 1; padding: 22px 16px 30px; text-align: center; background: #0E0506; color: rgba(209,176,106,.75); font-family: var(--jmr-display); font-size: 10px; letter-spacing: .3em; text-transform: uppercase; border-top: 1px solid rgba(209,176,106,.3); }

/* ============================ NAVIGASI MENGAMBANG ============================ */
.ti-theme-javanese-maroon-royal-heritage .jmr-nav { position: fixed; left: max(14px, calc(50% - 226px)); bottom: 18px; z-index: 36; opacity: 0; visibility: hidden; transition: opacity .8s ease 2.9s, visibility 0s linear 2.9s; }
.ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-nav { opacity: 1; visibility: visible; }
.ti-theme-javanese-maroon-royal-heritage .jmr-nav__toggle { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(209,176,106,.75); border-radius: 50%; background: rgba(71,22,32,.92); box-shadow: 0 10px 22px -10px rgba(0,0,0,.8); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.ti-theme-javanese-maroon-royal-heritage .jmr-nav__icon { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-nav__icon i { display: block; width: 16px; height: 1px; background: var(--jmr-champ); transition: transform .4s var(--jmr-ease), opacity .3s; }
.ti-theme-javanese-maroon-royal-heritage .jmr-nav__icon i:nth-child(2) { width: 10px; }
.ti-theme-javanese-maroon-royal-heritage .jmr-nav.is-open .jmr-nav__icon i:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.ti-theme-javanese-maroon-royal-heritage .jmr-nav.is-open .jmr-nav__icon i:nth-child(2) { opacity: 0; }
.ti-theme-javanese-maroon-royal-heritage .jmr-nav.is-open .jmr-nav__icon i:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
.ti-theme-javanese-maroon-royal-heritage .jmr-nav__menu { position: absolute; left: 0; bottom: 56px; min-width: 168px; margin: 0; padding: 10px 6px; list-style: none; background: rgba(46,13,20,.94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(209,176,106,.55); border-radius: 2px; box-shadow: 0 20px 40px -20px rgba(0,0,0,.8); opacity: 0; visibility: hidden; translate: 0 10px; transition: opacity .35s ease, translate .45s var(--jmr-ease), visibility 0s linear .45s; }
.ti-theme-javanese-maroon-royal-heritage .jmr-nav.is-open .jmr-nav__menu { opacity: 1; visibility: visible; translate: 0 0; transition: opacity .35s ease, translate .45s var(--jmr-ease); }
.ti-theme-javanese-maroon-royal-heritage .jmr-nav__menu a { display: block; padding: 9px 14px; font-family: var(--jmr-display); font-size: 11px; letter-spacing: .22em; text-transform: uppercase; color: var(--jmr-ivory); text-decoration: none; }
.ti-theme-javanese-maroon-royal-heritage .jmr-nav__menu a:hover, .ti-theme-javanese-maroon-royal-heritage .jmr-nav__menu a:focus-visible { background: rgba(209,176,106,.15); color: var(--jmr-champ); outline: none; }

/* ============================ MUSIK & TOAST (sistem existing, tampilan saja) ============================ */
.ti-theme-javanese-maroon-royal-heritage .ti-music, .ti-theme-javanese-maroon-royal-heritage .ti-music-btn, .ti-theme-javanese-maroon-royal-heritage .ti-music-toggle, .ti-theme-javanese-maroon-royal-heritage [data-ti-music-toggle] { width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(209,176,106,.75); background: rgba(71,22,32,.92); color: var(--jmr-champ); box-shadow: 0 10px 22px -10px rgba(0,0,0,.8); }
.ti-theme-javanese-maroon-royal-heritage .ti-toast { background: var(--jmr-maroon); color: var(--jmr-ivory); border: 1px solid var(--jmr-champ); border-radius: 2px; font-family: var(--jmr-display); font-size: 12px; letter-spacing: .1em; box-shadow: 0 18px 36px -18px rgba(0,0,0,.8); }

/* ============================ KEYFRAMES ============================ */
@keyframes jmr-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes jmr-fade-to { from { opacity: 0; } to { opacity: var(--to, 1); } }
@keyframes jmr-rise { from { opacity: 0; transform: translate3d(0, 4%, 0) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes jmr-unblur { from { opacity: 0; filter: blur(8px); } to { opacity: 1; filter: blur(0); } }
@keyframes jmr-text-in { from { opacity: 0; transform: translate3d(0, 18px, 0); filter: blur(6px); } to { opacity: 1; transform: none; filter: blur(0); } }
@keyframes jmr-lamp-on { from { filter: brightness(.35); } to { filter: brightness(1) drop-shadow(0 0 16px rgba(255,170,80,.8)); } }
@keyframes jmr-lamp { 0%, 100% { filter: brightness(1) drop-shadow(0 0 14px rgba(255,170,80,.75)); } 45% { filter: brightness(.94) drop-shadow(0 0 10px rgba(255,160,70,.6)); } 70% { filter: brightness(1.04) drop-shadow(0 0 18px rgba(255,180,90,.8)); } }
@keyframes jmr-flicker { 0%, 100% { opacity: 1; } 40% { opacity: .86; } 65% { opacity: .96; } }
@keyframes jmr-drift { from { transform: translate3d(-4%, 0, 0); } to { transform: translate3d(8%, 0, 0); } }
@keyframes jmr-mist { from { transform: translate3d(-6%, 0, 0); } to { transform: translate3d(6%, 0, 0); } }
@keyframes jmr-rays { from { opacity: .22; } to { opacity: .4; } }
@keyframes jmr-float { 0% { transform: translate3d(0, 0, 0); opacity: 0; } 15% { opacity: .9; } 85% { opacity: .5; } 100% { transform: translate3d(18px, -46vh, 0); opacity: 0; } }
@keyframes jmr-flash { 0% { opacity: 0; } 35% { opacity: .9; } 100% { opacity: 0; } }
@keyframes jmr-cue { 0% { transform: scaleY(0); opacity: 0; } 40% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(1) translateY(10px); opacity: 0; } }

/* ============================ RESPONSIVE ============================ */
@media (max-width: 599px) {
  .ti-theme-javanese-maroon-royal-heritage { --jmr-k: .6; }
  .ti-theme-javanese-maroon-royal-heritage .jmr-particles i:nth-child(n+7) { display: none; }
  .ti-theme-javanese-maroon-royal-heritage .jmr-ly--midflora { filter: none; opacity: .4; }
  .ti-theme-javanese-maroon-royal-heritage .jmr-ly--mist-b { display: none; }
}
@media (max-width: 374px) {
  .ti-theme-javanese-maroon-royal-heritage .jmr-sec { padding-left: 20px; padding-right: 20px; }
  .ti-theme-javanese-maroon-royal-heritage .jmr-title { font-size: 27px; }
  .ti-theme-javanese-maroon-royal-heritage .jmr-countdown .ti-countdown__num { font-size: 42px; }
  .ti-theme-javanese-maroon-royal-heritage .jmr-person__nick { font-size: 46px; }
}

/* ============================ REDUCED MOTION ============================ */
@media (prefers-reduced-motion: reduce) {
  .ti-theme-javanese-maroon-royal-heritage { --jmr-k: 0; --jmr-q: 0 !important; }
  .ti-theme-javanese-maroon-royal-heritage .jmr-particles, .ti-theme-javanese-maroon-royal-heritage .jmr-scrollcue, .ti-theme-javanese-maroon-royal-heritage .jmr-gate, .ti-theme-javanese-maroon-royal-heritage .jmr-flash { display: none; }
  .ti-theme-javanese-maroon-royal-heritage *, .ti-theme-javanese-maroon-royal-heritage *::before, .ti-theme-javanese-maroon-royal-heritage *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; animation-delay: 0s !important; }
  .ti-theme-javanese-maroon-royal-heritage .jmr-hero { height: auto; }
  .ti-theme-javanese-maroon-royal-heritage .jmr-hero__sticky { position: relative; }
  .ti-opened.ti-theme-javanese-maroon-royal-heritage .jmr-land--cover { transform: none; }
  .jmr-js.ti-theme-javanese-maroon-royal-heritage [data-jmr-reveal], .jmr-js.ti-theme-javanese-maroon-royal-heritage [data-jmr-reveal] * { transition-duration: .3s !important; transition-delay: 0s !important; }
}

/* sambungan lapisan tanpa tepi keras */
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--garden { -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%); mask-image: linear-gradient(180deg, #000 55%, transparent 100%); }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--midflora { -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 35%, #000 60%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0%, #000 35%, #000 60%, transparent 100%); }
.ti-theme-javanese-maroon-royal-heritage .jmr-ly--mist { -webkit-mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent); mask-image: linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent); }
