:root{
    --vr-ivory:#fffaf2;
    --vr-pearl:#fffdf8;
    --vr-champagne:#ead8b8;
    --vr-blush:#dfb9b3;
    --vr-blush-deep:#a86f70;
    --vr-gold:#b78b43;
    --vr-gold-light:#ecd59e;
    --vr-taupe:#7f6d62;
    --vr-ink:#3b302b;
    --vr-muted:#86766d;
    --vr-line:rgba(157,116,55,.2);
    --vr-shadow:0 34px 100px rgba(92,62,47,.14);
    --vr-serif:"Italiana",Georgia,serif;
    --vr-script:"Parisienne",cursive;
    --vr-sans:"Manrope",Arial,sans-serif
}
.vr-body,.vr-body *,.vr-body *:before,.vr-body *:after{box-sizing:border-box}
.vr-html{scroll-behavior:smooth}
.vr-body{margin:0;overflow-x:hidden;color:var(--vr-ink);background:var(--vr-ivory);font-family:var(--vr-sans);font-weight:400;-webkit-font-smoothing:antialiased}
.vr-body.vr-opening-active{overflow:hidden}
.vr-body img{display:block;max-width:100%}
.vr-body a{color:inherit;text-decoration:none}
.vr-body button,.vr-body input,.vr-body select,.vr-body textarea{font:inherit}
.vr-body button,.vr-body a{-webkit-tap-highlight-color:transparent}
.vr-page{position:relative;overflow:clip;background:var(--vr-ivory)}
.vr-shell{position:relative;z-index:3;width:min(1200px,calc(100% - 72px));margin-inline:auto}
.vr-section{position:relative;padding:130px 0}
.vr-eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--vr-gold);font-size:9px;font-weight:600;letter-spacing:.25em;text-transform:uppercase}
.vr-eyebrow:before{width:26px;height:1px;content:"";background:currentColor}
.vr-heading{max-width:740px;margin:0 auto 68px;text-align:center}
.vr-heading h2,.vr-gift__intro h2,.vr-form-panel h2,.vr-wishes h2,.vr-story__intro h2{margin:18px 0 20px;font:400 clamp(52px,6vw,82px)/.96 var(--vr-serif);letter-spacing:-.035em}
.vr-heading p,.vr-gift__intro>p,.vr-form-panel>p,.vr-wishes>p,.vr-story__intro>p{max-width:580px;margin:0 auto;color:var(--vr-muted);font-size:13px;line-height:1.9}
.vr-depth,.vr-tilt,.vr-reveal{--mx:0px;--my:0px;--rx:0deg;--ry:0deg;--rz:0deg;--float-y:0px;--depth:0px;--vr-reveal-y:0px;transform:translate3d(var(--mx),calc(var(--my) + var(--float-y) + var(--vr-reveal-y)),var(--depth)) rotateX(var(--rx)) rotateY(var(--ry)) rotateZ(var(--rz))}
.vr-tilt{transform-style:preserve-3d;transition:transform .55s cubic-bezier(.16,1,.3,1),box-shadow .45s ease;will-change:transform}

.vr-progress{position:fixed;z-index:190;inset:0 0 auto;height:2px;background:rgba(255,255,255,.35)}
.vr-progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--vr-blush),#fff2c4,var(--vr-gold));box-shadow:0 0 12px rgba(190,144,71,.5)}
.vr-dust{position:fixed;z-index:26;inset:0;width:100%;height:100%;pointer-events:none}
.vr-petals{position:fixed;z-index:28;inset:0;overflow:hidden;pointer-events:none}
.vr-petal{position:absolute;top:-60px;width:26px;height:35px;opacity:0;background:url("assets/rose-petal.svg") center/contain no-repeat;filter:drop-shadow(0 4px 4px rgba(124,75,75,.08));animation:vr-petal-drift linear forwards;will-change:transform,opacity}
@keyframes vr-petal-drift{0%{opacity:0;transform:translate3d(0,-5vh,0) rotate(0) rotateY(0)}14%{opacity:.65}82%{opacity:.42}100%{opacity:0;transform:translate3d(var(--vr-drift),108vh,0) rotate(var(--vr-spin)) rotateY(260deg)}}

