.boho{--cream:#fbf7ef;--cream-2:#f4ecdd;--sand:#eadcc6;--sage:#8e9b82;--sage-deep:#6e7b62;--terra:#b07b5c;--rust:#9a5b43;--taupe:#a8916f;--gold:#c2a36b;--ink:#4a3f33;--ink-soft:#7e715f;--serif:var(--font-cormorant), Georgia, serif;--script:var(--font-pinyon), var(--font-cormorant), cursive;--sans:var(--font-jakarta), "Helvetica Neue", Helvetica, system-ui, sans-serif;--arab:var(--font-amiri), "Times New Roman", serif;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-weight:300;line-height:1.8;position:relative;overflow-x:hidden}.boho *{box-sizing:border-box}.boho h1,.boho h2,.boho h3{font-family:var(--serif);margin:0;font-weight:400}.boho img{max-width:100%;display:block}.boho ::selection{color:var(--rust);background:#b07b5c38}.boho:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(60% 50% at 50% 0%, #eadcc680, transparent 70%), radial-gradient(70% 60% at 50% 100%, #eadcc666, transparent 70%), var(--cream);position:fixed;inset:0}.boho .eyebrow{font-family:var(--sans);letter-spacing:.4em;text-transform:uppercase;color:var(--taupe);font-size:.66rem;font-weight:500}.boho .script{font-family:var(--script);font-weight:400;line-height:1}.boho .ornament{color:var(--gold);width:clamp(140px,42vw,220px);height:auto;margin:0 auto;display:block}.boho .ornament.sage{color:var(--sage)}.boho .btn{font-family:var(--sans);letter-spacing:.24em;text-transform:uppercase;color:#fff;border:1px solid var(--sage-deep);background:var(--sage-deep);cursor:pointer;justify-content:center;align-items:center;gap:.7em;padding:1.05em 2.3em;font-size:.68rem;font-weight:500;text-decoration:none;transition:background .4s,color .4s,letter-spacing .4s,box-shadow .4s;display:inline-flex;box-shadow:0 16px 34px -20px #6e7b62e6}.boho .btn:hover{letter-spacing:.3em;background:var(--sage);border-color:var(--sage)}.boho .btn--ghost{color:var(--sage-deep);box-shadow:none;background:0 0}.boho .btn--ghost:hover{background:var(--sage-deep);color:#fff}.boho .btn--terra{background:var(--rust);border-color:var(--rust);box-shadow:0 16px 34px -20px #9a5b43e6}.boho .btn--terra:hover{background:var(--terra);border-color:var(--terra)}.boho .screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:clamp(5rem,13vw,8rem) clamp(1.4rem,6vw,3rem);display:flex;position:relative;overflow:hidden}.boho .screen>.inner{z-index:2;width:100%;max-width:600px;position:relative}.boho .corners{z-index:1;pointer-events:none;position:absolute;inset:0}.boho .corners .c{filter:drop-shadow(0 14px 20px #7a603a29);width:clamp(108px,30vw,232px);height:auto;position:absolute}.boho .corners .tl{transform-origin:0 0;animation:7.5s ease-in-out infinite bk-sway-tl;top:0;left:0}.boho .corners .tr{transform-origin:100% 0;animation:8.5s ease-in-out infinite bk-sway-tr;top:0;right:0}.boho .corners .bl{transform-origin:0 100%;animation:8s ease-in-out infinite bk-sway-bl;bottom:0;left:0}.boho .corners .br{transform-origin:100% 100%;animation:9s ease-in-out infinite bk-sway-br;bottom:0;right:0}@keyframes bk-sway-tl{0%,to{transform:rotate(0)translate(0)}50%{transform:rotate(1.3deg)translate(2px,4px)}}@keyframes bk-sway-tr{0%,to{transform:rotate(0)translate(0)}50%{transform:rotate(-1.3deg)translate(-2px,4px)}}@keyframes bk-sway-bl{0%,to{transform:rotate(0)translate(0)}50%{transform:rotate(-1.1deg)translate(2px,-4px)}}@keyframes bk-sway-br{0%,to{transform:rotate(0)translate(0)}50%{transform:rotate(1.1deg)translate(-2px,-4px)}}.boho .corners.top-only .bl,.boho .corners.top-only .br{display:none}.boho .up{opacity:0;transition:opacity 1.1s,transform 1.1s cubic-bezier(.2,.7,.2,1);transform:translateY(30px)}.boho .up.in{opacity:1;transform:none}.boho .up.d1{transition-delay:.12s}.boho .up.d2{transition-delay:.24s}.boho .up.d3{transition-delay:.36s}.boho .tint{background:linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%)}.boho .bg{z-index:0;pointer-events:none;will-change:transform;position:absolute;inset:-18% 0;overflow:hidden}.boho .bg img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scale(1.1)}.boho .bg.slide img{opacity:0;animation:22s infinite bk-ssFade}.boho .bg.slide img:nth-child(2){animation-delay:7.33s}.boho .bg.slide img:nth-child(3){animation-delay:14.66s}.boho .bg:after{content:"";background:radial-gradient(130% 100% at 50% 44%,#fbf7efbd 0%,#fbf7efd1 55%,#f4ecdde6 100%);position:absolute;inset:0}.boho .bg--soft:after{background:linear-gradient(#fbf7efe6 0%,#fbf7efd6 50%,#fbf7efeb 100%)}.boho .bg--gate:after{background:radial-gradient(120% 82% at 50% 42%,#fbf7ef80 0%,#fbf7efbd 58%,#f7eedfed 100%)}@keyframes bk-ssFade{0%{opacity:0}6%{opacity:1}28%{opacity:1}34%{opacity:0}to{opacity:0}}.boho .penutup{padding-bottom:clamp(7rem,17vw,10rem)}.boho #gate{z-index:200;text-align:center;background:radial-gradient(120% 80% at 50% 14%,#fffdf8 0%,#f6eedf 55%,#efe2cc 100%);flex-direction:column;justify-content:center;align-items:center;padding:clamp(4.5rem,12vw,7rem) 1.5rem;transition:opacity 1s,transform 1.1s cubic-bezier(.7,0,.2,1);display:flex;position:fixed;inset:0;overflow:hidden}.boho #gate.is-open{opacity:0;pointer-events:none;transform:scale(1.04)}.boho .gate-inner{z-index:2;max-width:460px;position:relative}.boho .gate-eyebrow{letter-spacing:.44em;text-transform:uppercase;color:var(--taupe);font-size:.62rem}.boho .gate-names{font-family:var(--script);color:var(--rust);margin:.35em 0 .3em;font-size:clamp(3.6rem,19vw,6rem);line-height:.9}.boho .gate-sub{color:var(--ink-soft);max-width:22rem;margin:0 auto;font-size:.78rem;line-height:1.7}.boho .gate-to{margin-top:2.2rem}.boho .gate-to .lbl{letter-spacing:.3em;text-transform:uppercase;color:var(--taupe);margin-bottom:.5rem;font-size:.54rem;display:block}.boho .gate-to .guest{font-family:var(--serif);color:var(--ink);font-size:1.6rem}.boho #openBtn{margin-top:2rem}.boho .gate-corners .c{filter:drop-shadow(0 16px 24px #7a603a33);width:clamp(130px,40vw,300px);height:auto;position:absolute}.boho .gate-corners .tl{transform-origin:0 0;animation:1.2s ease-out .15s both bk-cin,7.5s ease-in-out 1.4s infinite bk-sway-tl;top:0;left:0}.boho .gate-corners .tr{transform-origin:100% 0;animation:1.2s ease-out .3s both bk-cin,8.5s ease-in-out 1.5s infinite bk-sway-tr;top:0;right:0}.boho .gate-corners .bl{transform-origin:0 100%;animation:1.2s ease-out .45s both bk-cin,8s ease-in-out 1.6s infinite bk-sway-bl;bottom:0;left:0}.boho .gate-corners .br{transform-origin:100% 100%;animation:1.2s ease-out .6s both bk-cin,9s ease-in-out 1.7s infinite bk-sway-br;bottom:0;right:0}@keyframes bk-cin{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.boho .hero .bismillah{font-family:var(--arab);color:var(--rust);margin-bottom:1.4rem;font-size:clamp(1.3rem,6vw,1.9rem)}.boho .hero .names{font-family:var(--script);color:var(--rust);margin:.2em 0;font-size:clamp(3rem,16vw,5.4rem);line-height:.95}.boho .hero .quote{font-family:var(--serif);color:var(--ink-soft);text-wrap:balance;max-width:30rem;margin:1.6rem auto 0;font-size:clamp(1.15rem,4.4vw,1.6rem);font-style:italic}.boho .hero-photo{aspect-ratio:4/5;background:linear-gradient(135deg, var(--sand), #fff 50%, var(--sand));border-radius:999px 999px 14px 14px;width:clamp(170px,46vw,244px);margin:1.8rem auto .4rem;padding:8px;box-shadow:0 30px 60px -34px #4a3f3399}.boho .hero-photo .hp-in{background:var(--cream-2);border-radius:999px 999px 10px 10px;width:100%;height:100%;overflow:hidden}.boho .hero-photo img{object-fit:cover;width:100%;height:100%}.boho .scroll-cue{z-index:3;color:var(--taupe);flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:5.2rem;left:0;right:0}.boho .scroll-cue span{letter-spacing:.3em;text-transform:uppercase;font-size:.52rem}.boho .scroll-line{background:var(--taupe);transform-origin:top;width:1px;height:38px;animation:2.4s ease-in-out infinite bk-sp}@keyframes bk-sp{0%,to{opacity:.4;transform:scaleY(.4)}50%{opacity:1;transform:scaleY(1)}}.boho .ayat .salam{letter-spacing:.02em;color:var(--sage-deep);font-weight:500}.boho .ayat .arab{font-family:var(--arab);color:var(--rust);margin:1.6rem 0;font-size:clamp(1.5rem,6.5vw,2.2rem);line-height:2}.boho .ayat .terjemah{font-family:var(--serif);color:var(--ink-soft);text-wrap:pretty;font-size:clamp(1.05rem,4vw,1.4rem);font-style:italic;line-height:1.65}.boho .ayat .ref{letter-spacing:.3em;text-transform:uppercase;color:var(--taupe);margin-top:1.4rem;font-size:.62rem}.boho .couple h2{color:var(--rust);font-size:clamp(2rem,7vw,3rem)}.boho .couple .intro{color:var(--ink-soft);max-width:30rem;margin:1.2rem auto 0;font-size:.92rem}.boho .person{margin-top:clamp(2.6rem,7vw,4rem)}.boho .person .ph{aspect-ratio:1;background:linear-gradient(135deg, var(--sand), #fff 50%, var(--sand));border-radius:999px;width:clamp(150px,46vw,210px);margin:0 auto 1.4rem;padding:8px;overflow:hidden;box-shadow:0 24px 50px -30px #4a3f3399}.boho .person .ph .photo{background-color:var(--cream-2);background-image:repeating-linear-gradient(135deg,#a8916f24 0 1px,#0000 1px 12px);border-radius:999px;width:100%;height:100%;position:relative;overflow:hidden}.boho .person .ph .photo>img{object-fit:cover;width:100%;height:100%}.boho .person .nm{font-family:var(--serif);color:var(--ink);font-size:clamp(1.9rem,6.5vw,2.7rem);line-height:1.1}.boho .person .role{letter-spacing:.3em;text-transform:uppercase;color:var(--taupe);margin-bottom:.5rem;font-size:.6rem}.boho .person .par{color:var(--ink-soft);margin-top:.8rem;font-size:.86rem;line-height:1.7}.boho .couple-amp{font-family:var(--script);color:var(--sage);margin:clamp(1.6rem,5vw,2.4rem) 0 0;font-size:clamp(3rem,12vw,4.4rem);line-height:.5}.boho .date h2{color:var(--rust);font-size:clamp(2rem,7vw,3rem)}.boho .date .big{font-family:var(--serif);color:var(--ink);margin:.4rem 0 .2rem;font-size:clamp(2.2rem,9vw,3.4rem)}.boho .date .time{letter-spacing:.04em;color:var(--ink-soft);font-size:.86rem}.boho .date .place{color:var(--ink-soft);margin-top:.3rem;font-size:.88rem}.boho .countdown{flex-wrap:wrap;justify-content:center;gap:clamp(.6rem,3.5vw,1.6rem);margin-top:clamp(2.2rem,6vw,3rem);display:flex}.boho .cd-unit{border:1px solid var(--sand);background:#fff;border-radius:14px;min-width:62px;padding:.9rem .4rem;box-shadow:0 16px 34px -26px #4a3f3380}.boho .cd-num{font-family:var(--serif);color:var(--rust);font-size:clamp(1.8rem,7vw,2.6rem);line-height:1}.boho .cd-label{letter-spacing:.24em;text-transform:uppercase;color:var(--taupe);margin-top:.5rem;font-size:.5rem}.boho .date .btns{flex-wrap:wrap;justify-content:center;gap:.8rem;margin-top:clamp(2.2rem,6vw,3rem);display:flex}.boho .acara h2{color:var(--rust);font-size:clamp(2rem,7vw,3rem)}.boho .ev-cards{gap:1.2rem;margin-top:clamp(2rem,6vw,3rem);display:grid}.boho .ev{border:1px solid var(--sand);background:#fff;border-radius:18px;padding:clamp(1.6rem,5vw,2.4rem);box-shadow:0 20px 44px -30px #4a3f3380}.boho .ev .kicker{letter-spacing:.3em;text-transform:uppercase;color:var(--taupe);font-size:.6rem}.boho .ev h3{color:var(--ink);margin:.5rem 0;font-size:clamp(1.6rem,5.5vw,2.1rem)}.boho .ev .meta{color:var(--ink-soft);font-size:.9rem;line-height:1.7}.boho .ev .meta b{color:var(--rust);font-weight:500}.boho .map-btn{margin-top:1.2rem}.boho .galeri h2{color:var(--rust);font-size:clamp(2rem,7vw,3rem)}.boho .gal-grid{grid-template-columns:1fr 1fr;gap:clamp(.5rem,1.5vw,.8rem);margin-top:clamp(2rem,6vw,3rem);display:grid}.boho .gal-grid .photo{aspect-ratio:1;background-color:var(--cream-2);border:1px solid var(--sand);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 16px 34px -28px #4a3f3380}.boho .gal-grid .photo>img{object-fit:cover;object-position:center 30%;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.boho .gal-grid .photo:hover>img{transform:scale(1.05)}.boho .gal-grid .photo.wide{aspect-ratio:16/10;grid-column:1/-1}.boho .rsvp h2{color:var(--rust);font-size:clamp(2rem,7vw,3rem)}.boho .rsvp .sub{color:var(--ink-soft);max-width:28rem;margin:1rem auto 0;font-size:.9rem}.boho .form{text-align:left;flex-direction:column;gap:1rem;margin-top:clamp(2rem,6vw,2.6rem);display:flex}.boho .field label{letter-spacing:.22em;text-transform:uppercase;color:var(--taupe);margin-bottom:.5rem;font-size:.56rem;display:block}.boho .field input,.boho .field select,.boho .field textarea{border:1px solid var(--sand);width:100%;color:var(--ink);font-family:var(--sans);background:#fff;border-radius:12px;outline:none;padding:.85rem 1rem;font-size:.96rem;transition:border-color .3s,box-shadow .3s}.boho .field input:focus,.boho .field select:focus,.boho .field textarea:focus{border-color:var(--sage);box-shadow:0 0 0 3px #8e9b822e}.boho .field textarea{resize:vertical;min-height:88px}.boho .attend{gap:.7rem;display:flex}.boho .attend button{border:1px solid var(--sand);color:var(--ink-soft);font-family:var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:#fff;border-radius:12px;flex:1;padding:.85rem;font-size:.66rem;transition:all .3s}.boho .attend button.sel{background:var(--sage-deep);color:#fff;border-color:var(--sage-deep)}.boho .rsvp .form .btn{margin-top:.4rem}.boho .rsvp-thanks{margin-top:clamp(2rem,6vw,2.6rem)}.boho .rsvp-thanks .script{color:var(--sage);font-size:2.6rem}.boho .rsvp-thanks p{font-family:var(--serif);color:var(--ink-soft);margin-top:.4rem;font-size:1.2rem;font-style:italic}.boho .wish-list{text-align:left;gap:.8rem;max-height:240px;margin-top:2rem;padding-right:4px;display:grid;overflow-y:auto}.boho .wish{border:1px solid var(--sand);background:#fff;border-radius:14px;padding:.9rem 1.1rem}.boho .wish .wn{font-family:var(--serif);color:var(--rust);font-size:1.1rem}.boho .wish .wn span{font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--sage-deep);margin-left:.6rem;font-size:.52rem}.boho .wish .wm{color:var(--ink-soft);margin-top:.2rem;font-size:.86rem}.boho .penutup .salam{font-family:var(--arab);color:var(--rust);font-size:clamp(1.2rem,5vw,1.7rem);line-height:1.7}.boho .penutup .msg{color:var(--ink-soft);max-width:30rem;margin:1.4rem auto 0;font-size:.92rem;line-height:1.9}.boho .penutup .names{font-family:var(--script);color:var(--rust);margin:clamp(1.6rem,5vw,2.4rem) 0 .2rem;font-size:clamp(3rem,14vw,5rem);line-height:.9}.boho .penutup .fam{letter-spacing:.18em;text-transform:uppercase;color:var(--taupe);font-size:.66rem}.boho .penutup .credit{letter-spacing:.26em;text-transform:uppercase;color:var(--taupe);margin-top:clamp(2.4rem,7vw,3.4rem);font-size:.56rem}.boho .penutup .credit b{color:var(--rust);font-weight:500}.boho #nav{z-index:120;-webkit-backdrop-filter:saturate(150%)blur(10px);backdrop-filter:saturate(150%)blur(10px);border:1px solid var(--sand);background:#fbf7efdb;border-radius:999px;align-items:center;gap:.3rem;padding:.5rem;display:none;position:fixed;bottom:clamp(.8rem,3vw,1.4rem);left:50%;transform:translate(-50%);box-shadow:0 18px 40px -18px #4a3f3373}.boho #nav.show{display:flex}.boho #nav button{width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;transition:background .25s,color .25s;display:flex}.boho #nav button:hover,.boho #nav button.active{background:var(--sage-deep);color:#fff}.boho #nav button.music.playing{background:var(--rust);color:#fff}@media (max-width:600px){.boho .screen{padding-left:1.25rem;padding-right:1.25rem}.boho .corners .c{width:clamp(90px,30vw,150px)}.boho #nav{gap:.12rem;padding:.4rem}.boho #nav button{width:40px;height:40px}.boho .gal-grid{gap:.45rem}.boho .countdown{gap:.5rem}.boho .cd-unit{min-width:58px;padding:.8rem .3rem}}@media (max-width:380px){.boho #nav button{width:36px;height:36px}.boho .cd-unit{min-width:52px}}@media (prefers-reduced-motion:reduce){.boho .up{opacity:1!important;transform:none!important}.boho .scroll-line{animation:none}.boho .corners .c,.boho .gate-corners .c{opacity:1!important;animation:none!important;transform:none!important}.boho .bg.slide img{animation:none!important}.boho .bg.slide img:not(:first-child){opacity:0!important}.boho .bg.slide img:first-child{opacity:1!important}}
