.section-ornaments{position:absolute!important;z-index:1!important;inset:0;overflow:hidden;pointer-events:none}
.section-ornaments .ornament{position:absolute;display:block;max-width:none;object-fit:contain;filter:drop-shadow(0 10px 18px #000c)}

/* Slim jewelry-inspired side frame: decorative, but quieter than the florals. */
main>section:not(#sample-qr-checkin):before,main>footer:before{
  content:"";
  position:absolute;
  z-index:2;
  top:54px;
  right:13px;
  bottom:70px;
  left:13px;
  pointer-events:none;
  background:
    linear-gradient(45deg,transparent 39%,#e7c67d 40% 60%,transparent 61%) left top/8px 8px no-repeat,
    linear-gradient(45deg,transparent 39%,#e7c67d 40% 60%,transparent 61%) right top/8px 8px no-repeat,
    linear-gradient(45deg,transparent 39%,#e7c67d 40% 60%,transparent 61%) left bottom/8px 8px no-repeat,
    linear-gradient(45deg,transparent 39%,#e7c67d 40% 60%,transparent 61%) right bottom/8px 8px no-repeat,
    radial-gradient(circle,#f7dda2 0 1px,#936a2e 1.5px 2.5px,transparent 3px) left center/7px 25% no-repeat,
    radial-gradient(circle,#f7dda2 0 1px,#936a2e 1.5px 2.5px,transparent 3px) right center/7px 25% no-repeat,
    linear-gradient(180deg,transparent,#e8c77e 9%,#8c622a 47%,#e8c77e 91%,transparent) left 3px top/1px 100% no-repeat,
    linear-gradient(180deg,transparent,#e8c77e 9%,#8c622a 47%,#e8c77e 91%,transparent) right 3px top/1px 100% no-repeat,
    linear-gradient(180deg,transparent,#76501f 13%,#d8bd7899 50%,#76501f 87%,transparent) left 7px top/1px 100% no-repeat,
    linear-gradient(180deg,transparent,#76501f 13%,#d8bd7899 50%,#76501f 87%,transparent) right 7px top/1px 100% no-repeat;
  filter:drop-shadow(0 0 5px #d5ad5740);
  opacity:.88;
  animation:jewel-frame-lustre 6s ease-in-out infinite;
}
.section-ornaments .garland{left:4%;width:92%;animation:garland-float 6.5s ease-in-out infinite}
.section-ornaments .garland.top{top:-10px}
.section-ornaments .bottom-garland{left:6%;bottom:-16px;width:88%;transform:rotate(180deg);animation-name:garland-float-bottom}
.section-ornaments .side-vine{width:120px;opacity:.78}
.section-ornaments .side-vine.left{top:12%;left:-58px;animation:vine-sway-left 8s ease-in-out infinite}
.section-ornaments .side-vine.right{top:20%;right:-58px;animation:vine-sway-right 8.6s ease-in-out infinite}
.section-ornaments .side-vine.right.flip{transform:scaleX(-1);animation-name:vine-sway-flip}
.section-ornaments .bouquet{left:14%;bottom:-52px;width:72%;animation:bouquet-bloom 7s ease-in-out infinite}
.section-ornaments .bouquet.bottom-small{left:22%;bottom:-34px;width:56%;opacity:.88}
.section-ornaments .divider{left:17.5%;width:65%;filter:drop-shadow(0 7px 13px #000d);animation:divider-glint 4.5s ease-in-out infinite}
.section-ornaments .top-divider{top:8px}
.section-ornaments .bottom-divider{bottom:14px;transform:rotate(180deg);animation-name:divider-glint-bottom}
.opening .section-ornaments .top{top:-12px}
.opening .section-ornaments .bottom-small{bottom:-40px}
.vow .side-vine{top:10%;left:-65px;width:130px;opacity:.72}
.events .side-vine{top:28%;right:-58px;width:116px;opacity:.68}
.vow .bouquet,.events .bouquet,.gallery .bouquet,.gift .bouquet{bottom:-58px}
.gift .side-vine{width:112px;opacity:.64}
.gift .side-vine.left{top:12%;left:-57px}
.gift .side-vine.right{top:28%;right:-57px}
.rsvp .garland{top:-12px}
.rsvp .bouquet{bottom:-44px}
footer .side-vine{width:108px;opacity:.62}
footer .side-vine.left{top:12%;left:-58px}
footer .side-vine.right{top:20%;right:-58px}
footer .bottom-garland{bottom:-18px}

.royal-closing{isolation:isolate;background:#060e0a!important}
.royal-closing>.invitation-countdown{display:none!important}
.royal-closing .closing-photo{position:absolute!important;z-index:0!important;inset:0;overflow:hidden}
.royal-closing .closing-photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.55) contrast(1.12) brightness(.46);transform:scale(1.04);animation:closing-cinema 14s ease-in-out infinite alternate}
.royal-closing .closing-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#090305d9 0%,#0d1b14a3 34%,#090305c4 72%,#060e0af5 100%),radial-gradient(circle at 50% 43%,transparent 0 16%,#060e0ab0 68%)}
.royal-closing .section-ornaments{z-index:2!important}
.royal-closing .top-divider{top:17px;left:18%;width:64%;opacity:.9}
.royal-closing .bottom-garland{left:3%;bottom:-13px;width:94%;opacity:.96}
.royal-closing .closing-card{position:relative;z-index:3;display:flex;width:100%;max-width:350px;flex-direction:column;align-items:center;padding:36px 24px 42px;border:1px solid #d5b26870;background:linear-gradient(145deg,#0b16108c,#37513f36,#08110da6);box-shadow:inset 0 0 0 5px #060e0a8f,0 24px 65px #000a;backdrop-filter:blur(4px)}
.closing-monogram{display:flex;width:92px;height:92px;align-items:center;justify-content:center;gap:6px;margin-bottom:19px;border:1px solid #e5c67d;border-radius:50%;background:radial-gradient(circle,#405d498c,#0b1610d9 70%);box-shadow:0 0 0 5px #08110db8,0 0 0 6px #d7b36b69,0 0 38px #6f8d7365;color:#fff1d4;font:500 28px Cormorant Garamond;animation:monogram-pulse 4s ease-in-out infinite}
.closing-monogram b{color:#dfbd73;font-size:14px;font-weight:500}
.royal-closing .eyebrow{margin-bottom:10px}
.royal-closing h2{margin:0;font-size:48px;text-shadow:0 7px 24px #000}
.royal-closing .closing-line{width:88px;height:1px;margin:17px 0;background:linear-gradient(90deg,transparent,#dfbd74,transparent)}
.royal-closing .closing-card p{max-width:280px;color:#d0bfb2;font-size:9px;line-height:1.8}
.royal-closing .closing-card small{margin-top:14px;color:#e3c57e;font-size:8px;letter-spacing:2.6px}
.royal-closing .closing-card>a{margin-top:19px;color:#b8a487;font-size:6px;letter-spacing:2.4px;text-decoration:none}

#sample-qr-checkin:before,#sample-qr-checkin:after{content:"";position:absolute;z-index:0;display:block;pointer-events:none;background-repeat:no-repeat;background-position:center;background-size:contain;transform:none;text-shadow:none;letter-spacing:normal}
#sample-qr-checkin{
  --jewel-rail-x:13px;
  overflow-y:hidden!important;
  background-image:
    linear-gradient(45deg,transparent 39%,#e7c67d 40% 60%,transparent 61%),
    linear-gradient(45deg,transparent 39%,#e7c67d 40% 60%,transparent 61%),
    linear-gradient(45deg,transparent 39%,#e7c67d 40% 60%,transparent 61%),
    linear-gradient(45deg,transparent 39%,#e7c67d 40% 60%,transparent 61%),
    radial-gradient(circle,#f7dda2 0 1px,#936a2e 1.5px 2.5px,transparent 3px),
    radial-gradient(circle,#f7dda2 0 1px,#936a2e 1.5px 2.5px,transparent 3px),
    linear-gradient(180deg,transparent,#e8c77e 9%,#8c622a 47%,#e8c77e 91%,transparent),
    linear-gradient(180deg,transparent,#e8c77e 9%,#8c622a 47%,#e8c77e 91%,transparent),
    linear-gradient(180deg,transparent,#76501f 13%,#d8bd7899 50%,#76501f 87%,transparent),
    linear-gradient(180deg,transparent,#76501f 13%,#d8bd7899 50%,#76501f 87%,transparent),
    radial-gradient(circle at 50% 45%,#29463744,transparent 42%),
    linear-gradient(150deg,#0d1812,#060e0a 62%);
  background-position:
    left var(--jewel-rail-x) top 54px,right var(--jewel-rail-x) top 54px,
    left var(--jewel-rail-x) bottom 70px,right var(--jewel-rail-x) bottom 70px,
    left var(--jewel-rail-x) center,right var(--jewel-rail-x) center,
    left calc(var(--jewel-rail-x) + 3px) top 54px,right calc(var(--jewel-rail-x) + 3px) top 54px,
    left calc(var(--jewel-rail-x) + 7px) top 54px,right calc(var(--jewel-rail-x) + 7px) top 54px,
    center,center;
  background-size:
    8px 8px,8px 8px,8px 8px,8px 8px,7px 25%,7px 25%,
    1px calc(100% - 124px),1px calc(100% - 124px),1px calc(100% - 124px),1px calc(100% - 124px),
    auto,auto;
  background-repeat:no-repeat;
}
#sample-qr-checkin:before{top:8px;left:17.5%;width:65%;aspect-ratio:3/1;background-image:url('/images/ornaments/mawar-putih-cinta-suci/divider.webp');filter:drop-shadow(0 7px 13px #000d);animation:divider-glint 4.5s ease-in-out infinite}
#sample-qr-checkin:after{top:auto;right:auto;left:14%;bottom:-58px;width:72%;aspect-ratio:3/2;background-image:url('/images/ornaments/mawar-putih-cinta-suci/bouquet.webp');filter:drop-shadow(0 10px 18px #000c);animation:bouquet-bloom 7s ease-in-out infinite}
#sample-qr-checkin .sample-qr-content{z-index:3}
#sample-qr-checkin .sample-qr-eyebrow{margin-bottom:8px!important;font-size:8px!important;letter-spacing:2.4px!important}
#sample-qr-checkin h2{margin-bottom:8px!important;font-size:31px!important}
#sample-qr-checkin p{margin:7px 0!important;font-size:11px!important;line-height:1.55!important}
#sample-qr-checkin .sample-qr-name{margin-top:11px!important;font-size:15px!important}
#sample-qr-checkin img{width:min(100%,220px)!important;margin:13px auto!important;padding:8px!important;border-radius:13px!important}
#sample-qr-checkin .sample-qr-download{min-height:38px!important;padding:8px 18px!important;font-size:11px!important}
#sample-qr-checkin .sample-qr-note{margin-top:11px!important;font-size:9px!important;line-height:1.55!important}

.cover .cover-ornaments{z-index:1!important}
.cover .cover-ornaments .garland{top:-24px;left:5%;width:90%;opacity:.95}
.cover .cover-ornaments .side-vine{display:none}
.cover .cover-ornaments .side-vine.left{left:-55px}
.cover .cover-ornaments .side-vine.right{right:-55px}
.cover .cover-ornaments .bouquet{left:25%;bottom:-35px;width:50%;opacity:.82}
.cover-content{gap:0}
.cover-floral-crest{position:relative;width:185px;height:211px;margin:13px 0 3px}
.cover-floral-crest .crest-frame{position:absolute;z-index:2;inset:-18px -15px;width:215px;height:248px;object-fit:contain;filter:drop-shadow(0 12px 20px #000d);animation:crest-breathe 6s ease-in-out infinite}
.cover-floral-crest .portrait{z-index:1;inset:31px 30px 31px}
.cover-floral-crest .portrait img{filter:saturate(.82) brightness(1.06) contrast(1.04)}
.cover-floral-crest .portrait:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,transparent 68%,#18261e42);pointer-events:none}
.cover h1{margin:2px 0 0;font-size:46px}
.cover .date{margin-top:8px}
.cover .guest{margin:11px 0 10px}
.cover .demo-info{margin-top:6px}
.cover>.invitation-countdown{margin:7px 0 0}

@keyframes garland-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(7px) scale(1.018)}}
@keyframes garland-float-bottom{0%,100%{transform:rotate(180deg) translateY(0) scale(1)}50%{transform:rotate(180deg) translateY(7px) scale(1.018)}}
@keyframes vine-sway-left{0%,100%{transform:rotate(-1.5deg) translateY(0)}50%{transform:rotate(1.8deg) translateY(7px)}}
@keyframes vine-sway-right{0%,100%{transform:rotate(1.5deg) translateY(0)}50%{transform:rotate(-1.8deg) translateY(7px)}}
@keyframes vine-sway-flip{0%,100%{transform:scaleX(-1) rotate(-1.5deg) translateY(0)}50%{transform:scaleX(-1) rotate(1.8deg) translateY(7px)}}
@keyframes bouquet-bloom{0%,100%{transform:scale(1) translateY(0);filter:drop-shadow(0 3px 3px #9a7b3c26) drop-shadow(0 11px 17px #60736029)}50%{transform:scale(1.025) translateY(-5px);filter:drop-shadow(0 4px 4px #9a7b3c2e) drop-shadow(0 14px 20px #60736033) drop-shadow(0 0 9px #c9a75a35)}}
@keyframes divider-glint{0%,100%{transform:translateY(0);filter:drop-shadow(0 2px 2px #9a7b3c24) drop-shadow(0 6px 10px #60736024)}50%{transform:translateY(4px);filter:drop-shadow(0 3px 3px #9a7b3c2b) drop-shadow(0 8px 12px #6073602e) drop-shadow(0 0 7px #d2b56b42)}}
@keyframes divider-glint-bottom{0%,100%{transform:rotate(180deg) translateY(0);filter:drop-shadow(0 2px 2px #9a7b3c24) drop-shadow(0 6px 10px #60736024)}50%{transform:rotate(180deg) translateY(4px);filter:drop-shadow(0 3px 3px #9a7b3c2b) drop-shadow(0 8px 12px #6073602e) drop-shadow(0 0 7px #d2b56b42)}}
@keyframes closing-cinema{to{transform:scale(1.1) translateY(-1.5%)}}
@keyframes jewel-frame-lustre{0%,100%{opacity:.68;filter:drop-shadow(0 0 3px #d5ad572e)}50%{opacity:1;filter:drop-shadow(0 0 7px #edcf8170)}}

@media(max-width:480px){
  main>section:not(#sample-qr-checkin):before,main>footer:before{right:10px;left:10px}
  #sample-qr-checkin{--jewel-rail-x:10px}
  .section-ornaments .garland{width:94%;left:3%}
  .section-ornaments .side-vine{width:116px}
  .section-ornaments .bouquet{width:74%;left:13%}
  .section-ornaments .divider{width:68%;left:16%}
  .cover .cover-ornaments .garland{left:4%;width:92%}
  .royal-closing .closing-card{width:100%}
  .royal-closing h2{font-size:42px}
  #sample-qr-checkin:before{left:16%;width:68%}
  #sample-qr-checkin:after{left:13%;width:74%}
}

@media(max-height:700px){
  main>section:not(#sample-qr-checkin):before,main>footer:before{top:38px;bottom:60px}
  #sample-qr-checkin{background-position:left var(--jewel-rail-x) top 38px,right var(--jewel-rail-x) top 38px,left var(--jewel-rail-x) bottom 60px,right var(--jewel-rail-x) bottom 60px,left var(--jewel-rail-x) center,right var(--jewel-rail-x) center,left calc(var(--jewel-rail-x) + 3px) top 38px,right calc(var(--jewel-rail-x) + 3px) top 38px,left calc(var(--jewel-rail-x) + 7px) top 38px,right calc(var(--jewel-rail-x) + 7px) top 38px,center,center;background-size:8px 8px,8px 8px,8px 8px,8px 8px,7px 25%,7px 25%,1px calc(100% - 98px),1px calc(100% - 98px),1px calc(100% - 98px),1px calc(100% - 98px),auto,auto}
  .section-ornaments .garland.top{top:-28px;width:82%;left:9%}
  .section-ornaments .bouquet{bottom:-62px;width:62%;left:19%}
  .section-ornaments .bouquet.bottom-small{bottom:-48px;width:48%;left:26%}
  .section-ornaments .side-vine{width:96px}
  .section-ornaments .divider{width:58%;left:21%}
  .section-ornaments .bottom-divider{bottom:7px}
  .cover .cover-ornaments .garland{top:-32px;width:78%;left:11%}
  .cover .cover-ornaments .side-vine{width:74px;opacity:.27}
  .cover .cover-ornaments .side-vine.left{left:-47px}
  .cover .cover-ornaments .side-vine.right{right:-47px}
  .cover .cover-ornaments .bouquet{bottom:-45px;width:42%;left:29%}
  .cover-floral-crest{width:118px;height:135px;margin:6px 0 2px}
  .cover-floral-crest .crest-frame{inset:-12px -10px;width:138px;height:159px}
  .cover-floral-crest .portrait{inset:20px 19px 20px}
  .cover h1{font-size:38px}
  .cover .date{margin-top:4px}
  .cover .guest{margin:6px 0}
  .cover .demo-info{display:none}
  .cover>.invitation-countdown{margin:3px 0 0}
  .royal-closing .top-divider{top:8px;width:54%;left:23%}
  .royal-closing .bottom-garland{bottom:-22px;width:88%;left:6%}
  .royal-closing .closing-card{width:100%;padding:22px 19px 25px}
  .closing-monogram{width:67px;height:67px;margin-bottom:11px;font-size:22px}
  .royal-closing .eyebrow{margin-bottom:6px}
  .royal-closing h2{font-size:39px}
  .royal-closing .closing-line{margin:11px 0}
  .royal-closing .closing-card small{margin-top:9px}
  .royal-closing .closing-card>a{margin-top:11px}
  #sample-qr-checkin:before{left:21%;width:58%}
  #sample-qr-checkin:after{left:19%;bottom:-62px;width:62%}
  #sample-qr-checkin h2{font-size:27px!important}
  #sample-qr-checkin p{font-size:10px!important}
  #sample-qr-checkin img{width:min(100%,180px)!important;margin:9px auto!important}
  #sample-qr-checkin .sample-qr-note{font-size:8px!important}
}

/* Light ivory presentation for the white-rose edition. */
:root{--black:#f6f1e7;--cream:#29342d;--muted:#6f746d}
body{background:#dfe4da;color:#29342d}
main{background:#f4f0e6;box-shadow:0 0 90px #53685442}
section,footer{color:#29342d;border-color:#b99a556b;background:radial-gradient(ellipse at 50% -8%,#d9bc7438 0,transparent 34%),radial-gradient(ellipse at 50% 108%,#91a58f38 0,transparent 38%),radial-gradient(circle at 8% 52%,#b8c9ba3d 0,transparent 32%),linear-gradient(145deg,#faf6ed 0,#f2ebdd 55%,#e7ece4 100%);box-shadow:inset 0 0 0 5px #f8f3e9,inset 0 0 0 6px #b99a5540,inset 0 0 52px #71857024}
.cover{background:radial-gradient(ellipse at 50% 12%,#d9bd7933 0,transparent 31%),radial-gradient(circle at 9% 52%,#a9bba94a 0,transparent 34%),radial-gradient(circle at 88% 78%,#d7c28d45 0,transparent 31%),linear-gradient(145deg,#f9f5eb 0,#f4ecdd 52%,#e4ebe3 100%)!important}
.vow{background:radial-gradient(circle at 50% 43%,#fffaf0 0,transparent 40%),radial-gradient(circle at 12% 57%,#b8c7b53d 0,transparent 32%),linear-gradient(145deg,#f5efe3,#e9e4d8 62%,#dfe8df)!important}
.gallery{background:radial-gradient(circle at 50% 48%,#fffaf0 0,transparent 43%),radial-gradient(circle at 90% 35%,#acbfad42 0,transparent 34%),linear-gradient(145deg,#f7f2e7,#e5ebe2 68%)!important}
footer{background:radial-gradient(circle at 50% 40%,#fffaf0 0,transparent 40%),radial-gradient(circle at 8% 72%,#aebfae42 0,transparent 34%),linear-gradient(145deg,#f7f1e5,#e3e9df 68%)!important}
.cover .aurora{background:radial-gradient(ellipse at 50% 41%,#fffdf8bd 0,transparent 44%),radial-gradient(circle at 50% 18%,#cda8573b 0,transparent 31%)}
.section-ornaments:after,.desktop-ornaments:after{content:"";position:absolute;z-index:5;inset:-20%;pointer-events:none;background:linear-gradient(112deg,transparent 37%,#fff9dc42 48%,#fffdf27a 50%,#fff9dc36 52%,transparent 63%);transform:translateX(-75%);animation:ivory-silk-sheen 11s ease-in-out infinite}
.cover h1,h2,.opening h2,.event-card h3,.names h3,.vow blockquote,footer h2{color:#26332b;text-shadow:none}
.cover h1 i,h2 em{color:#b88a36;text-shadow:0 2px 10px #d5b56838}
.button{border-color:#c6a357;background:linear-gradient(135deg,#ead087,#b98732);box-shadow:0 4px 6px #9a7b3c26,0 13px 23px #6073602e,0 0 18px #d2b56b42}
.desktop-copy>span,.eyebrow,.date,.date-line{color:#9b742f}
.intro,.desktop p,.names p,.event-card p,.gift-card p,footer>p{color:#697169}
.cover .guest{border-color:#af8d4869;background:#fffdf3c9;box-shadow:inset 0 0 24px #b69a6330,0 10px 25px #786b4d16}
.cover .guest small{color:#7c796f}.cover .guest strong{color:#29342d}.cover .demo-info{color:#8c877b}
.portrait,.desktop-portrait-photo{background:#eee8da;box-shadow:inset 0 0 0 4px #f9f5ec,0 4px 5px #9a7b3c26,0 15px 28px #6073602e}
.portrait img,.desktop-portrait-photo img{filter:saturate(.88) contrast(1.06) brightness(1.02)}
.names{border-color:#ac8b495c;background:linear-gradient(90deg,transparent,#d9c89a4d,transparent)}
.names article small{color:#8f6b2b}.names>b{color:#a77d32;text-shadow:0 0 12px #d9bd78}
.vow-card{border-color:#b99850;background:linear-gradient(150deg,#fffdf1ed,#e5eadfba 55%,#eadcbf8f);box-shadow:inset 0 0 0 5px #faf6ed,inset 0 0 0 6px #b99a5540,0 24px 60px #5f735f30}
.vow-card p{color:#697169}.gem{color:#9d762f;text-shadow:0 0 13px #d5b86f}.gold-line{background:linear-gradient(90deg,transparent,#a77c31,transparent)}
.event-card{border-color:#b99a556e;background:linear-gradient(115deg,#fffdf8,#edf1e8 52%,#eee3caa8);box-shadow:inset 0 0 0 4px #faf6ed,0 12px 28px #61756126}
.event-number{background:#fffdf7;color:#8f6827;box-shadow:inset 0 0 15px #dcc7945e}.event-card small,.event-card b,.event-card a{color:#8e692d}
.photos{border-color:#b99a557d;background:#f8f3e8;box-shadow:0 20px 50px #7668492b}.photos figure{border-color:#b99a5557}
.gift-card{border-color:#b99a557d;background:linear-gradient(125deg,#fffdf8,#e9eee6 54%,#eadfc5b8);box-shadow:inset 0 0 0 5px #faf6ed,0 18px 42px #61756129}
.gift-card span{color:#29342d}.gift-card small,.gift-card b,.gift-card button,.copy-status{color:#8d682b}
.rsvp form{border-color:#b99a5575;background:linear-gradient(145deg,#fffdf8e8,#e7ede4c4 58%,#e9dfc891);box-shadow:inset 0 0 0 5px #faf6ed,0 18px 45px #61756129}
.rsvp label,.rsvp #rsvp-status{color:#896729}.rsvp input,.rsvp select,.rsvp textarea{border-color:#b8a06d;background:#fffdf8;color:#29342d}
nav{border-color:#aa8338;background:#fffaf0ed;box-shadow:0 15px 35px #77694c2e}nav a{color:#886425}
.final-crest>div{color:#29342d}footer>small{color:#8d692d}footer>a{color:#746f65}
.section-ornaments .ornament,.cover-floral-crest .crest-frame,.floral-crest>img,.final-crest>img{filter:drop-shadow(0 3px 3px #9a7b3c24) drop-shadow(0 10px 15px #60736029) drop-shadow(0 0 7px #c5a65c22)}
@keyframes crest-breathe{0%,100%{transform:scale(1);filter:drop-shadow(0 3px 3px #9a7b3c24) drop-shadow(0 10px 15px #60736029) drop-shadow(0 0 7px #c5a65c22)}50%{transform:scale(1.018);filter:drop-shadow(0 4px 4px #9a7b3c2e) drop-shadow(0 13px 19px #60736033) drop-shadow(0 0 10px #c5a65c35)}}
@keyframes ivory-silk-sheen{0%{transform:translateX(-75%);opacity:0}8%{opacity:.72}32%{transform:translateX(75%);opacity:0}100%{transform:translateX(75%);opacity:0}}
.royal-closing{background:radial-gradient(circle at 50% 43%,#fffaf0 0,transparent 40%),linear-gradient(145deg,#f8f3e8,#e1e9df 62%,#eadfcf)!important}
.royal-closing .closing-photo img{filter:saturate(.35) contrast(.9) brightness(1.18);opacity:.2}
.royal-closing .closing-photo:after{background:linear-gradient(180deg,#fffdf8c7,#f5eee3a8 42%,#eee5d7db),radial-gradient(circle at 50% 43%,transparent 0 18%,#eee5d78a 70%)}
.royal-closing .closing-card{border-color:#b99a5575;background:linear-gradient(145deg,#fffdf2e8,#eadfc9d4);box-shadow:inset 0 0 0 5px #fffaf0a8,0 24px 65px #77694c2b}
.closing-monogram{border-color:#b68d3f;background:radial-gradient(circle,#fffdf4,#e8dcc3 70%);box-shadow:0 0 0 5px #faf6ed,0 0 0 6px #b99a5569,0 0 38px #bca57145;color:#29342d}
.royal-closing h2{color:#29342d;text-shadow:none}.royal-closing .closing-card p{color:#626b63}.royal-closing .closing-card small{color:#8f692b}.royal-closing .closing-card>a{color:#746f65}
#sample-qr-checkin{background:radial-gradient(circle at 50% 45%,#fffaf0 0,transparent 43%),radial-gradient(circle at 90% 72%,#adc0ad42 0,transparent 34%),linear-gradient(150deg,#f9f5eb,#e5ebe3 62%)!important}

/* Desktop presentation mirrors the red-rose layout in the light palette. */
.desktop{inset:0 calc(460px + 7vw) 0 0;background:radial-gradient(ellipse at 50% 4%,#d3b46a30 0,transparent 32%),radial-gradient(circle at 64% 49%,#fffaf0d9 0,transparent 32%),radial-gradient(circle at 13% 64%,#a7bba846 0,transparent 35%),linear-gradient(120deg,#e3ebe2,#f8f3e9 48%,#ebdfca)}
.desktop h2{color:#26332b;text-shadow:none}.desktop p{color:#687069}.desktop a{color:#8d682a}
.desktop:before{z-index:4;border-block:0;box-shadow:none;pointer-events:none}
.desktop:after{content:"";position:absolute;z-index:4;inset:24px 32px;border-inline:1px solid #d8b46b22;pointer-events:none}
.desktop-ornaments{position:absolute;z-index:1;inset:0;overflow:hidden;pointer-events:none}
.desktop-garland{position:absolute;top:8px;left:50%;width:min(72%,680px);transform:translateX(-50%);filter:drop-shadow(0 3px 3px #9a7b3c24) drop-shadow(0 10px 16px #60736029) drop-shadow(0 0 7px #c5a65c22);animation:desktop-garland-breathe 8s ease-in-out infinite}
.desktop-bouquet{position:absolute;bottom:8px;left:50%;width:min(43%,430px);transform:translateX(-50%);filter:drop-shadow(0 -2px 3px #9a7b3c20) drop-shadow(0 -9px 15px #60736026) drop-shadow(0 0 7px #c5a65c22);animation:desktop-bouquet-breathe 9s ease-in-out infinite}
.desktop-layout{position:absolute;z-index:2;inset:92px 58px 104px;display:grid;grid-template-columns:minmax(290px,380px) minmax(250px,350px);align-items:center;justify-content:center;gap:clamp(38px,4vw,90px);max-width:1050px;margin:auto}
.desktop-copy{position:relative;left:auto;bottom:auto;z-index:2;max-width:380px}
.desktop-portrait{position:relative;width:min(23vw,340px);aspect-ratio:5/6;justify-self:start;filter:drop-shadow(0 4px 4px #9a7b3c29) drop-shadow(0 14px 22px #60736033) drop-shadow(0 0 9px #c5a65c26)}
.desktop-portrait-photo{position:absolute;z-index:1;inset:15% 17% 15%;overflow:hidden;border:1px solid #d6b56e;border-radius:48% 48% 43% 43%;background:#101b15;box-shadow:inset 0 0 0 5px #08110d,0 15px 32px #000}
.desktop-portrait-photo img{width:100%;height:100%;object-fit:cover;object-position:center 24%;filter:saturate(.72) contrast(1.06)}
.desktop-portrait-frame{position:absolute;z-index:2;inset:-5%;width:110%;height:110%;object-fit:contain;animation:crest-breathe 6s ease-in-out infinite}

@keyframes desktop-garland-breathe{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(1.018)}}
@keyframes desktop-bouquet-breathe{0%,100%{transform:translateX(-50%) translateY(0) scale(1)}50%{transform:translateX(-50%) translateY(-5px) scale(1.02)}}

@media(min-width:851px) and (max-width:1320px){
  .desktop-layout{inset:105px 48px 112px;display:flex;align-items:center;justify-content:center}
  .desktop-copy{max-width:340px;text-align:center}
  .desktop-copy p{margin-inline:auto}
  .desktop h2{font-size:50px}
  .desktop-portrait{display:none}
  .desktop-garland{top:8px;width:min(86%,520px)}
  .desktop-bouquet{bottom:8px;width:min(62%,330px)}
}

@media(prefers-reduced-motion:reduce){.section-ornaments .ornament,.section-ornaments:after,.desktop-ornaments:after,#sample-qr-checkin:before,#sample-qr-checkin:after,main>section:not(#sample-qr-checkin):before,main>footer:before,.desktop-garland,.desktop-bouquet,.desktop-portrait-frame{animation:none!important}}
