/* Tema Lawang Kencana — namespace .ti-theme-lawang-kencana (Premium · Adat: candi berkabut, pintu gebyok, parallax berlapis) */
.ti-theme-lawang-kencana {
  --lk-brown: #6B3A12; --lk-deep: #48260B; --lk-night: #2F1806; --lk-gold: #B98A4E; --lk-gold-l: #E3C48E; --lk-cream: #F8F1E7; --lk-sand: #EBDCC8;
  --lk-ink: #3F2614; --lk-soft: #7A5E48; --lk-lilac: #8C6CC9; --lk-magenta: #A3336B;
  --ti-ease: cubic-bezier(.2,.7,.2,1);
  background: var(--lk-cream); color: var(--lk-ink); font-family: "Cormorant Garamond", Georgia, serif; font-size: 19px; line-height: 1.65;
}
.ti-theme-lawang-kencana h1, .ti-theme-lawang-kencana h2, .ti-theme-lawang-kencana h3 { margin: 0; font-weight: 400; }
.ti-theme-lawang-kencana .lk-script { font-family: "Berkshire Swash", "Brush Script MT", cursive; font-weight: 400; line-height: 1.15; }
.ti-theme-lawang-kencana .lk-eyebrow { font-family: "Josefin Sans", "Segoe UI", sans-serif; font-weight: 300; letter-spacing: .42em; text-transform: uppercase; margin: 0 0 8px; }
.ti-theme-lawang-kencana .lk-caps { font-family: "Josefin Sans", sans-serif; font-size: 13px; font-weight: 400; letter-spacing: .3em; text-transform: uppercase; margin: 0 0 10px; }
.ti-theme-lawang-kencana .lk-brown { color: var(--lk-brown); }
.ti-theme-lawang-kencana .lk-gold { color: var(--lk-gold); }
.ti-theme-lawang-kencana .lk-text { color: var(--lk-soft); max-width: 420px; margin: 0 auto 22px; }
.ti-theme-lawang-kencana .lk-text--sm { font-size: 16.5px; margin-bottom: 8px; }
.ti-theme-lawang-kencana .lk-text--light { color: rgba(248,241,231,.85); }
.ti-theme-lawang-kencana .lk-divider { display: block; width: 230px; max-width: 72%; margin: 4px auto 14px; }
.ti-theme-lawang-kencana .lk-mono { display: flex; justify-content: center; margin: 0; font-family: "Cinzel Decorative", Georgia, serif; font-weight: 700; color: var(--lk-brown); line-height: .9; }
.ti-theme-lawang-kencana .lk-mono b { font-weight: 700; }
.ti-theme-lawang-kencana .lk-mono b + b { margin-left: -.18em; transform: translateY(.32em); }
.ti-theme-lawang-kencana .lk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 24px; border-radius: 999px; border: 1px solid var(--lk-brown); background: var(--lk-brown); color: var(--lk-cream); font-family: "Josefin Sans", sans-serif; font-weight: 400; font-size: 15px; letter-spacing: .04em; cursor: pointer; text-decoration: none; box-shadow: 0 12px 24px -12px rgba(47,24,6,.9); transition: transform .3s, background .3s; }
.ti-theme-lawang-kencana .lk-btn:hover { transform: translateY(-2px); background: var(--lk-deep); }
.ti-theme-lawang-kencana .lk-btn--light { background: transparent; border-color: rgba(248,241,231,.6); box-shadow: none; }

/* Latar desktop */
.ti-theme-lawang-kencana .lk-backdrop { display: none; }
@media (min-width: 560px) {
  .ti-theme-lawang-kencana .lk-backdrop { display: block; position: fixed; inset: 0; z-index: 0; background: #E9E4EE; }
  .ti-theme-lawang-kencana .lk-backdrop img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; filter: blur(10px); opacity: .9; transform: scale(1.08); }
}

