.d-champagne{--bg:#fbf4e6;--bg2:#f5e8cb;--ink:#4a3a22;--mut:#8a7556;--ac:#b88530;--card:#fffaf0;--line:rgba(184,133,48,.4);--on-ac:#3a2808;--hero-ink:#4a3a22;
 --hero-bg:radial-gradient(ellipse 80% 45% at 15% 8%,rgba(244,196,184,.55),transparent 70%),radial-gradient(ellipse 70% 40% at 90% 95%,rgba(232,196,108,.5),transparent 70%),radial-gradient(ellipse at 50% 40%,#fffaf0 0,#fbf1dc 55%,#f3e2bd 100%);
 --hero-sh:transparent;--cover-bg:radial-gradient(ellipse 70% 40% at 80% 6%,rgba(244,196,184,.6),transparent 70%),radial-gradient(ellipse 80% 45% at 10% 100%,rgba(232,196,108,.55),transparent 70%),radial-gradient(ellipse at 50% 30%,#fffaf0 0,#fbf1dc 55%,#f1dcb0 100%);--cover-ink:#4a3a22;--foot-bg:rgba(184,133,48,.1);
 --fd:'Bodoni Moda','Playfair Display',serif;--fh:'Italiana','Cormorant Garamond','Mukta',serif;--fb:'Jost','Inter','Mukta',sans-serif;font-family:var(--fb);
 --gold:linear-gradient(105deg,#8f6420 0%,#c99a45 20%,#f3dc9a 38%,#b88530 56%,#e9c978 76%,#8f6420 100%)}
.d-champagne{background:radial-gradient(ellipse 80% 30% at 100% 0,rgba(244,196,184,.4),transparent 70%),radial-gradient(ellipse 80% 30% at 0 55%,rgba(232,196,108,.22),transparent 70%),radial-gradient(ellipse 80% 30% at 100% 100%,rgba(244,196,184,.35),transparent 70%),#fbf4e6}
/* bubbles + sparkle */
.d-champagne .fx{z-index:3}
.d-champagne .cf-b{position:absolute;bottom:-30px;border-radius:50%;border:1px solid rgba(190,142,56,.5);background:radial-gradient(circle at 32% 30%,rgba(255,255,255,.95) 0 13%,rgba(255,246,218,.4) 40%,rgba(232,192,112,.14) 72%);box-shadow:inset -1px -2px 3px rgba(201,154,69,.2);animation:cfrise linear infinite}
@keyframes cfrise{0%{transform:translate(0,0) scale(.6);opacity:0}10%{opacity:1}50%{transform:translate(var(--sw,12px),-55vh) scale(1)}100%{transform:translate(calc(var(--sw,12px)*-1),-115vh) scale(1.1);opacity:0}}
.d-champagne .cf-s{position:absolute;background:linear-gradient(135deg,#fff,#e6bd5e);clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);opacity:0;animation:cftw ease-in-out infinite}
@keyframes cftw{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:.9;transform:scale(1) rotate(45deg)}}
/* toast motif */
.d-champagne .cf-crest{display:flex;justify-content:center;margin:0 0 4px;filter:drop-shadow(0 6px 10px rgba(184,133,48,.25))}.d-champagne .orn .cf-toast{display:block;margin:0 auto;max-width:100%;height:auto}
.d-champagne .cf-tw,.d-champagne .cf-tw2,.d-champagne .cf-tw3{transform-box:fill-box;transform-origin:center;animation:cftw2 2.4s ease-in-out infinite}.d-champagne .cf-tw2{animation-delay:.6s}.d-champagne .cf-tw3{animation-delay:1.2s}@keyframes cftw2{0%,100%{opacity:.3;scale:.6}50%{opacity:1;scale:1.25}}
.d-champagne .cf-end{margin:0 auto 6px}
/* hero */
.d-champagne .hero-txt{padding:104px 28px 112px}
.d-champagne .hero .orn-frame{inset:14px}.d-champagne .cf-fr{position:absolute;inset:0;border:1px solid rgba(184,133,48,.65)}.d-champagne .cf-in{position:absolute;inset:6px;border:1px solid rgba(184,133,48,.28)}
.d-champagne .cf-c{position:absolute;width:30px;height:30px;background:var(--bg)}.d-champagne .cf-c.tl{left:-1px;top:-1px}.d-champagne .cf-c.tr{right:-1px;top:-1px;transform:scaleX(-1)}.d-champagne .cf-c.bl{left:-1px;bottom:-1px;transform:scaleY(-1)}.d-champagne .cf-c.br{right:-1px;bottom:-1px;transform:scale(-1)}
.d-champagne .hero .orn-frame .cf-cn{width:30px;height:30px;display:block;margin:0}
.d-champagne .cf-c{background:transparent}
.d-champagne .hero.has-img .hero-sh{background:linear-gradient(180deg,rgba(251,244,230,.78),rgba(251,244,230,.6) 50%,rgba(251,244,230,.8))}
.d-champagne .kick{color:#8a6420;letter-spacing:.46em;font-size:10px;font-weight:500}.d-champagne .bless,.d-champagne .greet{color:#8a6420}
.d-champagne .names{font-family:'Bodoni Moda','Playfair Display',serif;font-style:italic;font-weight:400;font-size:clamp(46px,14vw,104px);line-height:1.04;margin:8px 0 14px}
.d-champagne .names .n1,.d-champagne .names .n2,.d-champagne .cv-names span{display:inline-block;padding:0 .08em;color:transparent;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;
 background-image:radial-gradient(circle at 20% 30%,#fff 0 1px,transparent 1.7px),radial-gradient(circle at 70% 65%,#fff 0 1.1px,transparent 1.8px),radial-gradient(circle at 45% 85%,#fff7d6 0 .9px,transparent 1.5px),linear-gradient(105deg,#8f6420 0%,#c99a45 20%,#f3dc9a 38%,#b88530 56%,#e9c978 76%,#8f6420 100%);
 background-size:17px 19px,23px 21px,13px 15px,230% 100%;animation:cfglit 7s ease-in-out infinite}
@keyframes cfglit{0%,100%{background-position:0 0,0 0,0 0,0 0}50%{background-position:9px 6px,-11px 9px,6px -8px,100% 0}}
.d-champagne .names .amp{font-family:'Pinyon Script',cursive;font-style:normal;font-size:.62em;color:#c99a45;opacity:1;margin:-2px 0}
.d-champagne .when{font-family:var(--fb);font-weight:400;letter-spacing:.22em;text-transform:uppercase;font-size:clamp(11px,3vw,13px);color:#5d4a2c}.d-champagne .when b{color:#c99a45}.d-champagne .time{color:#8a6420;letter-spacing:.3em;font-size:11px;font-weight:500}
.d-champagne .scrollcue{color:#8a6420}
/* sections */
.d-champagne .sh h2{font-family:'Bodoni Moda',serif;font-style:italic;font-weight:400;font-size:clamp(28px,7.4vw,40px);color:#7a5518;letter-spacing:0}.d-champagne .orn-divider{margin-top:2px}.d-champagne .orn .cf-dv{display:block;margin:0 auto}
.d-champagne .intro{font-family:'Cormorant Garamond','Mukta',serif;font-style:italic;font-size:clamp(20px,5vw,25px);color:#5d4a2c}.d-champagne .fam b{font-family:'Bodoni Moda',serif;font-weight:400;font-size:21px;color:#4a3a22}.d-champagne .fam small{color:#a77a2a;letter-spacing:.3em;font-weight:500}.d-champagne .fam-h{color:#8a7556}
.d-champagne .ev,.d-champagne .rs-box{background:linear-gradient(170deg,#fffdf6,#fbf1db);border:1px solid rgba(184,133,48,.5);border-radius:6px}
.d-champagne .ev{padding:34px 22px 28px;box-shadow:0 26px 44px -30px rgba(143,100,32,.45),inset 0 0 0 5px #fffaf0,inset 0 0 0 6px rgba(184,133,48,.25);overflow:hidden}
.d-champagne .ev::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gold);background-size:200% 100%;animation:cfsheen 6s linear infinite}@keyframes cfsheen{to{background-position:200% 0}}
.d-champagne .ev-d b{font-family:'Bodoni Moda',serif;font-style:italic;font-weight:400;font-size:60px;color:transparent;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-image:var(--gold);background-size:200% 100%}.d-champagne .ev-d span{color:#8a6420;letter-spacing:.3em;font-weight:500}.d-champagne .ev-d small{color:var(--mut)}
.d-champagne .ev h3{font-family:'Bodoni Moda',serif;font-weight:400;font-size:26px;color:#4a3a22}.d-champagne .ev-t{color:#a77a2a;letter-spacing:.16em;font-weight:500}.d-champagne .ev-w b{color:#4a3a22}.d-champagne .ev-w span,.d-champagne .ev-x,.d-champagne .ev-n{color:#7d6a4c}
.d-champagne .btn{background:linear-gradient(105deg,#d9b66a,#f3dc9a 45%,#c99a45);border:0;color:#3a2808;border-radius:999px;letter-spacing:.12em;font-weight:500;font-size:12px;box-shadow:0 8px 18px -8px rgba(143,100,32,.6)}.d-champagne .btn.ghost{background:transparent;color:#8a6420;border:1px solid rgba(184,133,48,.7);box-shadow:none}
.d-champagne .cd{gap:8px}.d-champagne .cd-c{width:clamp(64px,19vw,88px);height:clamp(64px,19vw,88px);min-width:0;padding:0;justify-content:center;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fffdf6,#fbeccb);border:1px solid rgba(184,133,48,.6);box-shadow:inset 0 0 0 4px #fffaf0,inset 0 0 0 5px rgba(184,133,48,.25),0 10px 18px -12px rgba(143,100,32,.5)}
.d-champagne .cd-c b{font-family:'Bodoni Moda',serif;font-style:italic;font-weight:400;color:#8a6420;font-size:clamp(22px,6.6vw,32px)}.d-champagne .cd-c span{font-size:8px;letter-spacing:.22em;color:#a77a2a;margin-top:2px}.d-champagne .cd-date{font-family:'Cormorant Garamond',serif;font-style:italic;color:#7d6a4c}
.d-champagne .st-ph img{border-radius:200px 200px 6px 6px;border:1px solid rgba(184,133,48,.6);padding:6px;background:#fffaf0}.d-champagne .st-ph .orn-frame{display:none}.d-champagne .st-tx p{font-family:'Cormorant Garamond','Mukta',serif;color:#5d4a2c;font-size:clamp(19px,4.8vw,23px)}
.d-champagne .gi{border:1px solid rgba(184,133,48,.45);border-radius:6px;padding:4px;background:#fffaf0}.d-champagne .gi img{border-radius:3px}
.d-champagne .rs-f input,.d-champagne .rs-f textarea{background:#fffdf6;border-color:rgba(184,133,48,.4);color:#4a3a22;border-radius:6px}.d-champagne .rs-f ::placeholder{color:#a8967a}.d-champagne .chip{border-color:rgba(184,133,48,.45);color:#5d4a2c}.d-champagne .chip.on{background:linear-gradient(105deg,#d9b66a,#f3dc9a);color:#3a2808;border-color:#c99a45}.d-champagne .rs-tick{background:linear-gradient(135deg,#f3dc9a,#c99a45);color:#3a2808}.d-champagne .rs-note{color:var(--mut)}
.d-champagne .end-n{font-family:'Bodoni Moda',serif;font-style:italic;font-weight:400;color:transparent;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-image:var(--gold);background-size:220% 100%;animation:cfglit 7s ease-in-out infinite;font-size:clamp(30px,8vw,46px);padding:.05em .1em}.d-champagne .end-t{color:#5d4a2c;font-family:'Cormorant Garamond',serif}.d-champagne .foot{border-top:1px solid rgba(184,133,48,.4)}.d-champagne .foot-b{font-family:'Bodoni Moda',serif;font-style:italic;color:#8a6420;font-weight:400}.d-champagne .mbtn{background:rgba(255,250,240,.9);border-color:rgba(184,133,48,.6)}.d-champagne .mbtn i{background:#a77a2a}.d-champagne .chipl{border-color:rgba(184,133,48,.5)}
/* cover */
.d-champagne .cover{transition:transform 1.25s cubic-bezier(.72,0,.22,1) .42s,opacity .3s linear 1.6s;box-shadow:0 30px 60px -10px rgba(120,80,20,.35)}
.d-champagne .cover.go{opacity:0;transform:translateY(-104%)}
.d-champagne .cover::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--gold);background-size:200% 100%}
.d-champagne .cover>.orn{overflow:hidden}.d-champagne .cf-cv{position:absolute;inset:0}
.d-champagne .cf-cv::before{content:"";position:absolute;inset:14px;border:1px solid rgba(184,133,48,.6)}.d-champagne .cf-cv::after{content:"";position:absolute;inset:20px;border:1px solid rgba(184,133,48,.25)}
.d-champagne .cf-medw{position:absolute;left:50%;top:max(7%,36px);width:min(168px,20vh);aspect-ratio:1;margin-left:calc(min(168px,20vh)/-2);animation:cfbob 4s ease-in-out infinite;filter:drop-shadow(0 10px 14px rgba(143,100,32,.4))}
@keyframes cfbob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}
.d-champagne .cover>.orn .cf-med{width:100%;height:100%;display:block;overflow:visible}
.d-champagne .cf-hl,.d-champagne .cf-hr{transform-box:view-box;transform-origin:80px 80px}
.d-champagne .cover.go .cf-medw{animation:none;transition:opacity .35s .1s;opacity:0}
.d-champagne .cover.go .cf-hl{animation:cfhl .5s ease-in forwards}.d-champagne .cover.go .cf-hr{animation:cfhr .5s ease-in forwards}
@keyframes cfhl{to{transform:translate(-90px,40px) rotate(-38deg);opacity:0}}@keyframes cfhr{to{transform:translate(90px,40px) rotate(38deg);opacity:0}}
.d-champagne .cv-in{padding:20px;padding-top:max(13vh,100px);padding-bottom:30px}
.d-champagne .cv-kick{letter-spacing:.46em;font-size:10px;color:#8a6420;font-weight:500}.d-champagne .cv-g{font-family:'Cormorant Garamond',serif}
.d-champagne .cv-names{font-family:'Bodoni Moda',serif;font-style:italic;font-weight:400;font-size:clamp(44px,13vw,80px);line-height:1.04}
.d-champagne .cv-names i{font-family:'Pinyon Script',cursive;font-style:normal;font-size:.62em;color:#c99a45;opacity:1}
.d-champagne .cv-date{font-family:var(--fb);font-weight:400;letter-spacing:.22em;text-transform:uppercase;font-size:12px;color:#5d4a2c}
.d-champagne .cv-btn{border-color:#c99a45;color:#6b4a12;letter-spacing:.26em;font-size:11px;font-weight:500;background:linear-gradient(105deg,rgba(243,220,154,.55),rgba(255,250,240,.7))}.d-champagne .cv-btn:hover{background:linear-gradient(105deg,#d9b66a,#f3dc9a);color:#3a2808}
/* burst (appended to root on open) */
.d-champagne .cf-burst{position:fixed;z-index:90;width:0;height:0;pointer-events:none}
.d-champagne .cf-flash{position:absolute;left:-160px;top:-160px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,252,236,.95),rgba(246,220,150,.5) 40%,transparent 70%);animation:cfflash .8s ease-out forwards}@keyframes cfflash{0%{transform:scale(.2);opacity:1}100%{transform:scale(2.6);opacity:0}}
.d-champagne .cf-ring{position:absolute;left:-40px;top:-40px;width:80px;height:80px;border-radius:50%;border:3px solid #d9a93f;box-shadow:0 0 18px rgba(246,220,150,.8),inset 0 0 14px rgba(246,220,150,.6);animation:cfring 1.2s cubic-bezier(.15,.7,.3,1) forwards}.d-champagne .cf-ring.r2{animation-delay:.12s;border-color:#f0d487;border-width:1.5px}.d-champagne .cf-ring.r3{animation-delay:.26s;border-color:#f7e4b0;border-width:1px}
@keyframes cfring{0%{transform:scale(.3);opacity:1}100%{transform:scale(9);opacity:0}}
.d-champagne .cf-sp{position:absolute;left:0;top:0;margin:-5px 0 0 -5px;opacity:0;animation:cfsp ease-out forwards}
.d-champagne .cf-sp.st{background:linear-gradient(135deg,#fff3c4,#d49a2a);filter:drop-shadow(0 0 4px rgba(217,169,63,.9));clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%)}
.d-champagne .cf-sp.bb{border-radius:50%;border:1.5px solid rgba(184,133,48,.85);background:radial-gradient(circle at 32% 30%,#fff 0 16%,rgba(255,244,214,.55) 45%,rgba(232,192,112,.35));box-shadow:0 0 8px rgba(232,192,112,.6)}
@keyframes cfsp{0%{transform:translate(0,0) scale(.3) rotate(0);opacity:1}70%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(1) rotate(160deg);opacity:0}}
@media(max-height:620px){.d-champagne .cv-in{padding-top:max(14vh,90px)}}
@media(prefers-reduced-motion:reduce){.d-champagne .cf-b{display:none}.d-champagne .cf-medw,.d-champagne .names .n1,.d-champagne .names .n2,.d-champagne .cv-names span,.d-champagne .end-n,.d-champagne .ev::before,.d-champagne .cf-tw,.d-champagne .cf-tw2,.d-champagne .cf-tw3{animation:none}.d-champagne .cf-burst{display:none}}
