/* Tema Bubungan Tinggi — namespace .ti-theme-bubungan-tinggi (Premium · Adat Banjar: rumah Bubungan Tinggi, sungai, tirai sasirangan, fajar) */
.ti-theme-bubungan-tinggi {
  --bt-green: #1F5B4E; --bt-deep: #0F3A31; --bt-night: #072520; --bt-jade: #2E7D69; --bt-gold: #C99A3B; --bt-gold-d: #93682A; --bt-gold-l: #F0D48A;
  --bt-cream: #FBF5E6; --bt-paper: #F6EEDB; --bt-ink: #22332D; --bt-soft: #5D6A60; --bt-maroon: #8C2A2A;
  --ti-ease: cubic-bezier(.2,.7,.2,1);
  background: var(--bt-paper); color: var(--bt-ink); font-family: "Cormorant Garamond", Georgia, serif; font-size: 19px; line-height: 1.65;
}
.ti-theme-bubungan-tinggi h1, .ti-theme-bubungan-tinggi h2, .ti-theme-bubungan-tinggi h3 { margin: 0; font-weight: 400; }
.ti-theme-bubungan-tinggi .bt-script { font-family: "Pinyon Script", "Brush Script MT", cursive; font-weight: 400; line-height: 1.2; }
.ti-theme-bubungan-tinggi .bt-eyebrow { font-family: "Cinzel", Georgia, serif; font-weight: 400; letter-spacing: .34em; text-transform: uppercase; margin: 0 0 8px; }
.ti-theme-bubungan-tinggi .bt-caps { font-family: "Cinzel", Georgia, serif; font-size: 13px; letter-spacing: .28em; text-transform: uppercase; margin: 0 0 10px; }
.ti-theme-bubungan-tinggi .bt-green { color: var(--bt-green); }
.ti-theme-bubungan-tinggi .bt-gold { color: var(--bt-gold-d); }
.ti-theme-bubungan-tinggi .bt-text { color: var(--bt-soft); max-width: 420px; margin: 0 auto 22px; }
.ti-theme-bubungan-tinggi .bt-text--sm { font-size: 16.5px; margin-bottom: 8px; }
.ti-theme-bubungan-tinggi .bt-text--light { color: rgba(251,245,230,.86); }
.ti-theme-bubungan-tinggi .bt-divider { display: block; width: 230px; max-width: 72%; margin: 6px auto 14px; }
.ti-theme-bubungan-tinggi .bt-shine { background: linear-gradient(110deg, #C99A3B 0%, #F6E1A2 38%, #FFF9E6 50%, #F6E1A2 62%, #C99A3B 100%); background-size: 260% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; animation: bt-shine 6.5s linear infinite; }
.ti-theme-bubungan-tinggi .bt-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(--bt-gold); background: linear-gradient(180deg, #24695A, var(--bt-deep)); color: var(--bt-gold-l); font-family: "Jost", "Segoe UI", sans-serif; font-weight: 400; font-size: 15px; letter-spacing: .06em; cursor: pointer; text-decoration: none; box-shadow: inset 0 0 0 3px rgba(15,58,49,.9), inset 0 0 0 4px rgba(240,212,138,.45), 0 14px 28px -12px rgba(0,0,0,.75); transition: transform .3s, filter .3s; }
.ti-theme-bubungan-tinggi .bt-btn:hover { transform: translateY(-2px); filter: brightness(1.12); }
.ti-theme-bubungan-tinggi .bt-btn--light { background: transparent; border-color: rgba(240,212,138,.6); box-shadow: none; }

/* Latar desktop */
.ti-theme-bubungan-tinggi .bt-backdrop { display: none; }
@media (min-width: 560px) {
  .ti-theme-bubungan-tinggi .bt-backdrop { display: block; position: fixed; inset: 0; z-index: 0; background: var(--bt-night); }
  .ti-theme-bubungan-tinggi .bt-backdrop img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; filter: blur(12px) saturate(.9); opacity: .75; transform: scale(1.1); }
  .ti-theme-bubungan-tinggi .bt-backdrop::after { content: ""; position: absolute; inset: 0; background: url(assets/img/sasirangan.svg) 0 0 / 72px 72px, linear-gradient(180deg, rgba(7,37,32,.55), rgba(7,37,32,.2) 50%, rgba(7,37,32,.6)); }
}

/* =============================== PANGGUNG SUNGAI (dipakai ulang) =============================== */
.ti-theme-bubungan-tinggi .bt-l { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.ti-theme-bubungan-tinggi .bt-stars { position: absolute; left: 0; top: 0; width: 100%; height: 56%; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-stars--a { animation: bt-twinkle 3.4s ease-in-out infinite alternate; }
.ti-theme-bubungan-tinggi .bt-stars--b { animation: bt-twinkle 4.6s ease-in-out -2s infinite alternate-reverse; }
.ti-theme-bubungan-tinggi .bt-sun { position: absolute; left: 33%; width: 34%; top: 50%; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-mist { position: absolute; left: -50%; width: 200%; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-mist img { width: 100%; height: 100%; animation: bt-drift 26s ease-in-out infinite alternate; }
.ti-theme-bubungan-tinggi .bt-mist--far { top: 55.5%; height: 10%; opacity: .32; }
.ti-theme-bubungan-tinggi .bt-mist--near { top: 61%; height: 9%; opacity: .26; }
.ti-theme-bubungan-tinggi .bt-mist--near img { animation-duration: 33s; animation-direction: alternate-reverse; }
.ti-theme-bubungan-tinggi .bt-house, .ti-theme-bubungan-tinggi .bt-reflect { position: absolute; left: 25.7%; width: 48.6%; }
.ti-theme-bubungan-tinggi .bt-house { top: 44%; transform-origin: 50% 85%; }
.ti-theme-bubungan-tinggi .bt-house img, .ti-theme-bubungan-tinggi .bt-reflect img { width: 100%; display: block; }
.ti-theme-bubungan-tinggi .bt-reflect { top: 44%; transform: scaleY(-.8); transform-origin: 50% 100%; opacity: .3; filter: blur(1.4px); -webkit-mask: linear-gradient(0deg, #000 10%, transparent 90%); mask: linear-gradient(0deg, #000 10%, transparent 90%); }
.ti-theme-bubungan-tinggi .bt-reflect img { animation: bt-ripple 4s ease-in-out infinite alternate; }
.ti-theme-bubungan-tinggi .bt-glints { position: absolute; left: 0; width: 100%; top: 65.6%; height: 24%; mix-blend-mode: screen; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-glints img { width: 100%; height: 100%; animation: bt-glint 2.8s ease-in-out infinite alternate; }
.ti-theme-bubungan-tinggi .bt-boat { position: absolute; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-boat img { width: 100%; display: block; transform-origin: 50% 90%; animation: bt-bob 3.6s ease-in-out infinite alternate; }
.ti-theme-bubungan-tinggi .bt-boat--far { width: 14%; top: 66.6%; left: 0; opacity: .78; filter: brightness(.7) saturate(.8); animation: bt-sail-l 70s linear -24s infinite; }
.ti-theme-bubungan-tinggi .bt-boat--far img { transform: scaleX(-1); animation-name: bt-bob-flip; }
.ti-theme-bubungan-tinggi .bt-boat--near { width: 34%; top: 71%; left: 0; animation: bt-sail-r 46s linear -9s infinite; }
.ti-theme-bubungan-tinggi .bt-flora { position: absolute; left: 0; right: 0; bottom: 0; height: 40%; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-flora img { position: absolute; bottom: -1%; width: 58%; transform-origin: 50% 100%; }
.ti-theme-bubungan-tinggi .bt-flora__l { left: -7%; animation: bt-sway 6s ease-in-out infinite alternate; }
.ti-theme-bubungan-tinggi .bt-flora__r { right: -7%; animation: bt-sway 6.8s ease-in-out .6s infinite alternate-reverse; }
.ti-theme-bubungan-tinggi .bt-drape { position: absolute; top: 0; height: 100%; width: 26%; pointer-events: none; z-index: 2; filter: drop-shadow(0 0 18px rgba(0,0,0,.45)); }
.ti-theme-bubungan-tinggi .bt-drape img { width: 100%; height: 100%; display: block; transform-origin: 0 0; }
.ti-theme-bubungan-tinggi .bt-drape--l { left: 0; }
.ti-theme-bubungan-tinggi .bt-drape--r { right: 0; }
.ti-theme-bubungan-tinggi .bt-drape--r img { transform: scaleX(-1); transform-origin: 50% 0; }
.ti-theme-bubungan-tinggi .bt-valance { position: absolute; left: -1%; width: 102%; top: 0; height: 9.6%; z-index: 3; pointer-events: none; filter: drop-shadow(0 8px 14px rgba(0,0,0,.4)); }

/* =============================== COVER =============================== */
.ti-theme-bubungan-tinggi .bt-cover { position: fixed; inset: 0; z-index: 40; overflow: hidden; background: var(--bt-night); transition: opacity 1.1s ease 2.4s, visibility 0s linear 3.6s; }
.ti-opened.ti-theme-bubungan-tinggi .bt-cover { opacity: 0; visibility: hidden; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-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(--bt-night); }
@supports (height: 100dvh) { .ti-theme-bubungan-tinggi .bt-stage { --u: max(1vw, .6dvh); width: max(100vw, 60dvh); height: max(100dvh, 166.667vw); } }
@media (min-aspect-ratio: 3/4) {
  .ti-theme-bubungan-tinggi .bt-cover { background: #04150F; }
  .ti-theme-bubungan-tinggi .bt-stage { --u: .6vh; width: 60vh; height: 100vh; box-shadow: 0 0 90px rgba(0,0,0,.55); }
  @supports (height: 100dvh) { .ti-theme-bubungan-tinggi .bt-stage { --u: .6dvh; width: 60dvh; height: 100dvh; } }
}
.ti-theme-bubungan-tinggi .bt-cover .bt-sky--dawn { opacity: 0; transition: opacity 2.4s ease .25s; }
.ti-theme-bubungan-tinggi .bt-cover .bt-stars { transition: opacity 1.6s ease .2s; }
.ti-theme-bubungan-tinggi .bt-cover .bt-sun { transition: translate 2.6s cubic-bezier(.3,.6,.3,1) .3s, opacity 1.5s ease .3s; opacity: 0; }
.ti-theme-bubungan-tinggi .bt-cover .bt-house img { filter: brightness(.82); }
.ti-theme-bubungan-tinggi .bt-cover .bt-boat--near img { filter: brightness(.72); }
.ti-theme-bubungan-tinggi .bt-cover .bt-flora { filter: brightness(.7) saturate(.9); animation: bt-rise 1.9s cubic-bezier(.2,.7,.2,1) .2s both; transition: translate 1.8s cubic-bezier(.65,0,.25,1) .3s, filter 2s ease .3s; }
.ti-theme-bubungan-tinggi .bt-cover .bt-drape--l { animation: bt-drape-in-l 1.6s cubic-bezier(.2,.7,.2,1) both; }
.ti-theme-bubungan-tinggi .bt-cover .bt-drape--r { animation: bt-drape-in-r 1.6s cubic-bezier(.2,.7,.2,1) both; }
.ti-theme-bubungan-tinggi .bt-cover .bt-valance { animation: bt-valance-in 1.3s cubic-bezier(.2,.7,.2,1) .1s both; transition: translate 1.2s cubic-bezier(.65,0,.25,1) .25s; }
.ti-theme-bubungan-tinggi .bt-stage > .bt-sky, .ti-theme-bubungan-tinggi .bt-stage > .bt-bank, .ti-theme-bubungan-tinggi .bt-stage > .bt-water { transform-origin: 50% 60%; }
.ti-theme-bubungan-tinggi .bt-cover__text { position: absolute; left: 21%; right: 21%; top: 11.6%; z-index: 4; display: flex; flex-direction: column; align-items: center; text-align: center; color: var(--bt-gold-l); transition: opacity .8s ease, translate 1s ease; }
.ti-theme-bubungan-tinggi .bt-cover__text > * { animation: bt-text-in 1.3s cubic-bezier(.2,.7,.2,1) both; }
.ti-theme-bubungan-tinggi .bt-cover__text > :nth-child(1) { animation-delay: .8s; }
.ti-theme-bubungan-tinggi .bt-cover__text > :nth-child(2) { animation-delay: 1.05s; }
.ti-theme-bubungan-tinggi .bt-cover__text > :nth-child(3) { animation-delay: 1.35s; }
.ti-theme-bubungan-tinggi .bt-cover__text > :nth-child(4) { animation-delay: 1.55s; }
.ti-theme-bubungan-tinggi .bt-cover .bt-eyebrow { font-size: calc(var(--u) * 2.3); color: rgba(251,245,230,.85); margin-bottom: calc(var(--u) * 1.4); }
.ti-theme-bubungan-tinggi .bt-cover__names { display: flex; flex-direction: column; align-items: center; font-size: calc(var(--u) * 11); line-height: 1.08; overflow-wrap: anywhere; filter: drop-shadow(0 3px 14px rgba(0,0,0,.55)); }
.ti-theme-bubungan-tinggi .bt-cover__names span { padding: 0 .12em .06em; }
.ti-theme-bubungan-tinggi .bt-cover__names small { font-family: "Cinzel", serif; font-size: .3em; letter-spacing: .2em; color: var(--bt-gold-l); margin: -.15em 0 -.1em; }
.ti-theme-bubungan-tinggi .bt-cover__date { font-family: "Cinzel", serif; font-size: calc(var(--u) * 2.25); letter-spacing: .2em; color: rgba(251,245,230,.9); margin: calc(var(--u) * 1.4) 0 calc(var(--u) * 2.2); }
.ti-theme-bubungan-tinggi .bt-cover__guest { padding: calc(var(--u) * 1.2) calc(var(--u) * 3.4); border-radius: 12px; border: 1px solid rgba(240,212,138,.42); background: rgba(7,37,32,.5); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); color: var(--bt-cream); }
.ti-theme-bubungan-tinggi .bt-cover__guest:empty { display: none; }
.ti-theme-bubungan-tinggi .bt-cover__guest .ti-guest__label { font-family: "Jost", sans-serif; font-weight: 300; font-size: calc(var(--u) * 1.9); letter-spacing: .06em; text-transform: none; opacity: .85; }
.ti-theme-bubungan-tinggi .bt-cover__guest .ti-guest__name { font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: calc(var(--u) * 3.4); color: var(--bt-gold-l); }
.ti-theme-bubungan-tinggi .bt-btn--open { position: absolute; left: 50%; top: 84%; translate: -50% 0; z-index: 4; font-size: calc(var(--u) * 2.7); min-height: calc(var(--u) * 8); padding: 0 calc(var(--u) * 5); animation: bt-text-in 1.2s cubic-bezier(.2,.7,.2,1) 1.8s both, bt-pulse 2.8s ease-in-out 3s infinite; transition: opacity .5s; }
.ti-theme-bubungan-tinggi .bt-flies { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
.ti-theme-bubungan-tinggi .bt-flies i { position: absolute; left: calc(6% + var(--n) * 6.4%); top: 62%; width: calc(var(--u) * .9); height: calc(var(--u) * .9); border-radius: 50%; background: radial-gradient(circle, #FFF8D6 0%, #F2D278 40%, rgba(242,210,120,0) 70%); box-shadow: 0 0 calc(var(--u) * 2) calc(var(--u) * .6) rgba(242,210,120,.35); animation: bt-fly calc(7s + var(--n) * .7s) ease-in-out calc(var(--n) * -1.3s) infinite alternate, bt-blink calc(1.8s + var(--n) * .2s) ease-in-out infinite alternate; }
.ti-theme-bubungan-tinggi .bt-flies i:nth-child(3n) { top: 74%; }
.ti-theme-bubungan-tinggi .bt-flies i:nth-child(3n+1) { top: 82%; }
.ti-theme-bubungan-tinggi .bt-flies i:nth-child(4n) { top: 56%; }
.ti-theme-bubungan-tinggi .bt-burst { position: absolute; left: 50%; top: 59%; width: 0; height: 0; z-index: 3; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-burst i { --a: calc(var(--n) * 22.5deg); position: absolute; left: calc(var(--u) * -.6); top: calc(var(--u) * -.6); width: calc(var(--u) * 1.2); height: calc(var(--u) * 1.2); border-radius: 50%; background: radial-gradient(circle, #FFFBEA 0%, #F6D98A 45%, rgba(246,217,138,0) 72%); opacity: 0; }

/* buka: tirai tersibak, malam menjadi fajar, matahari terbit, kamera melaju ke pintu */
.ti-opened.ti-theme-bubungan-tinggi .bt-cover .bt-drape--l { animation: bt-drape-out-l 1.7s cubic-bezier(.6,0,.3,1) .05s both; }
.ti-opened.ti-theme-bubungan-tinggi .bt-cover .bt-drape--r { animation: bt-drape-out-r 1.7s cubic-bezier(.6,0,.3,1) .05s both; }
.ti-opened.ti-theme-bubungan-tinggi .bt-cover .bt-valance { translate: 0 -112%; }
.ti-opened.ti-theme-bubungan-tinggi .bt-cover .bt-sky--dawn { opacity: 1; }
.ti-opened.ti-theme-bubungan-tinggi .bt-cover .bt-stars { opacity: 0; animation: none; }
.ti-opened.ti-theme-bubungan-tinggi .bt-cover .bt-sun { opacity: 1; translate: 0 -62%; }
.ti-opened.ti-theme-bubungan-tinggi .bt-cover .bt-flora { translate: 0 70%; filter: none; }
.ti-opened.ti-theme-bubungan-tinggi .bt-stage { transform: translateX(-50%) scale(2.5); transform-origin: 50% 61%; transition: transform 2s cubic-bezier(.65,0,.25,1) 1.15s; }
.ti-opened.ti-theme-bubungan-tinggi .bt-cover__text { opacity: 0; translate: 0 -40px; }
.ti-opened.ti-theme-bubungan-tinggi .bt-btn--open { opacity: 0; animation: none; }
.ti-opened.ti-theme-bubungan-tinggi .bt-flies { opacity: 0; transition: opacity 1.2s ease .6s; }
.ti-opened.ti-theme-bubungan-tinggi .bt-burst i { animation: bt-burst 1.5s cubic-bezier(.2,.7,.2,1) calc(.5s + var(--n) * .025s) both; }

/* ambient: melati, kenanga, kelopak mawar & cahaya kunang-kunang */
.ti-theme-bubungan-tinggi .bt-ambient { position: fixed; inset: 0; z-index: 35; pointer-events: none; overflow: hidden; opacity: 0; transition: opacity 1.4s ease 2.6s; }
.ti-opened.ti-theme-bubungan-tinggi .bt-ambient { opacity: 1; }
.ti-theme-bubungan-tinggi .bt-petal { position: absolute; top: -50px; left: calc(var(--n) * 11% + 2%); width: 17px; opacity: .9; animation: bt-fall calc(14s + var(--n) * 1.5s) linear calc(var(--n) * -2.4s) infinite; }
.ti-theme-bubungan-tinggi .bt-petal:nth-child(3n+1) { width: 22px; }
.ti-theme-bubungan-tinggi .bt-petal:nth-child(3n+2) { width: 11px; }
.ti-theme-bubungan-tinggi .bt-petal img { width: 100%; display: block; animation: bt-spin 4.2s ease-in-out infinite alternate; }
.ti-theme-bubungan-tinggi .bt-glow { position: absolute; bottom: -10px; left: calc(var(--n) * 10% + 4%); width: 6px; height: 6px; border-radius: 50%; background: radial-gradient(circle, #FFF6D0 0%, rgba(240,212,138,.9) 45%, rgba(240,212,138,0) 72%); box-shadow: 0 0 10px 3px rgba(240,212,138,.25); animation: bt-rise-glow calc(10s + var(--n) * 1.1s) ease-in calc(var(--n) * -1.8s) infinite; }

/* =============================== MAIN =============================== */
.ti-theme-bubungan-tinggi .bt-main { position: relative; z-index: 1; max-width: 480px; margin: 0 auto; background: var(--bt-paper); overflow: clip; box-shadow: 0 0 80px rgba(0,0,0,.4); }
.ti-theme-bubungan-tinggi .bt-section { position: relative; padding: 88px 24px; text-align: center; }
.ti-theme-bubungan-tinggi .bt-paper { background-color: var(--bt-paper); background-image: url(assets/img/sasirangan.svg), radial-gradient(120% 60% at 50% 0%, #FFFDF6 0%, rgba(255,253,246,0) 70%); background-size: 72px 72px, 100% 100%; }
.ti-theme-bubungan-tinggi .bt-deep { color: var(--bt-cream); background: radial-gradient(120% 50% at 50% 0%, rgba(46,125,105,.45), rgba(46,125,105,0) 70%), linear-gradient(180deg, var(--bt-night) 0%, var(--bt-deep) 35%, var(--bt-green) 70%, var(--bt-deep) 100%); overflow: hidden; }
.ti-theme-bubungan-tinggi .bt-deep::before { content: ""; position: absolute; inset: 0; background: url(assets/img/sasirangan.svg) 0 0 / 72px 72px; opacity: .9; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-deep::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 26px; background: url(assets/img/rebung.svg) 0 0 / 31px 26px repeat-x; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-deep > * { position: relative; z-index: 1; }
.ti-theme-bubungan-tinggi .bt-title { font-family: "Cinzel", Georgia, serif; font-size: 13px; letter-spacing: .36em; text-transform: uppercase; color: var(--bt-gold-d); margin: 0 0 26px; }
.ti-theme-bubungan-tinggi .bt-title span { display: block; font-family: "Pinyon Script", cursive; font-size: 48px; letter-spacing: 0; text-transform: none; color: var(--bt-green); line-height: 1.15; margin-bottom: 2px; }
.ti-theme-bubungan-tinggi .bt-title--light { color: var(--bt-gold-l); }
.ti-theme-bubungan-tinggi .bt-title--light span { color: var(--bt-cream); }

/* HERO — panggung sungai berlapis mengikuti scroll */
.ti-theme-bubungan-tinggi .bt-hero { position: relative; height: 185vh; background: #F3DDB4; }
.ti-theme-bubungan-tinggi .bt-hero__sticky { position: sticky; top: 0; height: 100vh; overflow: hidden; }
@supports (height: 100svh) { .ti-theme-bubungan-tinggi .bt-hero__sticky { height: 100svh; } }
.ti-theme-bubungan-tinggi .bt-hero__stage { --u: 4.8px; position: absolute; left: 50%; bottom: 0; width: max(100%, 60vh); aspect-ratio: 600 / 1000; translate: -50% 0; overflow: hidden; transform-origin: 50% 62%; scale: calc(1 + var(--ti-q, 0) * .32); }
.ti-theme-bubungan-tinggi .bt-hero .bt-sun { top: 43%; translate: 0 calc(var(--ti-q, 0) * -95%); }
.ti-theme-bubungan-tinggi .bt-hero .bt-house { scale: calc(1 + var(--ti-q, 0) * .18); }
.ti-theme-bubungan-tinggi .bt-hero .bt-boat--near { animation: none; left: -30%; translate: calc(var(--ti-q, 0) * 260%) 0; }
.ti-theme-bubungan-tinggi .bt-hero .bt-boat--far { animation: none; left: 82%; translate: calc(var(--ti-q, 0) * -420%) 0; }
.ti-theme-bubungan-tinggi .bt-hero .bt-mist--far { translate: calc(var(--ti-q, 0) * 14%) 0; opacity: calc(.45 - var(--ti-q, 0) * .3); }
.ti-theme-bubungan-tinggi .bt-hero .bt-mist--near { translate: calc(var(--ti-q, 0) * -18%) 0; opacity: .55; }
.ti-theme-bubungan-tinggi .bt-hero__text { position: absolute; left: 22px; right: 22px; top: 9%; text-align: center; color: var(--bt-deep); translate: 0 calc(var(--ti-q, 0) * -150px); opacity: calc(1 - var(--ti-q, 0) * 1.8); }
.ti-theme-bubungan-tinggi .bt-hero__text .bt-eyebrow { font-size: 12px; letter-spacing: .3em; }
.ti-theme-bubungan-tinggi .bt-hero__names { font-size: clamp(44px, 13vw, 62px); color: var(--bt-deep); text-shadow: 0 2px 22px rgba(255,248,230,.95); margin: 4px 0 0; }
.ti-theme-bubungan-tinggi .bt-hero__fade { position: absolute; left: 0; right: 0; bottom: 0; height: 11%; background: linear-gradient(180deg, rgba(246,238,219,0) 0%, rgba(246,238,219,.85) 70%, var(--bt-paper) 100%); }
.ti-theme-bubungan-tinggi .bt-hero__flora { position: absolute; left: 0; right: 0; bottom: 0; height: 42%; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-hero__flora img { position: absolute; bottom: -2%; width: 64%; transform-origin: 50% 100%; }
.ti-theme-bubungan-tinggi .bt-hero__flora .bt-flora__l { left: -12%; translate: calc(var(--ti-q, 0) * -60%) calc(var(--ti-q, 0) * 10%); animation: bt-sway 6s ease-in-out infinite alternate; }
.ti-theme-bubungan-tinggi .bt-hero__flora .bt-flora__r { right: -12%; translate: calc(var(--ti-q, 0) * 60%) calc(var(--ti-q, 0) * 10%); animation: bt-sway 6.8s ease-in-out .5s infinite alternate-reverse; }
.ti-theme-bubungan-tinggi .bt-scroll { position: absolute; left: 50%; bottom: 17%; translate: -50% 0; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 14px; border-radius: 30px; background: rgba(7,37,32,.45); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); font-family: "Jost", sans-serif; font-size: 11px; letter-spacing: .14em; color: var(--bt-gold-l); opacity: calc(1 - var(--ti-q, 0) * 4); }
.ti-theme-bubungan-tinggi .bt-scroll i { width: 22px; height: 34px; border: 2px solid currentColor; border-radius: 12px; position: relative; }
.ti-theme-bubungan-tinggi .bt-scroll i::after { content: ""; position: absolute; left: 50%; top: 6px; width: 4px; height: 7px; margin-left: -2px; border-radius: 2px; background: currentColor; animation: bt-wheel 1.8s ease-in-out infinite; }

/* QUOTE */
.ti-theme-bubungan-tinggi .bt-quote { padding-top: 80px; }
.ti-theme-bubungan-tinggi .bt-lotus { display: block; width: 104px; margin: 0 auto 18px; }
.ti-theme-bubungan-tinggi .bt-quote__text { font-style: italic; font-size: 21px; line-height: 1.7; color: var(--bt-ink); max-width: 400px; margin: 0 auto 12px; }

/* COUPLE — foto dalam bingkai atap Bubungan Tinggi, tirai sasirangan tersibak */
.ti-theme-bubungan-tinggi .bt-couple { background: linear-gradient(180deg, var(--bt-paper) 0%, #F1E5CA 50%, var(--bt-paper) 100%); }
.ti-theme-bubungan-tinggi .bt-person { margin-top: 30px; }
.ti-theme-bubungan-tinggi .bt-portrait { position: relative; width: min(72%, 280px); aspect-ratio: 300 / 420; margin: 0 auto 26px; --ti-dist: 70px; }
.ti-theme-bubungan-tinggi .bt-portrait__photo, .ti-theme-bubungan-tinggi .bt-portrait__drapes { position: absolute; inset: 0; -webkit-mask: url(assets/img/roof-mask.svg) center / 100% 100% no-repeat; mask: url(assets/img/roof-mask.svg) center / 100% 100% no-repeat; }
.ti-theme-bubungan-tinggi .bt-portrait__photo { overflow: hidden; background: #E9DDC2; }
.ti-theme-bubungan-tinggi .bt-portrait__photo .bt-portrait__img { width: 100%; height: 100%; object-fit: cover; scale: calc(1.2 - var(--ti-p, .5) * .3); }
.ti-theme-bubungan-tinggi .bt-portrait__photo .ti-couple-monogram { display: grid; place-items: center; width: 100%; height: 100%; font-family: "Pinyon Script", cursive; font-size: 110px; color: var(--bt-green); background: radial-gradient(circle at 50% 45%, #FFFBEF, #E6D6B2); }
.ti-theme-bubungan-tinggi .bt-portrait__drapes { overflow: hidden; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-portrait__drapes .bt-drape { width: 60%; filter: none; transition: translate 1.6s cubic-bezier(.6,0,.25,1) .3s; }
.ti-theme-bubungan-tinggi .bt-portrait.is-in .bt-drape--l { translate: -102% 0; }
.ti-theme-bubungan-tinggi .bt-portrait.is-in .bt-drape--r { translate: 102% 0; }
.ti-theme-bubungan-tinggi .bt-portrait__frame { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-portrait__crown { position: absolute; left: 32%; width: 36%; top: -9%; transition: transform 1s cubic-bezier(.3,1.4,.4,1) 1.1s; }
.ti-theme-bubungan-tinggi .bt-portrait__lotus { position: absolute; width: 30%; bottom: -7%; transition: transform 1s cubic-bezier(.3,1.4,.4,1) 1.3s; }
.ti-theme-bubungan-tinggi .bt-portrait__lotus--a { left: -12%; }
.ti-theme-bubungan-tinggi .bt-portrait__lotus--b { right: -12%; width: 24%; transition-delay: 1.5s; }
.ti-theme-bubungan-tinggi .bt-portrait:not(.is-in) .bt-portrait__crown { transform: translateY(30px) scale(.4); }
.ti-theme-bubungan-tinggi .bt-portrait:not(.is-in) .bt-portrait__lotus { transform: scale(0) rotate(-40deg); }
.ti-theme-bubungan-tinggi .bt-person__nick { font-size: 48px; color: var(--bt-green); margin: 0; }
.ti-theme-bubungan-tinggi .bt-person__name { font-family: "Cinzel", serif; font-size: 15.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--bt-ink); margin: 2px 0 8px; }
.ti-theme-bubungan-tinggi .bt-ig { display: inline-block; margin-top: 4px; font-family: "Jost", sans-serif; font-size: 14px; color: var(--bt-green); text-decoration: none; border-bottom: 1px solid rgba(31,91,78,.35); }
.ti-theme-bubungan-tinggi .bt-amp { font-size: 74px; color: var(--bt-gold); margin: 26px 0 10px; line-height: 1; }

/* EVENTS */
.ti-theme-bubungan-tinggi .bt-events { padding-top: 104px; }
.ti-theme-bubungan-tinggi .bt-countdown { margin: 0 0 40px; gap: 9px; }
.ti-theme-bubungan-tinggi .bt-countdown .ti-countdown__item { position: relative; width: 68px; padding: 16px 4px 12px; border: 1px solid rgba(240,212,138,.55); border-radius: 4px; background: linear-gradient(180deg, rgba(7,37,32,.7), rgba(31,91,78,.45)); box-shadow: inset 0 0 0 3px rgba(7,37,32,.6), inset 0 0 0 4px rgba(240,212,138,.2); }
.ti-theme-bubungan-tinggi .bt-countdown .ti-countdown__item::before { content: ""; position: absolute; left: 50%; top: -6px; width: 10px; height: 10px; margin-left: -5px; rotate: 45deg; background: var(--bt-gold); }
.ti-theme-bubungan-tinggi .bt-countdown .ti-countdown__num { font-family: "Cinzel", serif; font-weight: 600; font-size: 26px; color: var(--bt-gold-l); }
.ti-theme-bubungan-tinggi .bt-countdown .ti-countdown__label { font-family: "Jost", sans-serif; font-size: 9.5px; color: rgba(251,245,230,.75); opacity: 1; }
.ti-theme-bubungan-tinggi .bt-event { position: relative; max-width: 380px; margin: 120px auto 30px; padding: 36px 24px 34px; color: var(--bt-ink); background: linear-gradient(180deg, #FFFBF0 0%, #F3E7CB 100%); border-radius: 0 0 18px 18px; box-shadow: 0 34px 50px -30px rgba(0,0,0,.9); --ti-dur: 1.25s; }
.ti-theme-bubungan-tinggi .bt-event::before { content: ""; position: absolute; inset: 0 10px 10px; border: 1px solid rgba(147,104,42,.45); border-top: 0; border-radius: 0 0 12px 12px; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-event::after { content: ""; position: absolute; left: -100%; top: 0; width: 60%; height: 100%; background: linear-gradient(100deg, rgba(255,255,255,0), rgba(255,250,230,.75), rgba(255,255,255,0)); transform: skewX(-18deg); pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-event.is-in::after { animation: bt-sweep 1.6s ease 1s both; }
.ti-theme-bubungan-tinggi .bt-event__roof { position: absolute; left: -10%; width: 120%; bottom: calc(100% - 2px); filter: drop-shadow(0 -6px 12px rgba(0,0,0,.35)); }
.ti-theme-bubungan-tinggi .bt-event__name { font-size: 46px; color: var(--bt-green); margin-bottom: 8px; }
.ti-theme-bubungan-tinggi .bt-event__date { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 0 0 12px; font-family: "Cinzel", serif; color: var(--bt-green); }
.ti-theme-bubungan-tinggi .bt-event__date span { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; padding: 6px 0; border-top: 1px solid rgba(147,104,42,.5); border-bottom: 1px solid rgba(147,104,42,.5); min-width: 86px; }
.ti-theme-bubungan-tinggi .bt-event__date strong { font-weight: 600; font-size: 54px; line-height: 1; color: var(--bt-gold-d); }
.ti-theme-bubungan-tinggi .bt-event__time { display: inline-block; margin: 0 0 12px; padding: 4px 16px; border-radius: 999px; background: var(--bt-deep); font-family: "Jost", sans-serif; font-size: 13.5px; letter-spacing: .1em; color: var(--bt-gold-l); }
.ti-theme-bubungan-tinggi .bt-corner { position: absolute; width: 50px; pointer-events: none; }
.ti-theme-bubungan-tinggi .bt-corner--tl { top: 8px; left: 8px; }
.ti-theme-bubungan-tinggi .bt-corner--bl { bottom: 8px; left: 8px; scale: 1 -1; }
.ti-theme-bubungan-tinggi .bt-corner--br { bottom: 8px; right: 8px; scale: -1 -1; }
.ti-theme-bubungan-tinggi .ti-btn--primary, .ti-theme-bubungan-tinggi .ti-btn--maps { background: var(--bt-green); color: var(--bt-cream); font-family: "Jost", sans-serif; font-weight: 400; }
.ti-theme-bubungan-tinggi .ti-btn--ghost { color: var(--bt-green); border-color: rgba(31,91,78,.45); font-family: "Jost", sans-serif; font-weight: 400; }

/* VIDEO */
.ti-theme-bubungan-tinggi .bt-video { border-radius: 18px; overflow: hidden; border: 1px solid rgba(201,154,59,.5); box-shadow: 0 30px 50px -30px rgba(7,37,32,.8); }

/* STORY — jukung berlayar menyusuri kisah */
.ti-theme-bubungan-tinggi .bt-story { background: linear-gradient(180deg, #F1E5CA 0%, var(--bt-paper) 100%); }
.ti-theme-bubungan-tinggi .bt-river { position: relative; text-align: left; padding-left: 48px; }
.ti-theme-bubungan-tinggi .bt-river__line { position: absolute; left: 17px; top: 6px; bottom: 6px; width: 6px; border-radius: 6px; background: linear-gradient(180deg, #7FB5AD, var(--bt-green)); opacity: .5; transform-origin: 50% 0; scale: 1 min(1, calc(var(--ti-p, 1) * 1.8)); }
.ti-theme-bubungan-tinggi .bt-river__line::after { content: ""; position: absolute; left: 2px; top: 0; bottom: 0; width: 2px; background: repeating-linear-gradient(180deg, #fff 0 6px, transparent 6px 16px); opacity: .7; animation: bt-flow 1.6s linear infinite; }
.ti-theme-bubungan-tinggi .bt-river__boat { position: absolute; left: -6px; top: 0; z-index: 2; width: 56px; translate: 0 calc(min(1, var(--ti-p, 0) * 1.7) * var(--bt-river-h, 0px)); transition: translate .2s linear; }
.ti-theme-bubungan-tinggi .bt-river__boat img { width: 100%; display: block; animation: bt-bob 3s ease-in-out infinite alternate; filter: drop-shadow(0 4px 4px rgba(0,0,0,.25)); }
.ti-theme-bubungan-tinggi .bt-chapter { position: relative; margin-bottom: 42px; }
.ti-theme-bubungan-tinggi .bt-chapter__dot { position: absolute; left: -37px; top: 6px; width: 14px; height: 14px; rotate: 45deg; background: var(--bt-gold); box-shadow: 0 0 0 4px var(--bt-paper), 0 0 0 5px rgba(147,104,42,.45); }
.ti-theme-bubungan-tinggi .bt-chapter__img { aspect-ratio: 300 / 320; margin-bottom: 14px; -webkit-mask: url(assets/img/roof-mask.svg) center / 100% 100% no-repeat; mask: url(assets/img/roof-mask.svg) center / 100% 100% no-repeat; }
.ti-theme-bubungan-tinggi .bt-chapter__img img { width: 100%; height: 100%; object-fit: cover; }
.ti-theme-bubungan-tinggi .bt-chapter__text h3 { font-family: "Pinyon Script", cursive; font-size: 36px; color: var(--bt-green); margin: 2px 0 6px; }
.ti-theme-bubungan-tinggi .bt-chapter__text p { margin: 0; color: var(--bt-soft); font-size: 17.5px; }

/* GALLERY */
.ti-theme-bubungan-tinggi .bt-grid { display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 155px; grid-auto-flow: dense; gap: 10px; }
.ti-theme-bubungan-tinggi .bt-grid__item { display: block; overflow: hidden; border-radius: 6px; background: #E9DDC2; box-shadow: 0 0 0 1px rgba(201,154,59,.45), 0 18px 30px -24px rgba(7,37,32,.9); }
.ti-theme-bubungan-tinggi .bt-grid__item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.ti-theme-bubungan-tinggi .bt-grid__item:hover img { transform: scale(1.06); }
.ti-theme-bubungan-tinggi .bt-grid__item--hero { grid-column: span 2; grid-row: span 3; border-radius: 0; box-shadow: none; -webkit-mask: url(assets/img/roof-mask.svg) center / 100% 100% no-repeat; mask: url(assets/img/roof-mask.svg) center / 100% 100% no-repeat; }
.ti-theme-bubungan-tinggi .bt-grid__item--tall { grid-row: span 2; }

/* PANEL / FORM */
.ti-theme-bubungan-tinggi .bt-rsvp { background: linear-gradient(180deg, var(--bt-paper), #F1E5CA); }
.ti-theme-bubungan-tinggi .bt-panel { position: relative; padding: 34px 22px 28px; background: #FFFCF4; border: 1px solid #E7D7B3; border-radius: 16px; text-align: left; box-shadow: 0 30px 60px -40px rgba(7,37,32,.7); }
.ti-theme-bubungan-tinggi .bt-panel .bt-corner { width: 44px; opacity: .9; }
.ti-theme-bubungan-tinggi .ti-field label, .ti-theme-bubungan-tinggi .ti-field legend { font-family: "Cinzel", serif; font-weight: 400; letter-spacing: .1em; font-size: 12px; text-transform: uppercase; color: var(--bt-green); }
.ti-theme-bubungan-tinggi .ti-field input[type="text"], .ti-theme-bubungan-tinggi .ti-field select, .ti-theme-bubungan-tinggi .ti-field textarea, .ti-theme-bubungan-tinggi .ti-choice span { font-family: "Cormorant Garamond", Georgia, serif; font-size: 17px; border-color: #E2D2AE; background: #FFFDF8; }
.ti-theme-bubungan-tinggi .ti-guestbook__item { background: var(--bt-paper); border-left: 3px solid var(--bt-gold); border-radius: 4px 14px 14px 4px; }
.ti-theme-bubungan-tinggi .bt-gift .ti-gift__card { position: relative; background: linear-gradient(180deg, #FFFBF0, #F3E7CB); color: var(--bt-ink); border-radius: 16px; box-shadow: inset 0 0 0 6px #FFFBF0, inset 0 0 0 7px rgba(147,104,42,.45); }
.ti-theme-bubungan-tinggi .bt-gift .ti-gift__bank { font-family: "Cinzel", serif; letter-spacing: .2em; color: var(--bt-green); }

/* CLOSING — senja turun, tirai menutup mengikuti scroll */
.ti-theme-bubungan-tinggi .bt-closing { position: relative; height: 100vh; min-height: 640px; overflow: hidden; background: var(--bt-night); }
.ti-theme-bubungan-tinggi .bt-closing__stage { --u: 4.8px; position: absolute; left: 50%; bottom: 0; width: max(100%, 68vh); aspect-ratio: 600 / 1000; translate: -50% 12%; overflow: hidden; }
.ti-theme-bubungan-tinggi .bt-closing .bt-sky--night, .ti-theme-bubungan-tinggi .bt-closing .bt-stars { opacity: calc(min(var(--ti-p, .5), .5) * 2.4 - .2); }
.ti-theme-bubungan-tinggi .bt-closing .bt-sun { top: 46%; translate: 0 calc((.5 - min(var(--ti-p, .5), .5)) * -160%); }
.ti-theme-bubungan-tinggi .bt-closing .bt-house img { filter: brightness(calc(1 - min(var(--ti-p, .5), .5) * .4)); }
.ti-theme-bubungan-tinggi .bt-closing .bt-drape--l { translate: calc((.5 - min(var(--ti-p, .5), .5)) * -240%) 0; }
.ti-theme-bubungan-tinggi .bt-closing .bt-drape--r { translate: calc((.5 - min(var(--ti-p, .5), .5)) * 240%) 0; }
.ti-theme-bubungan-tinggi .bt-closing .bt-valance { height: auto; aspect-ratio: 600 / 112; translate: 0 calc((.5 - min(var(--ti-p, .5), .5)) * -230%); }
.ti-theme-bubungan-tinggi .bt-closing .bt-flora { translate: 0 calc((.5 - min(var(--ti-p, .5), .5)) * 60%); }
.ti-theme-bubungan-tinggi .bt-closing__text { position: absolute; left: 21%; right: 21%; top: 14%; text-align: center; z-index: 4; color: var(--bt-gold-l); }
.ti-theme-bubungan-tinggi .bt-closing__text .bt-text { color: var(--bt-cream); font-size: 16px; line-height: 1.5; margin-bottom: 12px; text-shadow: 0 1px 12px rgba(0,0,0,.65); }
.ti-theme-bubungan-tinggi .bt-closing__text .bt-eyebrow { font-size: 12px; color: var(--bt-gold-l); }
.ti-theme-bubungan-tinggi .bt-closing__names { font-size: clamp(38px, 10.5vw, 50px); line-height: 1.1; margin: 0; color: var(--bt-gold-l); text-shadow: 0 2px 18px rgba(0,0,0,.6); }
.ti-theme-bubungan-tinggi .bt-footer { padding: 22px 16px 30px; text-align: center; background: var(--bt-night); color: rgba(240,212,138,.7); font-family: "Cinzel", serif; font-size: 11px; letter-spacing: .22em; text-transform: uppercase; }

/* Animasi */
@keyframes bt-shine { from { background-position: 130% 0; } to { background-position: -130% 0; } }
@keyframes bt-twinkle { from { opacity: .35; } to { opacity: 1; } }
@keyframes bt-drift { from { transform: translate3d(-8%, 0, 0); } to { transform: translate3d(8%, 0, 0); } }
@keyframes bt-ripple { from { transform: scaleX(1) skewX(0); } to { transform: scaleX(1.02) skewX(1.5deg); } }
@keyframes bt-glint { from { opacity: .45; transform: scaleX(.96); } to { opacity: 1; transform: scaleX(1.05); } }
@keyframes bt-bob { from { transform: translateY(0) rotate(-1.2deg); } to { transform: translateY(-4%) rotate(1.4deg); } }
@keyframes bt-bob-flip { from { transform: scaleX(-1) translateY(0) rotate(-1.2deg); } to { transform: scaleX(-1) translateY(-4%) rotate(1.4deg); } }
@keyframes bt-sail-r { from { transform: translateX(-110%); } to { transform: translateX(310%); } }
@keyframes bt-sail-l { from { transform: translateX(730%); } to { transform: translateX(-120%); } }
@keyframes bt-sway { from { transform: rotate(-1.6deg); } to { transform: rotate(1.8deg); } }
@keyframes bt-rise { from { opacity: 0; transform: translate3d(0, 28%, 0); } to { opacity: 1; transform: none; } }
@keyframes bt-text-in { from { opacity: 0; transform: translate3d(0, 18px, 0); filter: blur(6px); } to { opacity: 1; transform: none; filter: none; } }
@keyframes bt-drape-in-l { from { transform: translateX(-100%) scaleX(.6); } to { transform: none; } }
@keyframes bt-drape-in-r { from { transform: translateX(100%) scaleX(.6); } to { transform: none; } }
@keyframes bt-drape-out-l { 0% { transform: none; } 35% { transform: translateX(-12%) scaleX(1.12) skewY(-2deg); } 100% { transform: translateX(-120%) scaleX(.55) skewY(3deg); } }
@keyframes bt-drape-out-r { 0% { transform: none; } 35% { transform: translateX(12%) scaleX(1.12) skewY(2deg); } 100% { transform: translateX(120%) scaleX(.55) skewY(-3deg); } }
@keyframes bt-valance-in { from { transform: translateY(-100%); } to { transform: none; } }
@keyframes bt-pulse { 0%, 100% { box-shadow: inset 0 0 0 3px rgba(15,58,49,.9), inset 0 0 0 4px rgba(240,212,138,.45), 0 14px 28px -12px rgba(0,0,0,.75), 0 0 0 0 rgba(240,212,138,.45); } 50% { box-shadow: inset 0 0 0 3px rgba(15,58,49,.9), inset 0 0 0 4px rgba(240,212,138,.45), 0 14px 28px -12px rgba(0,0,0,.75), 0 0 0 14px rgba(240,212,138,0); } }
@keyframes bt-fly { 0% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(calc(var(--u) * 3), calc(var(--u) * -4), 0); } 100% { transform: translate3d(calc(var(--u) * -2), calc(var(--u) * -8), 0); } }
@keyframes bt-blink { from { opacity: .15; } to { opacity: 1; } }
@keyframes bt-burst { 0% { opacity: 0; transform: rotate(var(--a)) translateY(0) scale(.3); } 15% { opacity: 1; } 100% { opacity: 0; transform: rotate(var(--a)) translateY(calc(var(--u) * -30)) scale(1.4); } }
@keyframes bt-fall { 0% { transform: translate3d(0, -5vh, 0); } 50% { transform: translate3d(-34px, 52vh, 0); } 100% { transform: translate3d(16px, 110vh, 0); } }
@keyframes bt-spin { from { transform: rotate(-24deg) rotateY(0); } to { transform: rotate(150deg) rotateY(180deg); } }
@keyframes bt-rise-glow { 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(.6); } 20% { opacity: 1; } 100% { opacity: 0; transform: translate3d(28px, -95vh, 0) scale(1.3); } }
@keyframes bt-sweep { from { left: -70%; } to { left: 130%; } }
@keyframes bt-flow { from { background-position: 0 0; } to { background-position: 0 16px; } }
@keyframes bt-wheel { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(12px); } }

@media (prefers-reduced-motion: reduce) {
  .ti-theme-bubungan-tinggi .bt-ambient, .ti-theme-bubungan-tinggi .bt-flies, .ti-theme-bubungan-tinggi .bt-burst { display: none; }
  .ti-theme-bubungan-tinggi .bt-boat, .ti-theme-bubungan-tinggi .bt-boat img, .ti-theme-bubungan-tinggi .bt-shine { animation: none; }
  .ti-theme-bubungan-tinggi .bt-hero { height: auto; }
  .ti-theme-bubungan-tinggi .bt-hero__sticky { position: relative; }
  .ti-theme-bubungan-tinggi .bt-portrait__drapes { display: none; }
}