/* =============================== COVER =============================== */
.ti-theme-lawang-kencana .lk-cover { position: fixed; inset: 0; z-index: 40; overflow: hidden; background: #E6E1EE; transition: opacity 1s ease 1.9s, visibility 0s linear 3s; }
.ti-opened.ti-theme-lawang-kencana .lk-cover { opacity: 0; visibility: hidden; pointer-events: none; }
.ti-theme-lawang-kencana .lk-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; transform-origin: 50% 84%; transition: scale 1.9s cubic-bezier(.65,0,.25,1) 1.05s; }
@supports (height: 100dvh) { .ti-theme-lawang-kencana .lk-stage { --u: max(1vw, .6dvh); width: max(100vw, 60dvh); height: max(100dvh, 166.667vw); } }
@media (min-aspect-ratio: 3/4) {
  .ti-theme-lawang-kencana .lk-cover { background: #D9D2E2; }
  .ti-theme-lawang-kencana .lk-stage { --u: .6vh; width: 60vh; height: 100vh; box-shadow: 0 0 90px rgba(47,24,6,.35); }
  @supports (height: 100dvh) { .ti-theme-lawang-kencana .lk-stage { --u: .6dvh; width: 60dvh; height: 100dvh; } }
}
.ti-theme-lawang-kencana .lk-l { position: absolute; inset: 0; width: 100%; height: 100%; }
.ti-theme-lawang-kencana .lk-temples { animation: lk-breathe 14s ease-in-out infinite alternate; transform-origin: 50% 60%; }
.ti-theme-lawang-kencana .lk-mist { position: absolute; left: -50%; width: 200%; top: 44%; height: 18%; opacity: .95; pointer-events: none; animation: lk-drift 22s ease-in-out infinite alternate; }
.ti-theme-lawang-kencana .lk-mist img { width: 100%; height: 100%; }
.ti-theme-lawang-kencana .lk-mist--b { top: 33%; height: 16%; opacity: .55; animation-duration: 30s; animation-direction: alternate-reverse; }
.ti-theme-lawang-kencana .lk-doorway { position: absolute; left: 38%; top: 70.4%; width: 24%; height: 28%; perspective: 700px; }
.ti-theme-lawang-kencana .lk-door { position: absolute; top: 0; bottom: 0; width: 50%; transition: transform 1.6s cubic-bezier(.6,0,.25,1) .1s; backface-visibility: hidden; }
.ti-theme-lawang-kencana .lk-door img { width: 100%; height: 100%; display: block; }
.ti-theme-lawang-kencana .lk-door--l { left: 0; transform-origin: 0 50%; }
.ti-theme-lawang-kencana .lk-door--r { right: 0; transform-origin: 100% 50%; }
.ti-theme-lawang-kencana .lk-door--r img { transform: scaleX(-1); }
.ti-theme-lawang-kencana .lk-flowers { position: absolute; left: 0; right: 0; bottom: 0; height: 52%; pointer-events: none; animation: lk-rise 1.8s cubic-bezier(.2,.7,.2,1) .2s both; transition: translate 1.8s cubic-bezier(.65,0,.25,1) .4s; }
.ti-theme-lawang-kencana .lk-flowers img { position: absolute; bottom: -1%; width: 52%; transform-origin: 50% 100%; }
.ti-theme-lawang-kencana .lk-flowers__l { left: -7%; animation: lk-sway 5.6s ease-in-out infinite alternate; }
.ti-theme-lawang-kencana .lk-flowers__r { right: -7%; animation: lk-sway 6.4s ease-in-out .7s infinite alternate-reverse; }
.ti-theme-lawang-kencana .lk-cover__text { position: absolute; left: 8%; right: 8%; top: 9%; z-index: 3; display: flex; flex-direction: column; align-items: center; text-align: center; color: var(--lk-brown); transition: opacity .7s ease, translate .9s ease; }
.ti-theme-lawang-kencana .lk-cover__text > * { animation: lk-text-in 1.3s cubic-bezier(.2,.7,.2,1) both; }
.ti-theme-lawang-kencana .lk-cover__text > :nth-child(1) { animation-delay: .5s; }
.ti-theme-lawang-kencana .lk-cover__text > :nth-child(2) { animation-delay: .8s; }
.ti-theme-lawang-kencana .lk-cover__text > :nth-child(3) { animation-delay: 1.1s; }
.ti-theme-lawang-kencana .lk-cover__text > :nth-child(4) { animation-delay: 1.3s; }
.ti-theme-lawang-kencana .lk-cover__text > :nth-child(5) { animation-delay: 1.5s; }
.ti-theme-lawang-kencana .lk-cover .lk-eyebrow { font-size: calc(var(--u) * 2.6); margin-bottom: calc(var(--u) * 2.4); }
.ti-theme-lawang-kencana .lk-cover .lk-mono { font-size: calc(var(--u) * 11); margin-bottom: calc(var(--u) * 6); text-shadow: 0 2px 20px rgba(255,255,255,.8); }
.ti-theme-lawang-kencana .lk-cover__names { font-size: calc(var(--u) * 8.4); color: var(--lk-brown); text-shadow: 0 2px 22px rgba(255,255,255,.9); overflow-wrap: anywhere; }
.ti-theme-lawang-kencana .lk-cover__date { font-family: "Josefin Sans", sans-serif; font-weight: 300; font-size: calc(var(--u) * 3); letter-spacing: .3em; margin: calc(var(--u) * 1.2) 0 calc(var(--u) * 2.4); }
.ti-theme-lawang-kencana .lk-cover__guest { padding: calc(var(--u) * 1.3) calc(var(--u) * 3.6); border-radius: 14px; background: rgba(255,255,255,.6); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); }
.ti-theme-lawang-kencana .lk-cover__guest:empty { display: none; }
.ti-theme-lawang-kencana .lk-cover__guest .ti-guest__label { font-family: "Josefin Sans", sans-serif; font-size: calc(var(--u) * 1.9); letter-spacing: .08em; text-transform: none; }
.ti-theme-lawang-kencana .lk-cover__guest .ti-guest__name { font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: calc(var(--u) * 3.6); }
.ti-theme-lawang-kencana .lk-btn--open { position: absolute; left: 50%; top: 79.5%; translate: -50% 0; z-index: 4; font-size: calc(var(--u) * 2.7); min-height: calc(var(--u) * 7.4); padding: 0 calc(var(--u) * 4.4); animation: lk-pulse 2.6s ease-in-out 2s infinite; transition: opacity .5s; }

