/* Tema Sekar Kedhaton — namespace .ti-theme-sekar-kedhaton (Premium · Adat Jawa keraton: beludru hitam, prada emas, gunungan, pendopo) */
.ti-theme-sekar-kedhaton {
  --sk-black: #0D0907; --sk-velvet: #1A120C; --sk-brown: #2B1D13; --sk-gold: #C9A04B; --sk-gold-d: #8E6A26; --sk-gold-l: #F1D896; --sk-red: #7E1F1F; --sk-red-d: #4A0E0E;
  --sk-ivory: #F8F1E2; --sk-cream: #FBF6EA; --sk-ink: #2E2117; --sk-soft: #6E5D4C;
  --ti-ease: cubic-bezier(.2,.7,.2,1);
  background: var(--sk-ivory); color: var(--sk-ink); font-family: "Cormorant Garamond", Georgia, serif; font-size: 19px; line-height: 1.65;
}
.ti-theme-sekar-kedhaton h1, .ti-theme-sekar-kedhaton h2, .ti-theme-sekar-kedhaton h3 { margin: 0; font-weight: 400; }
.ti-theme-sekar-kedhaton .sk-script { font-family: "Great Vibes", "Brush Script MT", cursive; font-weight: 400; line-height: 1.15; }
.ti-theme-sekar-kedhaton .sk-eyebrow { font-family: "Marcellus", Georgia, serif; letter-spacing: .34em; text-transform: uppercase; margin: 0 0 8px; }
.ti-theme-sekar-kedhaton .sk-caps { font-family: "Marcellus", Georgia, serif; font-size: 13px; letter-spacing: .28em; text-transform: uppercase; margin: 0 0 10px; }
.ti-theme-sekar-kedhaton .sk-gold { color: var(--sk-gold-d); }
.ti-theme-sekar-kedhaton .sk-text { color: var(--sk-soft); max-width: 420px; margin: 0 auto 22px; }
.ti-theme-sekar-kedhaton .sk-text--sm { font-size: 16.5px; margin-bottom: 8px; }
.ti-theme-sekar-kedhaton .sk-text--light { color: rgba(251,246,234,.84); }
.ti-theme-sekar-kedhaton .sk-divider { display: block; width: 230px; max-width: 72%; margin: 6px auto 14px; }
.ti-theme-sekar-kedhaton .sk-shine { background: linear-gradient(110deg, #B8893A 0%, #F3DC98 38%, #FFF8E2 50%, #F3DC98 62%, #B8893A 100%); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; animation: sk-shine 6s linear infinite; }
.ti-theme-sekar-kedhaton .sk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 46px; padding: 10px 26px; border-radius: 999px; border: 1px solid var(--sk-gold); background: linear-gradient(180deg, #3A2618, var(--sk-black)); color: var(--sk-gold-l); font-family: "Marcellus", Georgia, serif; font-size: 15px; letter-spacing: .08em; cursor: pointer; text-decoration: none; box-shadow: inset 0 0 0 3px var(--sk-black), inset 0 0 0 4px rgba(241,216,150,.45), 0 14px 28px -12px rgba(0,0,0,.85); transition: transform .3s, filter .3s; }
.ti-theme-sekar-kedhaton .sk-btn:hover { transform: translateY(-2px); filter: brightness(1.15); }
.ti-theme-sekar-kedhaton .sk-btn--ghost { background: transparent; box-shadow: none; border-color: rgba(241,216,150,.6); }

/* Latar desktop */
.ti-theme-sekar-kedhaton .sk-backdrop { display: none; }
@media (min-width: 560px) {
  .ti-theme-sekar-kedhaton .sk-backdrop { display: block; position: fixed; inset: 0; z-index: 0; background: radial-gradient(70% 60% at 50% 30%, #3A2718 0%, #160F0A 60%, #070504 100%); }
  .ti-theme-sekar-kedhaton .sk-backdrop::after { content: ""; position: absolute; inset: 0; background: url(assets/img/parang.svg) 0 0 / 64px 64px; opacity: .1; }
}

/* =============================== BINGKAI PAGELARAN (dipakai ulang) =============================== */
.ti-theme-sekar-kedhaton .sk-l { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ti-theme-sekar-kedhaton .sk-velvet { object-fit: cover; }
.ti-theme-sekar-kedhaton .sk-batik { background: url(assets/img/parang.svg) 0 0 / calc(var(--u, 4px) * 11) calc(var(--u, 4px) * 11); opacity: .09; -webkit-mask: radial-gradient(90% 70% at 50% 40%, #000 30%, transparent 100%); mask: radial-gradient(90% 70% at 50% 40%, #000 30%, transparent 100%); }
.ti-theme-sekar-kedhaton .sk-light { position: absolute; left: -10%; right: -10%; top: 6%; height: 90%; pointer-events: none; background: radial-gradient(48% 52% at 50% 3%, rgba(255,204,120,.42) 0%, rgba(255,170,80,.16) 45%, rgba(255,170,80,0) 75%); mix-blend-mode: screen; animation: sk-flicker 3.2s steps(1) infinite, sk-glow 4.6s ease-in-out infinite alternate; }
.ti-theme-sekar-kedhaton .sk-janur { position: absolute; top: -1%; width: 40%; pointer-events: none; transform-origin: 0 100%; }
.ti-theme-sekar-kedhaton .sk-janur img { width: 100%; display: block; transform-origin: 6% 96%; animation: sk-janur 7s ease-in-out infinite alternate; }
.ti-theme-sekar-kedhaton .sk-janur--l { left: -3%; }
.ti-theme-sekar-kedhaton .sk-janur--r { right: -3%; transform: scaleX(-1); transform-origin: 50% 50%; }
.ti-theme-sekar-kedhaton .sk-janur--r img { animation-delay: -3s; }
.ti-theme-sekar-kedhaton .sk-strands { position: absolute; inset: 0; pointer-events: none; }
.ti-theme-sekar-kedhaton .sk-strands img { position: absolute; top: -1.5%; left: var(--x); height: var(--h); width: auto; translate: -50% 0; transform-origin: 50% 0; animation: sk-strand calc(4.2s + var(--n) * .45s) ease-in-out calc(var(--n) * -.9s) infinite alternate; filter: drop-shadow(0 2px 3px rgba(0,0,0,.5)); }
.ti-theme-sekar-kedhaton .sk-blencong { position: absolute; left: 37%; width: 26%; top: .6%; pointer-events: none; z-index: 2; }
.ti-theme-sekar-kedhaton .sk-blencong__lamp { width: 100%; display: block; filter: drop-shadow(0 6px 10px rgba(0,0,0,.6)); animation: sk-swing 6s ease-in-out infinite alternate; transform-origin: 50% 0; }
.ti-theme-sekar-kedhaton .sk-flame { position: absolute; left: 41.5%; width: 17%; top: 38%; transform-origin: 50% 96%; animation: sk-flame .18s ease-in-out infinite alternate, sk-flame-sway 2.6s ease-in-out infinite alternate; filter: drop-shadow(0 0 10px rgba(255,190,90,.9)); }

/* =============================== COVER =============================== */
.ti-theme-sekar-kedhaton .sk-cover { position: fixed; inset: 0; z-index: 40; overflow: hidden; background: var(--sk-black); transition: opacity 1.1s ease 2.5s, visibility 0s linear 3.7s; }
.ti-opened.ti-theme-sekar-kedhaton .sk-cover { opacity: 0; visibility: hidden; pointer-events: none; }
.ti-theme-sekar-kedhaton .sk-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(--sk-black); }
@supports (height: 100dvh) { .ti-theme-sekar-kedhaton .sk-stage { --u: max(1vw, .6dvh); width: max(100vw, 60dvh); height: max(100dvh, 166.667vw); } }
@media (min-aspect-ratio: 3/4) {
  .ti-theme-sekar-kedhaton .sk-cover { background: #050302; }
  .ti-theme-sekar-kedhaton .sk-stage { --u: .6vh; width: 60vh; height: 100vh; box-shadow: 0 0 90px rgba(0,0,0,.7); }
  @supports (height: 100dvh) { .ti-theme-sekar-kedhaton .sk-stage { --u: .6dvh; width: 60dvh; height: 100dvh; } }
}
.ti-theme-sekar-kedhaton .sk-cover .sk-velvet { transition: transform 2.4s cubic-bezier(.6,0,.3,1) 1s; }
.ti-theme-sekar-kedhaton .sk-cover .sk-janur { animation: sk-janur-in 1.8s cubic-bezier(.2,.7,.2,1) .1s both; transition: translate 1.8s cubic-bezier(.65,0,.25,1) .35s, rotate 1.8s cubic-bezier(.65,0,.25,1) .35s, opacity 1s ease 1s; }
.ti-theme-sekar-kedhaton .sk-cover .sk-strands img { animation: sk-drop 1.6s cubic-bezier(.3,1.3,.5,1) calc(.3s + var(--n) * .12s) both, sk-strand calc(4.2s + var(--n) * .45s) ease-in-out calc(2s + var(--n) * -.9s) infinite alternate; }
.ti-theme-sekar-kedhaton .sk-cover .sk-blencong { animation: sk-drop-b 1.4s cubic-bezier(.3,1.3,.5,1) both; }
.ti-theme-sekar-kedhaton .sk-kayon { position: absolute; left: 15.625%; width: 68.75%; top: 12%; perspective: 1400px; z-index: 1; }
.ti-theme-sekar-kedhaton .sk-kayon__spin { position: relative; transform-style: preserve-3d; animation: sk-kayon-in 2s cubic-bezier(.2,.7,.2,1) .2s both; }
.ti-theme-sekar-kedhaton .sk-kayon__face, .ti-theme-sekar-kedhaton .sk-kayon__back { -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.ti-theme-sekar-kedhaton .sk-kayon__face { position: relative; filter: drop-shadow(0 0 calc(var(--u) * 4) rgba(255,190,100,.28)) drop-shadow(0 calc(var(--u) * 2) calc(var(--u) * 2) rgba(0,0,0,.7)); }
.ti-theme-sekar-kedhaton .sk-kayon__face > img, .ti-theme-sekar-kedhaton .sk-kayon__back img { width: 100%; height: auto; display: block; }
.ti-theme-sekar-kedhaton .sk-kayon__back { position: absolute; inset: 0; transform: rotateY(180deg); filter: drop-shadow(0 0 calc(var(--u) * 5) rgba(255,140,60,.55)); }
.ti-theme-sekar-kedhaton .sk-cover__text { position: absolute; left: 23%; right: 23%; top: 48.6%; translate: 0 -50%; display: flex; flex-direction: column; align-items: center; text-align: center; color: var(--sk-gold-l); }
.ti-theme-sekar-kedhaton .sk-cover__text > * { animation: sk-text-in 1.3s cubic-bezier(.2,.7,.2,1) both; }
.ti-theme-sekar-kedhaton .sk-cover__text > :nth-child(1) { animation-delay: 1.1s; }
.ti-theme-sekar-kedhaton .sk-cover__text > :nth-child(2) { animation-delay: 1.35s; }
.ti-theme-sekar-kedhaton .sk-cover__text > :nth-child(3) { animation-delay: 1.6s; }
.ti-theme-sekar-kedhaton .sk-cover .sk-eyebrow { font-size: calc(var(--u) * 1.75); letter-spacing: .28em; color: rgba(251,246,234,.85); margin-bottom: calc(var(--u) * .6); }
.ti-theme-sekar-kedhaton .sk-cover__names { display: flex; flex-direction: column; align-items: center; font-size: calc(var(--u) * 7.6); line-height: 1.02; overflow-wrap: anywhere; filter: drop-shadow(0 2px 8px rgba(0,0,0,.6)); }
.ti-theme-sekar-kedhaton .sk-cover__names span { padding: .02em .14em .1em; }
.ti-theme-sekar-kedhaton .sk-cover__names small { font-family: "Cinzel Decorative", serif; font-size: .32em; color: var(--sk-gold); margin: -.1em 0 -.05em; }
.ti-theme-sekar-kedhaton .sk-cover__date { font-family: "Marcellus", serif; font-size: calc(var(--u) * 1.85); letter-spacing: .24em; color: rgba(251,246,234,.9); margin: calc(var(--u) * 1) 0 0; padding-top: calc(var(--u) * .9); border-top: 1px solid rgba(241,216,150,.4); }
.ti-theme-sekar-kedhaton .sk-cover__foot { position: absolute; left: 12%; right: 12%; top: 79%; z-index: 3; display: flex; flex-direction: column; align-items: center; gap: calc(var(--u) * 2.2); text-align: center; transition: opacity .6s ease, translate .8s ease; animation: sk-text-in 1.2s cubic-bezier(.2,.7,.2,1) 1.9s both; }
.ti-theme-sekar-kedhaton .sk-cover__guest { padding: calc(var(--u) * 1.1) calc(var(--u) * 3.4); border-radius: 12px; border: 1px solid rgba(241,216,150,.35); background: rgba(13,9,7,.55); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); color: var(--sk-cream); }
.ti-theme-sekar-kedhaton .sk-cover__guest:empty { display: none; }
.ti-theme-sekar-kedhaton .sk-cover__guest .ti-guest__label { font-family: "Marcellus", serif; font-size: calc(var(--u) * 1.8); letter-spacing: .04em; text-transform: none; opacity: .8; }
.ti-theme-sekar-kedhaton .sk-cover__guest .ti-guest__name { font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: calc(var(--u) * 3.3); color: var(--sk-gold-l); }
.ti-theme-sekar-kedhaton .sk-btn--open { font-size: calc(var(--u) * 2.6); min-height: calc(var(--u) * 8); padding: 0 calc(var(--u) * 5); animation: sk-pulse 2.8s ease-in-out 3.2s infinite; }
.ti-theme-sekar-kedhaton .sk-burst { position: absolute; left: 50%; top: 44%; width: 0; height: 0; z-index: 3; pointer-events: none; }
.ti-theme-sekar-kedhaton .sk-burst i { --a: calc(var(--n) * 20deg); position: absolute; left: calc(var(--u) * -.7); top: calc(var(--u) * -.7); width: calc(var(--u) * 1.4); height: calc(var(--u) * 1.4); background: linear-gradient(135deg, #FFF6D6, #E2B860 60%, #9A7228); opacity: 0; }
.ti-theme-sekar-kedhaton .sk-burst i:nth-child(odd) { border-radius: 50%; background: radial-gradient(circle, #FFFBEA 0%, #F3D27E 45%, rgba(243,210,126,0) 72%); width: calc(var(--u) * 2); height: calc(var(--u) * 2); }
.ti-theme-sekar-kedhaton .sk-dawn { background: radial-gradient(70% 55% at 50% 45%, #FFF3D6 0%, #F2C77E 40%, #8C5A22 100%); opacity: 0; transition: opacity 1.4s ease 1.6s; z-index: 4; pointer-events: none; }

/* buka: gunungan dicabut — berputar, menampakkan sisi api, lalu terbang; cahaya blencong membanjiri kelir */
.ti-opened.ti-theme-sekar-kedhaton .sk-kayon__spin { animation: sk-twirl 2.5s cubic-bezier(.55,0,.35,1) .1s both; }
.ti-opened.ti-theme-sekar-kedhaton .sk-cover__foot { opacity: 0; translate: 0 30px; animation: none; }
.ti-opened.ti-theme-sekar-kedhaton .sk-cover .sk-janur { animation: none; }
.ti-opened.ti-theme-sekar-kedhaton .sk-cover .sk-janur--l { translate: -30% -12%; rotate: -10deg; opacity: 0; }
.ti-opened.ti-theme-sekar-kedhaton .sk-cover .sk-janur--r { translate: 30% -12%; rotate: 10deg; opacity: 0; }
.ti-opened.ti-theme-sekar-kedhaton .sk-cover .sk-strands img { animation: sk-strand-out 1.6s cubic-bezier(.5,0,.3,1) calc(.2s + var(--n) * .05s) both; }
.ti-opened.ti-theme-sekar-kedhaton .sk-cover .sk-flame { scale: 1.6; transition: scale .8s ease; }
.ti-opened.ti-theme-sekar-kedhaton .sk-cover .sk-light { opacity: 1; animation: none; background: radial-gradient(70% 70% at 50% 10%, rgba(255,214,140,.7) 0%, rgba(255,170,80,.25) 50%, rgba(255,170,80,0) 80%); transition: background 1s ease; }
.ti-opened.ti-theme-sekar-kedhaton .sk-cover .sk-velvet { transform: scale(1.35); }
.ti-opened.ti-theme-sekar-kedhaton .sk-dawn { opacity: 1; }
.ti-opened.ti-theme-sekar-kedhaton .sk-burst i { animation: sk-burst 1.7s cubic-bezier(.2,.7,.2,1) calc(.55s + var(--n) * .03s) both; }

/* ambient: melati, kantil, kelopak mawar & serpih prada emas */
.ti-theme-sekar-kedhaton .sk-ambient { position: fixed; inset: 0; z-index: 35; pointer-events: none; overflow: hidden; opacity: 0; transition: opacity 1.4s ease 2.8s; }
.ti-opened.ti-theme-sekar-kedhaton .sk-ambient { opacity: 1; }
.ti-theme-sekar-kedhaton .sk-petal { position: absolute; top: -50px; left: calc(var(--n) * 11% + 3%); width: 17px; opacity: .9; animation: sk-fall calc(14s + var(--n) * 1.6s) linear calc(var(--n) * -2.5s) infinite; }
.ti-theme-sekar-kedhaton .sk-petal:nth-child(3n+1) { width: 11px; }
.ti-theme-sekar-kedhaton .sk-petal:nth-child(3n+2) { width: 15px; }
.ti-theme-sekar-kedhaton .sk-petal img { width: 100%; display: block; animation: sk-spin 4.4s ease-in-out infinite alternate; }
.ti-theme-sekar-kedhaton .sk-prada { position: absolute; top: -20px; left: calc(var(--n) * 8.4% + 2%); width: 6px; height: 6px; background: linear-gradient(135deg, #FFF3C8, #D9AE55 55%, #8E6A26); box-shadow: 0 0 6px rgba(241,216,150,.6); animation: sk-flake calc(11s + var(--n) * 1.2s) linear calc(var(--n) * -1.9s) infinite; }
.ti-theme-sekar-kedhaton .sk-prada:nth-child(even) { width: 4px; height: 8px; }

/* =============================== MAIN =============================== */
.ti-theme-sekar-kedhaton .sk-main { position: relative; z-index: 1; max-width: 480px; margin: 0 auto; background: var(--sk-ivory); overflow: clip; box-shadow: 0 0 90px rgba(0,0,0,.55); }
.ti-theme-sekar-kedhaton .sk-section { position: relative; padding: 88px 24px; text-align: center; }
.ti-theme-sekar-kedhaton .sk-section > * { position: relative; z-index: 1; }
.ti-theme-sekar-kedhaton .sk-ivory { background: radial-gradient(120% 60% at 50% 0%, #FFFCF4 0%, var(--sk-ivory) 60%, #F1E6CE 100%); }
.ti-theme-sekar-kedhaton .sk-ivory::before { content: ""; position: absolute; inset: 0; z-index: 0; background: url(assets/img/parang.svg) 0 0 / 64px 64px; opacity: .1; pointer-events: none; }
.ti-theme-sekar-kedhaton .sk-night { color: var(--sk-cream); background: radial-gradient(110% 45% at 50% 0%, rgba(201,160,75,.22), rgba(201,160,75,0) 70%), linear-gradient(180deg, var(--sk-black) 0%, var(--sk-velvet) 40%, var(--sk-brown) 75%, var(--sk-black) 100%); overflow: hidden; }
.ti-theme-sekar-kedhaton .sk-night::before { content: ""; position: absolute; inset: 0; z-index: 0; background: url(assets/img/parang.svg) 0 0 / 64px 64px; opacity: .12; pointer-events: none; }
.ti-theme-sekar-kedhaton .sk-night::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 22px; z-index: 0; background: url(assets/img/tumpal.svg) 0 0 / 31px 22px repeat-x; pointer-events: none; }
.ti-theme-sekar-kedhaton .sk-title { font-family: "Marcellus", Georgia, serif; font-size: 13px; letter-spacing: .36em; text-transform: uppercase; color: var(--sk-gold-d); margin: 0 0 26px; }
.ti-theme-sekar-kedhaton .sk-title span { display: block; font-family: "Great Vibes", cursive; font-size: 52px; letter-spacing: 0; text-transform: none; color: var(--sk-red); line-height: 1.12; margin-bottom: 2px; }
.ti-theme-sekar-kedhaton .sk-title--light { color: var(--sk-gold-l); }
.ti-theme-sekar-kedhaton .sk-title--light span { color: var(--sk-gold-l); text-shadow: 0 0 24px rgba(241,216,150,.35); }

/* HERO — masuk ke pendopo */
.ti-theme-sekar-kedhaton .sk-hero { position: relative; height: 185vh; background: var(--sk-black); }
.ti-theme-sekar-kedhaton .sk-hero__sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; }
@supports (height: 100svh) { .ti-theme-sekar-kedhaton .sk-hero__sticky { height: 100svh; } }
.ti-theme-sekar-kedhaton .sk-hero__pendopo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; transform-origin: 50% 52%; scale: calc(1.04 + var(--ti-q, 0) * .7); filter: brightness(calc(.9 + var(--ti-q, 0) * .25)); }
.ti-theme-sekar-kedhaton .sk-hero__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,9,7,.92) 0%, rgba(13,9,7,.55) 30%, rgba(13,9,7,0) 52%); opacity: calc(1 - var(--ti-q, 0) * 1.4); }
.ti-theme-sekar-kedhaton .sk-hero__pillar { position: absolute; bottom: 0; height: 100%; width: auto; pointer-events: none; filter: drop-shadow(0 0 30px rgba(0,0,0,.8)); }
.ti-theme-sekar-kedhaton .sk-hero__pillar--l { left: -5%; translate: calc(var(--ti-q, 0) * -120%) 0; scale: calc(1 + var(--ti-q, 0) * .25); transform-origin: 0 100%; }
.ti-theme-sekar-kedhaton .sk-hero__pillar--r { right: -5%; translate: calc(var(--ti-q, 0) * 120%) 0; scale: calc(1 + var(--ti-q, 0) * .25); transform-origin: 100% 100%; }
.ti-theme-sekar-kedhaton .sk-hero__lantern { position: absolute; top: -2%; width: 17%; transform-origin: 50% 0; pointer-events: none; animation: sk-swing 4.4s ease-in-out infinite alternate; }
.ti-theme-sekar-kedhaton .sk-hero__lantern--l { left: 17%; translate: calc(var(--ti-q, 0) * -60%) calc(var(--ti-q, 0) * -40%); }
.ti-theme-sekar-kedhaton .sk-hero__lantern--r { right: 17%; translate: calc(var(--ti-q, 0) * 60%) calc(var(--ti-q, 0) * -40%); animation-delay: -2.2s; }
.ti-theme-sekar-kedhaton .sk-hero__text { position: absolute; left: 19%; right: 19%; top: 10%; text-align: center; color: var(--sk-gold-l); translate: 0 calc(var(--ti-q, 0) * -150px); opacity: calc(1 - var(--ti-q, 0) * 1.8); }
.ti-theme-sekar-kedhaton .sk-hero__text .sk-eyebrow { font-size: 12px; letter-spacing: .32em; color: rgba(251,246,234,.85); }
.ti-theme-sekar-kedhaton .sk-hero__names { font-size: clamp(42px, 12vw, 58px); line-height: 1.05; color: var(--sk-gold-l); text-shadow: 0 0 26px rgba(241,216,150,.35), 0 3px 12px rgba(0,0,0,.8); margin: 4px 0 2px; }
.ti-theme-sekar-kedhaton .sk-hero__text .sk-caps { color: var(--sk-cream); }
.ti-theme-sekar-kedhaton .sk-hero__fade { position: absolute; left: 0; right: 0; bottom: 0; height: 16%; background: linear-gradient(180deg, rgba(248,241,226,0) 0%, rgba(248,241,226,.8) 70%, var(--sk-ivory) 100%); }
.ti-theme-sekar-kedhaton .sk-scroll { position: absolute; left: 50%; bottom: 20%; translate: -50% 0; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 30px; background: rgba(13,9,7,.5); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); font-family: "Marcellus", serif; font-size: 11px; letter-spacing: .14em; color: var(--sk-gold-l); opacity: calc(1 - var(--ti-q, 0) * 4); }
.ti-theme-sekar-kedhaton .sk-scroll i { width: 22px; height: 34px; border: 2px solid currentColor; border-radius: 12px; position: relative; }
.ti-theme-sekar-kedhaton .sk-scroll i::after { content: ""; position: absolute; left: 50%; top: 6px; width: 4px; height: 7px; margin-left: -2px; border-radius: 2px; background: currentColor; animation: sk-wheel 1.8s ease-in-out infinite; }

/* QUOTE */
.ti-theme-sekar-kedhaton .sk-quote__kayon { display: block; width: 84px; margin: 0 auto 22px; filter: drop-shadow(0 10px 14px rgba(46,33,23,.35)); }
.ti-theme-sekar-kedhaton .sk-quote__text { font-style: italic; font-size: 21px; line-height: 1.7; color: var(--sk-ink); max-width: 400px; margin: 0 auto 12px; }

/* COUPLE — foto muncul dari bayang wayang menjadi terang */
.ti-theme-sekar-kedhaton .sk-person { margin-top: 34px; }
.ti-theme-sekar-kedhaton .sk-portrait { position: relative; width: min(72%, 280px); aspect-ratio: 300 / 420; margin: 0 auto 26px; --ti-dist: 70px; }
.ti-theme-sekar-kedhaton .sk-portrait__photo, .ti-theme-sekar-kedhaton .sk-portrait__sweep { position: absolute; inset: 0; -webkit-mask: url(assets/img/kayon-mask.svg) center / 100% 100% no-repeat; mask: url(assets/img/kayon-mask.svg) center / 100% 100% no-repeat; }
.ti-theme-sekar-kedhaton .sk-portrait__photo { overflow: hidden; background: radial-gradient(70% 60% at 50% 35%, #F7D9A0, #7A4A20); }
.ti-theme-sekar-kedhaton .sk-portrait__photo .sk-portrait__img { width: 100%; height: 100%; object-fit: cover; scale: calc(1.2 - var(--ti-p, .5) * .3); filter: brightness(.05) sepia(1) contrast(1.6); transition: filter 1.8s ease .45s; }
.ti-theme-sekar-kedhaton .sk-portrait.is-in .sk-portrait__img { filter: none; }
.ti-theme-sekar-kedhaton .sk-portrait__photo .ti-couple-monogram { display: grid; place-items: center; width: 100%; height: 100%; font-family: "Cinzel Decorative", serif; font-weight: 700; font-size: 96px; color: var(--sk-gold-l); background: radial-gradient(circle at 50% 42%, #4A2A16, #120C08); }
.ti-theme-sekar-kedhaton .sk-portrait__sweep { pointer-events: none; background: linear-gradient(115deg, rgba(255,240,200,0) 30%, rgba(255,236,190,.75) 50%, rgba(255,240,200,0) 70%) no-repeat; background-size: 250% 100%; background-position: 140% 0; }
.ti-theme-sekar-kedhaton .sk-portrait.is-in .sk-portrait__sweep { animation: sk-sweep-bg 1.6s ease 1.2s both; }
.ti-theme-sekar-kedhaton .sk-portrait__frame { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.ti-theme-sekar-kedhaton .sk-portrait__crown { position: absolute; left: 32%; width: 36%; top: -11%; transition: transform 1s cubic-bezier(.3,1.4,.4,1) 1s; }
.ti-theme-sekar-kedhaton .sk-portrait:not(.is-in) .sk-portrait__crown { transform: translateY(26px) scale(.3); }
.ti-theme-sekar-kedhaton .sk-person__nick { font-size: 52px; color: var(--sk-red); margin: 0; }
.ti-theme-sekar-kedhaton .sk-person__name { font-family: "Marcellus", serif; font-size: 16px; letter-spacing: .14em; text-transform: uppercase; color: var(--sk-ink); margin: 0 0 8px; }
.ti-theme-sekar-kedhaton .sk-ig { display: inline-block; margin-top: 4px; font-family: "Marcellus", serif; font-size: 14px; color: var(--sk-gold-d); text-decoration: none; border-bottom: 1px solid rgba(142,106,38,.4); }
.ti-theme-sekar-kedhaton .sk-amp { display: flex; align-items: flex-end; justify-content: center; gap: 18px; margin: 30px 0 6px; }
.ti-theme-sekar-kedhaton .sk-amp p { font-size: 80px; color: var(--sk-gold); margin: 0 0 18px; line-height: 1; }
.ti-theme-sekar-kedhaton .sk-amp__mayang { width: 62px; filter: drop-shadow(0 8px 10px rgba(46,33,23,.3)); }

/* EVENTS */
.ti-theme-sekar-kedhaton .sk-events { padding-top: 100px; }
.ti-theme-sekar-kedhaton .sk-countdown { margin: 0 0 66px; gap: 9px; }
.ti-theme-sekar-kedhaton .sk-countdown .ti-countdown__item { position: relative; width: 68px; padding: 16px 4px 12px; border: 1px solid rgba(241,216,150,.55); border-radius: 34px 34px 6px 6px; background: linear-gradient(180deg, rgba(43,29,19,.9), rgba(13,9,7,.9)); box-shadow: inset 0 0 0 3px rgba(13,9,7,.8), inset 0 0 0 4px rgba(241,216,150,.2), 0 10px 20px -10px #000; }
.ti-theme-sekar-kedhaton .sk-countdown .ti-countdown__num { font-family: "Cinzel Decorative", serif; font-weight: 700; font-size: 25px; color: var(--sk-gold-l); }
.ti-theme-sekar-kedhaton .sk-countdown .ti-countdown__label { font-family: "Marcellus", serif; font-size: 9.5px; color: rgba(251,246,234,.72); opacity: 1; }
.ti-theme-sekar-kedhaton .sk-event { position: relative; max-width: 390px; margin: 0 auto 70px; padding: 58px 26px 36px; color: var(--sk-ink); background: radial-gradient(120% 70% at 50% 0%, #FFFCF4, #F1E4C6); border-radius: 16px; overflow: visible; box-shadow: inset 0 0 0 8px #FBF6EA, inset 0 0 0 9px rgba(142,106,38,.55), inset 0 0 0 12px #FBF6EA, inset 0 0 0 13px rgba(142,106,38,.3), 0 34px 50px -30px #000; --ti-dur: 1.25s; }
.ti-theme-sekar-kedhaton .sk-event::after { content: ""; position: absolute; inset: 0; border-radius: 16px; background: linear-gradient(105deg, rgba(255,255,255,0) 35%, rgba(255,246,214,.85) 50%, rgba(255,255,255,0) 65%) no-repeat; background-size: 260% 100%; background-position: 150% 0; pointer-events: none; }
.ti-theme-sekar-kedhaton .sk-event.is-in::after { animation: sk-sweep-bg 1.7s ease 1s both; }
.ti-theme-sekar-kedhaton .sk-event__crown { position: absolute; left: 50%; top: -40px; width: 104px; translate: -50% 0; filter: drop-shadow(0 6px 8px rgba(0,0,0,.45)); }
.ti-theme-sekar-kedhaton .sk-event__name { font-size: 50px; color: var(--sk-red); margin-bottom: 4px; }
.ti-theme-sekar-kedhaton .sk-event__date { display: flex; flex-direction: column; align-items: center; margin: 0 0 12px; color: var(--sk-gold-d); }
.ti-theme-sekar-kedhaton .sk-event__date strong { font-family: "Cinzel Decorative", serif; font-weight: 700; font-size: 60px; line-height: 1; background: linear-gradient(180deg, #D9B25C, #8E6A26); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
.ti-theme-sekar-kedhaton .sk-event__date span { font-family: "Marcellus", serif; font-size: 13px; letter-spacing: .26em; text-transform: uppercase; color: var(--sk-ink); }
.ti-theme-sekar-kedhaton .sk-event__time { display: inline-block; margin: 0 0 12px; padding: 5px 18px; border-radius: 999px; background: var(--sk-black); font-family: "Marcellus", serif; font-size: 13.5px; letter-spacing: .1em; color: var(--sk-gold-l); box-shadow: inset 0 0 0 1px rgba(241,216,150,.4); }
.ti-theme-sekar-kedhaton .sk-corner { position: absolute; width: 46px; pointer-events: none; }
.ti-theme-sekar-kedhaton .sk-corner--tl { top: 14px; left: 14px; }
.ti-theme-sekar-kedhaton .sk-corner--tr { top: 14px; right: 14px; scale: -1 1; }
.ti-theme-sekar-kedhaton .sk-corner--bl { bottom: 14px; left: 14px; scale: 1 -1; }
.ti-theme-sekar-kedhaton .sk-corner--br { bottom: 14px; right: 14px; scale: -1 -1; }
.ti-theme-sekar-kedhaton .ti-btn--primary, .ti-theme-sekar-kedhaton .ti-btn--maps { background: var(--sk-black); color: var(--sk-gold-l); font-family: "Marcellus", serif; box-shadow: inset 0 0 0 1px rgba(241,216,150,.45); }
.ti-theme-sekar-kedhaton .ti-btn--ghost { color: var(--sk-gold-d); border-color: rgba(142,106,38,.5); font-family: "Marcellus", serif; }

/* VIDEO */
.ti-theme-sekar-kedhaton .sk-video { border-radius: 14px; overflow: hidden; box-shadow: 0 0 0 1px rgba(201,160,75,.6), 0 30px 50px -30px rgba(0,0,0,.8); }

/* STORY — lakon dengan nodus emas */
.ti-theme-sekar-kedhaton .sk-story { background: linear-gradient(180deg, #F1E6CE 0%, var(--sk-ivory) 100%); }
.ti-theme-sekar-kedhaton .sk-lakon { position: relative; text-align: left; padding-left: 50px; }
.ti-theme-sekar-kedhaton .sk-lakon__line { position: absolute; left: 17px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(180deg, var(--sk-gold), var(--sk-red), var(--sk-gold)); transform-origin: 50% 0; scale: 1 min(1, calc(var(--ti-p, 1) * 1.8)); }
.ti-theme-sekar-kedhaton .sk-chapter { position: relative; margin-bottom: 44px; }
.ti-theme-sekar-kedhaton .sk-chapter__node { position: absolute; left: -50px; top: 0; width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle, #3A2618, var(--sk-black)); box-shadow: 0 0 0 2px var(--sk-gold), 0 0 0 5px var(--sk-ivory), 0 0 0 6px rgba(142,106,38,.45); color: var(--sk-gold-l); font-family: "Cinzel Decorative", serif; font-weight: 700; font-size: 14px; }
.ti-theme-sekar-kedhaton .sk-chapter__node em { font-style: normal; }
.ti-theme-sekar-kedhaton .sk-chapter__img { aspect-ratio: 300 / 340; margin-bottom: 14px; -webkit-mask: url(assets/img/kayon-mask.svg) center / 100% 100% no-repeat; mask: url(assets/img/kayon-mask.svg) center / 100% 100% no-repeat; }
.ti-theme-sekar-kedhaton .sk-chapter__img img { width: 100%; height: 100%; object-fit: cover; }
.ti-theme-sekar-kedhaton .sk-chapter__text h3 { font-family: "Great Vibes", cursive; font-size: 38px; color: var(--sk-red); margin: 2px 0 6px; }
.ti-theme-sekar-kedhaton .sk-chapter__text p { margin: 0; color: var(--sk-soft); font-size: 17.5px; }

/* GALLERY */
.ti-theme-sekar-kedhaton .sk-grid { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 160px; grid-auto-flow: dense; gap: 10px; }
.ti-theme-sekar-kedhaton .sk-grid__item { display: block; overflow: hidden; border-radius: 4px; background: #E9DCC0; box-shadow: 0 0 0 1px rgba(201,160,75,.6), 0 18px 30px -24px rgba(0,0,0,.9); }
.ti-theme-sekar-kedhaton .sk-grid__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease, filter .8s ease; }
.ti-theme-sekar-kedhaton .sk-grid__item:hover img { transform: scale(1.06); }
.ti-theme-sekar-kedhaton .sk-grid__item--hero { grid-column: span 2; grid-row: span 3; border-radius: 0; box-shadow: none; -webkit-mask: url(assets/img/kayon-mask.svg) center / 100% 100% no-repeat; mask: url(assets/img/kayon-mask.svg) center / 100% 100% no-repeat; }
.ti-theme-sekar-kedhaton .sk-grid__item--wide { grid-column: span 2; }

/* PANEL / FORM */
.ti-theme-sekar-kedhaton .sk-rsvp { background: linear-gradient(180deg, var(--sk-ivory), #F1E6CE); }
.ti-theme-sekar-kedhaton .sk-panel { position: relative; padding: 36px 22px 28px; background: #FFFCF5; border: 1px solid #E5D3AC; border-radius: 16px; text-align: left; box-shadow: 0 30px 60px -40px rgba(0,0,0,.6); }
.ti-theme-sekar-kedhaton .sk-panel .sk-corner { width: 42px; top: 8px; left: 8px; }
.ti-theme-sekar-kedhaton .sk-panel .sk-corner--br { top: auto; left: auto; bottom: 8px; right: 8px; }
.ti-theme-sekar-kedhaton .ti-field label, .ti-theme-sekar-kedhaton .ti-field legend { font-family: "Marcellus", serif; letter-spacing: .1em; font-size: 12px; text-transform: uppercase; color: var(--sk-gold-d); }
.ti-theme-sekar-kedhaton .ti-field input[type="text"], .ti-theme-sekar-kedhaton .ti-field select, .ti-theme-sekar-kedhaton .ti-field textarea, .ti-theme-sekar-kedhaton .ti-choice span { font-family: "Cormorant Garamond", Georgia, serif; font-size: 17px; border-color: #E5D3AC; background: #FFFDF8; }
.ti-theme-sekar-kedhaton .ti-guestbook__item { background: var(--sk-ivory); border-left: 3px solid var(--sk-gold); border-radius: 4px 14px 14px 4px; }
.ti-theme-sekar-kedhaton .sk-gift .ti-gift__card { background: radial-gradient(120% 70% at 50% 0%, #FFFCF4, #F1E4C6); color: var(--sk-ink); border-radius: 14px; box-shadow: inset 0 0 0 6px #FBF6EA, inset 0 0 0 7px rgba(142,106,38,.55), 0 24px 40px -24px #000; }
.ti-theme-sekar-kedhaton .sk-gift .ti-gift__bank { font-family: "Marcellus", serif; letter-spacing: .22em; color: var(--sk-red); }

/* CLOSING — tancep kayon */
.ti-theme-sekar-kedhaton .sk-closing { position: relative; height: 100vh; min-height: 640px; overflow: hidden; background: var(--sk-black); }
.ti-theme-sekar-kedhaton .sk-closing__stage { --u: 4.8px; position: absolute; left: 50%; bottom: 0; width: max(100%, 60vh); aspect-ratio: 600 / 1000; translate: -50% 0; overflow: hidden; }
.ti-theme-sekar-kedhaton .sk-closing__kayon { position: absolute; left: 17.7%; width: 64.6%; top: 35%; translate: 0 calc((.5 - min(var(--ti-p, .5), .5)) * 150%); rotate: calc((.5 - min(var(--ti-p, .5), .5)) * 24deg); filter: drop-shadow(0 0 22px rgba(255,190,100,.3)) drop-shadow(0 12px 14px rgba(0,0,0,.7)); }
.ti-theme-sekar-kedhaton .sk-closing__kayon > img { width: 100%; display: block; }
.ti-theme-sekar-kedhaton .sk-closing__seal { position: absolute; left: 22%; right: 22%; top: 48.6%; translate: 0 -50%; text-align: center; color: var(--sk-gold-l); }
.ti-theme-sekar-kedhaton .sk-closing__seal .sk-eyebrow { font-size: 9.5px; letter-spacing: .14em; color: rgba(251,246,234,.85); margin-bottom: 4px; }
.ti-theme-sekar-kedhaton .sk-closing__names { font-size: clamp(30px, 8.6vw, 40px); line-height: 1.1; margin: 0; color: var(--sk-gold-l); text-shadow: 0 2px 10px rgba(0,0,0,.7); }
.ti-theme-sekar-kedhaton .sk-closing__text { position: absolute; left: 13%; right: 13%; top: 15%; text-align: center; z-index: 3; }
.ti-theme-sekar-kedhaton .sk-closing__text .sk-text { color: var(--sk-cream); font-size: 16.5px; line-height: 1.55; margin: 0; text-shadow: 0 1px 12px rgba(0,0,0,.85); }
.ti-theme-sekar-kedhaton .sk-footer { padding: 22px 16px 30px; text-align: center; background: var(--sk-black); color: rgba(241,216,150,.7); font-family: "Marcellus", serif; font-size: 11.5px; letter-spacing: .22em; text-transform: uppercase; border-top: 1px solid rgba(201,160,75,.3); }

/* Animasi */
@keyframes sk-shine { from { background-position: 130% 0; } to { background-position: -130% 0; } }
@keyframes sk-flame { from { transform: scale(1, 1) skewX(-1.5deg); opacity: .92; } to { transform: scale(.94, 1.07) skewX(1.5deg); opacity: 1; } }
@keyframes sk-flame-sway { from { rotate: -3deg; } to { rotate: 3deg; } }
@keyframes sk-flicker { 0% { opacity: 1; } 8% { opacity: .82; } 11% { opacity: 1; } 47% { opacity: .9; } 51% { opacity: 1; } 76% { opacity: .86; } 79% { opacity: 1; } }
@keyframes sk-glow { from { filter: brightness(.92); } to { filter: brightness(1.12); } }
@keyframes sk-swing { from { rotate: -2.2deg; } to { rotate: 2.2deg; } }
@keyframes sk-strand { from { rotate: -2.4deg; } to { rotate: 2.4deg; } }
@keyframes sk-strand-out { 0% { rotate: 0deg; translate: -50% 0; } 40% { rotate: 6deg; } 100% { rotate: -4deg; translate: -50% -110%; } }
@keyframes sk-drop { from { translate: -50% -100%; } to { translate: -50% 0; } }
@keyframes sk-drop-b { from { translate: 0 -100%; } to { translate: 0 0; } }
@keyframes sk-janur { from { transform: rotate(-1.2deg); } to { transform: rotate(1.4deg); } }
@keyframes sk-janur-in { from { opacity: 0; translate: 0 -20%; } to { opacity: 1; translate: 0 0; } }
@keyframes sk-kayon-in { from { opacity: 0; transform: translateY(14%) scale(.9); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes sk-twirl {
  0% { transform: none; }
  14% { transform: translateY(2%) rotateY(-24deg) scale(.97); }
  58% { transform: translateY(-6%) rotateY(540deg) scale(1.08); }
  100% { transform: translateY(-150%) rotateY(1080deg) scale(.55); }
}
@keyframes sk-text-in { from { opacity: 0; transform: translate3d(0, 16px, 0); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes sk-pulse { 0%, 100% { box-shadow: inset 0 0 0 3px #0D0907, inset 0 0 0 4px rgba(241,216,150,.45), 0 14px 28px -12px rgba(0,0,0,.85), 0 0 0 0 rgba(241,216,150,.45); } 50% { box-shadow: inset 0 0 0 3px #0D0907, inset 0 0 0 4px rgba(241,216,150,.45), 0 14px 28px -12px rgba(0,0,0,.85), 0 0 0 14px rgba(241,216,150,0); } }
@keyframes sk-burst { 0% { opacity: 0; transform: rotate(var(--a)) translateY(0) scale(.3) rotate(0deg); } 15% { opacity: 1; } 100% { opacity: 0; transform: rotate(var(--a)) translateY(calc(var(--u) * -34)) scale(1.3) rotate(220deg); } }
@keyframes sk-fall { 0% { transform: translate3d(0, -5vh, 0); } 50% { transform: translate3d(36px, 52vh, 0); } 100% { transform: translate3d(-12px, 110vh, 0); } }
@keyframes sk-flake { 0% { transform: translate3d(0, -4vh, 0) rotate(0deg) rotateY(0deg); opacity: 0; } 10% { opacity: 1; } 100% { transform: translate3d(-30px, 108vh, 0) rotate(540deg) rotateY(720deg); opacity: .8; } }
@keyframes sk-spin { from { transform: rotate(-24deg) rotateY(0); } to { transform: rotate(150deg) rotateY(180deg); } }
@keyframes sk-sweep-bg { from { background-position: 150% 0; } to { background-position: -60% 0; } }
@keyframes sk-wheel { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(12px); } }

@media (prefers-reduced-motion: reduce) {
  .ti-theme-sekar-kedhaton .sk-ambient, .ti-theme-sekar-kedhaton .sk-burst { display: none; }
  .ti-theme-sekar-kedhaton .sk-flame, .ti-theme-sekar-kedhaton .sk-light, .ti-theme-sekar-kedhaton .sk-shine, .ti-theme-sekar-kedhaton .sk-strands img { animation: none; }
  .ti-opened.ti-theme-sekar-kedhaton .sk-kayon__spin { animation: none; opacity: 0; transition: opacity .6s; }
  .ti-theme-sekar-kedhaton .sk-hero { height: auto; }
  .ti-theme-sekar-kedhaton .sk-hero__sticky { position: relative; }
  .ti-theme-sekar-kedhaton .sk-portrait__photo .sk-portrait__img { filter: none; }
}
