.hero-section{text-align:center;justify-content:center;align-items:center;width:100%;min-height:100svh;padding:60px 24px 40px;display:flex;position:relative;overflow:hidden}.hero-cover{z-index:40}.hero-background-wrapper{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-bg-img{filter:brightness(.65)contrast(1.1);background-image:url(/images/Hero.webp);background-position:50% 25%;background-repeat:no-repeat;background-size:cover;transition:transform 10s ease-out;position:absolute;inset:-10px;transform:scale(1.03)}.hero-section:hover .hero-bg-img{transform:scale(1.08)}.hero-overlay-gradient{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle,#12271f66 0%,#0b1813e0 85%);position:absolute;inset:0}.corner-ornament{pointer-events:none;z-index:10;opacity:.85;width:90px;height:90px;position:absolute}.corner-top-left{top:12px;left:12px}.corner-top-right{top:12px;right:12px;transform:scaleX(-1)}.corner-bottom-left{bottom:12px;left:12px;transform:scaleY(-1)}.corner-bottom-right{bottom:12px;right:12px;transform:scale(-1)}.hero-inner-content{z-index:2;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:380px;margin:auto;display:flex;position:relative}.hero-top-badge{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}.hero-badge-line{background:linear-gradient(90deg, transparent, var(--antique-gold));flex:1;max-width:45px;height:1px}.hero-top-badge .hero-badge-line:last-child{background:linear-gradient(90deg, var(--antique-gold), transparent)}.hero-subtitle{font-family:var(--font-sans);letter-spacing:.35em;color:var(--gold-light);text-shadow:0 2px 4px #0009;margin:0;font-size:11px;font-weight:600}.hero-title-box{flex-direction:column;align-items:center;margin:6px 0;display:flex}.hero-groom,.hero-bride{font-family:var(--font-serif);letter-spacing:.04em;color:var(--ivory);text-shadow:0 4px 15px #000000b3;margin:0;font-size:clamp(48px,13vw,64px);font-weight:400;line-height:1}.hero-ampersand-wrapper{justify-content:center;align-items:center;margin:2px 0;display:flex;position:relative}.hero-ampersand{font-family:var(--font-script);color:var(--antique-gold);filter:drop-shadow(0 2px 8px #b99a6580);font-size:42px;line-height:1}.hero-date-badge{justify-content:center;align-items:center;gap:14px;margin:4px 0;display:flex}.hero-date-divider{background-color:var(--antique-gold);width:25px;height:1px}.hero-date-text{font-family:var(--font-sans);letter-spacing:.25em;color:var(--ivory);text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.hero-quote-snippet{font-family:var(--font-serif);color:var(--ivory-soft);opacity:.9;max-width:320px;margin:4px 0 10px;font-size:13.5px;font-style:italic;line-height:1.6}.hero-guest-container{width:100%;margin-top:4px}.hero-guest-label{font-family:var(--font-sans);letter-spacing:.2em;color:var(--gold-light);text-transform:uppercase;margin-bottom:8px;font-size:9.5px;font-weight:600}.hero-guest-card{border:1px solid var(--gold-border);-webkit-backdrop-filter:blur(10px);background:#12271fa6;border-radius:12px;padding:14px 18px;box-shadow:0 8px 24px #00000059}.hero-guest-name{font-family:var(--font-serif);letter-spacing:.04em;color:var(--gold-light);margin:0 0 4px;font-size:19px;font-weight:600}.hero-guest-subtext{font-family:var(--font-sans);color:var(--ivory-muted);margin:0;font-size:9px}.hero-open-btn{color:var(--forest-night);cursor:pointer;background:linear-gradient(135deg,#c5a059 0%,#faecc9 50%,#b99a65 100%);border:none;border-radius:30px;justify-content:center;align-items:center;gap:10px;margin-top:14px;padding:13px 32px;transition:all .35s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 8px 24px #b99a6573}.hero-open-btn:hover{background:linear-gradient(135deg,#dfc796 0%,#fff6e0 50%,#c5a059 100%);transform:translateY(-3px)scale(1.02);box-shadow:0 14px 30px #dfc796a6}.hero-open-btn:active{transform:translateY(0)scale(.98)}.hero-btn-text{font-family:var(--font-sans);letter-spacing:.2em;font-size:11px;font-weight:700}.quote-section{background:var(--dark-forest);width:100%;padding:40px 24px 28px;position:relative}.quote-editorial-block{gap:16px;max-width:440px;margin:0 auto;display:flex;position:relative}.quote-accent-bar{background:linear-gradient(to bottom, var(--gold-light) 0%, var(--antique-gold) 60%, transparent 100%);border-radius:2px;flex-shrink:0;width:3px}.quote-content-wrapper{text-align:left;flex:1;position:relative}.quote-giant-mark{font-family:var(--font-serif);color:var(--antique-gold);opacity:.2;pointer-events:none;font-size:60px;line-height:1;position:absolute;top:-18px;left:-8px}.quote-arabic{font-family:var(--font-arabic);color:var(--gold-light);text-align:right;direction:rtl;margin:0 0 12px;font-size:18px;line-height:2}.quote-text{font-family:var(--font-serif);color:var(--ivory);letter-spacing:.01em;margin:0 0 14px;font-size:14px;font-style:italic;font-weight:300;line-height:1.8}.quote-source-row{align-items:center;gap:8px;display:flex}.quote-source-dash{color:var(--antique-gold);font-size:14px}.quote-source{font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;color:var(--gold-light);margin:0;font-size:10.5px;font-weight:700}.couple-section{background:var(--dark-forest);width:100%;padding:44px 20px 32px;position:relative;overflow:hidden}.couple-editorial-header{text-align:left;margin-bottom:24px}.couple-intro-text{font-family:var(--font-serif);color:var(--ivory-soft);margin-top:12px;font-size:13.5px;font-style:italic;line-height:1.7}.couple-side-flow{flex-direction:column;gap:16px;width:100%;display:flex}.couple-row{flex-direction:row;align-items:center;gap:16px;width:100%;display:flex}.bride-row{flex-direction:row}.couple-side-photo{flex-shrink:0;width:155px;height:230px;position:relative}@media (min-width:380px){.couple-side-photo{width:170px;height:245px}}.side-photo-wrapper{border-radius:4px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 10px 25px #0009}.side-photo-vignette{background:linear-gradient(to bottom, #12271f66 0%, transparent 20%, transparent 70%, var(--dark-forest) 100%), radial-gradient(circle at 50% 35%, transparent 50%, #12271f80 85%, var(--dark-forest) 100%);pointer-events:none;border:1px solid #b99a6533;position:absolute;inset:0}.couple-side-info{flex-direction:column;flex:1;display:flex}.groom-info{text-align:left;align-items:flex-start}.groom-parents{border-left:2px solid var(--antique-gold);margin-bottom:12px;padding-left:10px}.bride-photo-order{order:2}.bride-info-order{order:1}.bride-info{text-align:right;align-items:flex-end}.bride-parents{border-right:2px solid var(--antique-gold);border-left:none;margin-bottom:12px;padding-left:0;padding-right:10px}.couple-badge{font-family:var(--font-sans);letter-spacing:.2em;color:var(--forest-night);background:linear-gradient(135deg,#dfc796 0%,#faecc9 50%,#b99a65 100%);border-radius:4px;margin-bottom:6px;padding:3px 10px;font-size:8px;font-weight:700;box-shadow:0 2px 8px #0000004d}.couple-full-name{font-family:var(--font-serif);letter-spacing:.02em;color:var(--ivory);margin:0 0 1px;font-size:19px;font-weight:600;line-height:1.2}.couple-call-name{font-family:var(--font-script);color:var(--gold-light);margin:0 0 8px;font-size:26px;line-height:1}.couple-parents-text{font-family:var(--font-sans);color:var(--ivory-muted);margin:0;font-size:10.5px;line-height:1.5}.couple-ig-link{border:1px solid var(--gold-border);color:var(--gold-light);font-family:var(--font-sans);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#b99a651f;border-radius:4px;align-items:center;gap:5px;padding:4px 12px;font-size:9.5px;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.couple-ig-link:hover{background:var(--antique-gold);color:var(--forest-night);border-color:var(--gold-light)}.couple-flow-separator-tight{justify-content:center;align-items:center;gap:16px;margin:4px 0;display:flex}.flow-line{background:linear-gradient(90deg, transparent, var(--gold-border));flex:1;max-width:50px;height:1px}.couple-flow-separator-tight .flow-line:last-child{background:linear-gradient(90deg, var(--gold-border), transparent)}.flow-ampersand{font-family:var(--font-script);color:var(--antique-gold);opacity:.85;font-size:30px;line-height:1}.countdown-section{background:var(--dark-forest);width:100%;padding:20px 20px 40px;position:relative}.countdown-container{text-align:center;background:#162f25b3;border-radius:16px;padding:36px 20px}.countdown-grid{grid-template-columns:repeat(4,1fr);gap:10px;max-width:380px;margin:0 auto 30px;display:grid}.countdown-tile{flex-direction:column;align-items:center;gap:6px;display:flex}.countdown-num-box{aspect-ratio:1;border:1px solid var(--gold-border);background:#12271fe6;border-radius:12px;justify-content:center;align-items:center;width:100%;max-width:75px;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 15px #0006}.countdown-num-box:before{content:"";pointer-events:none;background:linear-gradient(#ffffff0d,#0000);height:50%;position:absolute;top:0;left:0;right:0}.countdown-tile:hover .countdown-num-box{border-color:var(--gold-light);box-shadow:0 6px 18px var(--gold-glow);transform:translateY(-2px)}.countdown-num{font-family:var(--font-serif);color:var(--gold-light);font-size:26px;font-weight:700;line-height:1}.countdown-label{font-family:var(--font-sans);letter-spacing:.15em;color:var(--ivory-muted);font-size:9px;font-weight:700}.countdown-actions{justify-content:center;display:flex}.wedding-details-section{background:var(--dark-forest);width:100%;padding:44px 24px 36px;position:relative}.details-editorial-header{text-align:left;margin-bottom:32px}.details-intro-text{font-family:var(--font-serif);color:var(--ivory-soft);margin-top:12px;font-size:13.5px;font-style:italic;line-height:1.7}.details-timeline{flex-direction:column;gap:28px;margin-bottom:28px;padding-left:24px;display:flex;position:relative}.timeline-spine{background:linear-gradient(to bottom, var(--gold-light) 0%, var(--antique-gold) 70%, transparent 100%);width:2px;position:absolute;top:14px;bottom:14px;left:7px}.timeline-node{position:relative}.timeline-marker{background:var(--dark-forest);border:1px solid var(--gold-light);width:18px;height:18px;box-shadow:0 0 10px var(--gold-glow);z-index:2;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;left:-24px}.timeline-card{text-align:left;border-radius:14px;padding:22px 20px}.timeline-card-header{margin-bottom:14px}.event-type-badge{font-family:var(--font-sans);letter-spacing:.18em;text-transform:uppercase;color:var(--forest-night);background:linear-gradient(135deg,#dfc796 0%,#faecc9 50%,#b99a65 100%);border-radius:12px;padding:4px 14px;font-size:9px;font-weight:700;display:inline-block}.event-datetime-grid{border-bottom:1px solid #b99a6526;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px;padding-bottom:14px;display:grid}.event-meta-label{font-family:var(--font-sans);letter-spacing:.15em;color:var(--antique-gold);margin-bottom:3px;font-size:8.5px;font-weight:700;display:block}.event-meta-value{font-family:var(--font-sans);color:var(--ivory);margin:0;font-size:12.5px;font-weight:600;line-height:1.4}.event-venue-block{margin-bottom:16px}.event-venue-name{font-family:var(--font-serif);color:var(--gold-light);margin:2px 0 4px;font-size:18px;font-weight:600}.event-venue-address{font-family:var(--font-sans);color:var(--ivory-muted);margin:0;font-size:11.5px;line-height:1.5}.event-card-action .gold-btn-outline{width:100%}.dresscode-banner{text-align:left;padding:18px 20px}.dresscode-header-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.dresscode-title{font-family:var(--font-sans);letter-spacing:.15em;color:var(--gold-light);margin:0 0 2px;font-size:9.5px;font-weight:700}.dresscode-desc{font-family:var(--font-serif);color:var(--ivory);margin:0;font-size:14px}.dresscode-colors{gap:10px;display:flex}.color-swatch{border:1px solid #b99a654d;border-radius:50%;width:22px;height:22px;display:inline-block}.gallery-section{background:var(--dark-forest);width:100%;padding:44px 24px 36px;position:relative}.gallery-intro-text{font-family:var(--font-serif);color:var(--ivory-soft);margin-top:12px;font-size:13.5px;font-style:italic;line-height:1.7}.gallery-grid-sharp{grid-template-columns:repeat(2,1fr);gap:14px;max-width:440px;margin:0 auto;display:grid}.gallery-sharp-card{border:1px solid var(--gold-border);background:#0b1813;position:relative;overflow:hidden;box-shadow:0 4px 16px #0006;border-radius:0!important}.gallery-sharp-card:first-child,.gallery-sharp-card:nth-child(6){aspect-ratio:16/9;grid-column:span 2}.gallery-sharp-card:nth-child(2),.gallery-sharp-card:nth-child(3),.gallery-sharp-card:nth-child(4),.gallery-sharp-card:nth-child(5){aspect-ratio:1/1.15}.gallery-sharp-wrapper{width:100%;height:100%;position:relative}.gallery-caption-bar{z-index:2;background:linear-gradient(#0000 0%,#0b181366 30%,#0b1813e6 100%);align-items:center;gap:6px;padding:8px 12px;display:flex;position:absolute;bottom:0;left:0;right:0}.caption-dot{color:var(--gold-light);font-size:8px}.caption-title{font-family:var(--font-sans);letter-spacing:.12em;color:var(--ivory);text-transform:uppercase;font-size:10px;font-weight:600}.gift-section{background:var(--dark-forest);width:100%;padding:40px 20px 45px;position:relative}.gift-intro-text{font-family:var(--font-serif);color:var(--ivory-soft);text-align:center;max-width:380px;margin:0 auto 28px;font-size:13.5px;font-style:italic;line-height:1.7}.gift-cards-container{flex-direction:column;gap:18px;max-width:390px;margin:0 auto;display:flex}.gift-bank-card{text-align:left;border:1px solid var(--gold-border);background:linear-gradient(135deg,#162f25e6 0%,#0e2019f2 100%);border-radius:16px;padding:24px 20px;box-shadow:0 8px 24px #0006}.bank-card-chip{align-items:center;gap:8px;margin-bottom:16px;display:flex}.bank-name{font-family:var(--font-sans);letter-spacing:.08em;color:var(--gold-light);font-size:12px;font-weight:700}.bank-account-info{margin-bottom:16px}.bank-number-label{font-family:var(--font-sans);letter-spacing:.15em;color:var(--ivory-muted);margin:0 0 2px;font-size:9px}.bank-number{font-family:var(--font-serif);letter-spacing:.08em;color:var(--ivory);margin:0 0 4px;font-size:22px;font-weight:700}.bank-holder{font-family:var(--font-sans);color:var(--ivory-soft);margin:0;font-size:12px}.copy-btn{border:1px solid var(--gold-border);width:100%;color:var(--gold-light);font-family:var(--font-sans);letter-spacing:.12em;cursor:pointer;background:#b99a651f;border-radius:20px;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:10.5px;font-weight:700;transition:all .3s;display:flex}.copy-btn:hover{background:var(--antique-gold);color:var(--forest-night);border-color:var(--gold-light)}.copied-active{color:#fff!important;background:#46a064e6!important;border-color:#7dd3a3!important}.gift-address-card{text-align:left;border-radius:16px;padding:22px 20px}.address-card-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.address-title{font-family:var(--font-serif);color:var(--gold-light);margin:0;font-size:17px;font-weight:600}.address-recipient,.address-phone{font-family:var(--font-sans);color:var(--ivory);margin:0 0 4px;font-size:11.5px;font-weight:600}.address-text{font-family:var(--font-sans);color:var(--ivory-muted);margin:0 0 16px;font-size:11.5px;line-height:1.6}.rsvp-section{background:var(--dark-forest);width:100%;padding:40px 20px 45px;position:relative}.rsvp-intro-text{font-family:var(--font-serif);color:var(--ivory-soft);text-align:center;max-width:380px;margin:0 auto 28px;font-size:13.5px;font-style:italic;line-height:1.7}.rsvp-form-card{max-width:400px;margin:0 auto 36px;padding:26px 20px}.rsvp-form{flex-direction:column;gap:18px;display:flex}.form-group{text-align:left;flex-direction:column;gap:6px;display:flex}.form-label{font-family:var(--font-sans);letter-spacing:.15em;color:var(--gold-light);font-size:9.5px;font-weight:700}.form-input,.form-select,.form-textarea{border:1px solid var(--gold-border);width:100%;color:var(--ivory);font-family:var(--font-sans);background:#12271fd9;border-radius:10px;outline:none;padding:12px 16px;font-size:13px;transition:all .3s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--gold-light);box-shadow:0 0 15px var(--gold-glow)}.form-input::placeholder,.form-textarea::placeholder{color:var(--ivory-muted);font-size:12px}.attendance-pills{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pill-btn{border:1px solid var(--gold-border);color:var(--ivory-muted);font-family:var(--font-sans);cursor:pointer;background:#12271f99;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:11px;font-weight:600;transition:all .25s;display:flex}.pill-btn:hover{border-color:var(--gold-light);color:var(--ivory)}.pill-active{background:var(--antique-gold);border-color:var(--gold-light);color:var(--forest-night);font-weight:700;box-shadow:0 4px 12px #b99a6559}.rsvp-success-toast{border:1px solid var(--gold-light);color:var(--gold-light);font-family:var(--font-sans);text-align:center;background:#1e4632e6;border-radius:10px;padding:12px;font-size:11.5px;font-weight:600;animation:.3s fadeIn}.wishes-container{max-width:400px;margin:0 auto}.wishes-header{text-align:left;margin-bottom:16px}.wishes-title{font-family:var(--font-serif);color:var(--gold-light);margin:0;font-size:18px;font-weight:600}.wishes-list{flex-direction:column;gap:12px;max-height:380px;padding-right:4px;display:flex;overflow-y:auto}.wish-card{text-align:left;border-radius:12px;padding:16px}.wish-card-top{align-items:center;gap:10px;margin-bottom:10px;display:flex}.wish-avatar{width:32px;height:32px;color:var(--forest-night);font-family:var(--font-serif);background:linear-gradient(135deg,#c5a059,#b99a65);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.wish-author-meta{flex:1}.wish-name{font-family:var(--font-serif);color:var(--ivory);margin:0;font-size:14px;font-weight:600;line-height:1.2}.wish-time{font-family:var(--font-sans);color:var(--ivory-muted);font-size:9.5px}.wish-badge{font-family:var(--font-sans);text-transform:uppercase;border-radius:12px;padding:2px 8px;font-size:9px;font-weight:700}.wish-badge-hadir{color:#7dd3a3;background:#46a06433;border:1px solid #46a06466}.wish-badge-tidak_hadir{color:#e5b0b0;background:#d8a7a733;border:1px solid #d8a7a766}.wish-badge-ragu{color:var(--gold-light);border:1px solid var(--gold-border);background:#b99a6533}.wish-text{font-family:var(--font-sans);color:var(--ivory-soft);margin:0;font-size:12.5px;line-height:1.6}.closing-section{text-align:center;flex-direction:column;justify-content:space-between;align-items:center;width:100%;min-height:90vh;padding:60px 20px 30px;display:flex;position:relative;overflow:hidden}.closing-bg-wrapper{z-index:0;position:absolute;inset:0}.closing-overlay-gradient{background:radial-gradient(circle,#12271f99 0%,#0b1813f2 90%);position:absolute;inset:0}.closing-content{z-index:2;border:1px solid var(--gold-border);background:#12271fbf;border-radius:16px;width:100%;max-width:390px;margin:auto 0 40px;padding:36px 24px;position:relative;box-shadow:0 16px 40px #0009}.closing-title{font-family:var(--font-serif);color:var(--gold-light);letter-spacing:.05em;margin:0 0 16px;font-size:32px}.closing-text,.closing-subtext{font-family:var(--font-serif);color:var(--ivory-soft);margin:0 0 14px;font-size:13.5px;font-style:italic;line-height:1.75}.closing-divider{justify-content:center;align-items:center;gap:12px;max-width:160px;margin:20px auto;display:flex}.closing-divider span:first-child,.closing-divider span:last-child{background:var(--antique-gold);flex:1;height:1px}.closing-regards{font-family:var(--font-sans);letter-spacing:.2em;color:var(--ivory-muted);text-transform:uppercase;margin:0 0 8px;font-size:10px;font-weight:600}.closing-couplenames{font-family:var(--font-script);color:var(--gold-light);filter:drop-shadow(0 2px 8px #b99a6566);margin:0 0 6px;font-size:42px;line-height:1.2}.closing-family{font-family:var(--font-sans);letter-spacing:.1em;color:var(--ivory-muted);margin:0;font-size:11px}.wedding-footer{z-index:2;border-top:1px solid #b99a6526;width:100%;padding-top:20px;position:relative}.footer-copyright{font-family:var(--font-sans);letter-spacing:.15em;color:var(--ivory-muted);text-transform:uppercase;margin:0 0 4px;font-size:10px}.footer-tagline{font-family:var(--font-serif);color:var(--antique-gold);margin:0;font-size:11px;font-style:italic}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes petalFloat{0%{opacity:.9;transform:translateY(0)rotate(0)}50%{opacity:.5;transform:translateY(-18px)rotate(180deg)}to{opacity:.9;transform:translateY(0)rotate(360deg)}}.petal-particle{pointer-events:none;opacity:.7;z-index:3;background:radial-gradient(circle,#dfc796 0%,#b99a65 100%);border-radius:50% 40% 60%;animation:7s ease-in-out infinite petalFloat;position:absolute}.animate-fade-in{animation:1.2s ease-out both fadeIn}.pulse-glow{animation:2.4s ease-in-out infinite pulseGlow}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-slow{animation:4s linear infinite spin-slow}.section-divider{justify-content:center;align-items:center;gap:10px;margin:10px auto 20px;display:flex}.countdown-header .section-divider{margin-top:10px;margin-bottom:24px}