/* buka: pintu berayun, kamera masuk ke pintu */
.ti-opened.ti-theme-lawang-kencana .lk-cover .lk-door--l { transform: rotateY(-112deg); }
.ti-opened.ti-theme-lawang-kencana .lk-cover .lk-door--r { transform: rotateY(112deg); }
.ti-opened.ti-theme-lawang-kencana .lk-stage { scale: 4.2; }
.ti-opened.ti-theme-lawang-kencana .lk-btn--open { opacity: 0; animation: none; }
.ti-opened.ti-theme-lawang-kencana .lk-cover__text { opacity: 0; translate: 0 -30px; }
.ti-opened.ti-theme-lawang-kencana .lk-cover .lk-flowers { translate: 0 30%; }

/* ambient: kelopak & debu emas */
.ti-theme-lawang-kencana .lk-ambient { position: fixed; inset: 0; z-index: 35; pointer-events: none; overflow: hidden; opacity: 0; transition: opacity 1.4s ease 2.4s; }
.ti-opened.ti-theme-lawang-kencana .lk-ambient { opacity: 1; }
.ti-theme-lawang-kencana .lk-petal { position: absolute; top: -40px; left: calc(var(--n) * 12.5% + 3%); width: 18px; opacity: .85; animation: lk-fall calc(14s + var(--n) * 1.6s) linear calc(var(--n) * -2.6s) infinite; }
.ti-theme-lawang-kencana .lk-petal:nth-child(3n+1) { width: 26px; }
.ti-theme-lawang-kencana .lk-petal img { width: 100%; animation: lk-spin 4.5s ease-in-out infinite alternate; }
.ti-theme-lawang-kencana .lk-dust { position: absolute; bottom: -10px; left: calc(var(--n) * 10% + 4%); width: 5px; height: 5px; border-radius: 50%; background: radial-gradient(circle, #FFF4D6 0%, rgba(227,196,142,.9) 45%, rgba(227,196,142,0) 70%); animation: lk-dust calc(9s + var(--n) * 1.1s) ease-in calc(var(--n) * -1.7s) infinite; }

/* =============================== MAIN =============================== */
.ti-theme-lawang-kencana .lk-main { position: relative; z-index: 1; max-width: 480px; margin: 0 auto; background: var(--lk-cream); overflow: clip; box-shadow: 0 0 80px rgba(47,24,6,.3); }
.ti-theme-lawang-kencana .lk-section { position: relative; padding: 88px 24px; text-align: center; }
.ti-theme-lawang-kencana .lk-cream { background-color: var(--lk-cream); background-image: url(assets/img/truntum.svg), radial-gradient(120% 60% at 50% 0%, #FFFDF8 0%, rgba(255,253,248,0) 70%); background-size: 56px 56px, 100% 100%; }
.ti-theme-lawang-kencana .lk-wood { color: var(--lk-cream); background: linear-gradient(180deg, var(--lk-night) 0%, var(--lk-deep) 30%, var(--lk-brown) 60%, var(--lk-deep) 100%); overflow: hidden; }
.ti-theme-lawang-kencana .lk-wood::before { content: ""; position: absolute; inset: 0; background: url(assets/img/truntum.svg) 0 0 / 56px 56px; opacity: .55; filter: brightness(2.2); pointer-events: none; }
.ti-theme-lawang-kencana .lk-wood > * { position: relative; }
.ti-theme-lawang-kencana .lk-title { font-family: "Josefin Sans", sans-serif; font-weight: 300; font-size: 13px; letter-spacing: .42em; text-transform: uppercase; color: var(--lk-brown); margin: 0 0 26px; }
.ti-theme-lawang-kencana .lk-title span { display: block; font-family: "Berkshire Swash", cursive; font-size: 40px; letter-spacing: 0; text-transform: none; color: var(--lk-brown); line-height: 1.15; margin-bottom: 6px; }
.ti-theme-lawang-kencana .lk-title--light, .ti-theme-lawang-kencana .lk-title--light span { color: var(--lk-gold-l); }

/* HERO berlapis */
.ti-theme-lawang-kencana .lk-hero { position: relative; height: 180vh; background: #E9E4EE; }
.ti-theme-lawang-kencana .lk-hero__sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; }
@supports (height: 100svh) { .ti-theme-lawang-kencana .lk-hero__sticky { height: 100svh; } }
.ti-theme-lawang-kencana .lk-hero__sky, .ti-theme-lawang-kencana .lk-hero__temples { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; }
.ti-theme-lawang-kencana .lk-hero__sky { scale: calc(1.05 + var(--ti-q, 0) * .08); }
.ti-theme-lawang-kencana .lk-hero__temples { transform-origin: 50% 58%; scale: calc(1.1 + var(--ti-q, 0) * .45); translate: 0 calc(var(--ti-q, 0) * -6%); }
.ti-theme-lawang-kencana .lk-hero__mist { position: absolute; left: -50%; width: 200%; height: 22%; pointer-events: none; }
.ti-theme-lawang-kencana .lk-hero__mist img { width: 100%; height: 100%; animation: lk-drift 24s ease-in-out infinite alternate; }
.ti-theme-lawang-kencana .lk-hero__mist--a { top: 50%; opacity: calc(.75 + var(--ti-q, 0) * .25); translate: calc(var(--ti-q, 0) * 18%) calc(var(--ti-q, 0) * -60%); }
.ti-theme-lawang-kencana .lk-hero__mist--b { top: 62%; opacity: .9; translate: calc(var(--ti-q, 0) * -22%) calc(var(--ti-q, 0) * -90%); }
.ti-theme-lawang-kencana .lk-hero__text { position: absolute; left: 20px; right: 20px; top: 10%; text-align: center; color: var(--lk-brown); translate: 0 calc(var(--ti-q, 0) * -160px); opacity: calc(1 - var(--ti-q, 0) * 1.8); }
.ti-theme-lawang-kencana .lk-hero__text .lk-eyebrow { font-size: 12px; letter-spacing: .3em; }
.ti-theme-lawang-kencana .lk-mono--sm { font-size: 64px; margin: 12px 0 26px; }
.ti-theme-lawang-kencana .lk-hero__names { font-size: clamp(36px, 10.5vw, 50px); color: var(--lk-brown); text-shadow: 0 2px 20px rgba(255,255,255,.9); margin-bottom: 6px; }
.ti-theme-lawang-kencana .lk-hero__fade { position: absolute; left: 0; right: 0; bottom: 0; height: 30%; background: linear-gradient(180deg, rgba(248,241,231,0) 0%, rgba(248,241,231,.8) 65%, var(--lk-cream) 100%); }
.ti-theme-lawang-kencana .lk-hero__flowers { position: absolute; bottom: -2%; width: 60%; transform-origin: 50% 100%; pointer-events: none; }
.ti-theme-lawang-kencana .lk-hero__flowers--l { left: -10%; translate: calc(var(--ti-q, 0) * -55%) calc(var(--ti-q, 0) * 12%); animation: lk-sway 6s ease-in-out infinite alternate; }
.ti-theme-lawang-kencana .lk-hero__flowers--r { right: -10%; translate: calc(var(--ti-q, 0) * 55%) calc(var(--ti-q, 0) * 12%); animation: lk-sway 6.8s ease-in-out .5s infinite alternate-reverse; }
.ti-theme-lawang-kencana .lk-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(255,255,255,.5); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); font-family: "Josefin Sans", sans-serif; font-size: 11px; letter-spacing: .14em; color: var(--lk-brown); opacity: calc(1 - var(--ti-q, 0) * 4); }
.ti-theme-lawang-kencana .lk-scroll i { width: 22px; height: 34px; border: 2px solid currentColor; border-radius: 12px; position: relative; }
.ti-theme-lawang-kencana .lk-scroll i::after { content: ""; position: absolute; left: 50%; top: 6px; width: 4px; height: 7px; margin-left: -2px; border-radius: 2px; background: currentColor; animation: lk-wheel 1.8s ease-in-out infinite; }

/* QUOTE */
.ti-theme-lawang-kencana .lk-gunungan { display: block; width: 78px; margin: 0 auto 22px; }
.ti-theme-lawang-kencana .lk-quote__text { font-style: italic; font-size: 21px; line-height: 1.7; color: var(--lk-ink); max-width: 400px; margin: 0 auto 10px; }

/* COUPLE — foto tersingkap dari balik pintu */
.ti-theme-lawang-kencana .lk-couple { background: linear-gradient(180deg, var(--lk-cream) 0%, #F3E8DA 50%, var(--lk-cream) 100%); }
.ti-theme-lawang-kencana .lk-person { margin-top: 18px; }
.ti-theme-lawang-kencana .lk-portrait { position: relative; width: min(72%, 280px); aspect-ratio: 300 / 420; margin: 0 auto 22px; --ti-dist: 70px; }
.ti-theme-lawang-kencana .lk-portrait__photo, .ti-theme-lawang-kencana .lk-portrait__doors { position: absolute; inset: 0; -webkit-mask: url(assets/img/door-mask.svg) center / 100% 100% no-repeat; mask: url(assets/img/door-mask.svg) center / 100% 100% no-repeat; }
.ti-theme-lawang-kencana .lk-portrait__photo { overflow: hidden; background: #EADBC8; }
.ti-theme-lawang-kencana .lk-portrait__photo .lk-portrait__img { width: 100%; height: 100%; object-fit: cover; scale: calc(1.2 - var(--ti-p, .5) * .3); }
.ti-theme-lawang-kencana .lk-portrait__photo .ti-couple-monogram { display: grid; place-items: center; width: 100%; height: 100%; font-family: "Cinzel Decorative", serif; font-size: 96px; color: var(--lk-brown); background: radial-gradient(circle at 50% 40%, #FFFBF3, #E8D5BC); }
.ti-theme-lawang-kencana .lk-portrait__doors { perspective: 800px; pointer-events: none; }
.ti-theme-lawang-kencana .lk-portrait__doors .lk-door { transition: transform 1.5s cubic-bezier(.6,0,.25,1) .35s; }
.ti-theme-lawang-kencana .lk-portrait.is-in .lk-door--l { transform: rotateY(-118deg); }
.ti-theme-lawang-kencana .lk-portrait.is-in .lk-door--r { transform: rotateY(118deg); }
.ti-theme-lawang-kencana .lk-portrait__frame { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.ti-theme-lawang-kencana .lk-portrait__flower { position: absolute; width: 22%; left: 39%; top: -6%; transition: transform 1s cubic-bezier(.3,1.4,.4,1) 1.1s; }
.ti-theme-lawang-kencana .lk-portrait:not(.is-in) .lk-portrait__flower { transform: scale(0) rotate(-90deg); }
.ti-theme-lawang-kencana .lk-person__nick { font-size: 40px; color: var(--lk-brown); margin: 0; }
.ti-theme-lawang-kencana .lk-person__name { font-family: "Josefin Sans", sans-serif; font-weight: 400; font-size: 15px; letter-spacing: .16em; text-transform: uppercase; color: var(--lk-ink); margin: 4px 0 8px; }
.ti-theme-lawang-kencana .lk-ig { display: inline-block; margin-top: 4px; font-family: "Josefin Sans", sans-serif; font-size: 14px; color: var(--lk-brown); text-decoration: none; border-bottom: 1px solid rgba(107,58,18,.35); }
.ti-theme-lawang-kencana .lk-amp { font-size: 64px; color: var(--lk-gold); margin: 28px 0 12px; line-height: 1; }

/* EVENTS */
.ti-theme-lawang-kencana .lk-countdown { margin: 0 0 54px; gap: 9px; }
.ti-theme-lawang-kencana .lk-countdown .ti-countdown__item { width: 68px; padding: 14px 4px 12px; border-radius: 8px; background: linear-gradient(180deg, #EBDAC6, #D9BFA2); box-shadow: inset 0 0 0 2px rgba(169,136,106,.6), inset 0 0 0 5px #EBDAC6, inset 0 0 0 6px rgba(169,136,106,.5), 0 14px 24px -14px rgba(0,0,0,.7); }
.ti-theme-lawang-kencana .lk-countdown .ti-countdown__num { font-family: "Cinzel Decorative", serif; font-weight: 700; font-size: 26px; color: var(--lk-brown); }
.ti-theme-lawang-kencana .lk-countdown .ti-countdown__label { font-family: "Josefin Sans", sans-serif; font-size: 9.5px; color: var(--lk-soft); opacity: 1; }
.ti-theme-lawang-kencana .lk-event { position: relative; max-width: 390px; margin: 0 auto 70px; padding: 64px 24px 34px; color: var(--lk-ink); background: linear-gradient(180deg, #F8EFE2 0%, #EBDAC6 100%); border-radius: 22px; box-shadow: 0 34px 50px -30px rgba(0,0,0,.85); --ti-dur: 1.25s; }
.ti-theme-lawang-kencana .lk-event::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(169,136,106,.6); border-radius: 14px; pointer-events: none; }
.ti-theme-lawang-kencana .lk-event__gunungan { position: absolute; left: 50%; top: -52px; width: 74px; translate: -50% 0; filter: drop-shadow(0 8px 10px rgba(0,0,0,.35)); }
.ti-theme-lawang-kencana .lk-event__name { font-size: 34px; color: var(--lk-brown); margin-bottom: 8px; }
.ti-theme-lawang-kencana .lk-event__date { display: flex; flex-direction: column; align-items: center; margin: 0 0 10px; color: var(--lk-brown); }
.ti-theme-lawang-kencana .lk-event__date strong { font-family: "Cinzel Decorative", serif; font-weight: 700; font-size: 58px; line-height: 1; }
.ti-theme-lawang-kencana .lk-event__date span { font-family: "Josefin Sans", sans-serif; font-size: 13px; letter-spacing: .26em; text-transform: uppercase; }
.ti-theme-lawang-kencana .lk-event__time { display: inline-block; margin: 0 0 12px; padding: 4px 16px; border-top: 1px solid rgba(107,58,18,.35); border-bottom: 1px solid rgba(107,58,18,.35); font-family: "Josefin Sans", sans-serif; font-size: 14px; letter-spacing: .12em; color: var(--lk-brown); }
.ti-theme-lawang-kencana .lk-corner { position: absolute; width: 48px; pointer-events: none; }
.ti-theme-lawang-kencana .lk-corner--tl { top: 8px; left: 8px; }
.ti-theme-lawang-kencana .lk-corner--bl { bottom: 8px; left: 8px; scale: 1 -1; }
.ti-theme-lawang-kencana .lk-corner--br { bottom: 8px; right: 8px; scale: -1 -1; }
.ti-theme-lawang-kencana .ti-btn--primary, .ti-theme-lawang-kencana .ti-btn--maps { background: var(--lk-brown); font-family: "Josefin Sans", sans-serif; font-weight: 400; }
.ti-theme-lawang-kencana .ti-btn--ghost { color: var(--lk-brown); border-color: rgba(107,58,18,.4); font-family: "Josefin Sans", sans-serif; font-weight: 400; }

/* VIDEO */
.ti-theme-lawang-kencana .lk-video { border-radius: 18px; overflow: hidden; box-shadow: 0 30px 50px -30px rgba(47,24,6,.7); }

/* STORY — anak tangga candi */
.ti-theme-lawang-kencana .lk-story { background: linear-gradient(180deg, #F3E8DA 0%, var(--lk-cream) 100%); }
.ti-theme-lawang-kencana .lk-steps { position: relative; text-align: left; padding-left: 46px; }
.ti-theme-lawang-kencana .lk-steps__line { position: absolute; left: 15px; top: 10px; bottom: 10px; width: 2px; background: repeating-linear-gradient(180deg, var(--lk-gold) 0 8px, transparent 8px 14px); transform-origin: 50% 0; scale: 1 min(1, calc(var(--ti-p, 1) * 1.8)); }
.ti-theme-lawang-kencana .lk-step { position: relative; margin-bottom: 42px; }
.ti-theme-lawang-kencana .lk-step__num { position: absolute; left: -46px; top: 0; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 6px; rotate: 45deg; background: var(--lk-brown); color: var(--lk-cream); font-family: "Cinzel Decorative", serif; font-size: 14px; }
.ti-theme-lawang-kencana .lk-step__num em { font-style: normal; rotate: -45deg; }
.ti-theme-lawang-kencana .lk-step__img { aspect-ratio: 300 / 330; margin-bottom: 14px; -webkit-mask: url(assets/img/door-mask.svg) center / 100% 100% no-repeat; mask: url(assets/img/door-mask.svg) center / 100% 100% no-repeat; }
.ti-theme-lawang-kencana .lk-step__img img { width: 100%; height: 100%; object-fit: cover; }
.ti-theme-lawang-kencana .lk-step__text h3 { font-family: "Berkshire Swash", cursive; font-size: 28px; color: var(--lk-brown); margin: 2px 0 6px; }
.ti-theme-lawang-kencana .lk-step__text p { margin: 0; color: var(--lk-soft); font-size: 17.5px; }

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

/* PANEL / FORM */
.ti-theme-lawang-kencana .lk-panel { position: relative; padding: 34px 22px 28px; background: #FFFCF7; border: 1px solid #E6D3BB; border-radius: 16px; text-align: left; box-shadow: 0 30px 60px -40px rgba(47,24,6,.7); }
.ti-theme-lawang-kencana .lk-panel .lk-corner { width: 44px; opacity: .85; }
.ti-theme-lawang-kencana .ti-field label, .ti-theme-lawang-kencana .ti-field legend { font-family: "Josefin Sans", sans-serif; font-weight: 400; letter-spacing: .1em; font-size: 12px; text-transform: uppercase; color: var(--lk-brown); }
.ti-theme-lawang-kencana .ti-field input[type="text"], .ti-theme-lawang-kencana .ti-field select, .ti-theme-lawang-kencana .ti-field textarea, .ti-theme-lawang-kencana .ti-choice span { font-family: "Cormorant Garamond", Georgia, serif; font-size: 17px; border-color: #E2CFB6; background: #FFFDF9; }
.ti-theme-lawang-kencana .ti-guestbook__item { background: var(--lk-cream); border-left: 3px solid var(--lk-gold); border-radius: 4px 14px 14px 4px; }
.ti-theme-lawang-kencana .lk-gift .ti-gift__card { background: linear-gradient(180deg, #F8EFE2, #EBDAC6); border-radius: 16px; }
.ti-theme-lawang-kencana .lk-gift .ti-gift__bank { font-family: "Josefin Sans", sans-serif; letter-spacing: .2em; color: var(--lk-brown); }

/* CLOSING — pintu menutup mengikuti scroll */
.ti-theme-lawang-kencana .lk-closing { position: relative; height: 100vh; min-height: 640px; overflow: hidden; background: #E6E1EE; }
.ti-theme-lawang-kencana .lk-closing__stage { position: absolute; left: 50%; bottom: 0; width: max(100%, 60vh); aspect-ratio: 600 / 1000; translate: -50% 0; overflow: hidden; }
.ti-theme-lawang-kencana .lk-closing .lk-door--l { transform: rotateY(calc((.5 - min(var(--ti-p, .5), .5)) * -224deg)); transition: transform .15s linear; }
.ti-theme-lawang-kencana .lk-closing .lk-door--r { transform: rotateY(calc((.5 - min(var(--ti-p, .5), .5)) * 224deg)); transition: transform .15s linear; }
.ti-theme-lawang-kencana .lk-closing .lk-flowers { animation: none; translate: 0 calc((.5 - min(var(--ti-p, .5), .5)) * 60%); }
.ti-theme-lawang-kencana .lk-closing__text { position: absolute; left: 24px; right: 24px; top: 24%; text-align: center; z-index: 2; color: var(--lk-brown); }
.ti-theme-lawang-kencana .lk-closing__text .lk-text { color: var(--lk-ink); font-size: 17px; margin-bottom: 10px; text-shadow: 0 1px 12px rgba(255,255,255,.9); }
.ti-theme-lawang-kencana .lk-closing__text .lk-eyebrow { font-size: 12px; }
.ti-theme-lawang-kencana .lk-closing__names { font-size: clamp(34px, 10vw, 46px); margin: 0; text-shadow: 0 2px 18px rgba(255,255,255,.9); }
.ti-theme-lawang-kencana .lk-footer { padding: 22px 16px 30px; text-align: center; background: var(--lk-night); color: rgba(248,241,231,.65); font-family: "Josefin Sans", sans-serif; font-size: 11.5px; letter-spacing: .2em; text-transform: uppercase; }

/* Animasi */
@keyframes lk-drift { from { transform: translate3d(-8%, 0, 0); } to { transform: translate3d(8%, 0, 0); } }
@keyframes lk-breathe { from { transform: scale(1); } to { transform: scale(1.035); } }
@keyframes lk-sway { from { transform: rotate(-1.5deg); } to { transform: rotate(1.8deg); } }
@keyframes lk-rise { from { opacity: 0; transform: translate3d(0, 28%, 0); } to { opacity: 1; transform: none; } }
@keyframes lk-text-in { from { opacity: 0; transform: translate3d(0, 16px, 0); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes lk-pulse { 0%, 100% { box-shadow: 0 12px 24px -12px rgba(47,24,6,.9), 0 0 0 0 rgba(107,58,18,.45); } 50% { box-shadow: 0 12px 24px -12px rgba(47,24,6,.9), 0 0 0 12px rgba(107,58,18,0); } }
@keyframes lk-fall { 0% { transform: translate3d(0, -5vh, 0); } 50% { transform: translate3d(-36px, 52vh, 0); } 100% { transform: translate3d(14px, 110vh, 0); } }
@keyframes lk-spin { from { transform: rotate(-20deg) rotateX(0); } to { transform: rotate(150deg) rotateX(180deg); } }
@keyframes lk-dust { 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.6); } 20% { opacity: 1; } 100% { opacity: 0; transform: translate3d(30px, -95vh, 0) scale(1.2); } }
@keyframes lk-wheel { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(12px); } }

@media (prefers-reduced-motion: reduce) {
  .ti-theme-lawang-kencana .lk-ambient { display: none; }
  .ti-theme-lawang-kencana .lk-hero { height: auto; }
  .ti-theme-lawang-kencana .lk-hero__sticky { position: relative; }
  .ti-theme-lawang-kencana .lk-portrait__doors { display: none; }
}