.vr-opening{position:fixed;z-index:500;inset:0;display:grid;min-height:100svh;place-items:center;overflow:hidden;color:var(--vr-ink);background:radial-gradient(circle at 50% 38%,#fffef9 0,#f5e8da 44%,#d4aaa5 125%);transition:opacity 1s ease,visibility 1s ease}
.vr-opening.vr-leaving{opacity:0;visibility:hidden;pointer-events:none}
.vr-opening__wash{position:absolute;inset:-20%;background:conic-gradient(from 120deg at 50% 50%,transparent,rgba(255,255,255,.72),transparent 35%,rgba(237,211,164,.26),transparent 70%);filter:blur(22px);animation:vr-opening-light 12s linear infinite}
.vr-opening__ribbon{position:absolute;inset:0;background:url("assets/velvet-sweep.svg") center/cover no-repeat;opacity:.54;animation:vr-ribbon-breathe 8s ease-in-out infinite alternate}
.vr-opening__rose{position:absolute;z-index:2;width:min(49vw,610px);filter:drop-shadow(0 35px 42px rgba(109,65,65,.22));pointer-events:none;will-change:transform,opacity}
.vr-opening__rose--top{top:-19%;right:-10%;animation:vr-bloom-top 1.8s cubic-bezier(.16,1,.3,1) .1s both,vr-rose-sway 8s ease-in-out 2s infinite alternate}
.vr-opening__rose--bottom{bottom:-24%;left:-11%;animation:vr-bloom-bottom 1.8s cubic-bezier(.16,1,.3,1) .2s both,vr-rose-sway 9s ease-in-out 2.1s infinite alternate-reverse}
.vr-opening__halo{position:absolute;z-index:1;width:min(82vw,820px);aspect-ratio:1;background:url("assets/noir-halo.svg") center/contain no-repeat;opacity:.18;animation:vr-halo-turn 36s linear infinite}
.vr-opening__panel{position:relative;z-index:6;width:min(630px,calc(100% - 42px));padding:66px 54px 57px;text-align:center;border:1px solid rgba(171,130,65,.28);border-radius:320px 320px 24px 24px;background:rgba(255,252,246,.69);box-shadow:0 48px 140px rgba(106,69,53,.2),inset 0 0 0 10px rgba(255,255,255,.2),inset 0 0 80px rgba(234,201,151,.12);backdrop-filter:blur(19px);animation:vr-opening-panel 1.2s cubic-bezier(.16,1,.3,1) .2s both}
.vr-opening__panel:before{position:absolute;inset:14px;content:"";pointer-events:none;border:1px solid rgba(178,135,65,.16);border-radius:305px 305px 16px 16px}
.vr-opening__panel:after{position:absolute;z-index:-1;inset:-68px;content:"";pointer-events:none;background:url("assets/velvet-frame.svg") center/contain no-repeat;opacity:.13}
.vr-opening__monogram{position:relative;display:flex;width:86px;height:86px;align-items:center;justify-content:center;gap:5px;margin:27px auto 23px;border:1px solid var(--vr-line);border-radius:50%;color:var(--vr-blush-deep);background:rgba(255,255,255,.48);box-shadow:0 12px 38px rgba(112,74,55,.08);font:400 25px var(--vr-serif)}
.vr-opening__monogram:after{position:absolute;inset:7px;content:"";border:1px dotted rgba(183,139,67,.36);border-radius:50%}
.vr-opening__monogram i{color:var(--vr-gold);font:400 17px var(--vr-script)}
.vr-opening__panel h1{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:17px;margin:0;font:400 clamp(48px,7vw,76px)/.87 var(--vr-serif);letter-spacing:-.045em}
.vr-opening__panel h1 span:first-child{text-align:right}.vr-opening__panel h1 span:last-child{text-align:left}
.vr-opening__panel h1 span,.vr-names span,.vr-closing__names span{background:linear-gradient(104deg,#5d443a 10%,#bd847c 33%,#6d4b42 51%,#d8b06e 70%,#5b4139 92%);background-size:240% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:vr-name-shimmer 10s linear infinite}
.vr-opening__panel h1 b{color:var(--vr-gold);font:400 .68em var(--vr-script)}
.vr-opening__panel>time{display:block;margin-top:20px;color:var(--vr-muted);font-size:8px;letter-spacing:.19em;text-transform:uppercase}
.vr-opening__guest{position:relative;margin:25px auto 19px;padding:13px;border-block:1px solid var(--vr-line)}
.vr-opening__guest small{display:block;color:var(--vr-muted);font-size:7px;letter-spacing:.16em;text-transform:uppercase}.vr-opening__guest strong{font:400 19px var(--vr-serif)}
.vr-opening__note{position:absolute;z-index:8;right:20px;bottom:18px;left:20px;margin:0;color:rgba(74,54,47,.43);font-size:7px;letter-spacing:.2em;text-align:center;text-transform:uppercase}
@keyframes vr-opening-light{to{transform:rotate(360deg)}}
@keyframes vr-ribbon-breathe{to{opacity:.75;transform:scale(1.05) translateY(10px)}}
@keyframes vr-bloom-top{from{opacity:0;transform:translate3d(100px,-80px,0) rotate(25deg) scale(.42)}to{opacity:1;transform:none}}
@keyframes vr-bloom-bottom{from{opacity:0;transform:translate3d(-100px,80px,0) rotate(-25deg) scale(.42)}to{opacity:1;transform:none}}
@keyframes vr-rose-sway{to{transform:translate3d(0,14px,0) rotate(2deg)}}
@keyframes vr-halo-turn{to{transform:rotate(360deg)}}
@keyframes vr-opening-panel{from{opacity:0;transform:translateY(42px) scale(.95)}to{opacity:1;transform:none}}
@keyframes vr-name-shimmer{to{background-position:240% center}}

.vr-btn{position:relative;display:inline-flex;min-height:51px;align-items:center;justify-content:center;gap:17px;padding:0 27px;overflow:hidden;border:0;border-radius:999px;cursor:pointer;font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:box-shadow .3s ease,background .3s ease,transform .3s ease;touch-action:manipulation}
.vr-btn:before{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.33) 49%,transparent 80%);transform:translateX(-145%);transition:transform .75s ease}.vr-btn:hover:before{transform:translateX(145%)}
.vr-btn:hover{box-shadow:0 17px 40px rgba(112,76,43,.18)}.vr-btn:active{transform:scale(.97)}
.vr-btn--gold{color:#fffaf0;background:linear-gradient(135deg,#d1a766,#9e7135);box-shadow:0 14px 38px rgba(146,101,45,.23)}
.vr-btn--line{border:1px solid var(--vr-line);color:#755b4f;background:rgba(255,255,255,.31)}.vr-btn--line:hover{background:rgba(255,255,255,.68)}
.vr-btn:focus-visible,.vr-copy:focus-visible,.vr-music:focus-visible,.vr-dock a:focus-visible,.vr-gallery__item:focus-visible{outline:2px solid var(--vr-gold);outline-offset:4px}

.vr-hero{position:relative;display:grid;min-height:100svh;align-items:center;overflow:hidden;background:radial-gradient(circle at 78% 33%,rgba(255,255,255,.96),transparent 31%),linear-gradient(132deg,#fffdf7 0,#f3e5d6 51%,#d7b0aa 125%)}
.vr-hero:after{position:absolute;inset:0;content:"";pointer-events:none;opacity:.24;background:url("assets/velvet-texture.svg") center/560px;mix-blend-mode:multiply;mask-image:linear-gradient(90deg,transparent,#000 34%,#000 68%,transparent)}
.vr-hero__beam{position:absolute;top:-28%;left:8%;width:38%;height:160%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.86),rgba(255,231,174,.16),transparent);filter:blur(18px);transform:rotate(18deg);animation:vr-hero-beam 10s ease-in-out infinite alternate}
.vr-hero__ribbon{position:absolute;z-index:1;right:-10%;bottom:-4%;left:-10%;height:42%;opacity:.48;background:url("assets/velvet-sweep.svg") center/cover no-repeat;animation:vr-ribbon-wave 10s ease-in-out infinite alternate}
.vr-corner{position:absolute;z-index:2;width:min(38vw,510px);filter:drop-shadow(0 28px 35px rgba(101,66,61,.14));pointer-events:none;opacity:.78}
.vr-corner--top{top:-12%;right:-8%}.vr-corner--bottom{--rz:180deg;bottom:-17%;left:-10%}
.vr-hero__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:80px;align-items:center;padding:115px 0 78px}
.vr-hero__copy{position:relative;z-index:6}.vr-names{display:flex;width:min(100%,620px);flex-direction:column;align-items:flex-start;margin:31px 0 28px;font:400 clamp(90px,10vw,140px)/.66 var(--vr-serif);letter-spacing:-.062em}
.vr-names span{display:block;max-width:100%;overflow-wrap:anywhere}.vr-names span:last-child{align-self:flex-end;text-align:right}.vr-names b{align-self:center;margin:.1em 0 .13em;color:var(--vr-gold);font:400 .42em/.55 var(--vr-script)}
.vr-hero__copy>p{max-width:510px;margin:0 0 29px;color:var(--vr-muted);font:italic 400 17px/1.78 var(--vr-serif)}
.vr-date{display:flex;align-items:center;gap:15px;margin-bottom:31px;color:#795e50;font-size:8px;letter-spacing:.2em;text-transform:uppercase}.vr-date i{width:37px;height:1px;background:var(--vr-line)}
.vr-hero__stage{--vr-stage-scale:1;position:relative;display:grid;min-height:680px;place-items:center;perspective:1350px;animation:vr-stage-float 7s ease-in-out infinite alternate}
.vr-floral-halo{position:absolute;width:610px;height:610px}.vr-floral-halo:before{position:absolute;inset:0;content:"";background:url("assets/noir-halo.svg") center/contain no-repeat;filter:drop-shadow(0 25px 40px rgba(127,84,64,.13));animation:vr-halo-turn 42s linear infinite}
.vr-cover-card{position:relative;z-index:4;width:315px;padding:9px;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:158px 158px 22px 22px;background:linear-gradient(145deg,#f1d8cb,#aa7774);box-shadow:-42px 60px 120px rgba(95,59,54,.24),22px -14px 70px rgba(255,255,255,.74),inset 0 0 0 1px rgba(176,127,80,.22)}
.vr-cover-card>img,.vr-cover-card__fallback{width:100%;height:565px;object-fit:cover;border-radius:149px 149px 15px 15px}
.vr-cover-card>img{filter:saturate(.8) contrast(1.02)}
.vr-cover-card__fallback{display:flex;align-items:center;justify-content:center;gap:10px;color:#704d48;background:linear-gradient(145deg,#fff8ed,#d9aaa7);font:400 72px var(--vr-serif)}.vr-cover-card__fallback i{color:var(--vr-gold);font:400 37px var(--vr-script)}
.vr-cover-card__veil{position:absolute;inset:9px;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 44%,rgba(58,38,33,.72));border-radius:149px 149px 15px 15px;pointer-events:none}
.vr-cover-card__caption{position:absolute;z-index:3;right:29px;bottom:33px;left:29px;color:#fffaf0;text-align:center;transform:translateZ(36px)}
.vr-cover-card__caption small{font-size:7px;letter-spacing:.18em;text-transform:uppercase}.vr-cover-card__caption strong{display:block;margin:12px 0 8px;font:400 30px/1 var(--vr-serif)}.vr-cover-card__caption strong i{color:#edd397;font:400 22px var(--vr-script)}.vr-cover-card__caption time{font-size:7px;letter-spacing:.17em;text-transform:uppercase}
.vr-pearl{position:absolute;z-index:5;border:1px solid rgba(255,255,255,.84);border-radius:50%;background:radial-gradient(circle at 28% 24%,#fff 0,rgba(255,250,232,.88) 20%,rgba(219,181,128,.3) 56%,rgba(138,93,68,.14) 100%);box-shadow:inset -15px -17px 30px rgba(111,75,52,.1),0 22px 50px rgba(99,62,52,.13);backdrop-filter:blur(7px)}.vr-pearl:after{position:absolute;top:14%;left:18%;width:24%;height:17%;content:"";border-radius:50%;background:rgba(255,255,255,.8);filter:blur(4px)}
.vr-pearl--one{top:12%;left:5%;width:95px;height:95px}.vr-pearl--two{right:7%;bottom:13%;width:67px;height:67px}
.vr-save-date{position:absolute;z-index:6;right:-1%;bottom:22%;padding:17px 20px;border:1px solid rgba(255,255,255,.66);border-radius:4px 26px 4px 26px;background:rgba(255,250,243,.63);box-shadow:0 20px 56px rgba(106,69,54,.15);backdrop-filter:blur(15px)}.vr-save-date small{display:block;color:var(--vr-muted);font-size:6px;letter-spacing:.16em;text-transform:uppercase}.vr-save-date strong{font:400 17px var(--vr-serif)}
.vr-scroll{position:absolute;z-index:7;bottom:24px;left:50%;display:flex;align-items:center;gap:12px;color:rgba(75,55,47,.47);font-size:7px;letter-spacing:.18em;text-transform:uppercase;transform:translateX(-50%)}.vr-scroll i{display:block;width:1px;height:33px;overflow:hidden;background:var(--vr-line)}.vr-scroll i:after{display:block;width:100%;height:50%;content:"";background:var(--vr-gold);animation:vr-scroll-line 2s ease infinite}
@keyframes vr-hero-beam{to{left:47%;transform:rotate(10deg);opacity:.65}}
@keyframes vr-ribbon-wave{to{transform:translate3d(4%,12px,0) scale(1.04);opacity:.66}}
@keyframes vr-stage-float{from{transform:scale(var(--vr-stage-scale)) translateY(0)}to{transform:scale(var(--vr-stage-scale)) translateY(-9px)}}
@keyframes vr-scroll-line{from{transform:translateY(-100%)}to{transform:translateY(200%)}}

.vr-countdown{overflow:hidden;background:#fffdfa url("assets/velvet-texture.svg") center/560px}
.vr-countdown:before{position:absolute;top:-210px;right:-160px;width:510px;aspect-ratio:1;content:"";background:url("assets/velvet-rose.svg") center/contain no-repeat;opacity:.1;transform:rotate(20deg)}
.vr-countdown__panel{display:grid;grid-template-columns:repeat(4,1fr);max-width:940px;margin:auto;overflow:hidden;border:1px solid var(--vr-line);border-radius:110px 8px 110px 8px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(238,216,184,.58));box-shadow:0 35px 100px rgba(107,72,51,.12),inset 0 0 0 9px rgba(255,255,255,.17);backdrop-filter:blur(15px)}
.vr-time{position:relative;padding:40px 14px;text-align:center;border-right:1px solid var(--vr-line)}.vr-time:last-child{border-right:0}.vr-time:before{position:absolute;top:15px;left:50%;width:5px;height:5px;content:"";border-radius:50%;background:var(--vr-gold);box-shadow:0 0 17px 5px rgba(183,139,67,.18);transform:translateX(-50%)}
.vr-time strong{display:block;color:#6e5043;font:400 clamp(52px,6vw,76px)/1 var(--vr-serif);font-variant-numeric:tabular-nums;text-shadow:0 10px 28px rgba(142,94,73,.09)}.vr-time span{color:var(--vr-muted);font-size:8px;letter-spacing:.2em;text-transform:uppercase}.vr-countdown__status{min-height:18px;margin:21px 0 0;color:var(--vr-muted);font-size:10px;text-align:center}

.vr-couple{overflow:hidden;background:radial-gradient(circle at 50% 47%,rgba(255,255,255,.92),transparent 37%),linear-gradient(180deg,#f5e6db,#ead0cc)}.vr-couple:before,.vr-couple:after{position:absolute;width:470px;aspect-ratio:1;content:"";background:url("assets/thorn-stem.svg") center/contain no-repeat;opacity:.24}.vr-couple:before{top:-130px;right:-120px}.vr-couple:after{bottom:-150px;left:-120px;transform:rotate(180deg)}
.vr-couple__glow{position:absolute;top:50%;left:50%;width:850px;height:850px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.87),rgba(255,244,218,.22) 48%,transparent 70%);transform:translate(-50%,-50%)}
.vr-couple__grid{display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:center}.vr-person{text-align:center}
.vr-person__portrait{position:relative;width:min(355px,100%);aspect-ratio:.8;margin:0 auto 38px;isolation:isolate}
.vr-person__portrait>img:not(.vr-person__flower),.vr-person__initial{position:absolute;z-index:1;inset:30px 34px 27px;width:calc(100% - 68px);height:calc(100% - 57px);object-fit:cover;border-radius:160px 160px 18px 18px;box-shadow:0 28px 72px rgba(99,62,57,.14)}
.vr-person__portrait>img:not(.vr-person__flower){filter:saturate(.82) contrast(1.02)}
.vr-person__initial{display:grid;place-items:center;color:#9e6967;background:linear-gradient(145deg,#fff8ec,#dbaaa7);font:400 135px var(--vr-serif)}
.vr-person__frame{position:absolute;z-index:3;inset:0;pointer-events:none;background:url("assets/velvet-frame.svg") center/100% 100% no-repeat;filter:drop-shadow(0 24px 34px rgba(100,66,48,.13));transform:translateZ(34px)}
.vr-person__portrait:after{position:absolute;z-index:2;inset:30px 34px 27px;content:"";pointer-events:none;border-radius:160px 160px 18px 18px;background:linear-gradient(180deg,transparent 64%,rgba(76,47,42,.24))}
.vr-person__flower{position:absolute;z-index:4;right:-6%;bottom:-4%;width:42%;filter:drop-shadow(0 17px 20px rgba(112,70,67,.15));transform:translateZ(47px)}
.vr-person>small{color:var(--vr-gold);font-size:8px;letter-spacing:.22em;text-transform:uppercase}.vr-person h3{max-width:430px;margin:12px auto 13px;font:400 clamp(36px,4vw,50px)/1.04 var(--vr-serif)}.vr-person p{max-width:400px;margin:auto;color:var(--vr-muted);font-size:11px;line-height:1.82}
.vr-couple__and{display:flex;align-items:center;gap:13px}.vr-couple__and i{flex:1;height:1px;background:var(--vr-line)}.vr-couple__and span{color:var(--vr-gold);font:400 45px var(--vr-script)}

.vr-events{overflow:hidden;background:linear-gradient(135deg,#fffaf3,#ead9c3)}.vr-events:after{position:absolute;right:-190px;bottom:-230px;width:570px;aspect-ratio:1;content:"";background:url("assets/velvet-rose.svg") center/contain no-repeat;opacity:.1}
.vr-events__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.vr-event{position:relative;padding:56px;overflow:hidden;border:1px solid var(--vr-line);border-radius:6px 82px 6px 82px;background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(237,213,180,.58));box-shadow:var(--vr-shadow);backdrop-filter:blur(12px)}
.vr-event:before{position:absolute;inset:10px;content:"";pointer-events:none;border:1px solid rgba(183,139,67,.1);border-radius:4px 71px 4px 71px}.vr-event:after{position:absolute;right:-85px;bottom:-94px;width:230px;aspect-ratio:1;content:"";pointer-events:none;background:url("assets/velvet-rose.svg") center/contain no-repeat;opacity:.14}
.vr-event__number{position:absolute;top:26px;right:31px;color:rgba(137,92,65,.14);font:400 60px var(--vr-serif)}.vr-event__petal{display:grid;width:52px;height:52px;place-items:center;margin-bottom:20px;border:1px solid var(--vr-line);border-radius:50%;color:var(--vr-gold);background:rgba(255,255,255,.5);box-shadow:0 12px 35px rgba(113,75,50,.08)}
.vr-event>small{color:var(--vr-gold);font-size:7px;letter-spacing:.18em;text-transform:uppercase}.vr-event h3{margin:15px 0 8px;font:400 clamp(46px,5vw,64px)/.98 var(--vr-serif)}.vr-event time{color:#8f6c57;font-size:9px;letter-spacing:.16em;text-transform:uppercase}.vr-event__time{margin:25px 0;color:var(--vr-muted);font-size:11px}.vr-event h4{margin:0 0 9px;font:400 22px var(--vr-serif)}.vr-event__address{min-height:48px;margin:0 0 29px;color:var(--vr-muted);font-size:11px;line-height:1.82}

.vr-story{overflow:hidden;background:radial-gradient(circle at 18% 14%,rgba(255,255,255,.82),transparent 34%),#e4c5c0 url("assets/velvet-texture.svg") center/600px}.vr-story__flower{position:absolute;top:-150px;left:-120px;width:500px;aspect-ratio:1;background:url("assets/velvet-rose.svg") center/contain no-repeat;opacity:.14;transform:rotate(-20deg)}
.vr-story__layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:105px}.vr-story__intro{position:sticky;top:100px;height:max-content;padding-top:25px}.vr-story__intro h2{font-size:clamp(55px,7vw,89px)}.vr-story__intro>p{margin-left:0}.vr-story__signature{margin-top:40px;color:#7d5d50;font:400 33px var(--vr-script)}.vr-story__signature b{color:var(--vr-gold);font-weight:400}
.vr-timeline{position:relative}.vr-timeline:before{position:absolute;top:0;bottom:0;left:34px;width:1px;content:"";background:linear-gradient(var(--vr-gold),rgba(183,139,67,.06))}.vr-timeline__item{position:relative;display:grid;grid-template-columns:69px 1fr;gap:26px;padding-bottom:31px;transition-delay:calc(var(--vr-order,0) * 55ms)}
.vr-timeline__marker{position:relative;z-index:2;display:grid;width:69px;height:69px;place-items:center;border:1px solid var(--vr-line);border-radius:50%;background:rgba(255,250,241,.82);box-shadow:0 10px 30px rgba(103,66,52,.08)}.vr-timeline__marker:after{position:absolute;inset:7px;content:"";border:1px dotted rgba(183,139,67,.3);border-radius:50%}.vr-timeline__marker span{font:400 16px var(--vr-serif)}
.vr-timeline__content{padding:32px 36px;border:1px solid rgba(151,106,71,.15);border-radius:5px 38px 5px 38px;background:rgba(255,251,244,.7);box-shadow:0 20px 55px rgba(99,64,51,.08);backdrop-filter:blur(10px);transition:transform .35s ease,background .35s ease}.vr-timeline__content:hover{transform:translateX(6px);background:rgba(255,253,248,.9)}.vr-timeline__content small{color:var(--vr-gold);font-size:8px;letter-spacing:.18em;text-transform:uppercase}.vr-timeline__content h3{margin:8px 0 11px;font:400 30px var(--vr-serif)}.vr-timeline__content p{margin:0;color:var(--vr-muted);font-size:11px;line-height:1.86}

.vr-gallery{background:#fffdfa url("assets/velvet-texture.svg") center/560px}.vr-gallery__grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:225px;gap:15px;perspective:1400px}.vr-gallery__item{position:relative;grid-column:span 4;margin:0;padding:0;overflow:hidden;border:7px solid rgba(255,255,255,.86);border-radius:5px 38px 5px 38px;cursor:zoom-in;background:#ead4c8;box-shadow:0 28px 78px rgba(102,64,53,.15);transition-delay:calc(var(--vr-order,0) * 65ms)}
.vr-gallery__item:nth-child(1){grid-column:span 7;grid-row:span 2}.vr-gallery__item:nth-child(2),.vr-gallery__item:nth-child(3){grid-column:span 5}.vr-gallery__item:nth-child(4){grid-column:span 5}.vr-gallery__item:nth-child(5){grid-column:span 7}.vr-gallery__item:nth-child(6),.vr-gallery__item:nth-child(7){grid-column:span 6}.vr-gallery__item:nth-child(even){border-radius:42px 5px 42px 5px}
.vr-gallery__item img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(1.04);transition:transform .85s cubic-bezier(.16,1,.3,1),filter .5s ease}.vr-gallery__item:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,transparent 50%,rgba(68,42,37,.54));opacity:.6}.vr-gallery__item:hover img{transform:scale(1.065);filter:saturate(1) brightness(1.04)}.vr-gallery__item>span{position:absolute;z-index:3;right:17px;bottom:16px;color:#fff;font-size:8px;letter-spacing:.15em;text-transform:uppercase}.vr-gallery__item>span i{display:inline-grid;width:37px;height:37px;place-items:center;margin-left:8px;border:1px solid rgba(255,255,255,.62);border-radius:50%;font-style:normal;backdrop-filter:blur(8px)}
.vr-gallery__blossom{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:45px;color:var(--vr-muted);font:400 20px var(--vr-script)}.vr-gallery__blossom i{width:75px;height:1px;background:linear-gradient(90deg,transparent,var(--vr-gold))}.vr-gallery__blossom i:last-child{background:linear-gradient(90deg,var(--vr-gold),transparent)}
.vr-lightbox{position:fixed;z-index:700;inset:0;display:grid;place-items:center;padding:30px;background:rgba(49,32,29,.9);backdrop-filter:blur(16px)}.vr-lightbox[hidden]{display:none}.vr-lightbox img{max-width:min(1120px,90vw);max-height:86vh;border:8px solid rgba(255,255,255,.9);border-radius:5px 45px 5px 45px;box-shadow:0 35px 110px rgba(0,0,0,.4)}.vr-lightbox button{position:absolute;top:20px;right:25px;width:48px;height:48px;border:1px solid rgba(255,255,255,.38);border-radius:50%;color:#fff;background:transparent;cursor:pointer;font-size:29px;font-weight:300}

.vr-gift{overflow:hidden;background:linear-gradient(135deg,#e8c9c4,#f7ecdc)}.vr-gift:after{position:absolute;right:-180px;bottom:-210px;width:540px;aspect-ratio:1;content:"";background:url("assets/velvet-rose.svg") center/contain no-repeat;opacity:.16}.vr-gift__layout{display:grid;grid-template-columns:.77fr 1.23fr;gap:85px;align-items:center}.vr-gift__intro h2{font-size:clamp(56px,7vw,84px)}.vr-gift__intro>p{margin-left:0}
.vr-gift__address{display:flex;gap:15px;margin-top:31px;padding-top:23px;border-top:1px solid var(--vr-line)}.vr-gift__address>span{display:grid;flex:0 0 40px;height:40px;place-items:center;border:1px solid var(--vr-line);border-radius:50%;color:var(--vr-gold);background:rgba(255,255,255,.3)}.vr-gift__address small{color:var(--vr-muted);font-size:7px;letter-spacing:.14em;text-transform:uppercase}.vr-gift__address p{margin:5px 0 0;font-size:10px;line-height:1.72}
.vr-gift__cards{display:grid;gap:19px}.vr-bank{position:relative;min-height:225px;padding:36px;overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:5px 35px 5px 35px;color:#59433a;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(230,199,170,.64));box-shadow:0 30px 82px rgba(101,64,52,.15);backdrop-filter:blur(18px);transition-delay:calc(var(--vr-order,0) * 85ms)}.vr-bank:nth-child(2){margin-left:58px}.vr-bank__emboss{position:absolute;top:-76px;right:-40px;width:245px;aspect-ratio:1;background:url("assets/velvet-rose.svg") center/contain no-repeat;filter:grayscale(1) sepia(.3);opacity:.11;transform:translateZ(18px)}
.vr-bank:after{position:absolute;inset:-75% auto -75% -35%;width:21%;content:"";pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);transform:rotate(21deg);animation:vr-card-shine 7.5s ease-in-out infinite}.vr-bank__head{position:relative;z-index:2;display:flex;justify-content:space-between;margin-bottom:40px;color:var(--vr-gold);font:400 21px var(--vr-serif)}.vr-bank>small{display:block;color:var(--vr-muted);font-size:7px;letter-spacing:.15em;text-transform:uppercase}.vr-bank>strong{display:block;margin-top:7px;font:400 clamp(25px,3vw,35px) var(--vr-serif);letter-spacing:.08em}.vr-bank>p{margin:8px 0 0;color:var(--vr-muted);font-size:9px;text-transform:uppercase}.vr-copy{position:absolute;z-index:3;right:29px;bottom:29px;padding:10px 15px;border:1px solid var(--vr-line);border-radius:30px;color:#655046;background:rgba(255,255,255,.48);cursor:pointer;font-size:8px;letter-spacing:.1em;text-transform:uppercase}.vr-copy b{display:none;color:#7d925f}.vr-copy.vr-copied span{display:none}.vr-copy.vr-copied b{display:inline}
@keyframes vr-card-shine{0%,62%{transform:translateX(-140%) rotate(21deg)}90%,100%{transform:translateX(900%) rotate(21deg)}}

.vr-response{overflow:hidden;background:#fffdf9 url("assets/velvet-texture.svg") center/560px}.vr-response__bloom{position:absolute;top:-210px;right:-150px;width:560px;aspect-ratio:1;background:url("assets/velvet-rose.svg") center/contain no-repeat;opacity:.1}.vr-response__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:29px;align-items:start}.vr-response__grid--single{grid-template-columns:minmax(0,760px);justify-content:center}
.vr-form-panel,.vr-wishes{padding:53px;border:1px solid var(--vr-line);border-radius:6px 64px 6px 64px;background:rgba(255,252,247,.76);box-shadow:0 30px 88px rgba(100,65,49,.1);backdrop-filter:blur(13px)}.vr-form-panel h2,.vr-wishes h2{font-size:clamp(44px,5vw,63px)}.vr-form-panel>p,.vr-wishes>p{margin:0 0 32px}
.vr-field{display:block;margin-bottom:18px}.vr-field>span,.vr-attendance legend{display:block;margin-bottom:8px;color:var(--vr-muted);font-size:8px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}.vr-field small{opacity:.55}.vr-field input,.vr-field select,.vr-field textarea{width:100%;min-height:51px;padding:13px 16px;outline:0;border:1px solid rgba(151,106,71,.18);border-radius:11px;color:var(--vr-ink);background:rgba(255,255,255,.66);transition:border-color .2s ease,box-shadow .2s ease}.vr-field textarea{resize:vertical}.vr-field input:focus,.vr-field select:focus,.vr-field textarea:focus{border-color:var(--vr-gold);box-shadow:0 0 0 3px rgba(183,139,67,.08)}.vr-field input::placeholder,.vr-field textarea::placeholder{color:rgba(83,65,57,.36)}
.vr-field-row{display:grid;grid-template-columns:1fr .64fr;gap:14px}.vr-attendance{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 20px;padding:0;border:0}.vr-attendance legend{grid-column:1/-1;padding:0}.vr-attendance input{position:absolute;opacity:0;pointer-events:none}.vr-attendance label span{display:grid;min-height:45px;place-items:center;padding:7px;border:1px solid var(--vr-line);border-radius:10px;color:var(--vr-muted);cursor:pointer;font-size:8px;text-align:center;transition:.22s ease}.vr-attendance input:checked+span{border-color:var(--vr-gold);color:#fff;background:linear-gradient(135deg,#ca9f5d,#98703b)}
.vr-submit{width:100%}.vr-submit>i{display:none;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:vr-spin .8s linear infinite}.vr-submit.vr-loading>i{display:block}.vr-submit.vr-loading{pointer-events:none;opacity:.64}.vr-form-status{min-height:18px;margin:13px 0 0;font-size:10px;text-align:center}.vr-form-status.vr-success{color:#718b5f}.vr-form-status.vr-error{color:#b45e57}@keyframes vr-spin{to{transform:rotate(360deg)}}
.vr-wishes__list{display:grid;max-height:390px;gap:11px;margin-top:24px;padding-right:4px;overflow-y:auto;scrollbar-color:var(--vr-gold) transparent}.vr-wishes__list article{display:grid;grid-template-columns:40px 1fr;gap:13px;padding:15px;border:1px solid rgba(151,106,71,.11);border-radius:4px 19px 4px 19px;background:rgba(255,255,255,.54);animation:vr-wish-in .5s ease both}.vr-wish__avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;color:#976764;background:rgba(222,177,171,.22);font:400 19px var(--vr-serif)}.vr-wishes__list strong{font:400 16px var(--vr-serif)}.vr-wishes__list article p{margin:4px 0 0;color:var(--vr-muted);font-size:10px;line-height:1.72}.vr-wishes__empty{color:var(--vr-muted);font-size:10px;font-style:italic}@keyframes vr-wish-in{from{opacity:0;transform:translateY(13px)}}

.vr-closing{position:relative;display:grid;min-height:95svh;place-items:center;overflow:hidden;text-align:center;background:linear-gradient(145deg,#dec0bb,#fff7e8)}.vr-closing__image,.vr-closing__veil{position:absolute;inset:0;width:100%;height:100%}.vr-closing__image{object-fit:cover;opacity:.28;filter:saturate(.62) brightness(1.08)}.vr-closing__veil{background:radial-gradient(circle at center,rgba(255,252,244,.88),rgba(239,220,198,.8) 48%,rgba(105,70,59,.32) 120%)}.vr-closing__halo{position:absolute;width:min(78vw,800px);aspect-ratio:1;background:url("assets/noir-halo.svg") center/contain no-repeat;opacity:.23;filter:drop-shadow(0 25px 35px rgba(103,65,54,.12))}.vr-closing__halo:after{position:absolute;inset:0;content:"";border-radius:50%;box-shadow:0 0 0 40px rgba(255,255,255,.06),0 0 0 80px rgba(255,255,255,.035);animation:vr-closing-pulse 6s ease-in-out infinite alternate}
.vr-closing__content{position:relative;z-index:3;width:min(760px,calc(100% - 42px))}.vr-closing h2{margin:22px 0;font:400 clamp(72px,10vw,125px)/.78 var(--vr-serif);letter-spacing:-.05em}.vr-closing p{max-width:570px;margin:32px auto;color:var(--vr-muted);font-size:14px;line-height:1.88}.vr-closing__names{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin:40px 0;font:400 clamp(42px,6vw,69px) var(--vr-serif)}.vr-closing__names span:first-child{text-align:right}.vr-closing__names span:last-child{text-align:left}.vr-closing__names b{color:var(--vr-gold);font:400 .75em var(--vr-script)}.vr-closing__content>small{color:rgba(71,53,47,.43);font-size:7px;letter-spacing:.19em;text-transform:uppercase}@keyframes vr-closing-pulse{to{transform:scale(1.04);opacity:.62}}

.vr-music{position:fixed;z-index:180;top:20px;right:20px;display:grid;width:48px;height:48px;place-items:center;border:1px solid rgba(183,139,67,.28);border-radius:50%;color:var(--vr-gold);background:rgba(255,252,247,.76);box-shadow:0 12px 34px rgba(96,63,48,.13);cursor:pointer;backdrop-filter:blur(14px)}.vr-music>span{display:flex;height:18px;align-items:end;gap:2px}.vr-music>span i{width:2px;height:45%;background:currentColor;animation:vr-bars .72s ease-in-out infinite alternate}.vr-music>span i:nth-child(2){animation-delay:-.2s}.vr-music>span i:nth-child(3){animation-delay:-.44s}.vr-music>span i:nth-child(4){animation-delay:-.1s}.vr-music svg{display:none;width:21px;fill:currentColor}.vr-music.vr-music--paused>span{display:none}.vr-music.vr-music--paused svg{display:block}@keyframes vr-bars{to{height:100%}}
.vr-dock{position:fixed;z-index:170;bottom:max(18px,env(safe-area-inset-bottom));left:50%;display:flex;gap:3px;padding:6px;border:1px solid rgba(183,139,67,.2);border-radius:999px;background:rgba(255,252,247,.8);box-shadow:0 20px 52px rgba(95,62,49,.15);backdrop-filter:blur(18px);transform:translateX(-50%) translateY(120px);transition:transform .65s cubic-bezier(.16,1,.3,1)}.vr-dock.vr-visible{transform:translateX(-50%) translateY(0)}.vr-dock a{display:grid;width:57px;height:46px;place-items:center;border-radius:30px;color:rgba(82,61,52,.48);transition:color .2s ease,background .2s ease}.vr-dock a span{font-size:15px;line-height:1}.vr-dock a small{font-size:6px;letter-spacing:.08em;text-transform:uppercase}.vr-dock a.vr-active{color:#fff;background:linear-gradient(135deg,#cb9d5a,#9f7137)}
.vr-reveal{--vr-reveal-y:34px;opacity:0;transition:opacity .95s cubic-bezier(.16,1,.3,1),transform .95s cubic-bezier(.16,1,.3,1),box-shadow .45s ease}.vr-reveal--delay{transition-delay:.14s}.vr-reveal.vr-visible{--vr-reveal-y:0px;opacity:1}

@media(max-width:1200px){.vr-shell{width:min(1120px,calc(100% - 54px))}.vr-hero__grid{grid-template-columns:minmax(0,.92fr) minmax(430px,1.08fr);gap:48px}.vr-corner{width:430px}.vr-gift__layout{gap:58px}.vr-story__layout{gap:70px}}
@media(max-width:960px){.vr-section{padding:105px 0}.vr-shell{width:min(780px,calc(100% - 42px))}.vr-hero{min-height:auto}.vr-hero__grid,.vr-story__layout,.vr-gift__layout,.vr-response__grid{grid-template-columns:1fr}.vr-hero__grid{gap:24px;padding:120px 0 75px}.vr-hero__copy{text-align:center}.vr-names{margin-inline:auto}.vr-hero__copy>p{margin-inline:auto}.vr-date{justify-content:center}.vr-hero__stage{min-height:650px}.vr-couple__grid{grid-template-columns:1fr;gap:31px}.vr-couple__and{width:160px;margin:auto}.vr-person__portrait{width:350px}.vr-story__layout{gap:58px}.vr-story__intro{position:static;text-align:center}.vr-story__intro>p{margin-inline:auto}.vr-gift__layout{gap:47px}.vr-gift__intro{text-align:center}.vr-gift__intro>p{margin-inline:auto}.vr-gift__address{max-width:570px;margin-inline:auto;text-align:left}.vr-response__grid{max-width:720px}}
@media(max-width:768px){.vr-section{padding:92px 0}.vr-heading{margin-bottom:50px}.vr-opening__rose{width:440px}.vr-opening__panel{padding:57px 33px 50px}.vr-hero__grid{padding-top:105px}.vr-names{font-size:clamp(75px,18vw,105px)}.vr-events__grid{grid-template-columns:1fr}.vr-event{padding:43px 36px}.vr-gallery__grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}.vr-gallery__item,.vr-gallery__item:nth-child(n){grid-column:span 1;grid-row:span 1}.vr-gallery__item:nth-child(1){grid-column:span 2;grid-row:span 2}.vr-gallery__item:nth-child(4){grid-column:span 2}.vr-response__grid{grid-template-columns:1fr}.vr-bank:nth-child(2){margin-left:0}}
@media(max-width:640px){.vr-shell{width:min(100% - 28px,560px)}.vr-section{padding:82px 0}.vr-heading h2,.vr-gift__intro h2,.vr-story__intro h2{font-size:47px}.vr-opening__panel{width:calc(100% - 30px);padding:49px 18px 44px;border-radius:210px 210px 20px 20px}.vr-opening__panel:before{border-radius:197px 197px 13px 13px}.vr-opening__panel h1{gap:8px;font-size:clamp(38px,12vw,55px)}.vr-opening__monogram{width:71px;height:71px;margin-block:21px 17px}.vr-opening__rose{width:330px}.vr-opening__rose--top{top:-10%;right:-28%}.vr-opening__rose--bottom{bottom:-10%;left:-30%}.vr-opening__note{display:none}.vr-corner{width:280px;opacity:.55}.vr-corner--top{right:-32%}.vr-corner--bottom{left:-35%}.vr-hero__copy>p{font-size:15px}.vr-hero__stage{--vr-stage-scale:.82;min-height:550px;margin:-40px -45px}.vr-floral-halo{width:540px;height:540px}.vr-scroll{display:none}.vr-countdown__panel{grid-template-columns:repeat(2,1fr);border-radius:60px 5px 60px 5px}.vr-time:nth-child(2){border-right:0}.vr-time:nth-child(-n+2){border-bottom:1px solid var(--vr-line)}.vr-time{padding:31px 9px}.vr-time strong{font-size:55px}.vr-person__portrait{width:min(320px,94%)}.vr-person h3{font-size:36px}.vr-event{padding:37px 27px;border-radius:5px 55px 5px 55px}.vr-event:before{border-radius:4px 46px 4px 46px}.vr-event h3{font-size:49px}.vr-timeline:before{left:24px}.vr-timeline__item{grid-template-columns:50px 1fr;gap:14px}.vr-timeline__marker{width:50px;height:50px}.vr-timeline__marker span{font-size:12px}.vr-timeline__content{padding:25px 21px}.vr-timeline__content h3{font-size:25px}.vr-gallery__grid{grid-auto-rows:175px;gap:9px}.vr-gallery__item{border-width:4px;border-radius:4px 25px 4px 25px}.vr-gallery__item:nth-child(even){border-radius:27px 4px 27px 4px}.vr-bank{min-height:216px;padding:29px 22px}.vr-bank>strong{font-size:24px}.vr-copy{right:21px;bottom:24px}.vr-form-panel,.vr-wishes{padding:36px 23px;border-radius:5px 43px 5px 43px}.vr-form-panel h2,.vr-wishes h2{font-size:42px}.vr-field-row{grid-template-columns:1fr;gap:0}.vr-attendance{grid-template-columns:1fr}.vr-closing h2{font-size:80px}.vr-closing__names{gap:10px;font-size:40px}.vr-dock{width:calc(100% - 28px);justify-content:center}.vr-dock a{flex:1;max-width:60px}.vr-music{top:14px;right:14px}}
@media(max-width:480px){.vr-shell{width:calc(100% - 24px)}.vr-section{padding:75px 0}.vr-eyebrow{font-size:7px;letter-spacing:.18em}.vr-opening__panel{padding-inline:14px}.vr-opening__panel h1{font-size:clamp(35px,11.5vw,49px)}.vr-opening__guest{margin-block:18px 15px}.vr-names{font-size:clamp(68px,21vw,91px)}.vr-hero__stage{--vr-stage-scale:.73;margin:-62px -67px}.vr-gallery__grid{grid-auto-rows:155px}.vr-gallery__blossom span{font-size:17px}.vr-gallery__blossom i{width:38px}.vr-closing__names{font-size:35px}}
@media(prefers-reduced-motion:reduce){.vr-html{scroll-behavior:auto}.vr-body *,.vr-body *:before,.vr-body *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.vr-dust,.vr-petals{display:none}.vr-depth,.vr-tilt,.vr-reveal{--mx:0px!important;--my:0px!important;--rx:0deg!important;--ry:0deg!important;--float-y:0px!important;--vr-reveal-y:0px!important;opacity:1!important}.vr-dock{transition:none}}

/* Velvet Red Rose Noir — couture art direction */
:root{
    --vr-ivory:#130609;
    --vr-pearl:#fff4ea;
    --vr-champagne:#d4a85f;
    --vr-blush:#8f152d;
    --vr-blush-deep:#c92d45;
    --vr-gold:#cda45d;
    --vr-gold-light:#f0d69b;
    --vr-taupe:#bfa49c;
    --vr-ink:#f7eae3;
    --vr-muted:#c8ada5;
    --vr-line:rgba(211,169,93,.27);
    --vr-shadow:0 38px 110px rgba(0,0,0,.4)
}
.vr-body{color:var(--vr-ink);background:#090204}
.vr-page{background:#0c0306}
.vr-eyebrow{color:var(--vr-gold-light);text-shadow:0 0 25px rgba(222,177,92,.16)}
.vr-heading h2,.vr-gift__intro h2,.vr-form-panel h2,.vr-wishes h2,.vr-story__intro h2{letter-spacing:-.045em;text-wrap:balance}
.vr-heading p,.vr-gift__intro>p,.vr-form-panel>p,.vr-wishes>p,.vr-story__intro>p{color:var(--vr-muted)}
.vr-progress{background:rgba(255,255,255,.04)}
.vr-progress span{background:linear-gradient(90deg,#5b0b1d,#d5384e,#f1cf8d,#701024);box-shadow:0 0 18px rgba(222,163,78,.72)}
.vr-petal{filter:drop-shadow(0 10px 8px rgba(0,0,0,.28)) blur(var(--vr-petal-blur,0))}

.vr-opening{color:var(--vr-ink);background:radial-gradient(circle at 50% 42%,#531023 0,#1a060c 38%,#070204 70%,#020102 100%)}
.vr-opening:before{position:absolute;z-index:0;inset:0;content:"";pointer-events:none;background:linear-gradient(100deg,transparent 7%,rgba(230,178,91,.03) 35%,rgba(255,220,151,.2) 49%,rgba(218,159,71,.03) 61%,transparent 92%);transform:translateX(-110%) skewX(-12deg);animation:vr-noir-opening-sweep 4.8s cubic-bezier(.22,.61,.36,1) .25s both}
.vr-opening__wash{pointer-events:none;background:conic-gradient(from 125deg at 50% 50%,transparent,rgba(111,16,37,.28),transparent 35%,rgba(220,166,79,.11),transparent 70%);filter:blur(36px);opacity:.82}
.vr-opening__ribbon{pointer-events:none;opacity:.36;mix-blend-mode:screen;filter:saturate(.6) sepia(.5)}
.vr-opening__rose{width:min(58vw,700px);filter:drop-shadow(0 48px 60px rgba(0,0,0,.68)) drop-shadow(0 0 35px rgba(128,15,40,.25))}
.vr-opening__rose--top{top:-25%;right:-12%;animation:vr-noir-bloom-top 1.9s cubic-bezier(.16,1,.3,1) .08s both}
.vr-opening__rose--bottom{bottom:-31%;left:-13%;animation:vr-noir-bloom-bottom 2.05s cubic-bezier(.16,1,.3,1) .16s both}
.vr-opening__halo{opacity:.35;filter:drop-shadow(0 0 28px rgba(211,164,86,.18))}
.vr-opening__panel{pointer-events:auto;width:min(680px,calc(100% - 42px));padding:67px 58px 58px;border-color:rgba(228,188,115,.32);border-radius:7px 130px 7px 130px;background:linear-gradient(145deg,rgba(61,10,23,.77),rgba(10,3,6,.78));box-shadow:0 55px 155px rgba(0,0,0,.68),inset 0 0 0 9px rgba(255,255,255,.018),inset 0 0 95px rgba(145,20,45,.12);backdrop-filter:blur(23px) saturate(1.12)}
.vr-opening__panel:before{border-color:rgba(218,175,97,.19);border-radius:4px 116px 4px 116px}
.vr-opening__panel:after{opacity:.32;filter:drop-shadow(0 0 20px rgba(209,159,76,.2))}
.vr-opening__monogram{color:#f4d9c9;background:radial-gradient(circle,rgba(134,20,44,.72),rgba(11,3,6,.64));box-shadow:0 0 45px rgba(157,24,49,.23);border-color:rgba(226,184,107,.4)}
.vr-opening__panel h1{font-size:clamp(48px,7vw,78px)}
.vr-opening__panel h1 span,.vr-names span,.vr-closing__names span{background-image:linear-gradient(104deg,#f9e7dc 6%,#ca344a 28%,#ffe1c7 48%,#d3a452 66%,#fff0e4 82%,#a51a32 98%);filter:drop-shadow(0 7px 25px rgba(0,0,0,.22))}
.vr-opening__panel>time,.vr-opening__guest small{color:#bda39b}
.vr-opening__guest{border-color:rgba(211,169,93,.25)}
.vr-opening__guest strong{color:#fff2e8}
.vr-opening__note{color:rgba(239,211,169,.46)}
.vr-btn{isolation:isolate}
.vr-opening .vr-btn{z-index:12}
.vr-btn--gold{color:#1a070b;background:linear-gradient(135deg,#f0d493,#b27a37 48%,#e2bd73);box-shadow:0 18px 48px rgba(167,100,31,.26)}
.vr-btn--line{border-color:rgba(217,174,97,.36);color:#f0d7c5;background:rgba(72,13,28,.24)}
.vr-btn--line:hover{background:rgba(132,22,45,.38)}
@keyframes vr-noir-opening-sweep{0%{transform:translateX(-110%) skewX(-12deg)}100%{transform:translateX(115%) skewX(-12deg)}}
@keyframes vr-noir-bloom-top{from{opacity:0;transform:translate3d(130px,-100px,0) rotate(34deg) scale(.28)}to{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}}
@keyframes vr-noir-bloom-bottom{from{opacity:0;transform:translate3d(-130px,100px,0) rotate(-34deg) scale(.28)}to{opacity:1;transform:translate3d(0,0,0) rotate(0) scale(1)}}

.vr-hero{background:radial-gradient(circle at 77% 44%,rgba(132,18,43,.28),transparent 26%),radial-gradient(circle at 10% 65%,rgba(176,91,45,.1),transparent 29%),linear-gradient(124deg,#060103 0,#17050a 40%,#3c0b18 72%,#0b0205 100%)}
.vr-hero:before{position:absolute;z-index:1;right:-7%;bottom:-28%;width:min(54vw,790px);aspect-ratio:1;content:"";pointer-events:none;background:url("assets/velvet-rose.svg") center/contain no-repeat;opacity:.32;filter:blur(.2px) drop-shadow(0 30px 80px #000);animation:vr-rose-turn 18s ease-in-out infinite alternate}
.vr-hero:after{opacity:.32;mix-blend-mode:screen;mask-image:linear-gradient(90deg,#000,transparent 30%,transparent 65%,#000)}
.vr-hero__beam{left:42%;width:23%;background:linear-gradient(90deg,transparent,rgba(255,226,171,.18),rgba(213,148,56,.04),transparent);filter:blur(26px);animation:vr-hero-beam 13s ease-in-out infinite alternate}
.vr-hero__ribbon{opacity:.26;mix-blend-mode:screen;filter:saturate(.6)}
.vr-corner{width:min(41vw,580px);opacity:.68;filter:drop-shadow(0 30px 35px rgba(0,0,0,.44))}
.vr-corner--top{right:-11%;transform-origin:top right}.vr-corner--bottom{left:-12%;transform-origin:bottom left}
.vr-hero__copy{padding:28px 0}
.vr-names{line-height:.7}
.vr-names span:nth-child(2){align-self:flex-end}
.vr-names b{color:#d6a759;text-shadow:0 0 33px rgba(223,169,79,.25)}
.vr-hero__copy>p{color:#d4b8b0}
.vr-date{color:#d8bdb4}.vr-date i{background:linear-gradient(90deg,transparent,#ce9f56)}.vr-date i:last-child{background:linear-gradient(90deg,#ce9f56,transparent)}
.vr-hero__stage{animation:none}
.vr-hero__stage:before{position:absolute;z-index:0;width:560px;aspect-ratio:1;content:"";background:url("assets/velvet-rose.svg") center/contain no-repeat;opacity:.54;filter:drop-shadow(0 45px 55px rgba(0,0,0,.55));animation:vr-stage-rose 14s ease-in-out infinite alternate;transform-origin:53% 48%}
.vr-floral-halo{z-index:1;width:650px;height:650px;opacity:.78}
.vr-floral-halo:before{filter:drop-shadow(0 0 34px rgba(218,169,89,.25))}
.vr-cover-card{z-index:4;width:328px;padding:8px;border-color:rgba(233,202,142,.52);border-radius:4px 78px 4px 78px;background:linear-gradient(145deg,#5c1023,#13050a);box-shadow:-46px 62px 130px rgba(0,0,0,.6),22px -14px 85px rgba(143,20,45,.18),inset 0 0 0 1px rgba(214,163,79,.34)}
.vr-cover-card:before{position:absolute;z-index:3;inset:15px;content:"";pointer-events:none;border:1px solid rgba(229,187,109,.35);border-radius:2px 65px 2px 65px}
.vr-cover-card>img,.vr-cover-card__fallback{height:580px;border-radius:2px 69px 2px 69px}
.vr-cover-card>img{filter:saturate(.8) contrast(1.07) brightness(.82)}
.vr-cover-card__fallback{color:#f0d4c4;background:radial-gradient(circle,#651126,#110409)}
.vr-cover-card__veil{inset:8px;border-radius:2px 69px 2px 69px;background:linear-gradient(180deg,rgba(95,14,34,.05),transparent 38%,rgba(6,1,3,.9))}
.vr-cover-card__caption{color:#fff1e7}
.vr-pearl{border-color:rgba(224,177,92,.32);background:radial-gradient(circle at 31% 26%,rgba(255,235,182,.85),rgba(178,94,33,.18) 25%,rgba(91,12,32,.2) 62%,rgba(9,2,4,.52));box-shadow:inset -15px -17px 30px rgba(0,0,0,.3),0 22px 50px rgba(0,0,0,.3)}
.vr-save-date{border-color:rgba(220,178,101,.32);color:#f5e2d6;background:rgba(43,8,18,.72);box-shadow:0 20px 56px rgba(0,0,0,.42)}
.vr-save-date small{color:#bda49d}
.vr-scroll{color:#bfa59d}.vr-scroll i{border-color:rgba(218,173,93,.36)}
@keyframes vr-rose-turn{to{transform:rotate(8deg) scale(1.035) translate3d(-14px,-12px,0)}}
@keyframes vr-stage-rose{0%{transform:perspective(900px) rotateX(2deg) rotateY(-5deg) rotateZ(-8deg) scale(.94)}100%{transform:perspective(900px) rotateX(-2deg) rotateY(6deg) rotateZ(6deg) scale(1.025)}}

.vr-countdown{background:radial-gradient(circle at 15% 30%,rgba(151,22,47,.16),transparent 30%),#0d0306 url("assets/velvet-texture.svg") center/640px;color:#f8e9e0}
.vr-countdown:before{opacity:.24;right:-145px;filter:drop-shadow(0 40px 60px rgba(0,0,0,.6))}
.vr-countdown__panel{border-color:rgba(222,178,98,.33);border-radius:5px 86px 5px 86px;background:linear-gradient(145deg,rgba(87,13,33,.72),rgba(12,3,6,.78));box-shadow:0 38px 110px rgba(0,0,0,.48),inset 0 0 0 8px rgba(255,255,255,.017)}
.vr-time{border-color:rgba(218,173,94,.2)}
.vr-time strong{color:#f5e6dc;text-shadow:0 0 35px rgba(206,43,68,.18)}
.vr-time span,.vr-countdown__status{color:#bfa69f}

.vr-couple{background:radial-gradient(circle at 50% 46%,rgba(255,250,239,.98),rgba(244,224,208,.95) 45%,rgba(204,155,143,.92) 120%);color:#311018}
.vr-couple:before,.vr-couple:after{opacity:.29;filter:saturate(.65)}
.vr-couple__glow{background:radial-gradient(circle,rgba(255,255,255,.78),rgba(227,183,147,.14) 52%,transparent 72%)}
.vr-couple .vr-eyebrow{color:#9a5b2d;text-shadow:none}
.vr-couple .vr-heading p,.vr-person p{color:#765b5c}
.vr-person__portrait>img:not(.vr-person__flower),.vr-person__initial{inset:28px 31px;width:calc(100% - 62px);height:calc(100% - 56px);border-radius:3px 92px 3px 92px;box-shadow:0 32px 80px rgba(77,20,31,.25)}
.vr-person__portrait>img:not(.vr-person__flower){filter:saturate(.76) contrast(1.04)}
.vr-person__initial{color:#8b1730;background:linear-gradient(145deg,#f5dbcb,#8e263a)}
.vr-person__portrait:after{inset:28px 31px;border-radius:3px 92px 3px 92px;background:linear-gradient(180deg,transparent 57%,rgba(45,5,14,.35))}
.vr-person__frame{filter:drop-shadow(0 22px 35px rgba(59,11,22,.23))}
.vr-person__flower{right:-13%;bottom:-8%;width:48%;filter:drop-shadow(0 17px 23px rgba(59,8,18,.34))}
.vr-person>small{color:#955c2d}.vr-person h3{color:#321018}.vr-couple__and span{color:#9e642f}

.vr-events{background:radial-gradient(circle at 85% 12%,rgba(136,17,40,.22),transparent 30%),linear-gradient(145deg,#090204,#20070e 55%,#0b0205)}
.vr-events:after{opacity:.24;filter:drop-shadow(0 35px 55px #000)}
.vr-event{border-color:rgba(222,176,95,.26);border-radius:3px 72px 3px 72px;background:linear-gradient(145deg,rgba(78,11,30,.72),rgba(11,3,6,.82));box-shadow:0 42px 115px rgba(0,0,0,.5),inset 0 0 80px rgba(145,18,42,.05)}
.vr-event:before{border-color:rgba(220,173,91,.13);border-radius:2px 61px 2px 61px}
.vr-event:after{opacity:.27}
.vr-event__number{color:rgba(224,181,106,.12)}
.vr-event__petal{border-color:rgba(216,169,88,.3);background:rgba(106,15,37,.25);box-shadow:0 12px 35px rgba(0,0,0,.26)}
.vr-event time{color:#d0ae8c}.vr-event__time,.vr-event__address{color:#bca39c}

.vr-story{background:radial-gradient(circle at 17% 12%,rgba(255,252,244,.85),transparent 34%),linear-gradient(138deg,#d7aaa6,#f2ded0 58%,#c48b8c);color:#351018}
.vr-story:after{position:absolute;right:-12%;bottom:-28%;width:640px;aspect-ratio:1;content:"";background:url("assets/thorn-stem.svg") center/contain no-repeat;opacity:.25;transform:rotate(20deg)}
.vr-story__flower{opacity:.31;filter:drop-shadow(0 28px 45px rgba(73,12,25,.22));animation:vr-story-rose 14s ease-in-out infinite alternate}
.vr-story .vr-eyebrow{color:#8f5429;text-shadow:none}.vr-story__intro>p,.vr-timeline__content p{color:#73595a}.vr-story__signature{color:#701a2d}
.vr-timeline:before{background:linear-gradient(#8a4e27,rgba(126,71,37,.04))}
.vr-timeline__marker{border-color:rgba(116,59,30,.28);color:#531526;background:rgba(255,240,228,.74);box-shadow:0 10px 30px rgba(83,18,32,.12)}
.vr-timeline__content{border-color:rgba(105,43,38,.16);border-radius:3px 38px 3px 38px;background:rgba(255,244,235,.65);box-shadow:0 22px 58px rgba(80,18,31,.11)}
.vr-timeline__content:hover{background:rgba(255,248,240,.85)}
.vr-timeline__content h3{color:#48131e}.vr-timeline__content small{color:#92542b}
@keyframes vr-story-rose{to{transform:rotate(-12deg) scale(1.035) translate3d(9px,10px,0)}}

.vr-gallery{background:radial-gradient(circle at 50% 0,rgba(116,14,37,.23),transparent 30%),#080204 url("assets/velvet-texture.svg") center/680px;color:#f7e9df}
.vr-gallery__item{border-color:rgba(222,184,124,.13);border-radius:3px 36px 3px 36px;background:#310a15;box-shadow:0 30px 88px rgba(0,0,0,.55)}
.vr-gallery__item:nth-child(even){border-radius:38px 3px 38px 3px}
.vr-gallery__item img{filter:saturate(.72) brightness(.78) contrast(1.08)}
.vr-gallery__item:hover img{filter:saturate(.98) brightness(.88) contrast(1.05)}
.vr-gallery__item:after{background:linear-gradient(180deg,rgba(50,5,16,.04),transparent 35%,rgba(6,1,3,.88))}
.vr-gallery__blossom{color:#d2aaa4}
.vr-lightbox{background:rgba(6,1,3,.94)}.vr-lightbox img{border-color:rgba(224,188,127,.25);box-shadow:0 40px 130px #000}

.vr-gift{background:radial-gradient(circle at 12% 20%,rgba(187,39,63,.18),transparent 28%),linear-gradient(135deg,#16050a,#4d0d1e 52%,#0a0204);color:#f8e9e0}
.vr-gift:after{opacity:.28;filter:drop-shadow(0 32px 52px rgba(0,0,0,.54))}
.vr-gift__address{border-color:rgba(216,172,94,.23)}.vr-gift__address>span{border-color:rgba(216,172,94,.26);background:rgba(111,15,37,.25)}
.vr-gift__address small,.vr-gift__intro>p{color:#c4a8a0}
.vr-bank{border-color:rgba(230,188,110,.31);border-radius:3px 42px 3px 42px;color:#f5e5dc;background:linear-gradient(135deg,rgba(113,16,41,.74),rgba(13,4,7,.83));box-shadow:0 34px 100px rgba(0,0,0,.48),inset 0 0 0 7px rgba(255,255,255,.014)}
.vr-bank__emboss{filter:saturate(.55);opacity:.22}
.vr-bank:after{background:linear-gradient(90deg,transparent,rgba(255,211,140,.28),transparent)}
.vr-bank>small,.vr-bank>p{color:#baa099}
.vr-copy{border-color:rgba(219,174,95,.3);color:#edd5c4;background:rgba(42,7,16,.58)}
.vr-copy b{color:#e4bd72}

.vr-response{background:radial-gradient(circle at 86% 10%,rgba(126,21,43,.1),transparent 30%),#f2dfd1;color:#361019}
.vr-response__bloom{opacity:.18;filter:drop-shadow(0 35px 50px rgba(76,8,23,.22))}
.vr-response .vr-eyebrow{color:#8b522b;text-shadow:none}
.vr-form-panel,.vr-wishes{border-color:rgba(108,54,38,.18);border-radius:3px 55px 3px 55px;background:rgba(255,244,235,.68);box-shadow:0 32px 90px rgba(74,16,28,.12)}
.vr-form-panel>p,.vr-wishes>p{color:#775d5d}
.vr-field>span,.vr-attendance legend{color:#765a59}
.vr-field input,.vr-field select,.vr-field textarea{border-color:rgba(102,46,38,.18);color:#351018;background:rgba(255,251,246,.7)}
.vr-field input:focus,.vr-field select:focus,.vr-field textarea:focus{border-color:#9d5d2f;box-shadow:0 0 0 3px rgba(144,76,43,.09)}
.vr-field input::placeholder,.vr-field textarea::placeholder{color:rgba(70,36,34,.4)}
.vr-attendance label span{border-color:rgba(107,52,39,.19);color:#745958}.vr-attendance input:checked+span{border-color:#a66c38;background:linear-gradient(135deg,#8f172f,#4a0c1b)}
.vr-wishes__list article{border-color:rgba(103,44,37,.13);background:rgba(255,249,242,.58)}
.vr-wish__avatar{color:#7d172b;background:rgba(144,25,50,.12)}.vr-wishes__list article p,.vr-wishes__empty{color:#765b5b}

.vr-closing{color:#f8e9e0;background:radial-gradient(circle at center,rgba(117,16,38,.3),transparent 34%),linear-gradient(145deg,#050102,#270710 52%,#090204)}
.vr-closing__image{opacity:.22;filter:saturate(.7) brightness(.54) contrast(1.1)}
.vr-closing__veil{background:radial-gradient(circle at center,rgba(83,11,30,.28),rgba(7,1,3,.55) 47%,rgba(2,0,1,.94) 100%)}
.vr-closing__halo{opacity:.42;filter:drop-shadow(0 0 42px rgba(204,154,71,.22))}
.vr-closing p{color:#c6aaa2}.vr-closing__content>small{color:rgba(235,203,150,.42)}
.vr-music{border-color:rgba(219,174,96,.33);color:#e0bd78;background:rgba(24,5,10,.78);box-shadow:0 14px 38px rgba(0,0,0,.34)}
.vr-dock{border-color:rgba(220,176,98,.25);background:rgba(20,4,9,.82);box-shadow:0 22px 58px rgba(0,0,0,.43)}
.vr-dock a{color:rgba(239,215,196,.51)}.vr-dock a.vr-active{color:#1b070b;background:linear-gradient(135deg,#efd28e,#a66e31)}

@media(max-width:1200px){.vr-opening__rose{width:min(61vw,650px)}.vr-hero:before{right:-15%}}
@media(max-width:960px){.vr-hero__copy{padding-top:35px}.vr-names{align-items:center}.vr-names span:nth-child(2){align-self:center}.vr-hero__stage:before{width:520px}.vr-story:after{right:-26%}}
@media(max-width:768px){.vr-opening__panel{border-radius:5px 95px 5px 95px}.vr-opening__panel:before{border-radius:3px 82px 3px 82px}.vr-opening__rose{width:480px}.vr-hero:before{right:-39%;bottom:-12%;width:620px;opacity:.2}.vr-hero__stage:before{width:500px}.vr-cover-card{width:305px}.vr-events:after{opacity:.18}.vr-story__flower{width:420px}.vr-gallery__item{border-width:5px}}
@media(max-width:640px){.vr-opening__panel{padding:48px 18px 44px;border-radius:4px 70px 4px 70px}.vr-opening__panel:before{border-radius:3px 59px 3px 59px}.vr-opening__rose{width:350px}.vr-opening__rose--top{top:-8%;right:-29%}.vr-opening__rose--bottom{bottom:-10%;left:-31%}.vr-names{line-height:.74}.vr-hero__stage:before{width:435px}.vr-cover-card{width:288px}.vr-cover-card>img,.vr-cover-card__fallback{height:515px}.vr-countdown__panel{border-radius:4px 55px 4px 55px}.vr-person__portrait>img:not(.vr-person__flower),.vr-person__initial,.vr-person__portrait:after{border-radius:3px 68px 3px 68px}.vr-event{border-radius:3px 48px 3px 48px}.vr-event:before{border-radius:2px 39px 2px 39px}.vr-story:after{display:none}.vr-bank{border-radius:3px 32px 3px 32px}.vr-form-panel,.vr-wishes{border-radius:3px 42px 3px 42px}}
@media(max-width:480px){.vr-opening__panel h1{font-size:clamp(35px,10.8vw,48px)}.vr-opening__rose{width:320px}.vr-hero__stage:before{width:400px}.vr-cover-card{width:275px}.vr-cover-card>img,.vr-cover-card__fallback{height:495px}.vr-save-date{right:8%;bottom:18%}.vr-person__flower{right:-8%;width:42%}.vr-bank>strong{font-size:21px;overflow-wrap:anywhere}.vr-closing__names{font-size:31px}}
@media(prefers-reduced-motion:reduce){.vr-depth,.vr-tilt,.vr-reveal{--depth:0px!important}.vr-opening:before{display:none}.vr-hero__stage:before{transform:none!important}}
