/* Lumière: light passing through an architectural, flower filled sequence. */
body.lum-body{--night:#171718;--gold:#cdb799;--cream:#f7f2eb;--ink:#302b28;margin:0;background:#171718;color:#f8f2ea;font:16px/1.55 KeratonSerif,Georgia,serif}
.lum-site{background:#171718;overflow:clip;color:#f7f1e9}
.lum-site h1,.lum-site h2,.lum-site h3,.lum-site p,.lum-site address,.lum-site strong{overflow-wrap:anywhere}
.lum-stage{position:relative;isolation:isolate;border-color:#ae9b86;box-shadow:inset 0 1px 0 #f7e8d267}
.lum-stage__inner{position:relative;z-index:3}
.lum-stage:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(118deg,transparent 10%,#fcead61b 42%,transparent 63%);opacity:.4;animation:lum-light-sweep 15s ease-in-out infinite alternate}
.lum-header{height:60px;background:#181719ed;color:#fff7ef;border-color:#a99988;box-shadow:0 5px 22px #0806078f;backdrop-filter:blur(12px);gap:20px}
.lum-brand{font-style:italic;font-size:27px;color:#fff7ef;line-height:.9;white-space:nowrap}.lum-brand small{font-style:normal;letter-spacing:.23em;font-size:7px;margin-top:8px}
.lum-rail{gap:clamp(8px,1.4vw,23px)}.lum-rail a{color:#f0e9e3}.lum-rail a:hover{color:#efd6aa}
.lum-menu,.lum-music{background:#292828;color:#fff;border:1px solid #cdb899}
.lum-button{max-width:100%;white-space:normal;border-radius:999px;background:#f8efe3;color:#312a27!important;border:1px solid #fffcf4;box-shadow:0 0 19px #f6e6d696,0 7px 21px #08070786;transition:transform .3s,box-shadow .3s}
.lum-button:hover{background:#fffaf2;color:#201c1a!important;transform:translateY(-3px);box-shadow:0 0 26px #ffedd9,0 10px 25px #080707a0}
.lum-opening{z-index:80;background:linear-gradient(90deg,#141416a1,#14141622 48%,#15141455),url('assets/portal.webp') center/cover;color:#fff7f1;text-align:left;place-items:center start;padding:clamp(18px,5vw,78px)}
.lum-opening__content{width:min(43%,600px);max-width:none;padding:clamp(20px,3vw,47px);background:linear-gradient(90deg,#191819eb,#19181991 73%,transparent);color:#fff7ef;text-align:left;text-shadow:0 2px 5px #080708a8;border-left:1px solid #f7e6d478}
.lum-opening__content:before{display:none}.lum-opening .lum-crest{display:none}
.lum-opening .lum-kicker{font-style:italic;font-size:22px;letter-spacing:.04em}
.lum-opening .lum-overline{font-size:14px;letter-spacing:.12em}
.lum-opening h1{font-size:clamp(35px,3.5vw,67px);font-weight:400;line-height:1.08;margin:12px 0 19px;text-wrap:balance}
.lum-opening__verse{width:min(100%,440px);font-size:17px;line-height:1.35}
.lum-opening__guest{width:min(100%,500px);max-width:100%;background:none;border:0;border-top:1px solid #ecd9bd7e;padding:12px 0;margin:20px 0;display:flex;flex-direction:column;align-items:flex-start;text-align:left}
.lum-opening__guest,.lum-opening__guest strong,.lum-opening__guest small,.lum-opening__guest span,.lum-opening .lum-overline{color:#fff6ed;text-shadow:0 2px 5px #090808}
.lum-opening__guest strong{font-size:18px;font-weight:400;min-width:0;overflow-wrap:anywhere}.lum-opening__guest span{font-size:13px}
.lum-opening__portrait{display:none!important}
.lum-hero{min-height:610px;background:linear-gradient(90deg,#121214bb,#12121445 50%,#111114b4),url('assets/portal.webp') center/cover}
.lum-hero__grid{min-height:610px;grid-template-columns:minmax(0,.8fr) minmax(300px,1.4fr) minmax(0,.8fr)}
.lum-side{background:#191818bb;border:1px solid #eee5d57a;color:#fff7ed;text-shadow:0 2px 5px #050505;backdrop-filter:blur(9px);box-shadow:0 5px 19px #0008;overflow-wrap:anywhere}
.lum-hero__center{background:#1c1b1cbd;border:1px solid #f5e8d48a;box-shadow:0 0 30px #fff6d94d,inset 0 0 28px #fff4df1c;padding:22px clamp(13px,2.6vw,35px);color:#fff7ee;text-shadow:0 2px 5px #111;backdrop-filter:blur(12px)}
.lum-hero__cover{width:100px;height:108px;margin:auto auto 12px;padding:4px;border:1px solid #fffaec;border-radius:49% 49% 5px 5px;box-shadow:0 0 0 3px #fff4e153,0 0 17px #fff3ceaa;overflow:hidden}
.lum-hero__cover img{width:100%;height:100%;object-fit:cover;object-position:center 25%;border-radius:inherit}
.lum-display{font-size:clamp(40px,4.4vw,70px);font-weight:400;line-height:1.02;text-wrap:balance}
.lum-display span{color:#f3d6ab}.lum-hero__verse{color:#f5e3d0}
.lum-couple{background:linear-gradient(90deg,#141414ca,#2925239c,#141414d0),url('assets/hall.webp') center/cover;min-height:430px;padding:48px 0 55px}
.lum-couple__grid{grid-template-columns:minmax(0,1fr) 145px minmax(0,1fr);max-width:1060px}
.lum-person{text-shadow:0 2px 6px #060606;width:min(100%,350px)}
.lum-person__portrait{width:min(100%,240px);height:auto;aspect-ratio:4/5;overflow:hidden;clip-path:none;border-radius:48% 48% 7px 7px;padding:4px;border:1px solid #fff8e6;background:#ede4d5;box-shadow:0 0 0 4px #eee5d25c,0 0 23px #f9ecd2a3,0 9px 26px #000a}
.lum-person__portrait:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,#fff4e133 2%,transparent 32%,#f7eac522 70%,transparent);box-shadow:inset 0 0 0 3px #fff9e5aa;border-radius:inherit}
.lum-person__portrait img{width:100%;height:100%;object-fit:cover;object-position:center 24%;border-radius:48% 48% 4px 4px}
.lum-person h2{font-size:clamp(21px,2vw,29px);line-height:1.13;margin:18px 0 8px}.lum-person p{line-height:1.36}
.lum-couple__axis{color:#f9eddc}
.lum-countdown{background:linear-gradient(#1a1918ac,#1a1918d4),url('assets/hall.webp') center 55%/cover;color:#fff7ed;padding:30px 0 38px}
.lum-section-title{font-size:clamp(20px,2.4vw,32px);font-weight:400;color:#fff7ed}
.lum-time{clip-path:none;width:clamp(72px,8vw,106px);min-height:88px;background:#29252399;border:1px solid #e9d9bf;color:#fff7eb;box-shadow:0 0 0 3px #121111,0 0 0 4px #dbc8ac,0 0 21px #f7e6c779!important;backdrop-filter:blur(12px);animation:lum-time-glow 6s ease-in-out infinite alternate}
.lum-time strong{font-variant-numeric:tabular-nums;font-style:italic}
.lum-events{background:linear-gradient(90deg,#101012be,#27242174,#101012bc),url('assets/hall.webp') center/cover;min-height:410px;padding:44px 0}
.lum-events__grid{grid-template-columns:minmax(0,.75fr) minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,.65fr);gap:clamp(9px,1.5vw,22px)}
.lum-section-intro{position:relative;z-index:3;background:#181718d9;color:#fff5eb;border-left:1px solid #fff1d8b8;padding:15px;backdrop-filter:blur(11px)}
.lum-parchment{color:#332a25;background:linear-gradient(140deg,#fffaf3ed,#f0e5dbe8 70%,#e9d8c7e4);border:1px solid #fdf8ed;box-shadow:0 0 0 4px #f8e8d57a,0 0 22px #fff1dab1,0 9px 25px #0707078c;min-width:0;overflow-wrap:anywhere;backdrop-filter:blur(10px)}
.lum-event{min-height:290px;height:auto;padding:36px clamp(10px,2vw,23px) 22px;border-radius:47% 47% 10px 10px;justify-content:center}
.lum-event h3,.lum-event p,.lum-event strong,.lum-event address{overflow-wrap:anywhere;hyphens:auto}
.lum-events__quote{color:#fff8ed;text-shadow:0 2px 5px #080707}
.lum-story{background:linear-gradient(90deg,#131313e0,#1e1c1bae,#131313db),url('assets/hall.webp') center/cover;padding:38px 0}
.lum-story__card{height:auto;min-height:225px;overflow:visible;position:relative;padding:130px 13px 15px;color:#372b26;background:#f9f2e9eb;border:1px solid #f8e9cf;box-shadow:0 0 0 4px #6a5e51,0 0 20px #f6e5cb66;display:flex;flex-direction:column;justify-content:flex-end}
.lum-story__card:after{display:none}
.lum-story__card .lum-story__photo{inset:5px 5px auto;height:115px;width:calc(100% - 10px);object-fit:cover;object-position:center 30%;opacity:1;filter:none}
.lum-story__card span,.lum-story__card h3,.lum-story__card p{position:relative;z-index:2;color:#40312c;text-shadow:none}
.lum-gallery{background:linear-gradient(90deg,#151414dc,#24211ed0),url('assets/hall.webp') center/cover;padding:38px 0}
.lum-archive{height:224px;flex-basis:clamp(160px,18vw,250px);border:5px solid #eee4d4;background:#282524;box-shadow:0 0 0 1px #8e806c,0 0 18px #f7e9d288}
.lum-archive:nth-child(3n+2){height:255px;flex-basis:clamp(175px,21vw,290px)}
.lum-archive img{width:100%;height:100%;object-fit:cover;object-position:center 27%}
.lum-map{background:linear-gradient(90deg,#131313d9,#262321a8),url('assets/hall.webp') center/cover;padding:40px 0}
.lum-map__visual{background:url('assets/map-illustration.svg') center/cover;filter:grayscale(1) contrast(.85);border:6px solid #e8dccd;box-shadow:0 0 20px #f8e9c58a}
.lum-map__visual span{display:none}
.lum-map__visual:after{content:'Ilustrasi lokasi';position:absolute;right:5px;bottom:5px;padding:3px 6px;background:#181818e8;color:#fff;font:10px KeratonSans,sans-serif}
.lum-map__address{color:#fff7ef}
.lum-gift{background:linear-gradient(90deg,#191717d7,#34302aa6),url('assets/hall.webp') center/cover;padding:38px 0}
.lum-bank{padding:17px;border-radius:9px}.lum-bank button{background:#2c2928;color:#fff9ed;border-color:#cdb89c}
.lum-rsvp{background:linear-gradient(90deg,#131313d7,#282421a8),url('assets/hall.webp') center/cover;padding:42px 0}
.lum-guestbook{background:linear-gradient(90deg,#181717dd,#2a2625b5),url('assets/hall.webp') center/cover;padding:42px 0}
.lum-form{border-radius:12px;color:#302925}.lum-form input,.lum-form select,.lum-form textarea{width:100%;max-width:100%;min-width:0;background:#fffaf4;color:#302924;border:1px solid #c9b7a3}
.lum-wish-card{background:#fff7edeb;color:#3b302a;border:1px solid #e3d3be;overflow-wrap:anywhere}
.lum-closing{min-height:560px;background:linear-gradient(90deg,#111113e0,#11111320 50%,#111113d9),url('assets/sunset.webp') center/cover;color:#fff8ec;text-shadow:0 2px 7px #080707;padding:67px 0 17px}
.lum-closing__bottom{color:#fff8ef;background:#171515a1;border-top:1px solid #eee0cd}
.lum-stage:not(.lum-closing):after{content:"";position:absolute;z-index:1;pointer-events:none;width:clamp(210px,28vw,570px);height:clamp(210px,28vw,570px);left:-12vw;bottom:-11vw;background:url('assets/floral.webp') center/contain no-repeat;filter:drop-shadow(0 10px 13px #0008);opacity:.85}
.lum-stage:nth-child(even):not(.lum-closing):after{left:auto;right:-13vw;transform:scaleX(-1)}
.lum-floral-object{position:absolute;z-index:1;pointer-events:none;left:-10vw;bottom:-12vw;width:clamp(240px,30vw,560px);aspect-ratio:1;background:url('assets/floral.webp') center/contain no-repeat;filter:drop-shadow(0 14px 17px #0009);transform:translate3d(var(--depth-x,0px),var(--depth-y,0px),0);animation:lum-flowers 9s ease-in-out infinite alternate}
.lum-floral-object--right{left:auto;right:-11vw;top:-13vw;bottom:auto;animation-delay:-4s}
.lum-stage .lum-button,.lum-stage input,.lum-stage select,.lum-stage textarea{position:relative;z-index:4}
.lum-particle{background:linear-gradient(125deg,#fffefa,#d8c4a3);box-shadow:0 0 8px #fff6dc;border:1px solid #fff9}
.lum-particle--glint{background:#fff9e8;box-shadow:0 0 11px 4px #fce7bf}
.lum-particle--flower{width:calc(var(--size)*3.6);height:calc(var(--size)*3.6);border:0;border-radius:0;background:url('assets/floral.webp') center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 2px 5px #1119)}
.lum-particles.is-paused .lum-particle{animation-play-state:paused}
@keyframes lum-light-sweep{to{opacity:.14;transform:translateX(28px)}}
@keyframes lum-time-glow{to{box-shadow:0 0 0 3px #121111,0 0 0 4px #dbc8ac,0 0 32px #fff0cea8}}
@keyframes lum-flowers{to{translate:0 -15px;rotate:3deg}}
@media(max-width:850px){
 .lum-header.is-menu-open .lum-rail{background:#222021f8;color:#fff}
 .lum-opening__content{width:min(70%,530px)}
 .lum-hero__grid{grid-template-columns:1fr;justify-items:center}
 .lum-side{display:none}
 .lum-events__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lum-events__grid>.lum-section-intro,.lum-events__quote{grid-column:1/-1}
}
@media(max-width:600px){
 .lum-site{font-size:14px}.lum-header{height:55px;padding-inline:13px}
 .lum-brand{font-size:23px}.lum-brand small{font-size:6px}
 .lum-opening{padding:14px;background:linear-gradient(90deg,#111113b4,#11111309),url('assets/portal.webp') 59% center/cover}
 .lum-opening__content{width:min(58vw,260px);max-width:100%;padding:19px 12px;background:#1c1b1bdb;border:1px solid #e7dcc5b1;box-shadow:0 10px 30px #0008;position:relative;z-index:2}
 .lum-opening .lum-kicker{font-size:15px}
 .lum-opening h1{font-size:clamp(30px,8vw,43px)}
 .lum-opening h1{font-size:clamp(32px,9vw,52px);line-height:1.08}
 .lum-opening__verse{font-size:15px}.lum-opening__guest strong{font-size:15px}
 .lum-hero{min-height:670px;background-position:65% center}
 .lum-hero__grid{min-height:670px;padding-top:258px;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:18px}
 .lum-hero__mobilephotos{top:18px;bottom:auto;height:206px;left:8%;right:8%;z-index:1}
 .lum-hero__mobilephotos img{border:3px solid #fff3df;border-radius:44% 44% 5px 5px;box-shadow:0 0 0 3px #fff1d767,0 0 18px #fff3de9b;object-fit:cover;object-position:center 23%}
 .lum-hero__center{width:100%;margin:0;position:relative;z-index:3;padding:14px}
 .lum-hero__cover{width:70px;height:79px}.lum-display{font-size:clamp(37px,9vw,54px)}
 .lum-couple{min-height:0;padding:37px 0 46px}
 .lum-couple__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
 .lum-couple__axis{grid-column:1/-1;grid-row:1;padding:5px}
 .lum-person{min-width:0}.lum-person__portrait{width:min(100%,158px);aspect-ratio:4/5;height:auto}
 .lum-person h2{font-size:clamp(19px,5.3vw,26px);margin:14px 0 6px}.lum-person p{font-size:11px}
 .lum-countdown{padding:28px 0}.lum-countdown__row{gap:8px}
 .lum-time{width:calc((100% - 24px)/4);min-height:70px;box-shadow:0 0 0 2px #121111,0 0 0 3px #d5c0a1,0 0 14px #f9edd3!important}
 .lum-time strong{font-size:clamp(22px,7vw,31px)}.lum-time small{font-size:10px}
 .lum-events{padding:39px 0}.lum-events__grid{gap:16px}
 .lum-event{min-height:280px;padding:35px 9px 18px}
 .lum-event h3{font-size:20px}.lum-event p,.lum-event strong,.lum-event address{font-size:11px}
 .lum-story__card{min-height:235px}
 .lum-gallery,.lum-map,.lum-gift,.lum-rsvp,.lum-guestbook{padding-block:34px}
 .lum-map__layout,.lum-gift__layout,.lum-rsvp__layout,.lum-guestbook__layout{display:block}
 .lum-map__visual{height:150px;margin:16px 0}.lum-form{margin-top:15px}
 .lum-closing{min-height:500px;padding-top:58px;background-position:center}
 .lum-closing__bottom{margin-top:195px}
 .lum-stage:not(.lum-closing):after{width:clamp(145px,43vw,250px);height:clamp(145px,43vw,250px);left:-19vw;bottom:-9vw;opacity:.7}
 .lum-stage:nth-child(even):not(.lum-closing):after{left:auto;right:-19vw}
 .lum-floral-object{width:clamp(145px,42vw,260px);left:-20vw;bottom:-13vw;opacity:.78}.lum-floral-object--right{left:auto;right:-19vw;top:-12vw;bottom:auto}
}
@media(max-width:380px){.lum-event{padding:30px 6px 18px}.lum-person__portrait{width:min(100%,133px)}.lum-form{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.lum-stage:before,.lum-floral-object,.lum-time{animation:none}}
