 :root{--ivory:#f7f1e6;--paper:#fffaf1;--ink:#3c302b;--muted:#8c786d;--gold:#b18a4a;--line:rgba(177,138,74,.38);--shadow:0 18px 60px rgba(60,48,43,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--ivory);font-family:Arial,sans-serif;line-height:1.8}button,input,select,textarea{font:inherit}.cover{min-height:100svh;display:grid;place-items:center;position:relative;background:linear-gradient(rgba(45,32,25,.42),rgba(45,32,25,.55)),url("../assets/cover.jpg") center/cover;color:#fffaf1}.cover:before,.cover:after{content:"";position:absolute;inset:22px;border:1px solid #ffffff8c;pointer-events:none}.cover:after{inset:32px;border-color:#ffffff3b}.cover-content{width:min(92%,680px);text-align:center;position:relative;z-index:1;padding:50px 20px}.eyebrow{font-size:.68rem;letter-spacing:.28em;font-weight:600}.cover h1,h2,h3,.event-date,.closing-names{font-family:Georgia,serif;font-weight:600;line-height:1.05}.cover h1{font-size:clamp(3.7rem,11vw,7.4rem);margin:25px 0 16px}.cover h1 span{color:#e1bd78;font-style:italic}.cover-date{letter-spacing:.16em;font-size:.82rem}.ornament{color:var(--gold);font-size:2.2rem;margin:18px 0}.cover .ornament{color:#e1bd78}.guest-label{margin:28px 0 0;font-size:.8rem;opacity:.8}.guest-name{font:1.65rem Georgia,serif;margin:0 0 28px}.gold-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 25px;border-radius:999px;text-decoration:none;cursor:pointer;transition:.25s;letter-spacing:.06em;font-size:.75rem}.gold-button{border:1px solid var(--gold);background:var(--gold);color:#fffaf1}.outline-button{border:1px solid var(--gold);color:var(--gold);background:transparent}.invitation-content{display:none}.invitation-content.open{display:block}.section{width:min(92%,850px);margin:auto;padding:95px 0;text-align:center}.section h2{font-size:clamp(2.4rem,5vw,4rem);margin:15px 0 24px}.section p{max-width:620px;margin-left:auto;margin-right:auto;color:var(--muted)}.intro{padding-top:110px}.couple{background:#fffaf180}.couple-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:25px;align-items:center;margin-top:45px}.person h3{font-size:2.2rem;margin:25px 0 10px}.person p{font-size:.8rem;margin:4px auto}.person .parents{color:var(--ink);font-weight:500}.ampersand{font:italic 3rem Georgia,serif;color:var(--gold)}.portrait{width:100%;aspect-ratio:3/4;max-width:240px;margin:auto;border:8px solid var(--paper);outline:1px solid var(--line);box-shadow:var(--shadow);background-position:center;background-size:cover}.portrait-bride{background-image:url("../assets/bride.jpg")}.portrait-groom{background-image:url("../assets/groom.jpg")}.event{background:var(--paper)}.event-card{max-width:600px;margin:40px auto 0;padding:45px 25px;border:1px solid var(--line);box-shadow:var(--shadow)}.event-day{letter-spacing:.3em;font-size:.7rem;color:var(--gold)!important;font-weight:600}.event-date{font-size:4rem}.event-date span{display:block;font:600 .9rem Arial,sans-serif;letter-spacing:.3em;color:var(--gold)}.event-line{width:80px;height:1px;background:var(--line);margin:28px auto}.event-item h3{font-size:2rem;margin:18px 0 0}.event-item p{margin:0 auto 20px}.venue{margin:30px auto!important;color:var(--ink)!important}.story{background:#eee3d3;max-width:none;width:100%;padding-left:5%;padding-right:5%}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:700px;margin:40px auto}.gallery-photo{aspect-ratio:1/1;background:linear-gradient(135deg,#e6d6bd,#bca17d);border:7px solid var(--paper);outline:1px solid var(--line);background-size:cover;background-position:center}.gallery-photo:nth-child(1){background-image:url("../assets/moment-1.jpg")}.gallery-photo:nth-child(2){background-image:url("../assets/moment-2.jpg")}.gallery-photo:nth-child(3){background-image:url("../assets/moment-3.jpg")}.gallery-photo:nth-child(4){background-image:url("../assets/moment-4.jpg")}.gallery-photo:nth-child(5){background-image:url("../assets/moment-5.jpg")}.gallery-photo:nth-child(6){background-image:url("../assets/moment-6.jpg")}.gift{background:#f1e7d8}.gift-card{max-width:450px;margin:35px auto 0;padding:35px 20px;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}.bank-mark{font-weight:700;letter-spacing:.18em;color:var(--gold)}.account-number{font:2rem Georgia,serif;color:var(--ink)!important;word-break:break-word}.copy-status,.wish-result{font-size:.8rem;color:var(--gold)!important}.wish-form{max-width:560px;margin:35px auto 0;display:grid;gap:12px}.wish-form input,.wish-form select,.wish-form textarea{width:100%;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:13px 15px}.closing{background:var(--paper)}.closing-names{font-size:3rem;color:var(--gold)!important}.music-control{position:fixed;z-index:10;right:18px;top:18px}.music-control button{width:42px;height:42px;border-radius:50%;border:1px solid #ffffff99;background:#3c302baa;color:#fffaf1;cursor:pointer}footer{text-align:center;padding:28px 15px;background:#3c302b;color:#e9d8bd;font-size:.65rem;letter-spacing:.08em}.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:650px){.cover:before{inset:13px}.cover:after{inset:21px}.section{padding:70px 0}.couple-grid{grid-template-columns:1fr;gap:12px}.ampersand{margin:10px 0}.portrait{max-width:200px}.event-date{font-size:3.3rem}}

/* === CLASSIC ELEGANCE LUXURY UPGRADE === */
:root{--gold-soft:#c7a66a;--gold-deep:#9b7539;--champagne:#ead9b8;--ink-soft:#4a3a32}
body{background:var(--ivory);background-image:radial-gradient(rgba(60,48,43,.045) .55px,transparent .55px),linear-gradient(rgba(255,255,255,.16),rgba(255,255,255,.16));background-size:7px 7px,100% 100%}
.cover{overflow:hidden;background-image:linear-gradient(rgba(37,27,21,.48),rgba(37,27,21,.64)),url("../assets/cover.jpg")}
.cover:before,.cover:after{border-radius:1px}
.cover:before{inset:20px;border:1px solid rgba(225,189,120,.72);box-shadow:inset 0 0 0 7px rgba(255,250,241,.035)}
.cover:after{inset:29px;border-color:rgba(225,189,120,.34)}
.cover-content:before,.cover-content:after{content:"";position:absolute;width:125px;height:125px;border:1px solid rgba(225,189,120,.34);transform:rotate(45deg);pointer-events:none}
.cover-content:before{left:-95px;top:-70px;border-right-color:transparent;border-bottom-color:transparent}
.cover-content:after{right:-95px;bottom:-70px;border-left-color:transparent;border-top-color:transparent}
.cover .ornament{font-size:2.35rem;text-shadow:0 1px 12px rgba(225,189,120,.18)}
.section{position:relative;overflow:hidden}
.section:before,.section:after{content:"";position:absolute;pointer-events:none;opacity:.42}
.section:before{width:150px;height:150px;left:-88px;top:-88px;border:1px solid var(--gold);transform:rotate(45deg);box-shadow:0 0 0 7px transparent,0 0 0 8px rgba(177,138,74,.12)}
.section:after{width:110px;height:110px;right:-65px;bottom:-65px;border:1px solid var(--gold);transform:rotate(45deg)}
.intro,.closing{background-image:radial-gradient(circle at 50% 0,rgba(177,138,74,.08),transparent 34%)}
.intro .ornament:before,.closing .ornament:before,.intro .ornament:after,.closing .ornament:after{content:"";display:inline-block;width:55px;height:1px;background:linear-gradient(90deg,transparent,var(--gold));vertical-align:middle;margin:0 14px}
.intro .ornament:after,.closing .ornament:after{background:linear-gradient(90deg,var(--gold),transparent)}
.couple{background:linear-gradient(135deg,rgba(255,250,241,.82),rgba(247,241,230,.92));}
.couple-grid:before{content:"";position:absolute;left:50%;top:150px;width:170px;height:170px;border:1px solid rgba(177,138,74,.12);transform:translateX(-50%) rotate(45deg);pointer-events:none}
.portrait{position:relative}
.portrait:after{content:"";position:absolute;inset:7px;border:1px solid rgba(177,138,74,.45);pointer-events:none}
.event{background:linear-gradient(rgba(255,250,241,.92),rgba(255,250,241,.96)),repeating-linear-gradient(0deg,transparent 0,transparent 5px,rgba(177,138,74,.018) 6px)}
.event-card,.gift-card{position:relative;background:rgba(255,250,241,.92);}
.event-card:before,.event-card:after,.gift-card:before,.gift-card:after{content:"";position:absolute;width:18px;height:18px;border-color:var(--gold);border-style:solid;opacity:.7}
.event-card:before,.gift-card:before{left:10px;top:10px;border-width:1px 0 0 1px}.event-card:after,.gift-card:after{right:10px;bottom:10px;border-width:0 1px 1px 0}
.event-line{background:linear-gradient(90deg,transparent,var(--gold),transparent);height:1px;width:130px}
.story{background:linear-gradient(rgba(238,227,211,.93),rgba(238,227,211,.93)),radial-gradient(circle at 20% 20%,rgba(177,138,74,.12),transparent 30%)}
.gallery{background:var(--ivory)}
.gallery-grid{position:relative}
.gallery-grid:before{content:"";position:absolute;inset:-18px;border:1px solid rgba(177,138,74,.22);pointer-events:none}
.gallery-photo{position:relative;transition:transform .3s,box-shadow .3s}
.gallery-photo:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.gift{background:linear-gradient(135deg,#f1e7d8,#eadbc6)}
.wishes{background:var(--paper)}
.wish-form input,.wish-form select,.wish-form textarea{box-shadow:inset 0 1px 3px rgba(60,48,43,.035)}
.gold-button{background:linear-gradient(135deg,var(--gold-deep),var(--gold-soft));box-shadow:0 6px 18px rgba(155,117,57,.18)}
.gold-button:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(155,117,57,.25)}
.outline-button:hover{background:rgba(177,138,74,.08)}
.closing{background:linear-gradient(rgba(255,250,241,.96),rgba(255,250,241,.98))}
@media(max-width:650px){.cover-content:before,.cover-content:after{width:90px;height:90px}.cover-content:before{left:-68px;top:-45px}.cover-content:after{right:-68px;bottom:-45px}.section:before{width:100px;height:100px;left:-62px;top:-62px}.section:after{width:80px;height:80px;right:-50px;bottom:-50px}.intro .ornament:before,.closing .ornament:before,.intro .ornament:after,.closing .ornament:after{width:32px;margin:0 8px}}

/* === CLASSIC HERITAGE BACKGROUND EDITION === */
/* Each section receives a different faded, softly blurred architectural motif. */
.section{background-repeat:no-repeat;background-position:center;background-size:cover;isolation:isolate}
.section > *{position:relative;z-index:2}
.section:before{z-index:1;opacity:.8;filter:blur(.2px)}
.section:after{z-index:1}
.intro{background-image:linear-gradient(rgba(255,250,241,.94),rgba(255,250,241,.96)),url('../assets/classic-paper.svg')}
.couple{background-image:linear-gradient(rgba(255,250,241,.93),rgba(247,241,230,.96)),url('../assets/classic-columns.svg')}
.event{background-image:linear-gradient(rgba(255,250,241,.94),rgba(255,250,241,.97)),url('../assets/classic-clock.svg')}
.story{background-image:linear-gradient(rgba(238,227,211,.94),rgba(238,227,211,.96)),url('../assets/classic-paper.svg')}
.gallery{background-image:linear-gradient(rgba(247,241,230,.94),rgba(247,241,230,.97)),url('../assets/classic-frame.svg')}
.gift{background-image:linear-gradient(rgba(241,231,216,.94),rgba(234,219,198,.96)),url('../assets/classic-columns.svg')}
.wishes{background-image:linear-gradient(rgba(255,250,241,.94),rgba(255,250,241,.97)),url('../assets/classic-frame.svg')}
.closing{background-image:linear-gradient(rgba(255,250,241,.94),rgba(255,250,241,.97)),url('../assets/classic-floral.svg')}
/* Cover: heritage mansion, intentionally faded so the typography remains dominant. */
.cover{background-image:linear-gradient(rgba(37,27,21,.66),rgba(37,27,21,.74)),url('../assets/classic-mansion.svg'),url('../assets/cover.jpg');background-size:cover,cover,cover;background-position:center,center,center;background-repeat:no-repeat}
.cover:before,.cover:after{z-index:2}
.cover-content{z-index:3}
/* Subtle vignette gives the line-art architecture a photographic, blurred feel. */
.cover:after{box-shadow:inset 0 0 90px rgba(35,25,20,.18)}
/* Countdown remains compact on mobile; prevents 3-digit DAYS from crossing dividers. */
.luxury-countdown{overflow:hidden}
.luxury-countdown-grid{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));}
.luxury-countdown-grid>div{min-width:0;overflow:hidden}
.luxury-countdown-grid strong{font-size:clamp(22px,7vw,52px);white-space:nowrap;line-height:1.08}
.luxury-countdown-grid span{white-space:nowrap}
@media(max-width:520px){
  .luxury-countdown{padding-left:8px;padding-right:8px}
  .luxury-countdown-grid>div{padding-left:3px;padding-right:3px}
  .luxury-countdown-grid strong{font-size:clamp(22px,7vw,32px);letter-spacing:0}
  .luxury-countdown-grid span{font-size:6.5px;letter-spacing:.09em}
  .luxury-countdown-grid>div+div:before{top:15%;height:70%}
}

/* === HERITAGE ORNAMENT VISIBILITY V7 === */
.section{
  background-color:#f7f1e6;
  background-repeat:no-repeat;
  background-position:center;
  background-size:cover;
}
/* A translucent veil rather than a nearly-opaque cream layer: motifs are now intentionally visible. */
.intro{background-image:linear-gradient(rgba(255,250,241,.78),rgba(255,250,241,.84)),url('../assets/classic-paper.svg')}
.couple{background-image:linear-gradient(rgba(255,250,241,.76),rgba(247,241,230,.84)),url('../assets/classic-columns.svg')}
.event{background-image:linear-gradient(rgba(255,250,241,.77),rgba(255,250,241,.84)),url('../assets/classic-clock.svg')}
.story{background-image:linear-gradient(rgba(238,227,211,.78),rgba(238,227,211,.84)),url('../assets/classic-paper.svg')}
.gallery{background-image:linear-gradient(rgba(247,241,230,.76),rgba(247,241,230,.84)),url('../assets/classic-frame.svg')}
.gift{background-image:linear-gradient(rgba(241,231,216,.76),rgba(234,219,198,.84)),url('../assets/classic-columns.svg')}
.wishes{background-image:linear-gradient(rgba(255,250,241,.76),rgba(255,250,241,.84)),url('../assets/classic-frame.svg')}
.closing{background-image:linear-gradient(rgba(255,250,241,.76),rgba(255,250,241,.84)),url('../assets/classic-floral.svg')}
/* Make the heritage line art read as a real background layer without competing with content. */
.section::before,.section::after{opacity:.7}

/* === HERITAGE ORNAMENT SOFT OVERLAY V8 === */
/* Memudarkan layer ivory/cream agar ilustrasi arsitektur klasik lebih terasa, tetap lembut dan luxury. */
.intro{background-image:linear-gradient(rgba(255,250,241,.58),rgba(255,250,241,.66)),url('../assets/classic-paper.svg')}
.couple{background-image:linear-gradient(rgba(255,250,241,.55),rgba(247,241,230,.66)),url('../assets/classic-columns.svg')}
.event{background-image:linear-gradient(rgba(255,250,241,.57),rgba(255,250,241,.66)),url('../assets/classic-clock.svg')}
.story{background-image:linear-gradient(rgba(238,227,211,.60),rgba(238,227,211,.68)),url('../assets/classic-paper.svg')}
.gallery{background-image:linear-gradient(rgba(247,241,230,.55),rgba(247,241,230,.66)),url('../assets/classic-frame.svg')}
.gift{background-image:linear-gradient(rgba(241,231,216,.55),rgba(234,219,198,.66)),url('../assets/classic-columns.svg')}
.wishes{background-image:linear-gradient(rgba(255,250,241,.55),rgba(255,250,241,.66)),url('../assets/classic-frame.svg')}
.closing{background-image:linear-gradient(rgba(255,250,241,.55),rgba(255,250,241,.66)),url('../assets/classic-floral.svg')}


/* === HERITAGE ORNAMENT MORE VISIBLE V9 === */
/* Cream veil is intentionally lighter so each classic motif is clearly visible. */
.intro{background-image:linear-gradient(rgba(255,250,241,.38),rgba(255,250,241,.48)),url('../assets/classic-paper.svg')}
.couple{background-image:linear-gradient(rgba(255,250,241,.34),rgba(247,241,230,.46)),url('../assets/classic-columns.svg')}
.event{background-image:linear-gradient(rgba(255,250,241,.36),rgba(255,250,241,.48)),url('../assets/classic-clock.svg')}
.story{background-image:linear-gradient(rgba(238,227,211,.40),rgba(238,227,211,.50)),url('../assets/classic-paper.svg')}
.gallery{background-image:linear-gradient(rgba(247,241,230,.34),rgba(247,241,230,.46)),url('../assets/classic-frame.svg')}
.gift{background-image:linear-gradient(rgba(241,231,216,.34),rgba(234,219,198,.46)),url('../assets/classic-columns.svg')}
.wishes{background-image:linear-gradient(rgba(255,250,241,.34),rgba(255,250,241,.46)),url('../assets/classic-frame.svg')}
.closing{background-image:linear-gradient(rgba(255,250,241,.34),rgba(255,250,241,.46)),url('../assets/classic-floral.svg')}
.section:before,.section:after{opacity:.82}

/* === LUXURY FOOTER V9 === */
.site-footer{padding:30px 18px 34px;background:#30241f;color:#ead8b8;text-align:center;border-top:1px solid rgba(225,189,120,.28)}
.site-footer-inner{width:min(92%,760px);margin:auto;display:flex;flex-direction:column;align-items:center;gap:12px}
.footer-brand{display:inline-flex;align-items:center;gap:9px;color:#f0d49b;text-decoration:none;font-family:Georgia,serif;font-size:1.05rem;letter-spacing:.08em}
.footer-brand-mark{width:25px;height:25px;border:1px solid rgba(225,189,120,.75);border-radius:50%;display:inline-grid;place-items:center;font-family:Georgia,serif;font-size:.75rem;font-style:italic}
.footer-copy{margin:0;color:#cdbb9f;font-size:.67rem;letter-spacing:.08em}
.footer-instagram{display:inline-flex;align-items:center;gap:8px;color:#ead8b8;text-decoration:none;font-size:.68rem;letter-spacing:.08em;transition:.2s}
.footer-instagram:hover{color:#f0d49b}
.footer-instagram svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
@media(max-width:520px){.site-footer{padding:27px 14px 30px}.footer-brand{font-size:.95rem}.footer-copy,.footer-instagram{font-size:.62rem}}

.footer-brand-mark svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}

/* === COUNTDOWN FINAL FIT V11 === */
.luxury-countdown-grid{
  width:min(100%,520px);
  margin-left:auto;
  margin-right:auto;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.luxury-countdown-grid>div{
  min-width:0;
  padding-left:4px;
  padding-right:4px;
  overflow:hidden;
}
.luxury-countdown-grid strong{
  font-size:clamp(20px,5.2vw,42px);
  line-height:1;
  letter-spacing:-.025em;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  overflow:visible;
}
.luxury-countdown-grid span{
  font-size:clamp(6px,1.7vw,9px);
  letter-spacing:.12em;
  white-space:nowrap;
}
@media(max-width:520px){
  .luxury-countdown{margin-left:10px;margin-right:10px;padding:26px 7px}
  .luxury-countdown-grid{width:100%;}
  .luxury-countdown-grid>div{padding-left:2px;padding-right:2px}
  .luxury-countdown-grid strong{font-size:clamp(18px,7vw,27px);letter-spacing:-.035em}
  .luxury-countdown-grid span{font-size:6px;letter-spacing:.07em;margin-top:6px}
  .luxury-countdown-grid>div+div:before{top:10%;height:80%}
}
@media(max-width:360px){
  .luxury-countdown{padding-left:4px;padding-right:4px}
  .luxury-countdown-grid strong{font-size:21px}
  .luxury-countdown-grid span{font-size:5.5px;letter-spacing:.045em}
}

/* === COUNTDOWN TWO-DIGIT DAYS === */
.luxury-countdown-grid strong{font-size:clamp(20px,4.8vw,40px);}
@media(max-width:520px){
  .luxury-countdown-grid strong{font-size:clamp(18px,6.2vw,25px);}
}
@media(max-width:360px){
  .luxury-countdown-grid strong{font-size:20px;}
}

/* === FINAL LUXURY ANIMATION V13 === */
/* Animasi dibuat lembut: tulisan muncul bertahap, foto sedikit zoom-out, ornamen bergerak halus. */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .85s cubic-bezier(.22,.61,.36,1),transform .85s cubic-bezier(.22,.61,.36,1)}
.reveal.visible{opacity:1;transform:none}

.reveal > .eyebrow,
.reveal > h2,
.reveal > p,
.reveal > .ornament,
.reveal > .event-card,
.reveal > .gallery-grid,
.reveal > .gift-card,
.reveal > .wish-form,
.reveal > .wish-result,
.reveal > .closing-names,
.reveal > .luxury-countdown-inner{opacity:0;transform:translateY(18px)}
.reveal.visible > .eyebrow,
.reveal.visible > h2,
.reveal.visible > p,
.reveal.visible > .ornament,
.reveal.visible > .event-card,
.reveal.visible > .gallery-grid,
.reveal.visible > .gift-card,
.reveal.visible > .wish-form,
.reveal.visible > .wish-result,
.reveal.visible > .closing-names,
.reveal.visible > .luxury-countdown-inner{animation:luxuryTextIn .75s cubic-bezier(.22,.61,.36,1) forwards}
.reveal.visible > .eyebrow{animation-delay:.05s}
.reveal.visible > h2{animation-delay:.12s}
.reveal.visible > p{animation-delay:.18s}
.reveal.visible > .ornament{animation-delay:.2s}
.reveal.visible > .event-card,
.reveal.visible > .gallery-grid,
.reveal.visible > .gift-card,
.reveal.visible > .wish-form,
.reveal.visible > .luxury-countdown-inner{animation-delay:.16s}

/* Foto pasangan: masuk dengan efek zoom lembut */
.reveal.visible .portrait{animation:luxuryPhotoIn 1.05s cubic-bezier(.16,1,.3,1) both}
.reveal.visible .portrait-bride{animation-delay:.12s}
.reveal.visible .portrait-groom{animation-delay:.25s}

/* Foto galeri muncul satu per satu */
.reveal.visible .gallery-photo{animation:luxuryGalleryIn .85s cubic-bezier(.16,1,.3,1) both}
.reveal.visible .gallery-photo:nth-child(1){animation-delay:.08s}
.reveal.visible .gallery-photo:nth-child(2){animation-delay:.16s}
.reveal.visible .gallery-photo:nth-child(3){animation-delay:.24s}
.reveal.visible .gallery-photo:nth-child(4){animation-delay:.32s}
.reveal.visible .gallery-photo:nth-child(5){animation-delay:.40s}
.reveal.visible .gallery-photo:nth-child(6){animation-delay:.48s}

/* Judul/nama utama sedikit berkilau, tetap elegan */
.cover-content.reveal.visible h1{animation:luxuryTitleIn 1.15s cubic-bezier(.16,1,.3,1) both}
.cover-content.reveal.visible .eyebrow{animation-delay:.12s}
.cover-content.reveal.visible .cover-date{animation:luxuryTextIn .8s .42s cubic-bezier(.22,.61,.36,1) both}
.cover-content.reveal.visible .guest-label{animation:luxuryTextIn .8s .54s cubic-bezier(.22,.61,.36,1) both}
.cover-content.reveal.visible .guest-name{animation:luxuryTextIn .85s .62s cubic-bezier(.22,.61,.36,1) both}
.cover-content.reveal.visible .gold-button{animation:luxuryButtonIn .8s .72s cubic-bezier(.16,1,.3,1) both}

/* Tombol ikut terasa hidup saat disentuh */
.gold-button,.outline-button{will-change:transform}
.gold-button:hover,.outline-button:hover{transform:translateY(-2px)}
.gold-button:active,.outline-button:active{transform:translateY(0) scale(.98)}

@keyframes luxuryTextIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes luxuryPhotoIn{from{opacity:0;transform:scale(1.075) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes luxuryGalleryIn{from{opacity:0;transform:scale(.94) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes luxuryTitleIn{from{opacity:0;transform:translateY(24px) scale(.96);letter-spacing:.03em}to{opacity:1;transform:translateY(0) scale(1);letter-spacing:normal}}
@keyframes luxuryButtonIn{from{opacity:0;transform:translateY(15px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal,.reveal > *{opacity:1!important;transform:none!important}
}
